![]() |
beim speichern gibts ne komische Meldung
Hi Leute!
Ich hab hier ne kleine Procedure entwickelt um ein Parra Daten in ne Textdatei zu speichern. Leider gibt er mir beim Auruf folgende Fehlermeldung: "Project Project1.exxe raised exception class EInOutError with massage 'I/O error 103'. Process stopped." Was bedeutet dieser Fehler und wie kann ich ihn beheben? Die Procedure:
Delphi-Quellcode:
Danke schonmalim voraus!
procedure speichern_text(savedialog1:Tsavedialog;sd_hoehe,sd_laenge:array of integer;sd_takt,sd_v,sd_ende:integer);
var sd_schnitt:Textfile; sd:integer; begin saveDialog1.execute; assignfile(sd_schnitt,savedialog1.filename); writeln(sd_schnitt,sd_takt); writeln(sd_schnitt,inttostr(sd_v)); writeln(sd_schnitt,inttostr(sd_ende)); for sd:=0 to (sd_ende -1) do writeln(sd_schnitt,inttostr(sd_hoehe[sd])+ inttostr(sd_laenge[sd])); closefile(sd_schnitt) end; MfG Anna |
Re: beim speichern gibts ne komische Meldung
Zitat:
Hallo,
Delphi-Quellcode:
rewrite(sd_schnitte); //bzw. append(sd_schnitte)..nach Assignfile..einfuegen
|
Re: beim speichern gibts ne komische Meldung
Du hast
Delphi-Quellcode:
bzw.
rewrite(sd_schnitt);
Delphi-Quellcode:
vergessen :zwinker:
reset(sd_schnitt);
|
Re: beim speichern gibts ne komische Meldung
Hi,
Du musst nach AssignFile noch Rewrite oder Reset aufrufen. Wichtig ist es noch, dass Du
Delphi-Quellcode:
schreibst. Denn bricht der Benutzer den Dialog ab, wird Dein Code trotzdem ausgeführt.
if SaveDialog1.Execute then
Außerdem würde ich TSaveDialog in der procedure erzeugen und nicht als Parameter übergeben. |
Re: beim speichern gibts ne komische Meldung
Morgen,
hat zwar nix mit dem eigentlichen Problem zu tun, aber:
Delphi-Quellcode:
Warum? Weil die Datei sonst auch gespeichert wird, wenn man im Save-Dialog auf "Abbrechen" geklickt hat. Unschön.
procedure speichern_text(savedialog1:Tsavedialog;sd_hoehe,sd_laenge:array of integer;sd_takt,sd_v,sd_ende:integer);
var sd_schnitt:Textfile; sd:integer; begin if saveDialog1.execute then begin assignfile(sd_schnitt,savedialog1.filename); ... Und zu der unerklärten, aber richtigen Antwort von dem Kaktus: Mit AssignFile ordnest Du nur der File-Variable einen Dateinamen zu, die Datei wird damit noch nicht geöffnet. Das macht erst Rewrite oder Reset. Dann kannst Du darauf schreiben bzw. davon lesen. Gruß, Michael |
Re: beim speichern gibts ne komische Meldung
Danke!
Also ich hab ne Datei erstellt, und diese wieder gespeichert. Da fällt mir auf das er an zwei Stellen der Wert um 1 erhöht hat!? |
Re: beim speichern gibts ne komische Meldung
Zitat:
|
Re: beim speichern gibts ne komische Meldung
5. und letzte Zeile
|
Re: beim speichern gibts ne komische Meldung
ich nehms zurück... hab den Fehler gefunden (lag im restlichen Programm) srry... aber denake für die Hilfe! wünsch euch noch nen schönen Tag!
|
Re: beim speichern gibts ne komische Meldung
Sorry, ich kann Dir nicht ganz folgen.
Wenn Du die Zeilenangabe auf den Code oben beziehst, dann ist die 5. Zeile ein Begin und die letzte Zeile ein End. Du musst schon etwas genauer beschreiben. :zwinker: [edit]Jetzt editierst Du das vor meiner Nase weg :stupid: [/edit] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:21 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz