Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Mehrere Dateien nach String durchsuchen (https://www.delphipraxis.net/1296-mehrere-dateien-nach-string-durchsuchen.html)

foxy 12. Nov 2002 11:24

hmmm thx ich versuch das glei mal ich habs bischer bissal anders gemacht
Code:
s:=UpperCase(DrivecomboBox1.Drive);
     EditDatei.Text:=s+':\*.txt';
     If FindFirst(EditDatei.Text,faAnyfile,searchrec)=0 then begin
        Display;
     end
     else begin
       ShowMessage('Nichts gefunden');
       EditCharge.Clear;
       exit;
     end;
     AssignFile(f,EditDatei.text);
    {$i-}
        Reset(f) ;
    {$i+}
    if IOResult <>0 then
    begin
      ShowMessage ('Fehler: Datei kann nicht geöffnet werden');
      EditCharge.Clear;
      exit;
    end;
  end;
so hab ich das gemacht aber ich versuch das andere dann ma ... mein bsp ging bei eienr datei wunderbar ... ich versuchs einfach

sakura 12. Nov 2002 11:45

Viel Erfolg.

Zur besseren Übersicht, solltest Du aber Dateisuche, Stringsucheund Ergebnissanzeige von einander trennen. <- Erfahrungssache.

...:cat:...

foxy 12. Nov 2002 11:49

ja das iss au noch so was ... ich habe fast alles in eine unit gepackt und die wird mir langsam bissal gros mit 1200 zeilen wie kann ich das ich z.b. wenn ich auf ein button drücke auf ne andere unit verweise ... also nur das diese im hintergrund arbeitet implementation einbinden iss klar aber der befehl

ich habe das versucht mit
Delphi-Quellcode:
Unit drucken;
aber das geht wohl nich so richtig ;)

sakura 12. Nov 2002 11:59

Mal ein kurzes Bsp.

Delphi-Quellcode:

// UNIT uHallo.pas
[color=#ff0022]unit uHallo;[/color]
interface

procedure ShowHallo(Message: AnsiString);

implementation

procedure ShowHallo(Message: AnsiString);
begin
  // message dlg
  ...
end;

end.

// ENDE uHallo.pas
....

....


// Dein Form

unit Form1;

interface

  type TForm1 = class(TForm)
    procedure Button1OnClick(Sender: TObject);
  private
    ...
  public
  end;

implementation
 
[color=#ff0019]uses
  uHallo;[/color]

procedure TForm1.Button1OnClick(Sender: TObject);
begin
  ShowHallo('Du hast Button1 gedrückt!');
end;

end.
Für weitere Fragen sind wir natürlich jederzeit da :)

wwerner 12. Nov 2002 12:04

Delphi-Quellcode:
EditDatei.Text:=s+':\*.txt';
If FindFirst(EditDatei.Text,faAnyfile,searchrec)=0 
  then
    begin
      Display; //Was ist das?
    end
  else
    begin
      ShowMessage('Nichts gefunden');
      EditCharge.Clear;
      exit;
   end;
AssignFile(f,EditDatei.text); // EditDatei.text ist z.B c:\*.txt das kann man nicht öffen

foxy 12. Nov 2002 12:18

Schön mal jemand zu finden der mal direkt antwortet :hello:

aber bei deinem quellcode geht soweit alles hab denke ich auch alles richtig eingefügt nur der findet an der stelle

Delphi-Quellcode:
repeat
    if SR.Attributes and faDirectory = 0 then
      Search(Pfad + SR.Name);
  until FindNext(SR) <> 0;
das serach nicht wie muss ich das deklarieren??

sorry ich hab wirklich noch null plan :oops: [/quote][/center]

sakura 12. Nov 2002 12:20

Der Name Search ist nur ein Beispiel.

Diese Routine ist dann Deine Lösung, um zu überprüfen, ob der gesuchte String in der Datei eigentlich vorkommt.

foxy 12. Nov 2002 12:30

hmm wenns keine umstände macht kannst du die einzelnen schritte erklären das ich das auch richtig in mein programm einbaue?ß

sakura 12. Nov 2002 12:51

Mit FindFiles hast Du jetzt die Routine, welche nach allen Dateien in einem Verzeichnis sucht, welche Deiner Maske entsprechen.

FindFiles ruft jetzt die Routine Search auf, welche für eine bestimmte Datei überprüft, ob der gesuchte String darin vorkommt.

Delphi-Quellcode:
// unvollendetes Beispiel mit suche nach FText
procedure Search(aFileName: String);
begin
  with TStringList.Create do
  try
    LoadFromFile(aFileName);
    if Pos(FText, Text) > 0 then
      ShowMessage('Der Text wurde in der Datei ' + aFileName + ' gefunden.');
  finally
    Free;
  end;
end;
Das ist jetzt nur ein grobes Gerüst, sollte Dir aber weiterhelfen ;)

Daniel B 12. Nov 2002 17:01

Hallo wwerner,

Zitat:

Zitat von wwerner
Hi, Ich habe nicht von den Richtlineien in diesem Forum geschreiben, sondern von der allgemeinen Netikette

Und weisst Du auch das die Netiquette, Crossposting aus Newsgroup kommt und sich nicht in dem Sinne auf Foren übertragen lässt? Warum machst Du nicht gleich ein F'up 2p :?: :!: :?: Wenn Du schon auf diese Regeln stehst :?:

Grüsse, Daniel :hi:


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:11 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz