![]() |
Mehrere Dateien auslesen?
Hi, also ich möchte mit OpenDialog von mehreren Dateien das Datum auslesen und diese dann in einem Feld gespeichert haben.
Bisher habe ich es nur hinbekommen von einer Datei das Datum auszulesen.
Delphi-Quellcode:
ich weiß auch wie ich opendialog dazu bringe mehrer dateien auswählbar zu machen aber dann fehlts mir.
var
Form1: TForm1; fileName : string; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var fileDate : Integer; begin fileDate := FileAge(fileName); if fileDate > -1 then ShowMessage(fileName+' Datum = '+ DateToStr(FileDateToDateTime(fileDate))); end; procedure TForm1.auswhlen1Click(Sender: TObject); begin OpenDialog1.Execute; filename := opendialog1.FileName; end; danke schonmal |
Re: Mehrere Dateien auslesen?
Moin,
Du kannst Multi-Selektion vom Opendialog so auslesen:
Delphi-Quellcode:
Grüße,
var
I: Integer; begin if dlgOpen1.execute then begin for I := 0 to dlgOpen1.Files.Count - 1 do begin MachWas(dlgOpen1.Files.Strings[I]); end; end; end; Max |
Re: Mehrere Dateien auslesen?
Hallo Max,
weil Strings die default property ist, kannst du auch so zugreifen:
Delphi-Quellcode:
Grüße vom marabu
begin
with OpenDialog do begin Options := Options + [ofAllowMultiSelect]; if Execute then for i := 0 to Pred(Files.Count) do DoProcess(Files[i]); end; end; |
Re: Mehrere Dateien auslesen?
Moin,
Ah, sehr interessant. Fiel mir bis jetzt noch gar nicht auf. Danke für den Hinweis ;) Grüße, Max |
Re: Mehrere Dateien auslesen?
Delphi-Quellcode:
das habe ich jetzt, im einzelschrittmodus seh ich auch wie er verschiedene dateien anwählt, aber sobal er die 2. hat sagt er "listindex überschreitet maximum (2)" oder so ähnlich.
procedure TForm1.auswhlen1Click(Sender: TObject);
var i:integer; begin OpenDialog1.Execute; for i := 1 to 10 do begin filename[i] := opendialog1.Files.Strings[i]; auslesen(Filename[i],i); end; end; wo liegt mein fehler? |
Re: Mehrere Dateien auslesen?
Files ist eine StringList - deren Items werden von 0 bis Pred(Count) indiziert ...
|
Re: Mehrere Dateien auslesen?
Delphi-Quellcode:
bei dem sagt er mir aber dass "files" ein undefinierter bezeichner ist, sorry ich kenn mich da nicht so aus, ich glaub das ist was ganz dummes was ich hier falsch mache.
for i := 0 to Pred(Files.Count) do
begin filename[i] := opendialog1.Files.Strings[i]; auslesen(Filename[i],i); end; |
Re: Mehrere Dateien auslesen?
ah ich habs, vor das files musste ja noch ein "opendialog1."
jetzt klappt es, ich dank euch allen für die super hilfe :-D |
Re: Mehrere Dateien auslesen?
sorry wenn ich hier wieder was neues schreibe aber ganz 100%ig geht es noch nocht, zwar zeigt er nun alles exakt an aber wenn ich das programm beenden will gibt es eine fehlermeldung:
"Im Projekt Projekt2.exe ist eine Exception der Klasse EAccessViolation aufgetreten. Meldung: ' Zugriffsverletzung bei Adresse 00403E46 in Modul 'Projekt2.exe'. Lesen von Adresse 3682943B'. Prozess wurde angehalten. Mit einzelne Anweisung oder Start fortsetzen." mh ich denke irgendwie hat er ein Problem mit den Zugriffsrechten oder so, was ich da herauslesen kann. hier mein jetziger kompletter quellcode:
Delphi-Quellcode:
var
Form1: TForm1; fileName :array[1..10] of string; fileDate :array[1..10] of Integer; implementation {$R *.dfm} procedure auslesen(i:integer); begin fileDate[i] := FileAge(fileName[i]); end; procedure TForm1.Button1Click(Sender: TObject); var i:integer; begin for i := 0 to Pred(opendialog1.Files.Count) do begin if fileDate[i] > -1 then memo1.lines.add(fileName[i]+' last modified date = '+ DateToStr(FileDateToDateTime(fileDate[i]))); end; end; procedure TForm1.auswhlen1Click(Sender: TObject); var i:integer; begin OpenDialog1.Execute; for i := 0 to Pred(opendialog1.Files.Count) do begin filename[i] := opendialog1.Files.Strings[i]; auslesen(i); end; end; |
Re: Mehrere Dateien auslesen?
Deklarier die Arrays mal um, statt von Index 1 bis 10 auf Index 0 bis 9.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:30 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 by Thomas Breitkreuz