Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Probleme mit Pfaden (https://www.delphipraxis.net/112692-probleme-mit-pfaden.html)

peacekeaper 25. Apr 2008 13:03


Probleme mit Pfaden
 
moin!
ok der letzte post war ein wenig konfus ^^

zur zeit speichert mein programm mit hilfe von
ExtractFilePath(Application.ExeName)
die datei in dem ordner in dem sich die exe befindet.

zur besseren übersicht würd ich aber gerne
zum einen, einen neuen ordner erstellen (kenne auch die function
forcedirectoy() verstehe jedoch nicht ganz wie sie funktioniert)

zum anderen, soll dieser ordner natürlich in dem ordner in der die exe liegt
enthalten sein.

der pfad heißt jetzt:
C:/Programme/Tagebuch/

ich würde aber gerne:
C:/Programme/Tagebuch/Gespeicherte Dateien

und da ich das ganze ja auch an anderen PCs verwenden möchte
muss sich das ganze variabel gestalten.

ich fasse nur kurz zusammen:
1) wie erstelle ich mit forcedirectory im ordner in dem die exe liegt einen neuen ordner,
oder brauche ich eine andere function!?
2) wie schaffe ich es dateien darin zu speichern?!


schonmal danke und bis dann ;)
mfg markus

s-off 25. Apr 2008 13:07

Re: Probleme mit Pfaden
 
Hallo,

erstmal heißt diese Funktion ForceDirectories()
Zweitens gibt es zu dieser Funktion einen Eintrag in der Delphi Hilfe.
Drittens solltest Du Dein Vorgehen hinsichtlich der eingeschränkten Rechte unter Vista nochmal überdenken.

Klaus01 25. Apr 2008 13:10

Re: Probleme mit Pfaden
 
zu 1.
Delphi-Quellcode:
  ForceDirectories(ExtractFilePath(ParamStr(0))+'Dein neues Verzeichnis');
zu 2.
Genauso wie Du die Daten in das aktulle Verzeichnis speicherst geht es
mit dem neuen Verzeichnis, Du musst es nur angeben.

3. solltest Du UserDaten nicht im ProgrammVerzeichnis oder darunter gespeichern.


Zitat:

Zitat von DelphiHilfe
function ForceDirectories(const Dir: string): Boolean;

Description

ForceDirectories creates a new directory as specified in Dir, which must be a fully-qualified path name. If the directories given in the path do not yet exist, ForceDirectories attempts to create them.

ForceDirectories returns True if it successfully creates all necessary directories, False if it could not create a needed directory.

Grüße
Klaus

DeddyH 25. Apr 2008 13:11

Re: Probleme mit Pfaden
 
Unter Vista wirst Du evtl. Probleme bekommen, aber versuch es mal so:
Delphi-Quellcode:
//Pfad zusammenbasteln
sPath := IncludeTrailingPathDelimiter(ExtractFilePath(ParamStr(0))) + 'Gespeicherte Daten';
//ggf. anlegen
if not DirectoryExists(sPath) then
  ForceDirectories(sPath);
//da ForceDirectories eine Prozedur und keine Funktion ist, prüfen
if DirectoryExists(sPath) then
  Memo1.Lines.SaveToFile(IncludeTrailingPathDelimiter(sPath) + 'Daten.txt')
else
  MessageBox(Handle,'Speicherpfad konnte nicht angelegt werden','Fehler',MB_OK or MB_ICONERROR);
[edit] Viel zu langsam :cry: [/edit]

Hansa 25. Apr 2008 13:16

Re: Probleme mit Pfaden
 
Und viertens meint er den Thread hier :

http://www.delphipraxis.net/internal...340&highlight=

Den hat er selber im Regen stehen lassen wegen eigener Antwort-Faulheit. :shock: Wenn das identische 2. Thema hier eine längere Lebensdauer hat, als der erste Thread : es wird offensichtlich keine Problemlösungsstrategie gesucht, sondern ein Silbertablett mit vollständiger Lösung und entsprechender Glaskugel. :mrgreen:

s-off 25. Apr 2008 13:17

Re: Probleme mit Pfaden
 
Zitat:

Zitat von DeddyH
[...]
//da ForceDirectories eine Prozedur und keine Funktion ist, prüfen
[...]

Ich widerspreche Dir nur ungerne, aber
Zitat:

ForceDirectories gibt den Wert true zurück, wenn es alle notwendigen Verzeichnisse erstellt hat, False, wenn das Verzeichnis nicht erstellt werden konnte.
:zwinker:

DeddyH 25. Apr 2008 13:29

Re: Probleme mit Pfaden
 
:oops: hätte doch mal in die Hilfe schauen sollen.

SirThornberry 25. Apr 2008 13:32

Re: Probleme mit Pfaden
 
Zitat:

Zitat von s-off
Hallo,

erstmal heißt diese Funktion ForceDirectories()
Zweitens gibt es zu dieser Funktion einen Eintrag in der Delphi Hilfe.
Drittens solltest Du Dein Vorgehen hinsichtlich der eingeschränkten Rechte unter Vista nochmal überdenken.

Viertens sollte er sein Vorgehen auch hinsichtilich der eingeschränkten Rechte under NT, XP, Windows 2000 etc. überdenken

peacekeaper 25. Apr 2008 14:09

Re: Probleme mit Pfaden
 
ja ich danke dir klaus01 ;)
ich glaub damit komme ich weiter

ahja ich hab kein vista ^^
aber was meint ihr mit eingeschrenkten rechten?!
heißt der rechner könnte das speichern verweigern?!

und zu dem silbertablett...
ich hab von speichern nunmal keine ahnung
und das mit dem
Zitat:

ForceDirectories gibt den Wert true zurück, wenn es alle notwendigen Verzeichnisse erstellt hat, False, wenn das Verzeichnis nicht erstellt werden konnte.
hat mich völlig planlos gemacht...

also mit
Delphi-Quellcode:
ForceDirectories(ExtractFilePath(ParamStr(0))+'Dein neues Verzeichnis');
erstelle ich den ordner...
aber das problem was ich habe ist, dass ich nicht weiß wie ich jetzt etwas darin
speichern kann!
ich kann ja nicht einfach einen pfad angeben oder doch?! weil das ganze ja immernoch
von dem pfad der exe abhängig ist und ich ja nicht jedes mal wenn ich speichern will einen
neuen ordner erstellen will

Klaus01 25. Apr 2008 14:14

Re: Probleme mit Pfaden
 
.. aber wenn Du einen Ordner estellt hast, kennst Du dessen Name.
Dann sollte es auch kein Problem sein diesen beim Speichern zu nutzen.

Grüße
Klaus

Luckie 25. Apr 2008 14:16

Re: Probleme mit Pfaden
 
Wie Hansa richtig bemerkt hat hast du heute schon mal ein Thread zum Thema angefangen. Wo machen wir denn jetzt weiter? :roll:

Auch wenn du kein Vista hast, haben unter Windows 2000 und XP nur Administratoren Schreibrechte im Programmverzeichnis von Windows. Hinzukommt, dass sich die Benutzer gegenseitig ihre Daten überschreiben bzw. Zugriff auf die Daten der anderen haben. Solche Dateen gehören entweder in das Verzeichnis "Eigen Dateien" oder in den Ordner für Anwendungsdaten des jeweiligen Benutzers.

peacekeaper 25. Apr 2008 14:18

Re: Probleme mit Pfaden
 
ok da stand ich wohl aufm schlauch ^^

ahja was ich noch fragen wollte:
Delphi-Quellcode:
//Pfad zusammenbasteln
sPath := IncludeTrailingPathDelimiter(ExtractFilePath(ParamStr(0))) + 'Gespeicherte Daten';
//ggf. anlegen
if not DirectoryExists(sPath) then
  ForceDirectories(sPath);
//da ForceDirectories eine Prozedur und keine Funktion ist, prüfen
if DirectoryExists(sPath) then
  Memo1.Lines.SaveToFile(IncludeTrailingPathDelimiter(sPath) + 'Daten.txt')
else
  MessageBox(Handle,'Speicherpfad konnte nicht angelegt werden','Fehler',MB_OK or MB_ICONERROR);
funzt iwie net...mein delphi kann mit:
IncludeTrailingPathDelimiter
DirectoryExists

nichts anfangen... -.-''


ok dann hab ich damit aber keine probleme...sind einfache txt dateien die gespeichert werden sollen


EDIT:
ja mit dem anderen thread...ich war wohl einfach zu müde gestern...
und den karren ausm dreck zu ziehen schien mir zu schwierig...
würd ihn auch löschen aber das kann man als normaler user nicht oder?!
mi scusi hansa :roll:

Luckie 25. Apr 2008 14:23

Re: Probleme mit Pfaden
 
[quote="peacekeaper"]funzt iwie net...mein delphi kann mit:[quote]
Muss schon schwer sein sich mal etwas Mühe zu geben und sich die Zeit zunehmen, die paar Sätze gescheit zu formulieren. Du erwartest ja schliesslich auch von uns, dass wir uns Mühe geben und die zeit nehmen, dir verständliche Antworten zu geben.

Zitat:

IncludeTrailingPathDelimiter
DirectoryExists

nichts anfangen... -.-''
Unit SysUtils eingebunden?

peacekeaper 25. Apr 2008 14:25

Re: Probleme mit Pfaden
 
ok dann geb ich mir jetzt mehr mühe, tut mir leid!

ja ist in sysUtils eingebunden
hab mal unter der delphi hilfe gesucht und auch
da finde ich nichts dazu...
gibts die befehle viellt erst ab einer bestimmten delphi version?! ^^

EDIT:
habe delphi 5, da 6 nur zu seltsamen fehlern bei mir führte -.-

Fussball-Robby 25. Apr 2008 14:32

Re: Probleme mit Pfaden
 
DirectoryExists ist in der Unit FileCtrl & IncludeTrailingPathDelimiter ist bei Delphi 5 imho nicht dabei (bei meinem jedenfalls nicht).

Mfg

peacekeaper 25. Apr 2008 14:39

Re: Probleme mit Pfaden
 
ok ich weiß zwar nicht
warum durch das hinzufügen von FileCtrl in uses
auch die anderen fehler verschwunden sind ^^
aber jetzt funktionierts!!!

ich danke euch!

PS: schreibe ein programm zur verwaltung von sanitätsdiensten
wenn es jmd interessiert kann ich gerne die exe hochladen ;)

Jens Schumann 25. Apr 2008 15:28

Re: Probleme mit Pfaden
 
Hallo,
unter D5 heißt es IncludeTrailingBackSlash

peacekeaper 26. Apr 2008 13:01

Re: Probleme mit Pfaden
 
@ jens
ja danke, obgleich ich das schon durch die delphi hilfe
rausgefunden hatte ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:04 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz