Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Zeige Zeile in der "Datum" steht. (https://www.delphipraxis.net/29030-zeige-zeile-der-datum-steht.html)

Äfan 2. Sep 2004 23:19


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

alcaeus 2. Sep 2004 23:28

Re: Zeige Zeile in der "Datum" steht.
 
Hi Äfan!

Delphi-Quellcode:
for i := 1 to Memo1.Lines.Count do
  if Pos('Datum', Memo1.Lines[i-1]) then
  begin
    ShowMessage(Memo1.Lines[i-1]);
    exit;
  end;
Code ist ungetestet, müsste aber funktionieren :mrgreen:

Greetz
alcaeus

Äfan 2. Sep 2004 23:37

Re: Zeige Zeile in der "Datum" steht.
 
Geht net:

[Fehler] DecMain.pas(356): Ausdruckstyp muss BOOLEAN sein

Treffnix 2. Sep 2004 23:43

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;

alcaeus 3. Sep 2004 00:02

Re: Zeige Zeile in der "Datum" steht.
 
Zitat:

Zitat von Treffnix
da fehlt ein ">0"

:oops:
Merkt man wie spät es ist? :mrgreen:
Treffnix' code funktioniert ;)

Greetz
alcaeus

Äfan 3. Sep 2004 00:54

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 ?

Luckie 3. Sep 2004 01:05

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 ;)

z3nith 3. Sep 2004 02:32

Re: Zeige Zeile in der "Datum" steht.
 
Zitat:

Zitat von Äfan
Wie kann man eigentlich herausfinden in welcher Zeile sich die Makierung (der schwarze strich | ) befindet ?

z.B. mit: Memo1.CaretPos.Y
(X ist dementsprechend die aktuelle "Spalte", also Zeichenposition in der Zeile)

Luckie 3. Sep 2004 03:43

Re: Zeige Zeile in der "Datum" steht.
 
Zitat:

Zitat von Äfan
Wie kann man eigentlich herausfinden in welcher Zeile sich die Makierung (der schwarze strich | ) befindet ?

Neue Frage, neuer Thread bitte!

Treffnix 3. Sep 2004 07:47

Re: Zeige Zeile in der "Datum" steht.
 
Zitat:

Zitat von Luckie
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 ;)

:gruebel: Ich stimme dir zu, dass ne Schleife von 0 bis pred( Count ) geschickter wäre, weil man dann das i nicht mehr umrechnen muss. Der Rest von dem was du sagst, stimmt meiner Meinung nach nicht.

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 05:10 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz