AGB  ·  Datenschutz  ·  Impressum  







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

Fehler beim speichern einer ListBox

Ein Thema von Tim.exe · begonnen am 28. Aug 2003 · letzter Beitrag vom 2. Sep 2003
Antwort Antwort
Seite 1 von 2  1 2      
Tim.exe

Registriert seit: 29. Apr 2003
186 Beiträge
 
#1

Fehler beim speichern einer ListBox

  Alt 28. Aug 2003, 10:02
Hallo, bei folgendem Code bekomme ich manchmal eine Fehlermeldung, wie gesagt nur manchmal, meistens funktioniert es aber. Jetzt ist die Frage warum nicht immer???

Delphi-Quellcode:
Try
ListBox1.Items.SaveToFile(ExtractFilepath(Application.Exename)+'Test\Test'+' '+Datum.Caption +' Uhr.txt');
Except
MKDir(ExtractFilepath(Application.Exename)+'Test');
ListBox1.Items.SaveToFile(ExtractFilepath(Application.Exename)+'Test\Test'+' '+Datum.Caption +' Uhr.txt');
end;
end;
Da Windows ja einen Fehler anzeigt wenn man versucht in einem Dateinamen mit Doppelpunkt zu arbeiten ist Datum.Caption ein formatiertes Label
(Format: d. mmmm yyyy hh.mm.ss)
!!! Sigs stinken !!!
  Mit Zitat antworten Zitat
axelf98

Registriert seit: 27. Aug 2003
Ort: Ennepetal
440 Beiträge
 
Delphi 2005 Personal
 
#2

Re: Fehler beim speichern einer ListBox

  Alt 28. Aug 2003, 10:49
Hmm.. Versuch mal die Datumswerte rauszunehmen. Wenn dann kein Fehler mehr auftritt, liegts daran. Dateinamen dürfen nämlich keine Doppelpunkte haben.
Wenn es aber trotzdem eine Zeit sein soll, musst du wohl die Doppelpunkte entfernen.
  Mit Zitat antworten Zitat
Benutzerbild von Memo
Memo

Registriert seit: 19. Aug 2003
509 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Fehler beim speichern einer ListBox

  Alt 28. Aug 2003, 10:58
Zitat von axelf98:
Versuch mal die Datumswerte rauszunehmen. Wenn dann kein Fehler mehr auftritt, liegts daran. Dateinamen dürfen nämlich keine Doppelpunkte haben.
Wenn es aber trotzdem eine Zeit sein soll, musst du wohl die Doppelpunkte entfernen.
Hab ich mich jetzt verlesen oder du? Wenn ich richtig verstanden habe, hat er das mit den Doppelpunkten schon erkannt.

@Tim.exe Kannst du uns auch sagen, welche Fehlermeldung kommt?
Hast du mal in der Hilfe unter SavetoFile nachgelesen? Da steht was zur Fehlerbehandlung.
  Mit Zitat antworten Zitat
Tim.exe

Registriert seit: 29. Apr 2003
186 Beiträge
 
#4

Re: Fehler beim speichern einer ListBox

  Alt 28. Aug 2003, 11:04
Hallo,

in Datum.Caption ist kein Doppelpunkt, Datum.Caption sieht zur Laufzeit etwa so aus:

28. August 2003 12.00.33

Ha, jetzt hab ich es wieder probiert und es kommt kein Fehler. Der wird aber bestimmt wieder kommen. Die Fehlermeldung lautet etwa so:


"Datei Test 28. August 2003 12.00.33.txt kann nicht erstellt werden."
!!! Sigs stinken !!!
  Mit Zitat antworten Zitat
Benutzerbild von Memo
Memo

Registriert seit: 19. Aug 2003
509 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Fehler beim speichern einer ListBox

  Alt 28. Aug 2003, 11:13
Zitat von Tim.exe:
"Datei Test 28. August 2003 12.00.33.txt kann nicht erstellt werden."
Weil evt. das Verzeichnis nicht existiert!? Schau in die Hilfe zur Fehlerbehandlung von SaveToFile.
  Mit Zitat antworten Zitat
Tim.exe

Registriert seit: 29. Apr 2003
186 Beiträge
 
#6

Re: Fehler beim speichern einer ListBox

  Alt 28. Aug 2003, 13:09
Hmm irgendwie finde ich dazu nichts passendes...
!!! Sigs stinken !!!
  Mit Zitat antworten Zitat
Benutzerbild von Memo
Memo

Registriert seit: 19. Aug 2003
509 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Fehler beim speichern einer ListBox

  Alt 28. Aug 2003, 13:45
Also nochmal. Im Try-Teil versuchst du eine Datei anzulegen. Geht das nicht, denkst du durch except das Verzeichnis anzulegen.
FALSCH GEDACHT.
Es kommt nur dann keine Fehlermeldung wenn im Try-Teil die Datei erstellt werden kann.
Als ich schrieb du sollst in die Hilfe schauen, meinte ich
Zitat:
MkDir legt ein neues Unterverzeichnis an.

Unit

System

Kategorie

Ein-/Ausgabe

procedure MkDir(S: string);

Beschreibung

MkDir legt in dem mit S angegebenen Pfad ein neues Unterverzeichnis an. Das letzte Element der Pfadangabe darf kein Name einer vorhandenen Datei sein.

Hinweis

Mit dem Compiler-Schalter {$I+} können Laufzeitfehler durch Exceptions behandelt werden. Wird {$I-} verwendet, muß explizit mit IOResult auf E/A-Fehler geprüft werden.
Sorry, mein Fehler.
Also anders rum. Erst Verzeichnis prüfen, dann Datei anlegen.
  Mit Zitat antworten Zitat
Tim.exe

Registriert seit: 29. Apr 2003
186 Beiträge
 
#8

Re: Fehler beim speichern einer ListBox

  Alt 28. Aug 2003, 14:18
OK, vielen Dank.

Jetzt frag ich mich nur noch warum die Datei manchmal einwandfrei gespeichert wurde (mit obigem Code) und manchmal nicht...
!!! Sigs stinken !!!
  Mit Zitat antworten Zitat
Benutzerbild von Memo
Memo

Registriert seit: 19. Aug 2003
509 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Fehler beim speichern einer ListBox

  Alt 28. Aug 2003, 14:34
Zitat von Tim.exe:
Jetzt frag ich mich nur noch warum die Datei manchmal einwandfrei gespeichert wurde (mit obigem Code) und manchmal nicht...
Weil das Verzeichnis manchmal Vorhanden ist manchmal nicht?!!?
  Mit Zitat antworten Zitat
Brüggendiek

Registriert seit: 13. Dez 2002
Ort: Dortmund
275 Beiträge
 
Delphi 5 Standard
 
#10

Re: Fehler beim speichern einer ListBox

  Alt 29. Aug 2003, 01:52
Hallo Tim!

Zunächst ist es schlechter Stil, zu Speichern und dann beim Fehler das Dir anzulegen. Außerdem muß dann der Speichern-Aufruf doppelt vorhanden sein und ggf. auch doppelt geändert werden.

Lege das Dir doch einfach mit "ForceDirectories" an - das klappt immer und legt komplette Pfade an, während Mkdir nur ein Dir in einem bestehenden erzeugt.

Daß die Fehlermeldung "manchmal" kommt, kann auch daran liegen, daß Du Dein Programm mal in der IDE und mal außerhalb gestartet hast. Normalerweise stoppt das Programm in der IDE nämlich bei Exceptions, auch wenn diese mit TRY abgefangen sind (kann man in Projekt - Optionen einstellen!), außerhalb der IDE wird dagegen die Exception abgefangen und der EXCEPT-Teil kommentarlos durchlaufen

Gruß

Dietmar Brüggendiek
Dietmar Brüggendiek
  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:23 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