Entwickler-Ecke

Dateizugriff - Ordner erstellen


chickenfigt1989 - Mo 31.01.11 00:22
Titel: Ordner erstellen
Hallo,

Ich habe bei meinen Mainmenü Projekt erstellen drin.

Jetzt möchte ich wenn ich da drauf klicke dass es in Verzeichniss wo das Programm liegt, prüft ob da Ordner vorhanden sind und wenn nicht soll es die anliegen.
Der ordner name soll man in einen Edit feld eintragen.

Sprich ich klicke auf Projekt erstellen, dann kommt ein Edit Feld wo ich den Namen meines Projektes eingib. ALs beispiel nimm ich mal Paintball. Wenn ich dann auf den Button weiter klicke, soll überprüft werden, ob es den Ordner Paintball bereits in mein Programm verzeichnis gibt, falls nein sollte der ordner paintball in programmverzeichniss erstellt werden.
Wie mache ich das?

Mfg

Moderiert von user profile iconNarses: Überflüssige Zeilenumbrüche/Leerzeilen entfernt.
Moderiert von user profile iconNarses: Topic aus VCL (Visual Component Library) verschoben am So 30.01.2011 um 23:25


Narses - Mo 31.01.11 00:26

Moin!

Schau dir mal Suche in: Delphi-Forum, Delphi-Library FORCEDIRECTORIES an, damit sollte sich was machen lassen. :idea: :les: ;)

cu
Narses


chickenfigt1989 - Mo 31.01.11 00:29

Danke soweit bin ich schon gekommen habe aber bei folgendes Probleme:


Delphi-Quelltext
1:
2:
3:
if not DirectoryExists('ExtractFilePath(ParamStr(0)) + Edit1.text'then
begin
ForceDirectories('ExtractFilePath(ParamStr(0)) + Edit1.text');


Ist das Schwachsinn was ich hier gemacht habe oder nicht?
lg


Narses - Mo 31.01.11 00:33

Moin!

user profile iconchickenfigt1989 hat folgendes geschrieben Zum zitierten Posting springen:

Delphi-Quelltext
1:
if not DirectoryExists('ExtractFilePath(ParamStr(0)) + Edit1.text'then                    
Ist das Schwachsinn was ich hier gemacht habe oder nicht?
Du prüfst hier, ob es einen Ordner mit Namen "'ExtractFilePath(ParamStr(0)) + Edit1.text" gibt. :idea: Das wird sicher nicht das sein, was du willst, also mal besser die Hochkommata weglassen. ;)

cu
Narses


Delete - Mo 31.01.11 00:33

1. "'" muss nach ExtractFilePath.


chickenfigt1989 - Mo 31.01.11 00:36

Oke anderes Problem

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
S := (ExtractFilePath(ParamStr(0)) + Edit1.text);

  If CreateDir(S) then
    begin
      S := S + '\cstrike';

      If CreateDir(S) then
        begin
          S := S + 'addons';

          If CreateDir(S) then
            begin
              S := S +'lader';

              If CreateDir(S) then
                begin
                  S := S + 'was';
                end;
            end;
        end;


Das hier sieht schonmal für mich sehr gut aus.
Allerdings werden in den Ordner den ich erstellt hab folgende Ordner erstellt.
cstrike in diesen Ordner befindet sich
cstrike
cstrikeaddons
cstrikeaddonsladder
Alerdings will ich das die Ordner nur Addons, Ladder, heißen.
mfg


Bergmann89 - Mo 31.01.11 01:09

Hey,

warum benutzt du nich ForceDirectories, wie Narses es oben schon geschrieben hat?! Das erstellt die Unterordner automatisch, das musst du nich alles selber machen:

Delphi-Quelltext
1:
ForceDirectories(ExtractFilePath(ParamStr(0)) + Edit1.text + '\cstrike\addons\lader\was');                    


Und wenn du an den String immer nur den Ordnernamen hängst, und ihn nicht durch ein \ trennst, dann ist klar, das er dir die ganzen Ordner in dem cstrike Ordner erstellt ;)

MfG Bergmann.


chickenfigt1989 - Mo 31.01.11 01:12

Wenn ich die Strings durch \ trenne wird es zwar so gemacht wie ich will,
allerdings die Ordnernamen passen nicht wie auf den Bild zu sehen.

mfg


bummi - Mo 31.01.11 01:19


Delphi-Quelltext
1:
2:
3:
bd := IncludeTrailingBackSlash(ExtractFilePath(ParamStr(0)) + Edit1.text);
ForceDirectories(bd  +  'addons');
ForceDirectories(bd  +  'ladder');


chickenfigt1989 - Mo 31.01.11 01:35

Vielen Dank
Habs hinbekommen

mfg