![]() |
Verzeichnis anlegen +1 ?
Nabend @all
Also bin grad dabei mir ein kleines Backup tool zu schnitzen leider hab ich schon 2 Jahre nix mehr unter Delphi gemacht :oops: Prog ist fertig aber es fehlt nur noch eine Routine
Delphi-Quellcode:
Jetzt brauchte ich aber eine Routine die mir ein Verzeichnis +1 anlegt wennn das aktuelle datum schon vorhanden ist
if not DirectoryExists(S+'\'+DateToStr(Date)) then MkDir(DateToStr(Date))
else ???? und immer soweiter wenn +1 Vorhanden dann +2 Bitte um Hilfe & Danke schonmal im vorraus [edit=SirThornberry]Titel geändert - Hilfe braucht hier so ziemlich jeder :-) Mfg, SirThornberry[/edit] |
Re: Hilfe Verzeichnis anlegen +1 ?
Dann soll das datum vom Folgetag erzeugt werden? Wäre irgendwie komisch :gruebel:
|
Re: Hilfe Verzeichnis anlegen +1 ?
Nein es soll entweder nur eine 1 Hinten oder vorn drangehangen werden
möglich ist auch 01-Datum <- (wenn vorhanden) 02-Datum Edit: hmm Da wirft sich dann auch gleich die zweite Frage auf wie ich Rausbekommen welches Verzeichnis dann angelegt wurt :gruebel: |
Re: Hilfe Verzeichnis anlegen +1 ?
Versuch mal
Delphi-Quellcode:
function DirectoryCreate( Path: string): boolean;
var p, w, e: Integer; s: string; begin if not DirectoryExists( Path) then begin MkDir(Path); result := True; end else begin p := Pos( Path, '-'); s := Copy( Path, p+1, Length( Path) - p); Val(s , w, e); if p > 0 then Path := Copy(Path, 1, p-1); Result := DirectoryCreate( Path +'-'+IntToStr(w)); end; end; |
Re: Hilfe Verzeichnis anlegen +1 ?
Versucht aber nix :cry:
muss das so aufgefufen werden ? vllt liegts ja an meinem aufruf
Delphi-Quellcode:
if not DirectoryExists(S+'\'+DateToStr(Date))
then DirectoryCreate(S+'\'+DateToStr(Date)) ; |
Re: Hilfe Verzeichnis anlegen +1 ?
Kleine Korrektur:
Delphi-Quellcode:
Aufruf
function DirectoryCreate( Path: string): boolean;
var p, w, e: Integer; s: string; begin w := 0; if not DirectoryExists( Path) then begin MkDir(Path); result := True; end else begin p := Pos( '-', Path); if p > 0 then begin s := Copy( Path, p+1, Length( Path) - p); w := StrToIntDef(s , 0)+1; Path := Copy(Path, 1, p-1); end; Result := DirectoryCreate( Path +'-'+IntToStr(w)); end; end;
Delphi-Quellcode:
DirectoryCreate( DateToStr( date));
|
Re: Hilfe Verzeichnis anlegen +1 ?
:bouncing4: :bounce1: :bouncing4:
Besten Dank ... Sollte wohl mal wieder öfter mit Delphi basteln |
Re: Hilfe Verzeichnis anlegen +1 ?
Zitat:
|
DP-Maintenance
Dieses Thema wurde von "SirThornberry" von "Klatsch und Tratsch" nach "Object-Pascal / Delphi-Language" verschoben.
|
Re: Hilfe Verzeichnis anlegen +1 ?
Zitat:
|
Re: Verzeichnis anlegen +1 ?
Delphi-Quellcode:
Dann enthält die Variable nach dem Aufruf den erzeugten Pfad
function DirectoryCreate( var Path: string): boolean;
|
Re: Verzeichnis anlegen +1 ?
Sorry aber Kapier ich nicht :wall:
|
Re: Verzeichnis anlegen +1 ?
Die erste Version war Call-By-Value, es wurde also ein Wert an die Funktion übergeben, schreibt man ein var vor den Parameter, deklariert man ihn als Call-By-Reference, es wird also die Variable an sich nicht ihr wert übergeben.
Delphi-Quellcode:
Die Variable Pfad im rufenden Programm ist nun identisch mit der Variable Path in der Funktion. Alle Änderungen an ihr betrifft also auch Pfad.
var
Pfad: string; erfolg: boolean; ... pfad := DateToStr( date)); erfolg := DirectoryCreate( Pfad); |
Re: Verzeichnis anlegen +1 ?
So oder wie ?
Delphi-Quellcode:
Aber dann funktioniert der aufruf nicht
function AskPath( var Path: string): boolean;
var Pfad: string; begin pfad := DateToStr( date); result:= DirectoryCreate( Pfad); end;
Delphi-Quellcode:
Label3 soll erstmal als Anzeige dienen da ich keine lust hab ständig dateien hin un her zu moven
Label3.Caption:=InttoStr(AskPath( DateToStr( date);
... kann nicht als Var Parameter weitergegeben werden |
Re: Verzeichnis anlegen +1 ?
Einfach so
Delphi-Quellcode:
pfad := DateToStr( date);
result:= DirectoryCreate( Pfad); label3.Caption := Pfad; |
Re: Verzeichnis anlegen +1 ?
hmm nö geht nicht er zeigt dann im Label nur das Aktuelle Datum an aber nicht den zulezt erstellen Ordner
|
Re: Verzeichnis anlegen +1 ?
Du hast aber das var bei DirectoryCreate ergänzt?
|
Re: Verzeichnis anlegen +1 ?
Ja jetzt garnicht gesehen ... so nächstes Prob
Delphi-Quellcode:
...
result:= (DirectoryCreate( Pfad)); // inkompatible Typen: 'String' und 'Boolean' ... |
Re: Verzeichnis anlegen +1 ?
Result ist ja vom typ Boolean. Der geänderte Pfad steht in Pfad!!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:07 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