![]() |
Fehler bei REWRITE
Delphi-Quellcode:
Fehlermeldung: ElnOutError I/0 error 32
if fileexists('Eintrage.txt') then
begin assignfile(datei2,'Eintrage.txt'); reset(datei2); readln(datei2,hilf); if hilf <> '' then begin reset(datei2); append(datei2); writeln(datei2,edit1.text+' '+edit2.text); end else begin rewrite(datei2); <-- Hier Fehlermeldung writeln(datei2,edit1.text+' '+edit2.text); end; closefile(datei2); end else begin assignfile(datei2,'Eintrage.txt'); rewrite(datei2); writeln(datei2,edit1.text+' '+edit2.text); closefile(datei2); end; end; Folgende Variablen wurden in der Procedur deklariert:
Delphi-Quellcode:
Keine Variablen wurden global deklariert.
var
datei2: textfile; hilf: string; Die Datei existiert. Sie ist aber leer. Deshalb habe ich mit der IF-Abfrage geprüft, ob sie leer ist, da der Befehl append bei leeren Dateien nicht funktioniert (meiner Meinung nach). Nun soll mit rewrite und writeln etwas in die Datei geschrieben werden. ICH HABE AUCH DIE SUCHMASCHINE BENUTZT, habe aber nichts gefunden, was mir weiterhelfen konnte. |
Re: Fehler bei REWRITE
Hai Chrissi91,
ich habe deinen Code mal so formatiert das man die IF-ELSE die zusammen gehören auch erkennen kann ;-) Was ich nicht verstehe: Was möchtest Du denn machen? Wenn etwas in der Datei steht möchtest Du sie erzeugen und dann etwas rein schreiben. Wenn aber schon etwas in der Datei steht möchtest Du noch etwas anhängen?
Delphi-Quellcode:
Darum mag ich keine end-else in einer Zeile *g*
procedure TForm1.btn_TestClick(Sender: TObject);
var datei2: textfile; hilf: string; begin if fileexists('Eintrage.txt') then begin assignfile(datei2, 'Eintrage.txt'); reset(datei2); readln(datei2, hilf); if hilf <> '' then begin reset(datei2); append(datei2); writeln(datei2, edit1.Text + ' ' + edit2.Text); end else begin rewrite(datei2);// <-- Hier Fehlermeldung writeln(datei2, edit1.Text + ' ' + edit2.Text); end; closefile(datei2); end else begin assignfile(datei2, 'Eintrage.txt'); rewrite(datei2); writeln(datei2, edit1.Text + ' ' + edit2.Text); closefile(datei2); end; end; |
Re: Fehler bei REWRITE
Es ist ja für mein Adressverzeichnis.
Wenn die Datei nicht existiert, soll sie erstellt werden. Wenn die Datei existiert, soll etwas angehängt werden. Aber wenn die Datei leer ist, funktioniert ja der Befehl append nicht, ... |
Re: Fehler bei REWRITE
Hai Chrissi91,
vergleiche noch einmal genau deinen Code und meinen. Du wirst bemerken das bei dir wohl ein end; zu viel ist. Bei mir geht es nämlich ohne Probleme. Zitat:
|
Re: Fehler bei REWRITE
Weill dann eine Fehlermeldung kam ... ^^
Ich habe meinen Code durch deinen ersetzt und die Fehlermeldung kam trotzdem :'( |
Re: Fehler bei REWRITE
Zitat:
Mit dieser (verkürzten) Variante habe ich auch kein Problem:
Delphi-Quellcode:
procedure TForm1.btn_TestClick(Sender: TObject);
var datei2: textfile; filename : string; begin filename := ExtractFilePath(ParamStr(0)) + 'Eintrage.txt'; assignfile(datei2,filename); if not fileexists(filename) then begin rewrite(datei2); end else begin reset(datei2); end; append(datei2); writeln(datei2, edit1.Text + ' ' + edit2.Text); closefile(datei2); end; |
Re: Fehler bei REWRITE
Ich versuch es dir nochmal zu erklären ;)
Ich habe eine Index-Datei, in der die Dateinamen der Datensätze für mein Adressverzeichnis drinstehen. Wenn der Benutzer sich das Programm runterlädt, ist meistens noch keine Index-Datei dabei. Diese soll beim Erstellen des ersten Eintrages miterstellt werden. Dann soll der Dateiname in die Index-Datei getan werden. Und zwar wollte ich das so machen:
Delphi-Quellcode:
Geht das so, wenn die Datei noch nicht existiert und erstellt werden soll?
var
datei: textfile; begin assignfile(datei,'Eintrage.txt'); //Das ist die Index-Datei rewrite(datei); writeln(datei, edit1.text+' '+edit2.text+'.txt') //Daraus setzt sich der Dateiname zusammen closefile(datei); end; Existiert die Index-Datei doch schon, dann soll einfach nur eine Zeile angefügt werden:
Delphi-Quellcode:
Um das zu verbinden will ich das so machen:
var
datei2: textfile; begin assignfile(datei2,'Eintrage.txt'); //Das ist die Index-Datei append(datei2); writeln(datei2, edit1.text+' '+edit2.text+'.txt') //Daraus setzt sich der Dateiname zusammen closefile(datei2); end;
Delphi-Quellcode:
Soweit mitgekommen? ;)
var
datei, datei2: textfile; begin if fileexists('Eintrage.txt') then begin assignfile(datei2,'Eintrage.txt'); //Das ist die Index-Datei append(datei2); writeln(datei2, edit1.text+' '+edit2.text+'.txt') //Daraus setzt sich der Dateiname zusammen closefile(datei2); end else begin assignfile(datei,'Eintrage.txt'); //Das ist die Index-Datei rewrite(datei); writeln(datei, edit1.text+' '+edit2.text+'.txt') //Daraus setzt sich der Dateiname zusammen closefile(datei); end; end; Bei mir funktioniert das ganze mit Append aber nicht, wenn Eintrage.txt total leer ist. |
Re: Fehler bei REWRITE
Zitat:
Zitat:
Du sagst Du bekommst diesen Fehler "ElnOutError I/0 error 32". Hast Du schon einmal geschaut was der bedeutet? Das F1 Ding sagt Verletzung bei der gemeinsamen Benutzung Eventuell hilft Dir das ja bei deiner Fehlersuche ;-) |
Re: Fehler bei REWRITE
Dein 2. Code hat mir nicht weitergeholfen. Die Fehlermeldung hilft mir auch nicht weiter ... ;)
:coder: Dann werde ich mal weiter versuchen ... |
Re: Fehler bei REWRITE
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:27 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