![]() |
feher bei übergabe..textfile
hallo miteinander..
habe mal wieder ein problem und zwar bekomme ich immer den e/a fehler 103 oder 105. ich möchte eine datei aus der ich vorher daten ausgelesen habe am endeüberschreiben.. und da hackt es ..
Delphi-Quellcode:
hoffe ihr könnt mir Helfen
procedure TForm1.Button5Click(Sender: TObject);
var lb,lb1:integer; tsn:integer; tsie:string; begin radiobutton1.Checked:=false; radiobutton2.Checked:=false; radiobutton3.Checked:=false; assignfile(w,'world.save'); reset (w); rewrite (c,'world.save.bk'); rewrite (o,'save\world.save'); repeat readln (w,line); writeln (c,line); writeln (o,line); until eof (w); closefile (c); closefile (o); repeat assignfile(w,'world.save'); nem:='world.save.new'; reset (w); assignfile (e,nem); rewrite (e); for lb1 := 0 to (listbox1.Items.Count - 1) do tsie:=listbox1.Items.Strings[lb1]; tsie:=tsie+' '; assignfile (t,'temp\Temp.shad') ; rewrite (t); repeat readln (w,line); until line='[OBJECT]'; writeln (t,'[OBJECT]'); repeat repeat readln (w,line); writeln (t,line); z:=z+1; until line=''; reset (t); tsn:=0; repeat readln(t,line); if pos(tsie,line) <> 0 then tsn:= tsn + 1; until eof(t); if tsn=0 then begin reset (t); repeat readln(t,line); writeln (e,line); until eof (t) ; closefile (t); rewrite (t); end else closefile (t); rewrite (t); until eof (w)=true; closefile (w); deletefile ('world.save'); world:=false; closefile(e); assignfile (e,'world.save.new'); reset (e); ot:=true; if ot=true and (world=false) then nem:='' ; world:=true; assignfile (w,nem); assignfile (w,'save\world.save'); reset (w); assignfile (o,'world.save') ; ///////// ab hier scheppert es immer///// rewrite (w); repeat readln (e,line); writeln (o,line); until eof (e); reset (e); closefile (w); closefile (o); closefile(e); closefile (t); ot:=true; if ot=true then nem:='' ; assignfile (e,nem); tsie:=''; deletefile ('temp\Temp.shad'); lcou:=lb2-1; listbox1.Items.Delete(lcou); listbox2.Items.Delete(lcou); lb2:=lb2-1; label8.Caption:=inttostr(lb2); ot:=false; showmessage ('noch '+inttostr(lb2)+' Durchläufe'); until listbox1.Items.Count =0; assignfile(w,'world.save'); reset (w); tota:=0; repeat readln (w,line); if line = '[OBJECT]' then tota:=tota+1; until eof (w); label4.Caption:= inttostr (tota); assignfile (e,'world.save.new'); reset(W); reset (e); assignfile (c,'world.save.bk') ; reset (c); repeat readln (c,line); writeln (e,line); until line='[OBJECTS]'; closefile (c); writeln (e,'total='+inttostr(tota)); writeln (e,' '); repeat readln (w,line); writeln (e,line); until eof (w); closefile (w); deletefile ('world.save'); closefile(e); assignfile (e,'world.save.new'); reset (e); assignfile (w,'world.save'); reset (w); repeat readln (e,line); writeln (w,line); until eof (e); reset (e); closefile (w); closefile(e); showmessage ('Fergig'); end; Mfg Devilone [edit=Sharky]Abschliessenden Delphi-Tag korrigiert. Mfg, Sharky[/edit] |
Re: feher bei übergabe..textfile
Hi!
Wo sind denn die ganzen Variablen wie deklariert? Andere Frage: Stimmt das AssugnFile überall? Hatte das Gefühl, dass das stellenweise fehlt?! Ciao Frederic |
Re: feher bei übergabe..textfile
Bitte korrigiere deine delphi-tags. Ansonsten: muss es read/write sein? Ich würde lieber Streams benutzen (übersichtlicher).
Ansonsten ist es immer riskant mit relativen Pfaden zu arbeiten. Schau dir mal Paramstr(0) und Extractfilepath an. Mir fiel in deinem QT was auf:
Delphi-Quellcode:
Hier benutzt du die Datei wieder! das muss doch schief gehen, oder?
deletefile ('world.save'); //Datei löschen
world:=false; closefile(e); assignfile (e,'world.save.new'); reset (e); ot:=true; if ot=true and (world=false) then nem:='' ; world:=true; assignfile (w,nem); assignfile (w,'save\world.save'); reset (w); assignfile (o,'world.save') ; ///////// ab hier scheppert es immer///// Ratte |
Re: feher bei übergabe..textfile
Delphi-Quellcode:
Beim "rewrite" muß es wohl "rewrite (o)" heißen, oder?
assignfile (w,nem);
assignfile (w,'save\world.save'); reset (w); assignfile (o,'world.save') ; ///////// ab hier scheppert es immer///// rewrite (w); repeat readln (e,line); writeln (o,line); Das doppelte "assignfile" ist auch sehr merkwürdig... Gruß Hawkeye |
Re: feher bei übergabe..textfile
hi..
1.
Delphi-Quellcode:
und
var
leerzeichen:string; creat:integer; tota:integer; z:integer; Form1: TForm1; pfad:string; cre: TmemIniFile; t:textfile; ie:integer; w:textfile; e:textfile; o:textfile; c:textfile; Eportliste:string; line:string; ot,ce,wl,world:boolean; nem:string; lcou,lb2:integer; 2. soweit ich das mit dem assignfile verstanden habe ( Wenn Sie F ein leeren String zuweisen, verweist F nach dem Aufruf Reset (F) auf die Standardeingabe und nach dem Aufruf Rewrite (F) auf die Standardausgabe.) <--- delphi hilfe... oder verstehe ich da was nich... habe vor 1woche erst angefangen mit Delphi... also bitte ich um nachsich.. erklärt mir bitte ,wenn ich mich irre, was ich falsch verstehe/sehe.. 3.das mit dem rewrite habe ich auch gesehn und wenn ich da rewrite (o); und un der nächsten zeile das mit w mache jammert er da rum.. also mag er das rewrite bei den dateien nicht machen obwohl laut windows die dateien NICHT schreibgeschützt sind.. mfg |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:16 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 by Thomas Breitkreuz