Forum: PC-Programmierung Point Array für AC-Visualisierung


von Matthias P. (matt-eagle)


Lesenswert?

Hallo zusammen,

ich arbeite aktuell an einer Visualisierung von einer Spannung die ich 
mit einem Mikrocontroller aufgenommen habe und an den PC gesendet habe.
Mein Programm das ich hierzu schreibe ist in C#. Nun habe ich ein 
Problem bei der "Befüllung" meines Pointarrays für die 
DrawLines-Funktion.
Ich möchte die errechneten Werte durch eine For-Schleife nach und nach 
in das Array einfügen lassen bevor die DrawLines-Funktion angewandt 
wird.
Ich stehe einfach auf dem Schlauch und habe schon zwei-drei Tage nach 
der richtigen Syntax gesucht.

Anbei habe ich meinen Test-Code wie ich in etwa Werte einfügen möchte.
Kann mir hier jemand weiterhelfen?

Danke im Voraus
Gruß Matt-Eagle
1
namespace Test2
2
{
3
    public partial class Form1 : Form
4
    {
5
        Graphics linie;
6
        Point[] punkte;
7
        
8
        public Form1()
9
        {
10
            InitializeComponent();
11
        }
12
13
        private void Form1_Load(object sender, EventArgs e)
14
      {
15
            
16
            int point;
17
            int[] xcoord = { 0, 1, 2, 3, 4, 5 };
18
            int[] ycoord = { 0, 1, 2, 3, 4, 5 };
19
            for (int i = 0; i < 6; i++)
20
            {
21
                point = xcoord[i];
22
                punkte.X = point;
23
                point = ycoord[i];
24
                punkte.Y = point;
25
            }
26
            
27
        }
28
        private void pictureBox1_Click(object sender, EventArgs e)
29
        {
30
            linie = pictureBox1.CreateGraphics();
31
            Pen blackpen = new Pen(Color.Black);
32
            linie.DrawLines(blackpen, punkte);
33
        }
34
    }
35
}

bzw.
1
namespace Test2
2
{
3
    public partial class Form1 : Form
4
    {
5
        Graphics linie;
6
        Point[] punkte;
7
        
8
        public Form1()
9
        {
10
            InitializeComponent();
11
        }
12
13
        private void Form1_Load(object sender, EventArgs e)
14
        {
15
            
16
            var point;
17
            int[] xcoord = { 0, 1, 2, 3, 4, 5 };
18
            int[] ycoord = { 0, 1, 2, 3, 4, 5 };
19
            for (int i = 0; i < 6; i++)
20
            {
21
                point = new Point(xcoord[i], ycoord[i]);
22
                punkte[i] = point;
23
            }
24
            
25
        }
26
        private void pictureBox1_Click(object sender, EventArgs e)
27
        {
28
            linie = pictureBox1.CreateGraphics();
29
            Pen blackpen = new Pen(Color.Black);
30
            linie.DrawLines(blackpen, punkte);
31
        }
32
    }
33
}

von Daniel A. (daniel-a)


Lesenswert?

Ich kann kein C#, aber ich denke da fehlt einfach ein new
1
 punkte = new Point[6];
2
 for (int i = 0; i < 6; i++) {
3
     Point point = new Point(xcoord[i], ycoord[i]);
4
     punkte[i] = point;
5
  }

von Matthias P. (matt-eagle)


Lesenswert?

Hey, es hat sich jetzt gelöst. Danke auf jeden Fall für deine Antwort.

Es geht so:


1
Point[] points = new Point[1000]    //So muss das Array initialisiert werden.
2
for (i = 0; i < 1000; i++)
3
            {
4
                points[i].X = i;
5
                points[i].Y=ycoord;
6
            }

Hoffe ich helfe damit auch anderen Suchenden damit ;-)

Gruß

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.