Autor Beitrag
tmkb
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 59



BeitragVerfasst: So 23.06.02 01:27 
Hallo,

Kann mir jemand helfen? Und zwar will ich es so machen, ich habe ein Memo feld indem ein text steht. Nun soll dieses Memo Feld per Button druck nach einem bestimmten Wort durchsucht werden, und in label1 soll dann reingeschrieben werden, in welcher Zeile dieses Wort vorkommt. Kann mir da jemand n kleinen Tip geben? Wäre echt dankbar, cya
tmkb
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: So 23.06.02 01:58 
Hallo,

da Du diese Frage in die Sparte Sonstiges und nicht in die Sparte Komponenten gepostet hast gehe ich davon aus das Du mit den o. g. Komponenten keine Problem hast sondern lediglich das suchen:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
Var
  Idx: Integer;
Begin
  For Idx := 0 To Memo1.Items.Count -1 Do
    If Pos (Search, Memo1.Items [Idx]) > 0 Then
      Begin
        Label1.Caption := IntToStr (Idx);
        Exit;
      End;
End;

Kommst Du mit dem Code zurecht? Wenn nicht dann sag bescheid :-D

Gruß


Zuletzt bearbeitet von Tino am Mo 24.06.02 12:51, insgesamt 1-mal bearbeitet
Steffer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 299



BeitragVerfasst: Mo 24.06.02 12:35 
Titel: Nachtrag
Sollte wohl

If Pos (Search, Memo1.Items [Idx]) > 0 Then ...

heissen. Ansonsten wird bei einer Suche nach einer Ziffer der erste Wert übergangen

_________________
Keine Signatur ...
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Mo 24.06.02 12:51 
Danke für den Hinweis! Natürlich muss der Code so aussehen. Hab ich oben verbessert.

TINO
tmkb Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 59



BeitragVerfasst: Mi 26.06.02 00:19 
danke, klappt!
wobei ich den code nochn bissel abändern musste, ansonsten hat er ihn nich angenommen:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
  For Idx := 0 To Memo1.Lines.Count -1 Do
    If Pos ('Search', Memo1.Lines [Idx]) > 0 Then
      Begin
        Label1.Caption := IntToStr (Idx);
        Exit;
      End;
aber funzt jezz, thx!

Code-Tags hinzugefügt. Tino
tmkb Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 59



BeitragVerfasst: Mi 26.06.02 00:33 
arg, da komm ich gleich zur nächsten Frage...Mit folgendem Code lese ich ja eine bestimmte Zeile im memo aus:
ausblenden Quelltext
1:
label1.caption:=memo1.lines[3];					

in dem Fall liest er zeile 3 aus..wie kann ich das was in der eckigen Klammer steht, aus einem anderen label laden lassen?
also zB
ausblenden Quelltext
1:
label1.caption:=memo1.lines[label2.caption];					

..dieser code funzt halt nicht...
wäre cool wenn mir jemand sagen könnte, wie ich den code zum laufen kriegen würde, thx!

Code-Tags hinzugefügt. Tino
Arakis
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 344



BeitragVerfasst: Mi 26.06.02 01:14 
Hi,
schreib einfach das hier:
ausblenden Quelltext
1:
label1.caption:=memo1.lines[StrToInt(label2.caption)];					

Bis dann
user defined image

_________________
Mit dem Computer löst man Probleme, die man ohne ihn nicht hätte.
Entwickler von SpaceTrek: The New Empire - Siehe Hompage!
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Mi 26.06.02 09:08 
tmkb hat folgendes geschrieben:
in dem Fall liest er zeile 3 aus..
Das ist nicht richtig! Die erste Zeile bekommst du mit der 0, die zweite mit der 1, die dritte mit der 2, usw. Es wird immer bei 0 angefangen zu zählen!

Gruß
tmkb Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 59



BeitragVerfasst: Mi 26.06.02 22:22 
@Tino: du hast natürlich recht...das wusste ich eigentlich auch, aber ich wollt das nich weiter betonen weils in meinem problem eigentlich irelevant war. Thx, hast mir mal wieder geholfen!
Jezz hab ich nur noch ein Prob das ich beseitigen muss, bis mein Proggy fertich ist, hoffentlich kannst du mir nochmal helfen...

Du hast mir ja ein paar posts weiter oben folgenden Code gegeben:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
Var 
  Idx: Integer; 
Begin 
  For Idx := 0 To Memo1.Lines.Count -1 Do 
    If Pos ('wort1', Memo1.Lines [Idx]) > 0 Then 
      Begin 
        Label1.Caption := IntToStr (Idx); 
        Exit; 
      End; 
End;

jezz hab ich das Problem, dass ich das mit 2 Wörtern machen will! in dem Beispielcode wird ja das wort "wort1" gesucht und die zeile in der es ist, in label1.caption geschrieben. Was ist aber, wenn ich zur selben Zeit (in der selben prozedur) auch noch das Wort "wort2" suchen will, und dessen Zeile in label2.caption schreiben will? Habe schon alles probiert, nichts klappt, er sucht immer nur nach dem ersten Wort! Wäre cool wenn du mir noch ein letztes mal helfen könntest, bin kurz vor meinem Ziel :-) ! thx, Tmkb

Code-Tags hinzugefügt. Tino
Alfons-G
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 307

Win XP Prof, Linux, Win 7
D5 Prof, D7 Architect, D2005 Architect, D2007 Architect
BeitragVerfasst: Mi 26.06.02 23:23 
Das geht mit ein wenig Nachdenken gang einfach:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
Var 
  Idx: Integer; 
  First, Second: Boolean;
Begin
  First := false;
  Second := false; 
  For Idx := 0 To Memo1.Lines.Count -1 Do
    begin 
    If Pos ('wort1', Memo1.Lines [Idx]) > 0 Then 
      Begin 
      Label1.Caption := IntToStr (Idx); 
      First := true;
    End;begin 
    If Pos ('wort2', Memo1.Lines [Idx]) > 0 Then 
      Begin 
      Label2.Caption := IntToStr (Idx); 
      Second := true;
    End;
    If First And Second Then
      Exit; 
  End; 
End;
PS:
Wie Du sicher siehst, macht ein [ code ]-Tag das Ganze viel lesbarer :wink:

:idea:

_________________
Alfons Grünewald