AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi bis zu einem bestimmten zeichen suchen?
Thema durchsuchen
Ansicht
Themen-Optionen

bis zu einem bestimmten zeichen suchen?

Ein Thema von shadow999 · begonnen am 15. Nov 2007 · letzter Beitrag vom 18. Nov 2007
Antwort Antwort
mashutu

Registriert seit: 15. Nov 2007
195 Beiträge
 
#1

Re: bis zu einem bestimmten zeichen suchen?

  Alt 15. Nov 2007, 20:28
Zitat von shadow999:
Angenommen im Memo stehen folgende Buchstaben wie folgt:
A
B
C
DE
F
GH
I
J

Dann möchte ich bei "DE" anfangen zu suchen. Wenn er dann bis auf GH stößt, soll er aufhören.
Also da drum gehts eigentlich, das Suchen von einer bestimmten stelle im text bis zu einer bestimmten stelle.
[untested ON]
Delphi-Quellcode:
function foo(sl:TStringList;AStart,AStop:String):tStringList; //result is NIL if nothing found
var
  sTmp : string;
  i,j,k : integer;
begin
  result:=TStringList.Create; //optimistic version
  i:=0;
  while i<sl.count do
  begin
    sTmp:=sl[i]; //analyze a line
    k:=pos(AStart,sTmp); //is there anything we are looking for?

    if k>0 then
    begin //start found
      j:=i; //keep this for next search
      i:=sl.count; //more elegant than exit
      result.add(copy(sTmp,k,length(sTmp)); //include this into the result
    end;
    
    inc(i); //next line
  end; //of while construct

  if result.count>0 then //did we find a start
  begin
    i:=j;
    while i<sl.count do
    begin
      sTmp:=sl[i];
      k:=pos(AStop,sTmp);

      if k>0 then
      begin
        i:=sl.count; //exit this while construct
        result.add(copy(sTmp,1,k+length(AStop)-1); //
      end
      else
        result.add(sTmp);
    
      inc(i);
    end;//while
  end//AStart found
  else//otherwise we do not deliver any result
     FreeAndNil(result);
end;

Wenn Du nur ein Ergebnis haben willst, falls das Ende auch gefunden wurde muesstest Du noch zwei Zeilen einfuegen.
Hab das ganze jetzt nur mal schnell so hingetippert, weil ich auf diesem Rechner kein Delphi habe.
Es geht sicherlich eleganter/effizienter, aber das sollte auch einigermassen erlaeutern, was zu tun ist.
utu

if it was hard to write it should be hard to read
  Mit Zitat antworten Zitat
Antwort Antwort


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 07:14 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