AGB  ·  Datenschutz  ·  Impressum  







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

Abfrage: Kann Datei gespeichert werden?

Ein Thema von ferby · begonnen am 20. Feb 2006 · letzter Beitrag vom 21. Feb 2006
Antwort Antwort
ferby

Registriert seit: 15. Aug 2004
Ort: Wien
841 Beiträge
 
Delphi 2010 Enterprise
 
#1

Abfrage: Kann Datei gespeichert werden?

  Alt 20. Feb 2006, 18:44
Hallo,

Ich verwende einen SaveDialog, damit der Anwender einen Ordner und einen Dateinamen zum speichern auswählen kann.
Ich möchte jetzt abfragen ob die Datei dort wirklich abgespeichert werden kann.
Mir fallen drei Fälle ein, wo es sein kann das die Datei nicht gespeichert werden kann:
.) zu wenig Speicherplatz
.) auf einer Cd
.) zu wenig Rechte

Wie kann ich Abfragen ob auf den ausgewählten Pfad wirklich etwas abgespeichert werden kann?


Ferby
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Abfrage: Kann Datei gespeichert werden?

  Alt 20. Feb 2006, 19:01
1: Freine Speicherplatz abfragen
2: Laufwerkstyp abfragen
3: Rechte abfragen: http://www.michael-puff.de/Developer...ileAccess.html

Zu den ersten beiden Punkten solltest du genug in der DP finden.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Abfrage: Kann Datei gespeichert werden?

  Alt 20. Feb 2006, 19:04
Evtl. müsstest du auch überprüfen, falls du eine Datei überschreiben möchtest, ob diese von einem anderen Programm exklusiv geöffnet ist. Dazu müsste auch etwas im Forum zu finden sein.
  Mit Zitat antworten Zitat
ferby

Registriert seit: 15. Aug 2004
Ort: Wien
841 Beiträge
 
Delphi 2010 Enterprise
 
#4

Re: Abfrage: Kann Datei gespeichert werden?

  Alt 20. Feb 2006, 19:22
Hallo,

ist an dieser Variante etwas aus zu setzen?
Ist viel einfacher:

Delphi-Quellcode:
  try
     AssignFile(f, ed_output_url.text);
     ReWrite(f);
     CloseFile(f);
  except
     close;
  end;
Wenn ich den Fehler im Delphi-Editor auslöse dann kommt eine Fehlermeldung,
rufe ich die fertige Exe Datei auf und löse den Fehler aus dann schließt sich das Programm ohne Fehlermeldung,
warum?
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Abfrage: Kann Datei gespeichert werden?

  Alt 20. Feb 2006, 20:19
Zitat von ferby:
Wenn ich den Fehler im Delphi-Editor auslöse dann kommt eine Fehlermeldung,
rufe ich die fertige Exe Datei auf und löse den Fehler aus dann schließt sich das Programm ohne Fehlermeldung, warum?
Da der Delphi-Debugger standardmäßig bei Sprachexceptions stoppt, was du aber deaktivieren kannst: Tools - Debugger Optionen - Sprach-Exceptions - Bei Delphi Exceptions stoppen (Haken weg)
  Mit Zitat antworten Zitat
ferby

Registriert seit: 15. Aug 2004
Ort: Wien
841 Beiträge
 
Delphi 2010 Enterprise
 
#6

Re: Abfrage: Kann Datei gespeichert werden?

  Alt 21. Feb 2006, 06:18
Hallo,

Danke für die raschen Antwort,
und gegen die Variante ansich um herauszufinden ob eine Datei angelegt werden kann oder nicht, ist daran etwas auszusetzen???
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Abfrage: Kann Datei gespeichert werden?

  Alt 21. Feb 2006, 06:46
Nun ja, es ist wie blind über die Ampel zu fahren, um rauszufinden, ob rot ist und wenn es kracht dann war es rot. Aber ich würde mir nicht so viel Mühe machen. Ich würde einfach den Rückgabewert der Methode SaveToFile oder wie auch immer du abspeicherst auswerten und eine entsprechende Fehlermeldung ausgeben:

Delphi-Quellcode:
AssigneFile(F, 'C:\foo\bar.txt');
{$I-}
Rewrite(F)
{$I+}
if IOResult = 0 then
begin
  Writeln(...);
end
else
  ShowMessage(SysErrorMessage(GetLastError));
Wenn es keinen Rückgabewert gibt und die Methode doch eine Exception auslöst, dann würde das so aussehen:
Delphi-Quellcode:
  StringList := TStringList.Create;
try
  try
    StringList.SaveToFile(...);
  except
    on E: Exception do ShowMessage(E.Message);
  end;
finally
  FreeAndNil(StringList);
end;
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort


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 10: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