![]() |
Zeige Zeile in der "Datum" steht.
Hi,
Ich habe eine Memo mit Text. Der Text sieht ungefähr so aus: Tag:Montag Datum: 25.3. Jahr: 2000 Ich will jetzt das eine Meldung erscheint, in der der Text aus der Zeile wo auch "Datum" steht. Also müsste dann in der Meldung "Datum: 25.3." stehen. Ist bisschen kompliziert erklärt, sorry. :roll: MFG |
Re: Zeige Zeile in der "Datum" steht.
Hi Äfan!
Delphi-Quellcode:
Code ist ungetestet, müsste aber funktionieren :mrgreen:
for i := 1 to Memo1.Lines.Count do
if Pos('Datum', Memo1.Lines[i-1]) then begin ShowMessage(Memo1.Lines[i-1]); exit; end; Greetz alcaeus |
Re: Zeige Zeile in der "Datum" steht.
Geht net:
[Fehler] DecMain.pas(356): Ausdruckstyp muss BOOLEAN sein |
Re: Zeige Zeile in der "Datum" steht.
da fehlt ein ">0"
So müsste es gehen:
Delphi-Quellcode:
for i := 1 to Memo1.Lines.Count do
if Pos('Datum', Memo1.Lines[i-1]) >0 then begin ShowMessage(Memo1.Lines[i-1]); exit; end; |
Re: Zeige Zeile in der "Datum" steht.
Zitat:
Merkt man wie spät es ist? :mrgreen: Treffnix' code funktioniert ;) Greetz alcaeus |
Re: Zeige Zeile in der "Datum" steht.
Jo, Funktioniert erste Sahne ! Wie kann man eigentlich herausfinden in welcher Zeile sich die Makierung (der schwarze strich | ) befindet ?
|
Re: Zeige Zeile in der "Datum" steht.
Ui, alceus, da hast du aber geschludert. Die erste Zeile hat den Index 0 und die letzte Count-1! Dein Glück dass die gesuchte Zeichenfolge wohl nie in der ersten oder letzten Zeile stehen kann. Sollte sie aber gar nicht vorkommen, fliegt dir dein Code um die Ohren. ;)
Und wenn du die Schleife von 0 bis Count-1 laufen läßt musst du auch nicht so was machen: i-1 ;) |
Re: Zeige Zeile in der "Datum" steht.
Zitat:
(X ist dementsprechend die aktuelle "Spalte", also Zeichenposition in der Zeile) |
Re: Zeige Zeile in der "Datum" steht.
Zitat:
|
Re: Zeige Zeile in der "Datum" steht.
Zitat:
Wenn der Text in der ersten Zeile steht, ist läuft die Schleife bis i = 1 also. Pos( 'Datum', Lines[1-1{=0}] ) findet das Wort und gibt eine Zahl > 0 zurück. Existiert das Wort gar nicht, läuft die Schleife von 1 bis Count und prüft dabei alle Zeilen ( 1-1 bis Count -1 ) und die Pos > 0 Bedingung trifft einfach nie zu. Ist das Memo leer, läuft die Schleife von 1 bis 0 also gar nicht erst an. Mag sein, dass ich was übersehe ( die Augen wollen noch nicht ganz auf ), aber meiner Ansicht nach sollte die Schleife, so wie sie ist, funktionieren. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:13 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