![]() |
AW: String in Memo suchen
Vielen Dank für die vielen raschen Antworten!
@Dalai Die Controls habe ich extra nur im Forum umbenannt. Ich dachte, das wäre übersichtlicher. Desweiteren steh ich noch am Anfang von delphi und weiß noch nicht, wann ich was einsetzen kann. Ich hab noch
Delphi-Quellcode:
geaddet, dann hat es wunderbar funktioniert:
.Text
Code:
@Michael II
if (Memo6.Lines.Text.IndexOf(ListBox6.Items[ListBox6.ItemIndex]) < 0) then
Was bedeutet ttl? :) |
AW: String in Memo suchen
Du machst da ein IndexOf auf dem String. Lines.Text ist ein String. Das entspricht einem Pos(), was du eigentlich nicht haben willst, da dir sonst beim Wert "Anna" auch "Susanna", "Annabelle" etc. als Treffer geliefert werden. Du musst Memo6.Lines.IndexOf verwenden. So wird die ganze Zeile im Memo6 verglichen.
|
AW: String in Memo suchen
@Rolf Frei
Ja, du hast recht. Ich war zu vorschnell mit meiner Erfolgsnachricht. Komischerweise hat es beim ersten Programmstart genau so funktioniert wie es sollte. Danach aber nicht mehr. Jetzt läuft es aber. ---------------------------------------------------------------- Ich hab inzwischen schon wieder ein neues Problem :D Ich hab mein Programm weiter ausgebaut. Und zwar: Programmaufbau:
Code:
Bisher:
Form6 -> ListBox6A, ListBox6B
Form7 -> Edit7, Button7 Per Doppelklick auf ein Item in ListBox6A, wird dieses in ListBox6B geschrieben. Wenn ein in ListBox6A geklicktes Item bereits in ListBox6B vorhanden ist, wird es in ListBox6B gar nicht erst aufgenommen. Wird in ListBox6A das 6. Item doppelgeklickt, erscheint Form7. ---- Bis hierhin klappt alles. Nun soll in Edit7 ein String eingegeben werden. Button7 wird gedrückt. Der String aus Edit7 soll als neues Item der ListBox6B erscheinen. -> Und genau das letzte klappt nicht. Hier mein Versuch:
Code:
Wo ist mein Denkfehler?
procedure TForm7.Button7Click(Sender: TObject);
begin Form6.ListBox6B.Items.Add(Edit7.Text); Close; end; Gruß Kratos |
AW: String in Memo suchen
Bist du sicher, dass der String nicht hinzugefügt wird? Hast du mal einen Breakpoint auf die Button7Click-Methode gesetzt und mit Einzelschritt durchgesteppt?
Grüße Dalai |
AW: String in Memo suchen
Nein. Ich programmier noch nicht lange.
Den Debugger hab ich bisher gar nicht genutzt. Ich hab kurz die OnlineHilfe überflogen. Dort scheint es aber 4 Arten von Breakpoints zu geben. Gibt es eine Kurzanleitung irgendwo, wie man per Einzelschritt durch den Code geht? :) EDIT: ich glaube, ich hab eine gute Anleitung gefunden. Ich meld mich nochmal, wenn ich das Debuggen verstanden habe. Durch RL-Hobbys wird das wahrscheinlich morgen sein :) |
AW: String in Memo suchen
Alternativ, nur der Vollständigkeit halber, ein "dirty way" falls "Contains" nicht in frage kommt (solltest du nicht verwenden):
Delphi-Quellcode:
if Boolean(Pos('bla', Memo1.Text)) then ...
|
AW: String in Memo suchen
So Leute,
ich melde mich endlich wieder. Zu allererst @Dennis07, danke für den Tipp! Zu meinem Problem. Anfangs beinhaltete mein Programm 3 Forms ( Form5,6,7). Ich hab das jetzt so umgeschrieben, dass Form6 rausfällt. Und nun klappt das auch so wie ich will. Zu Beginn wollte ich von Form7 auf Form6 auf Form5 schreiben. Nun schreibe ich von Form7 gleich auf Form5. Vielleicht kam deswegen immer ein Fehler. Over all, danke an alle für eure Unterstützung! :) |
AW: String in Memo suchen
Zitat:
Am besten
Delphi-Quellcode:
nahmen.
Contains
|
AW: String in Memo suchen
Nichts gegen Dennis 07, aber vergiss bitte den Tipp am besten schnell wieder. Das ist sehr unsauberer Code und sollte so nicht verwendet werden. Er macht da einen Boolean Typecast auf einen Integer und das ist keine gute Idee. Der Code funktioniert zwar aktuell so, aber sobald da mal die Imlementation von Boolean durch Emba geändert wird, kann das zu sehr unschönen und kaum zu findenden Bugs führen.
Um zu Checken ob Pos was findet, solltest du den Rückgabewert auf grösser 0 abfragen. Aber für deine Problematik ist Pos eh nicht das Richtige.
Delphi-Quellcode:
if Pos('bla', Memo1.Text) > 0 then ... gefunden
|
AW: String in Memo suchen
Nun "pos" oder einer der vielen Verwandten.....
Wenn es boolean sein muß, dann vllt
Delphi-Quellcode:
found:=not(pos('blub',mytext)=0);
Gruß K-H |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:05 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