Entwickler-Ecke

Sonstiges (Delphi) - Array-Problem


urmelchen18 - Mi 05.03.03 19:01
Titel: Array-Problem
Moin junx!

Ich hab mit meiner FA ziemlich Stress, ich muss bis Freitag fertig werden und aufmal hab ich gemerkt, dass ich wohl zu doof zu Arrays bin...

Ich bin selbst auch eher n Delphi-n00b :roll:

Naja, auf jeden Fall klappt folgendes nicht:



Quelltext
1:
2:
punkte[1].x := XMemo.Lines[0];
punkte[1].y := YMemo.Lines[0];


"punkte" ist ein RECORD, der x und y als integer speichert, das ganze ist Teil eines Koordinaten-Systems, daher die Namensgebung. :D

Naja, aber ich bekomme beim Ausführen dieser Zeile von Delphi gesagt:
"Variable punkte wurde wahrscheinlich nicht Initialisiert"


Nun stellt sich mir als Delphi-n00b die Frage: Wie zur H***** initialisiere ich n Array?

Ich hab bisher noch nie was vom Initialisieren eines Arrays gehört...

PLZZZZ helft mir, ich bin sonst aufgeschmissen und bekomm ne sche*** Note :cry:


BiG THX
urmelchen18


Klabautermann - Mi 05.03.03 19:09

Hallo,

bitte bennene deine Postings unseren Richtlinien entsprechend:
Delphi-Forum Richtlinien hat folgendes geschrieben:
1.1 Beiträge

Bitte formuliere den Betreff Deiner Beiträge so, dass andere Mitglieder anhand dieser bereits das eigentliche Thema festmachen können. Beiträge wie etwa "Eine Anfängerfrage" oder "Weiß jemand, wie das geht?" lassen den Leser im Unklaren darüber, was das Thema der Diskussion ist. Eine Pseudocodezeile oder die Nennung des Objektes, um welches es sich in dem Beitrag handelt, helfen da schon mehr weiter. Wenn Du beispielsweise wissen möchtest, wie es möglich ist, eine Integer-Variable in das String-Format zu konvertieren, würde ein Beitrag wie etwa "Integer zu String" oder "Integerkonvertierung" anderen Forenmitgliedern einen kurzen Überblick über die eigentliche Fragestellung verschaffen. So ist es möglich gezielter Lösungen für Probleme zu finden. Zudem solltest du immer daran denken: Der Fragesteller möchte etwas von den anderen Usern - nicht umgekehrt.

Editier also bitte deinen ersten Beitrag und ändere das Topic.

Gruß
Klabautermann


tommie-lie - Mi 05.03.03 19:27

ähhh, ein Record ist kein Array.
Wenn Punkte dein array ist, musst du nachher ein array of punkte deklarieren.
Wenn du deinen Record so deklariert hast:

Quelltext
1:
2:
3:
4:
type punkte = record
  x: Integer;
  y: Integer;
end;

musst du später im Code stehen haben

Quelltext
1:
2:
var
  MyPoints: array[min..max] of punkte;

Oder, bei dynamischen arrays, ohne Bereichsangabe mit vorherige Initialisierung durch SetLength.
Lies' dir mal im OPLG oder der OnlineHilfe das Kapitel über Arrays durch, da sollte eigentlich alles drin stehen, was man über Arrays wissen muss. Am besten auch noch das Kapitel über Records...

Nachtrag:
Und Memo.Lines[i] ist ein String, wenn dein Record also Integer- oder Real-Werte enthält, musst du vorher konvertieren!


Christian S. - Mi 05.03.03 20:35

Hallo!

Ein absolut wundervoller Mensch hat diesen absolut genialen Beitrag [http://www.delphi-forum.de/viewtopic.php?t=7204] geschrieben. Vielleicht hilft er Dir weiter.

MfG,
Peter


urmelchen18 - Do 06.03.03 15:22
Titel: BiG THX
Moin und sorry...( @ Klabautermann )

Ich hab gestern abend deswegen beinah meinen PC zertrümmert, also sorry, aber das war extrem wichtig... Ich hab heut erst wieder die Möglichkeit gehabt, vernünftig zu antworten...

Ich hab meinen Fehler auch schon gefunden und ich muss mich nochmal bei euch bedanken, ohne euch hätte ich den N I E gefunden!


Raphael O. - Do 06.03.03 15:27

dein Record Punkte gibt es schon...
der heisst TPoint
-> du musst den also nicht extra neu definieren..


Tino - Do 06.03.03 16:08
Titel: Re: BiG THX
urmelchen18 hat folgendes geschrieben:
Ich hab gestern abend deswegen beinah meinen PC zertrümmert, also sorry, aber das war extrem wichtig... Ich hab heut erst wieder die Möglichkeit gehabt, vernünftig zu antworten...

Ist ja kein Problem. Aber ändere bitte trotzdem noch den Titel deines ersten Beitrags.

Gruß
TINO