Forum: Sonstige Fragen zu Delphi
Delphi
by Matze,
6. Okt 2009
Die Indizes fangen bei 0 an. Eine ListBox mit 5 Einträgen hat somit die Indizes 0 - 4
f := ListBox1.Items.Count;
Das würde dir jedoch die Zahl 5 liefern. Somit überschreitest du damit den maximalen ListenIndex. Je nach dem, was du vor hast, "1" abziehen.
Auch For-Schleifen müssen in dem Fall immer von 0 bis "Count - 1" laufen.
PS: Das Thema hast du seit Beitrag #5 mit einem "" versehen....
Forum: Sonstige Fragen zu Delphi
Delphi
by Matze,
5. Okt 2009
Dann mach es, dafür ist die While-Schleife schließlich da.
Forum: Sonstige Fragen zu Delphi
Delphi
by Matze,
5. Okt 2009
Die Funktion müsste auch "andersrum" also im Deklarationsteil der Funktion Prozedur funktionieren.
Und nun musst du die Strings nicht mehr alle klein schreiben. Es schadet natürlich auch nicht, aber Deddy hat die Funktion so umgeschrieben, dass beide Parameter "verkleinert" werden.
Welcher Fehler kam denn bzw. was ging nicht?
Forum: Sonstige Fragen zu Delphi
Delphi
by Matze,
5. Okt 2009
Sekundenbruchteile. ;) Du solltest es ausführen, damit du siehst, was das Programm macht. Sonst läuft es durch und du sieht nicht "live", was nach den jeweiligen Aufrufen in der Schleife passiert.
Forum: Sonstige Fragen zu Delphi
Delphi
by Matze,
5. Okt 2009
Lies die Kommentare im Code. ;) Zugegeben, ich war auch erst irritiert, da alles zitiert wurde.
Forum: Sonstige Fragen zu Delphi
Delphi
by Matze,
5. Okt 2009
Ein Hinweis, der nicht zur Frage gehört:
Die Sleep-Aufrufe werden immer alle ausgeführt. Wenn du mehrere Anweisungen einem if zuordnen möchtest, musst du das so machen:
if Pos('schritt', AnsiLowerCase(RichEdit1.Lines)) > 0 then
begin
Button1.Click;
Sleep(200);
end;
Edit: Der Turbo-Opa macht mich fertig. :mrgreen:
Forum: Sonstige Fragen zu Delphi
Delphi
by Matze,
5. Okt 2009
Kurz was dazu:
Versuche immer den Code zu verstehen. Der String, mit dem verglichen wird, wird durch "AnsiLowerCase" klein geschrieben. Somit muss der Suchstring ebenfalls klein geschrieben werden.
Es ginge natürlich auch folgendes:
if Pos('HALLO', AnsiUpperCase(S)) > 0 then
Das nur als Hinweis: Also immer versuchen zu verstehen, was man in sein Programm übernimmt. ;)
Forum: Sonstige Fragen zu Delphi
Delphi
by Matze,
5. Okt 2009
Hallo,
das geht mit Pos bzw. PosEx.
Grüße, Matze