Autor Beitrag
nove
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Sa 06.11.04 16:19 
hallo..

..kleine fraaage..und zwar, wie kann ich in einer memo die erste zeile auslesen und als string (text1) speichern?
und dann nach einer bestimmten zeit die 2. zeile als string (text1) speichern?
und nun die eigentliche frage: Wie kann ich feststellen, dass alle Zeilen bereits durchgenommen wurden, und wieder von vorne beginnen?

wär schön, wenn mir wer helfen könnte..

danke!

mfg


Moderiert von user profile iconTino: Topic aus Sonstiges verschoben am Mo 08.11.2004 um 12:56
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Sa 06.11.04 16:42 
nove hat folgendes geschrieben:
hallo..

..kleine fraaage..und zwar, wie kann ich in einer memo die erste zeile auslesen und als string (text1) speichern?
und dann nach einer bestimmten zeit die 2. zeile als string (text1) speichern?
und nun die eigentliche frage: Wie kann ich feststellen, dass alle Zeilen bereits durchgenommen wurden, und wieder von vorne beginnen?

wär schön, wenn mir wer helfen könnte..

danke!

mfg

1. Erste Zeile ausm Memo lesen
ausblenden Delphi-Quelltext
1:
Edit1.Text := Memo1.Lines[0]; // 0 (Null) für den Index der ersten Zeile					

2. Was heßt nach einer bestimmten Zeit? Schau mal in die OH unter TTimer. Vielleicht willst du auf sowas hinaus.
3. Die letzte Zeile im Memo hat den Index memo1.lines.count-1.
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Sa 06.11.04 16:43 
Du kannst auf jede Zeile eines Memos mit einem sog. Index zugreiffen:
ausblenden Delphi-Quelltext
1:
2:
3:
Memo1.Lines[0]:='Erste zeile!!';
Memo1.Lines[1]:='Zweite zeile!!';
Memo1.Lines[2]:='Dritte zeile!!';


Die anzahl der Zeilen bekommst du mit der Eigenschaft Count des TSTrings:
ausblenden Delphi-Quelltext
1:
Memo1.Lines.Count					

Anstelle der Variablen text1, text2 undsoweiter würde ich ausserdem mit einem Array arbeiten. damit kannst du einer einzigen Variable mehrere Strings zuordnen:
ausblenden Delphi-Quelltext
1:
text[1]:=Memo1.Lines[1];					

Ich habe eine Procedure geschrieben, die dem Array texts alle Zeilen des Memos zuordnet:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
procedure TForm1.Button1Click(Sender: TObject);
var
  i:integer;
  texts:array of String;
begin
SetLength(texts,Memo1.Lines.Count);
for i:=0 to Memo1.Lines.Count-1 do texts[i]:=Memo1.Lines[i];
end;

Beachte, das der Array ein dynamischer ist, und das die anzahl seiner Elemente mit SetLength auf die anzahl der Zeilen des Memos gesetzt werden muss. Dynamisch heist, dass man die Anzahl seiner elemente bestimmen kann. Im gegensatz dazu der statische Array:
ausblenden Delphi-Quelltext
1:
 var texts: Array[0..10of String;					

Hierbei hat der Array genau 11 Elemente: von 0 bis 10.

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.