AGB  ·  Datenschutz  ·  Impressum  







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

Stringroutine gesucht

Ein Thema von RolfPolf · begonnen am 17. Mär 2006 · letzter Beitrag vom 17. Mär 2006
Antwort Antwort
Benutzerbild von Corpsman
Corpsman

Registriert seit: 8. Nov 2005
Ort: nähe Stuttgart
981 Beiträge
 
Delphi XE2 Professional
 
#1

Re: Stringroutine gesucht

  Alt 17. Mär 2006, 17:39
Wobei du dir sowas auch sehr einfach selbst bauen kannst.

in speziel deinem Fall macht es keinen sinn da du ja echt nur Extractfilepath brauchst.

Generell ist ein Pos aber nicht schwer zu implementieren.

Versuche das hier grad mal.

Delphi-Quellcode:

Function PosRueckwaerts(Const Substring, s: String): integer;
Var
  x, y: Integer;
  b: boolean;
Begin
  result := 0; // Falls wir den Substring gar nicht finden
  If Length(s) <> 0 Then // Standart Fehler Abfangen
    If Length(Substring) <> 0 Then // Standart Fehler Abfangen
      If Length(s) >= length(substring) Then Begin // Standart Fehler Abfangen
        x := length(s) - Length(substring) + 1; // Die MAximal hinterste Position in s berechnen
        While x > 0 Do Begin // Wir suchen erst mal nur nach den 1. Zeichen ob die stimmen
          If s[x] = Substring[1] Then Begin // Wenn die Stimmen dann schauen wir nach ob der Rest stimmt
            b := true; // initialisieren
            y := 2; // Wir haben das 1. Zeichen schon verglichen, deswegen braucehn wir erst mit 2 beginnen
            While (y <= Length(Substring)) And (b) Do Begin // Wenn wir wissen das es nicht mehr passt können wir abbrechen
              If s[x + y - 1] <> Substring[y] Then b := false;// Feststellen ob es passt
              inc(y);// Weiterzählen nicht vergessen
            End;
            If b Then Begin// Wenn wir die Position gefunden haben brechen wir alles ab.
              result := x;
              exit;
            End;
          End;
          dec(x);// Weiterzählen nicht vergessen.
        End;
      End;
End;

Procedure TForm1.Button1Click(Sender: TObject);
Begin
  showmessage(inttostr(PosRueckwaerts('l', 'Hallo Welt')));
End;
Uwe
My Sitewww.Corpsman.de

My marble madness clone Balanced ( ca. 70,0 mb ) aktuell ver 2.01
  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 14:57 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