AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Komplizierte suche in Memo ! Hilfe

Offene Frage von "Nitron"
Ein Thema von Nitron · begonnen am 18. Nov 2008 · letzter Beitrag vom 21. Nov 2008
 
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#13

Re: Komplizierte suche in Memo ! Hilfe

  Alt 19. Nov 2008, 14:14
Also entweder bin ich oder ihr habt jetzt den Nitron gemacht.

Ich dachte, der möchte in einem Memo-Feld etwas suchen ... da frage ich mich, warum ihr dem sagt, er soll mit StringReplace was machen, und vor allem das Ergebnis von StringReplace wieder in das Memo schreiben

Also die Funktion klaue ich einfachmal
Delphi-Quellcode:
procedure SelectLine (Memo: TMemo; index: integer);
var
  i: integer;
  start, fin: integer;

begin
  start:= 0;
  fin:= length(Memo.lines[index]);
  for i:= 0 to index -1 do begin
    start:= start + length(Memo.Lines[i]) + 2;
  end;
  memo.SetFocus;
  Memo.SelStart:= start;
  Memo.SelLength:= fin;
  // ShowMessage(memo.SelText);
end;
Delphi-Quellcode:
function SuchenInMemo( Memo : TMemo; FindenStr, NichtFindenStr : string; LastFindLine : integer = -1 ) : integer;
var
  LineIdx : integer;
begin
  LineIdx := LastFindLine + 1;
  Result := 0;
  while
    ( LineIdx < Memo.Lines.Count ) and
    ( Result = 0 )
  do
    begin
      if
        ( Pos( FindenStr, Memo.Lines[ LineIdx ] ) > 0 ) and
        ( Pos( NichtFindenStr, Memo.Lines[ LineIdx ] ) = 0 )
      then
        begin
          Result := LineIdx;
          SelectLine( Memo, LineIdx );
        end
      else
        Inc( LineIdx );
    end;
end;
Im Programm rufst du das so auf:
Delphi-Quellcode:
// Globale Variable oder Klassen-Variable deklarieren
var
  MyLastFindLine : integer;

// beim Klick auf den Suchen-Button diesen Code

  MyLastFindLine := SuchenInMemo( Memo1, Edit1.Text, Edit2.Text );

// Beim Klick auf Weitersuchen diesen Code

  MyLastFindLine := SuchenInMemo( Memo1, Edit1.Text, Edit2.Text, MyLastFindLine );
cu

Oliver

[edit]der fehler ist nun behoben[/edit]
[edit2]jetzt tut die function genau das was sie soll [/edit2]
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:48 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