RAM-ÁLDÓKI. Posted Június 9, 2009 Share Posted Június 9, 2009 Delphi 7 rendszerben csinálok egy büntető rúgásos játékot, és amikor a kódhoz hozzáírtam a mentésfájlt (ami egy .txt file) kezelő eljárásokat a program az alábbi képen látható hibaüzenetet küldi. Már korábban is volt hasonló hiba, amikor a pályát tartalmazó képfájlt töltöttem be, de akkor a projekthez tartozó package1-be beraktam a vcljpg-t és megoldódott a probléma. Úgy gyanítom, hogy itt is hasonló a gond. Ha tudtok segítsetek! Idézés Link to comment Share on other sites More sharing options...
SixHouse Posted Június 9, 2009 Share Posted Június 9, 2009 Hi, ha nem látunk kódot nme tudjuk mi a hiba var f:textfile; begin if (fileexists('goal.txt')) then Begin assignfile(f,'goal.txt'); reset(f); //read file closefile(f); End; end; http://delphi.about.com/od/fileio/a/ascii_textfile.htm Idézés Link to comment Share on other sites More sharing options...
RAM-ÁLDÓKI. Posted Június 9, 2009 Author Share Posted Június 9, 2009 Itt a kód! A grafikát ne nézd, kissé kezdetleges. http://www.upload.mgcms.info/download.php?file=481cf81482570ad05056cdf0e0d3e8b1 Jelszó : blablabla Idézés Link to comment Share on other sites More sharing options...
SixHouse Posted Június 9, 2009 Share Posted Június 9, 2009 2 dolog amire azért illik odafigyelni: 1.) Amíg egy form create eseménye nem zajlik le, ne bántsuk a nem létező controljait: a form1 create- ben meghívod a még nem is létező form2 colorbox controlt, erre nálam rögtön kiakad (d2007), nálad nem tudom hogyan nem, én a helyedbe ezeket már az OnShow eseménybe tenném ahol is már a formok léteznek Egyébként a fájlt tökéletesen megnyitja, a hiba nem ott van hanem, ahol színt szeretnél adni a colorbox-nak.(az előző okból kifolyólag) 2.) Feleslegesen ne bonyolítsuk a saját életünket case save.lszin of Idézés Link to comment Share on other sites More sharing options...
RAM-ÁLDÓKI. Posted Június 10, 2009 Author Share Posted Június 10, 2009 Kösz a segítséget! Így már nekem is működik. Idézés Link to comment Share on other sites More sharing options...
SixHouse Posted Június 11, 2009 Share Posted Június 11, 2009 Én a helyedben nem is így dolgoznám fel az adatokat. Sokkal egyszerűbb dolgod lenne ha nem fájlkezeléssel szenvednél Egy példa: Ez menne a form close (vagy bezárás) eseménybe: var data: Tstringlist; //uses classes begin data := Tstringlist.Create; data.Append('érték vagy változó'); {adat hozzáadása} data.Append('érték vagy változó'); {adat hozzáadása} //... data.SaveToFile('fájlnév'); {fájlba mentés} end; Ez pedig az OnShow eseménybe: var data: Tstringlist; //uses classes i:integer; begin if fileexists('fájlnév') then Begin data := Tstringlist.Create; try data.LoadFromFile('fájlnév'); for i := 0 to data.Count - 1 do Begin {adatok olvasásasoronként} //valami := data.Strings[i]; //valami := data.strings[i]; End; // end for except showmessage('Hiba betöltéskor, program újraindul'); {régi fájl törlése mert valószínű belepiszkált a user} {készítünk egy program defaults eljárást amit meghívunk ha a fájl nem létezik vagy hiba történik} end //end try End //end if else Begin {készítünk egy program defaults eljárást amit meghívunk ha a fájl nem létezik vagy hiba történik} End; //end else end; és máris egyszerűbb a dolgunk, nem nyitottunk meg fájlt amit le kell zárni meg végig kell olvasni. Csinálhatod úgy is hogy a data globális és akkor ha módosítanak a programban akkor rögtön ott módosítod és így a formclose-ban csak a savetofile parancsot kell kiadni. csoki Idézés Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.