AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme mit ForceDirectories

Ein Thema von gangs-taas · begonnen am 5. Aug 2009 · letzter Beitrag vom 7. Aug 2009
Antwort Antwort
Seite 1 von 2  1 2      
gangs-taas

Registriert seit: 24. Mär 2009
364 Beiträge
 
#1

Probleme mit ForceDirectories

  Alt 5. Aug 2009, 13:03
Hey,
ich habe diesen Code
Delphi-Quellcode:
if not (DirectoryExists(Pfad)) then
    begin
      ForceDirectories(Pfad);
      Dokument.Add(Text);
      Dokument.SaveToFile(DokumentenOrt);
    end
  Else
    begin
      If not FileExists(DokumentenOrt) Then
      begin
        Dokument.Add(Text);
        Dokument.SaveToFile(DokumentenOrt);
      end;
und mein Pfad besteht nur zur hälfte ....

also Pfad := C:\Users\Christopher\AppData\Roaming\Kalender\2008 \
und das hier ist schon vorhanden C:\Users\Christopher\AppData\Roaming\Kalender

wieso erstellt mir der Befehl ForceDirectories(Pfad); denn nun nicht meinen Ordner '2008' ???

ich fliege nämlich dann später raus mit der fehlermeldung 'der Pfad ist nicht vorhanden'

und das Programm erkennt 'pfad' aber auch nicht als nicht vorhanden ..

wieso denkt das programm der pfad sei vorhanden ? nur weil der erste teil schon da ist ?1
  Mit Zitat antworten Zitat
Vasco da Gama

Registriert seit: 2. Aug 2009
131 Beiträge
 
Delphi 2009 Professional
 
#2

Re: Probleme mit ForceDirectories

  Alt 5. Aug 2009, 13:06
Vielleicht hast du dort keine Schreibrechte? Teste das mal mit dem Dokumenteordner.
Flo
Programmiere inzwischen hauptsächlich mit C++. Nicht böse werden
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Probleme mit ForceDirectories

  Alt 5. Aug 2009, 13:07
Zitat von gangs-taas:
wieso erstellt mir der Befehl ForceDirectories(Pfad); denn nun nicht meinen Ordner '2008' ???
Keine Ahnung. Aber ich werde mal meine mentalen Debugger Fähigkeiten einsetzen: ommmmmmmm

Die Variable Pfad enthält nicht das Jahr.

Desweiteren wäre es chön, wenn du vor dem Posten schon mal selber gucken würde, wo der fehler sein könnte, in dem du deinen Code mal debuggst.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#4

Re: Probleme mit ForceDirectories

  Alt 5. Aug 2009, 13:10
und laß mal das \ aus dem Pfad
ok, daß ExcludeTrailingPathDelimiter sollte dieses Problem beheben
$2B or not $2B
  Mit Zitat antworten Zitat
gangs-taas

Registriert seit: 24. Mär 2009
364 Beiträge
 
#5

Re: Probleme mit ForceDirectories

  Alt 5. Aug 2009, 13:11
denkst du allen ernstes ich hatte das nicht gemacht ?!


Die Variable Pfad enthält nicht das Jahr.

doch enthält sie !!


woher willst du wissen das sie das nicht tut ?

also ich denk manchmal ihr haltet mich für blöd


also das war auf luckie bezogen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#6

Re: Probleme mit ForceDirectories

  Alt 5. Aug 2009, 13:14
PS: ForceDirectories liefert dir einen netten Rückgabewert, ala Boolean

z.B.:
Delphi-Quellcode:
If ForceDirectories(Path) Then Begin
  Dokument.Add(Text);
  Dokument.SaveToFile(DokumentenOrt);
End Else ShowMessage(SysErrorMessage(GetLastError));
[add]
und wozu zwei getrennte Pfade?
das sind nur unnötige Fehlerquellen
ForceDirectories(ExctractFilePath(DokumentenOrt));
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#7

Re: Probleme mit ForceDirectories

  Alt 5. Aug 2009, 13:14
Ich würde den Code etwas erweitern:
Delphi-Quellcode:
if not (DirectoryExists(Pfad)) then
    begin
      if SysUtils.ForceDirectories(Pfad) then
        begin
          Dokument.Add(Text);
          Dokument.SaveToFile(DokumentenOrt);
        end
      else
        MessageBox(0,PChar(Format('Fehler beim Anlegen des Verzeichnisses "%s"',[Pfad])),'Oops',MB_OK or MB_ICONERROR);
    end
else
  ...
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
gangs-taas

Registriert seit: 24. Mär 2009
364 Beiträge
 
#8

Re: Probleme mit ForceDirectories

  Alt 5. Aug 2009, 13:18
Zitat von DeddyH:
Ich würde den Code etwas erweitern:
Delphi-Quellcode:
if not (DirectoryExists(Pfad)) then
    begin
      if SysUtils.ForceDirectories(Pfad) then
        begin
          Dokument.Add(Text);
          Dokument.SaveToFile(DokumentenOrt);
        end
      else
        MessageBox(0,PChar(Format('Fehler beim Anlegen des Verzeichnisses "%s"',[Pfad])),'Oops',MB_OK or MB_ICONERROR);
    end
else
  ...

bringt nichts
ich bekomme KEINE MsgBox und bekomme hier


Delphi-Quellcode:
   begin
      if SysUtils.ForceDirectories(Pfad) then
        begin
          Dokument.Add(Text);
          Dokument.SaveToFile(DokumentenOrt);
        end
      else
        MessageBox(0,PChar(Format('Fehler beim Anlegen des Verzeichnisses "%s"',[Pfad])),'Oops',MB_OK or MB_ICONERROR);
    end
else
    begin
      If not FileExists(DokumentenOrt) Then
      begin
        Dokument.Add(Text);
        Dokument.SaveToFile(DokumentenOrt); // hier !!
      end;
die fehlermeldung "Pfad ist nicht vorhanden"

also erkennt er IMMERNOCH NICTH, dass er deb Pfad anlegen soll ...
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Probleme mit ForceDirectories

  Alt 5. Aug 2009, 13:21
Zitat von gangs-taas:
denkst du allen ernstes ich hatte das nicht gemacht ?!
Und ich habe das Gefühl, du denkst wir sitzen hier neben dir an deinem Computer? Woher sollen wir wissen, was du getan hast um den Fehler zu finden? Wir sehen nur den Code, der syntaktisch korrekt ist, und den Hinweis "geht nicht". Was sollen wir da machen?


Zitat:
Die Variable Pfad enthält nicht das Jahr.

doch enthält sie !!


woher willst du wissen das sie das nicht tut ?
Weil der Ordner nicht erstellt wurde und dies ein plausibeler Grund wäre?

Zitat:
also ich denk manchmal ihr haltet mich für blöd
Und ich habe das Gefühl, du denkst wir sitzen hier neben dir an deinem Computer? Woher sollen wir wissen, was du getan hast um den Fehler zu finden? Wir sehen nur den Code, der syntaktisch korrekt ist, und den Hinweis "geht nicht". Was sollen wir da machen? Zumal due keinerlei Fehlerbehandlung im Code hast, die dir helfen könnte den Fehler zu finden.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#10

Re: Probleme mit ForceDirectories

  Alt 5. Aug 2009, 13:22
wenn ForceDirectories True liefert (also keine MessageBox anzeigt), dann ist es der Meinung es gibt den Pfad, welchen du ihm gibst ... demnach wäre der von dir übergebene Pfad fehlerhaft.

und was sagt meine Version?
$2B or not $2B
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:07 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