Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi In einer Datei etwas finden (https://www.delphipraxis.net/47570-einer-datei-etwas-finden.html)

Dash 13. Jun 2005 11:21


In einer Datei etwas finden
 
Liste der Anhänge anzeigen (Anzahl: 1)
Moin,

ich weiß ich habe dazu schon mal ne ähnliche Frage gestellt, aber ich bekomme das mit pos einfach nicht gebacken. Ich habe vor die Datei die im Anhang liegt auszuwerten. Das Programm soll also z.B. nach ³4> in der Datei suchen, dieses steht hinter einem | . Die Datei wird bisher in eine StringListe geladen, aber mit find funktioniert da auch nichts.

Delphi-Quellcode:
procedure TForm1.Oeffnen;
var
  tbl_1 : TStringList;
  I : Integer;
begin
  tbl_1 := TStringList.Create;
  tbl_1.Clear;
  tbl_1.Delimiter := '|';

  if OpenDialog1.Execute then
  if not fileexists(OpenDialog1.FileName) then
  Exit else
  begin
    ListBox1.Clear;
    tbl_1.LoadFromFile(OpenDialog1.FileName);
    if tbl_1.Find('18' , I) then
    ListBox1.Items.Add('GEFUNDEN !!!');
  end;
end;
Greetz
Dash

Dash 14. Jun 2005 11:37

Re: In einer Datei etwas finden
 
*push*

uschi 14. Jun 2005 12:31

Re: In einer Datei etwas finden
 
guck dir dochmal die delphi hilfe an.

die funktion pos() ist genau definiert.

du kannst die funktion auf sliste.text oder in einem schleifendurchlauf auf sliste.strings[n] anwenden.

r2c2 14. Jun 2005 12:45

Re: In einer Datei etwas finden
 
Die eigentliche Frage is zwar schon beantwortrt(Pos), aber ich hätte trotzdem nochwas anzumerken:

Deine StringList sollte auch wieder freigegeben werden:

Delphi-Quellcode:
  tbl_1.Free;
Am besten macht man das so:
Delphi-Quellcode:
var
  MyObject: TMyObject;
begin
  MyObject := nil;
  try
    MyObject := TMyObject.Create;
    DoSomething;
  finally
    MyObject.Free;
  end;
end;
mfg

Christian

r2c2 14. Jun 2005 12:51

Re: In einer Datei etwas finden
 
Was mir gerade noch einfällt: Warum nimmst du exit? :gruebel:

es wäre doch viel einfacher zu schreiben:

Delphi-Quellcode:
  if FileExists then
  begin
    ...
  end;
Da sparst du ein not und ein Exit. Das macht das Ganze auch noch übersichtlicher.

mfg

Christian

Dash 14. Jun 2005 13:07

Re: In einer Datei etwas finden
 
Ok danke für Eure Tipps :thumb:
Werde mich mal in der Delphi Hilfe umschauen :nerd:

fred.reichbier 14. Jun 2005 13:51

Re: In einer Datei etwas finden
 
hi!

'find' findet nur strings in sortierten StringListen, die methode für unsortierte in 'indexof'.
aber indexof & find finden auch nur den String, wenn er alleine in einer Zeile steht.
das heißt, wenn du nach 'hallo' suchst finden sie zwar eine zeile wo 'hallo' drinsteht,
aber keine wo 'testhallo' steht.

fred


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:17 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