Autor Beitrag
Borg-Cube
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 35


Delphi 2009
BeitragVerfasst: Sa 30.10.04 19:24 
Hallo

Vor einiger Zeit habe ich ein Tool angefangen. Heute habe ich daran weitergearbeitet und bin auch gleich auf das nächste problem gestoßen:
in einem Verzeichnis befinden sich eine unbekannte anzahl an Dateien eines Typs (sagen wir einfach mal .xyz)
Ich möchte jetzt eine .xyz-Datei nach der anderen öffnen. Dabei sei noch zu erwähnen, dass es kein muster in den Dateinamen gibt, daher kann ich nicht mit einer schleife den namen erzeugen. Die namen sind zufällig gewählt und können auch nicht geändert werden.

Hat jemand eine Idee, wie ich trotzdem alle dateien nacheinander öffnen kann?


Moderiert von user profile iconTino: Topic aus Sonstiges verschoben am Mo 01.11.2004 um 12:45
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 30.10.04 19:29 
*seufz* Wie wär´s denn mit einer einfachen Suche nach Suche in: Delphi-Forum, Delphi-Library "DATEIEN FINDEN" gewesen? Dabei wärst du unweigerlich auf Suche in: Delphi-Library FINDFIRST gestoßen.
Borg-Cube Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 35


Delphi 2009
BeitragVerfasst: So 31.10.04 14:14 
wenn man nach den richtigen begriffen sucht schon.

Allerdings gibt es noch ein problem. In einem Neuen Projekt funktioniert es ohne probleme. Wenn ich das allerdings in das bestehende Projekt einfügen will, gibt es bei folgender Zeile Fehlermeldungen:
ausblenden Delphi-Quelltext
1:
  Attrib := faArchive + faReadOnly + faHidden;					


[Warnung] main_p.pas(73): Symbol 'faArchive' ist plattformspezifisch
[Fehler] main_p.pas(73): Inkompatible Typen

Was ist das jetzt für ein fehler? Wie schon gesagt, in einem neuen Projekt gibt es keine probleme.
Luzzifus
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 200

Win2K
D6 Prof
BeitragVerfasst: So 31.10.04 14:22 
mal ne vollständige funktion dazu:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
procedure ListFileDir(Path: String; FileList: TStrings);
var 
  SR: TSearchRec;
begin
  try
    if FindFirst(Path + '*.xyz', faAnyFile xor faDirectory, SR) = 0 then
      repeat
        FileList.Add(SR.Name);
      until FindNext(SR) <> 0;
      
  finally FindClose(SR) end;
end;

Danach haste alle Dateinamen mit der gewünschten Endung im gewünschten Verzeichnis in einer StringList und kannst die Dateien nacheinander öffnen.
Borg-Cube Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 35


Delphi 2009
BeitragVerfasst: So 31.10.04 14:48 
wenn ich die funktion mit
ausblenden Delphi-Quelltext
1:
ListFileDir('c:\Programme\',ausgabe);					

aufrufe, steigt das Programm während der Laufzeit bei
ausblenden Delphi-Quelltext
1:
2:
3:
     repeat  
        FileList.Add(SR.Name);  
      until FindNext(SR) <> 0;

aus.

Das liegt wahrscheinlich daran, dass ich nicht in der lage bin eine Stringlist zu benutzen.
Folgendes habe ich geschrieben um stringlisten mal unabhängig von der obigen funktion zu testen. Allerdings gibt es da einen üblen Crash:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure...
var ausgabe:TStringList;
begin
  ausgabe.Create;
  try
   ausgabe.Add('blablabla');
  finally
   ausgabe.Free;
  end;
end;
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: So 31.10.04 14:50 
ausblenden Delphi-Quelltext
1:
ausgabe:=tstringlist.create;					

Mfg Frank

_________________
Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
Luzzifus
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 200

Win2K
D6 Prof
BeitragVerfasst: So 31.10.04 14:52 
man muss natürlich die StringList vorher createn, siehe keldorns post.. dachte das wär klar ^^''
Borg-Cube Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 35


Delphi 2009
BeitragVerfasst: So 31.10.04 14:59 
kein problem, jetzt funktioniert es. Dachte eben, ausgabe.create würde reichen.

Jetzt klappt es auf jeden fall. Vielen Dank