|
| Flytte filer fra mappe til mappe bestemt a~ Fra : Mathias |
Dato : 18-07-04 16:17 |
|
Hej NG.
Jeg har lavet et formless program i Visual Basic et stykke tids siden der
ordnede filer efter dato. Helt præcist gjorde programmet følgende ved hver
fil:
1) Find datoen for oprettelse
2) Hvis der ikke er en mappe der hører til året for oprettelsen, så opret
en.
3) Gør det samme med måneden og dagen for oprettelse
4) Læg filen ind i mappen der hører til datoen (<root>\yyyy\yyyy-mm\yyyy-
mm-dd, f.eks. <root>\2004\2004-07\2004-18)
5) Gør det samme ved den næste fil i den midlertidige mappe
Jeg brugte dette program til at ordne mine digitalbilleder.
Men nu er jeg gået over i Delphi, og vil vide om der findes et alternativ
til Visual Basics FileSystemObject.
Nogle der kender til et sådan et?
Eller nogle der kender de fem funktioner jeg har brug for (en til at hente
listen over alle filerne i den midlertidige mappe, en til at finde datoen
for oprettelse / datoen for sidste ændring, en til at finde ud af om en
mappe findes, en til at lave mapper, og til sidst en til at flytte filer)?
Med venlig hilsen og på forhånd tak,
Mathias.
| |
Harald (18-07-2004)
| Kommentar Fra : Harald |
Dato : 18-07-04 18:09 |
|
"Mathias" <mathias@xyz.com> skrev i en meddelelse
news:Xns952AAFCEB40B1mathiasxyzcom@212.54.64.134...
> Hej NG.
>
> Jeg har lavet et formless program i Visual Basic et stykke tids siden der
> ordnede filer efter dato. Helt præcist gjorde programmet følgende ved hver
> fil:
> 1) Find datoen for oprettelse
> 2) Hvis der ikke er en mappe der hører til året for oprettelsen, så opret
> en.
> 3) Gør det samme med måneden og dagen for oprettelse
> 4) Læg filen ind i mappen der hører til datoen (<root>\yyyy\yyyy-mm\yyyy-
> mm-dd, f.eks. <root>\2004\2004-07\2004-18)
> 5) Gør det samme ved den næste fil i den midlertidige mappe
>
> Jeg brugte dette program til at ordne mine digitalbilleder.
> Men nu er jeg gået over i Delphi, og vil vide om der findes et alternativ
> til Visual Basics FileSystemObject.
> Nogle der kender til et sådan et?
> Eller nogle der kender de fem funktioner jeg har brug for (en til at hente
> listen over alle filerne i den midlertidige mappe, en til at finde datoen
> for oprettelse / datoen for sidste ændring, en til at finde ud af om en
> mappe findes, en til at lave mapper, og til sidst en til at flytte filer)?
Brug FindFirst og FindNext til at hente filnavne og det giver samtidig også
info om oprettelse/dato for ændring osv.
DirectoryExists fortæller om mappen findes.
CreateDir eller ForceDirectories for at oprette mapper
RenameFile til at flytte filer.
Jeg bruger Delphi 7 men mener også at disse funktioner findes i Delphi 6
Mvh
HK
| |
Mathias (18-07-2004)
| Kommentar Fra : Mathias |
Dato : 18-07-04 19:08 |
|
"Harald" <news10@-REMOVE-THIS-kroning.dk> wrote in
news:40faaec0$0$291$edfadb0f@dread14.news.tele.dk:
> Brug FindFirst og FindNext til at hente filnavne
Kan du give et eksempel på disse?
> og det giver samtidig
> også info om oprettelse/dato for ændring osv.
Igen, kan jeg få et eksempel?
> DirectoryExists fortæller om mappen findes.
> CreateDir eller ForceDirectories for at oprette mapper
> RenameFile til at flytte filer.
Ser godt ud :)
Mange tak for hjælpen & på forhånd tak,
Mathias.
| |
Kurt Bilde (18-07-2004)
| Kommentar Fra : Kurt Bilde |
Dato : 18-07-04 19:19 |
|
Mathias wrote:
> Igen, kan jeg få et eksempel?
Check hjælpen - prøv evt. at skrive FindFirst i IDE'et og tryk ctrl+F1,
så skulle der gerne komme en online hjælp frem. Øverst i denne finder du
et delphi eksemepel.
The following example uses an edit control, a button, a string grid, and
seven check boxes. The check boxes correspond to the seven possible file
attributes. When the button is clicked, the path specified in the edit
control is searched for files matching the checked file attributes. The
names and sizes of the matching files are inserted into the string grid.
procedure TForm1.Button1Click(Sender: TObject);
var
sr: TSearchRec;
FileAttrs: Integer;
begin
StringGrid1.RowCount := 1;
if CheckBox1.Checked then
FileAttrs := faReadOnly
else
FileAttrs := 0;
if CheckBox2.Checked then
FileAttrs := FileAttrs + faHidden;
if CheckBox3.Checked then
FileAttrs := FileAttrs + faSysFile;
if CheckBox4.Checked then
FileAttrs := FileAttrs + faVolumeID;
if CheckBox5.Checked then
FileAttrs := FileAttrs + faDirectory;
if CheckBox6.Checked then
FileAttrs := FileAttrs + faArchive;
if CheckBox7.Checked then
FileAttrs := FileAttrs + faAnyFile;
with StringGrid1 do
begin
RowCount := 0;
if FindFirst(Edit1.Text, FileAttrs, sr) = 0 then
begin
repeat
if (sr.Attr and FileAttrs) = sr.Attr then
begin
RowCount := RowCount + 1;
Cells[1,RowCount-1] := sr.Name;
Cells[2,RowCount-1] := IntToStr(sr.Size);
end;
until FindNext(sr) <> 0;
FindClose(sr);
end;
end;
end;
-Kurt
| |
Mathias (18-07-2004)
| Kommentar Fra : Mathias |
Dato : 18-07-04 19:22 |
|
Kurt Bilde <kub@sam.sdu.dk> wrote in news:40fabf0e$0$257
$edfadb0f@dread12.news.tele.dk:
> Check hjælpen - prøv evt. at skrive FindFirst i IDE'et og tryk ctrl+F1,
> så skulle der gerne komme en online hjælp frem. Øverst i denne finder du
> et delphi eksemepel.
Hvor ligger IDE'et henne :$
/me er en ægte newbie...
På forhånd tak,
Mathias
| |
Kurt Bilde (18-07-2004)
| Kommentar Fra : Kurt Bilde |
Dato : 18-07-04 19:32 |
|
Hej Mathias !
Mathias wrote:
> Hvor ligger IDE'et henne :$
Sorry - editoren - altså der du skriver koden. Editoren er en del af
IDE'et....
-Kurt
| |
Mathias (21-07-2004)
| Kommentar Fra : Mathias |
Dato : 21-07-04 21:58 |
|
Harald og Kurt, mange tak for hjælpen!
Jeg har fået mit lille projekt *ruller med øjnene* til at virke nu :)
Mvh. Mathias
| |
|
|