![]() |
umfüllaufgabe
Hi, ich will in folgenden Code eine Kontrolle einbauen, die überprüft, ob eine Zeile mit selbem Inhalt im Memo-Feld bereits vorhanden ist:
Delphi-Quellcode:
Wenn die Zeile schon existiert soll Schondrin true sein, ansonsten falsch. Jetzt wollte ich eine for schleife einbauen, die jede Zeile des Memofeldes durchgeht und überprüft, ob diese gleich der ist, die jetzt geschrieben wird. Meine eigentlich Frage:
procedure TForm1.Button1Click(Sender: TObject);
procedure fuelleum(VAR von, nach :INTEGER; kapaznach : INTEGER); begin if von <= kapaznach-nach then begin nach := nach + von; von:= 0; end else begin von:= von - (kapaznach-nach); nach:= kapaznach; end; end; begin kapaz1:=8; kapaz2:=5; kapaz3:=3; fass1:= strtoint(edit1.text); fass2:= strtoint(edit2.text); fass3:= strtoint(edit3.text); ziel1:=strtoint(edit4.text); ziel2:=strtoint(edit5.Text); ziel3:=strtoint(edit6.text); memo1.Lines.add(inttostr(fass1)+' '+inttostr(fass2)+' '+inttostr(fass3)); repeat if fass3=Kapaz3 then fuelleum(fass3,fass1, kapaz1) else if fass2 > 0 then fuelleum(fass2, fass3, kapaz3) else fuelleum(fass1,fass2, kapaz2); memo1.Lines.add(inttostr(fass1)+' '+inttostr(fass2)+' '+inttostr(fass3)); until (fass1=ziel1)And(fass2=ziel2)And(fass3=ziel3)Or[b](Schondrin=true);[/b] end; end. Wie kann ich überprüfen, wieviele Zeilen bereits geschrieben wurden? Also, welche die neuste ist. Pls help :wink: - lol die smilies sind hier aber komisch :twisted: :mrgreen: |
Re: umfüllaufgabe
Hi,
TMemo.Lines.Count liefert die Anzahl der Zeilen (Index ist 0-basiert). Gruß Stephan :dance: |
Re: umfüllaufgabe
Cool, danke - ich dachte schon man müsste dafür auch erst eine Menge Code schreiben, um irgendwo eine Zählervariable einzubringen, aber das ist ja super!
Und wenn ich jetzt jede Zeile durchgehen und überprüfen will nwill kann ich das so machen:?
Delphi-Quellcode:
Ich denke die Syntax ist ein wenig falsch, wäre toll wenn mir jemand sagen könnte wie ich das berichtigen kann!
for zeile:=1 TO (TMemo.Lines.Count) DO begin
if memo1.lines.zeile==memo.lines.(TMemo.Lines.Count) Do schondrin:=false; end; |
Re: umfüllaufgabe
Delphi-Quellcode:
oder so ähnlich...
if memo.Lines.IndexOf('Zu suchender Text')>=0 then Schondrin:=True;
Gruß Stephan :dance: |
Re: umfüllaufgabe
So sollte der Code aussehen:
Delphi-Quellcode:
wenn du schauen willst, ob der string astring schon vorhanden ist:
astring:='TjaWoIsserDenn' For zeile:=0 to memo1.lines.count-1 do if memo1.lines[i]= astring then begin schondrin:=true break; // SChleife wird abgebrochen end; else schondrin:= false; |
DP-Maintenance
Dieses Thema wurde von "Sharky" von "Programmieren allgemein" nach "Object-Pascal / Delphi-Language" verschoben.
Und auch diese Frage gehört nicht zu "Programmieren Allgemein". |
Re: umfüllaufgabe
Hey DANKE!
Beide Codes gehen wohl, aber da Steves etwas kürzer war habe ich seinen genommen! Aber tut mir ganz gut zu sehen, dass man es auch anders machen kann! Das Programm klappt jetzt, hätte nie gedacht, dass man das so einfach realisieren kann! P.S.: Super Forum!!! Ich konnte arnicht glauben wie schnell sich die Anzahl der Views ändert. Das in einem Forum von einer Entwicklungsumgebung, die ich immer für relativ schwach hielt. Es überascht schon, wie beliebt Delhi doch zu sein scheint. Aber da die Moderatoren das hier ziemlich eng sehen (kommt mir zu mindest so vor - was bei einem Forum der Größe bestimmt auch MUSS ist) will ich nicht zu sehr ins OT kommen! Thx... /Edit: Sry, Shargy.... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:34 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz