bonjour, je suis étudiant en életronique , j'ai besoin pour mon tfe de réaliser une interface graphique qui traite des données GPS.
En gros ce programme doit effectuer l'acuisition des coordonnées et de dessiner ces coordonnées selon un axe XY afin d'effectuer le balisage d'un champ agricole.

Avant de commencer l'acquisition de donnée et le traitement du protocole NMEA0183, je me suis lancé dans l'acquisition simple de coordonnées de points à l'aide de textbox.

Pour cela j'utilise une list de point que je converti en tableau de point car je ne connais pas la longueur du tableau.
j'ai deux problème :

1) J'aimerai pouvoir entrer automatiquement ce tableau dans une richtextbox

2) j'aimerai pouvoir le sauver dans un fichier text par la suite une fois le balisage terminé grâce a cette richtextbox.

je vous met le code utilisé afin que vous puissiez y jetter un oeil.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
// realized by MRs lahaye thomas & gianni tricarico 
namespace WindowsFormsApplication10
{
public partial class Form1 : Form
{
// tout ce qui est créé ici est connu de tout les elements ( " methode " ) dans le programme. 
List<Point> mesPoints= new List<Point>(); // creation d'une list 
Point[] tabPts; // creation d'un tableau
public Form1()
{
InitializeComponent();
}
 
private void textBox1_TextChanged(object sender, EventArgs e)
{
 
 
}
 
private void textBox2_TextChanged(object sender, EventArgs e)
{
 
}
 
 
 
private void button2_Click(object sender, EventArgs e)
{
//permet de creer le pen affin d'afficher 
Graphics g = Graphics.FromHwnd(pictureBox1.Handle); //encapsulage d'une surface de dessin , mise en lien avec la picturebox 
Pen greenpen = new Pen(Color.Green, 2); //definition d'un nouveau bic ,et de sa couleur , de la grosseur du trait
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias; //ligne de commande pour lisser la ligne graphique tracée 
greenpen.DashStyle = System.Drawing.Drawing2D.DashStyle.Solid; // ligne pour commander l'apparence de la ligne
// permet de convertir la list de points en tableau de point grâce au pen appelé greenpen
g.DrawLines(greenpen, tabPts); // la methode drawlines dessine un segment d'un tableau 
g.Dispose(); // pour ne pas occuper de la memoire pour rien.
}
 
string filename;
private void button3_Click(object sender, EventArgs e)
{
 
if (saveFileDialog1.ShowDialog() != DialogResult.Cancel)
{
filename = saveFileDialog1.FileName;
richTextBox1.SaveFile(filename);
 
 
}
else
{
MessageBox.Show("vous avez appuyé sur annuler");
}
 
}
 
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
 
}
 
//
int nombrex, nombrey;
private void textBox2_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
nombrex = Convert.ToInt32(textBox1.Text);
nombrey = Convert.ToInt32(textBox2.Text);
// methode barbare
richTextBox1.Text = richTextBox1.Text + textBox1.Text;
richTextBox1.Text = richTextBox1.Text + ";";
richTextBox1.Text = richTextBox1.Text + textBox2.Text;
richTextBox1.Text = richTextBox1.Text + ",";
 
 
Point pt = new Point(); // point nom =new point creer un point qui contient une coordonnée 
pt.X = nombrex; // permet de mettre en relation la textbox1 avec la coordonnée x du point pt
pt.Y = nombrey; // permet de mettre en relation la textbox2 avec la coordonnée y du point pt 
mesPoints.Add(pt); // permet d'ajouter un point a la liste de point dont le point est appelé 
// pt et dont les coordonnée sont (x,y)
tabPts = mesPoints.ToArray(); // converti la liste de point en tableau de points
 
}
}
 
private void saveFileDialog1_FileOk(object sender, CancelEventArgs e)
{
 
}
 
 
private void richTextBox1_TextChanged(object sender, EventArgs e)
{
 
}
 
 
 
}
}