Felvétel leállítása fájlba
Felvétel leállítása fájlba
Helló
Prompt élőlény, hogyan kell meghatározni, hogy a fájl teljesen leírásra és semmi mást, aki nem használja?
van ilyen ref. kód:
Eljárás menteni;
var ini: TINIFile;
f: fájl A Byte;
kezdődik
ini: = TINIFile.Create ( "log.ini");
ini.WriteString ( "fő", "útvonal", ExtractFilePath (ParamStr (0)));
ini.WriteString ( "fő", "programm", ExtractFilename (ParamStr (0)));
.
.
ini.Free;
AssignFile (f, "log.ini");
reset (f); // itt és túlemelés :(. Mivel felhúzó méret = 0-tól 15 bájt
azaz 98 szörf (az XP minden normálisan) kapott fájl dopisanym nem végéig hívása után szabadon eljárás ini objektumot.
hogyan kell meghatározni, hogy a rögzítési folyamat befejeződött.
A legegyszerűbb módja annak, nyilván, hogy megpróbálja megnyitni kizárólagos módban.
ahogy meg van nyitva kizárólagos módban?
Például FileOpen és Fájl megnyitása mód állandók
nem működik :(
Ez megnyitotta a fmShareExclusive még fog nyitni egy másik befejezetlen fájlrendszer
Akkor podozhat valamennyi művelet befejezését és zárja be a fájlt segítségével egyszerű lépést:
ha renamefile ( "log.ini", "log.ini"), majd <процесс записи завершен>
Pontosan! szerzett :)
de elvileg az a kérdés marad, hogyan kell valóban meghatározza a fájlt pl nyitni egy másik program valójában végéhez?
Kérdezd egyéb programok
>> Palladin
Nagyon okos,
Csak oborzhatsya lehetséges.
És hogyan. nem kérdez. Ûzze ismeretek
>> Verg
nem működik :(
Megpróbáltam egy hurok, miközben nem renameFile ( "log.ini", "log.ini") do r: = sin (0,33323);
mégis még nem nyitotta meg a programot, hogy befejezze vége előtt a fájlt.
lehet, mint, hogy akkor hívja a rendszer működjön, állítsa vissza a pufferek a fájlok lemezre, vagy valami ilyesmi.
és UpdateFile, az Ön véleménye, mi?
UpdateFile, ha kinyitottam magam :)
például a rendszer működik, a két program, amelyek közül az egyik rögzített fájl, a másik olvas, akkor nem működik UpdateFile
és nem viccelek, ahol a vicces?
> Bár nem renameFile ( "log.ini", "log.ini") do r: = sin (0,33323);
Nos, ez nem ajánlott, hogy nem az első helyen, ilyen ciklus
miközben nem renameFile ( "log.ini", "log.ini") do alvó (0);
Másodszor, minden attól függ, hogy pontosan milyen a másik program írt egy fájlt, azaz Ha például, megnyitja a fájlt - hozzáfűzi kusok- lezárja a fájlt, és annyiszor, ahányszor szükségesnek találja, nincs mód annak megállapítására, hogy az elkészült írás minden, hogy ki akar-e vagy sem.
Ha azonban a felvétel zajlik elve megnyitott fájl rögzített mindent, amit akartunk, azt zárja be a fájlt, a kombináció
míg a nem (FileExists (fname) és renamefile (fname, fname)) do alvás (0) (lehet application.processmessages);
érzékeli a befejezését a fájl írása és annak stopudovo zárás.
>> Palladin
Csak a „válasz” üt informatív, mint a kérdés: „hol laksz?” Azt mondják, „a város” :)
snake1977 # 032; (14.05.03 10:49)
És milyen választ érdekli - a bolygó, ország, város, utca, lakás, vagy akár valami mást.
A válasz erre a kérdésre csak annyit tud a program, elfoglal a rekordot. Normális körülmények között a multimédiás, hogy nem használja az erőforrás dolshe mint unalmas.
>> Palladin
.
>>. hangzana a kérdés másképp, „hogyan szervezem közötti adatátvitellel én két program”, akkor sok más lehetőség is fel kell ajánlani
ezhelib ezek voltak az én két programot, akkor az a kérdés, nem jött volna létre :)
>> 1 megvárni, amíg a fájl bezárása
honnan tudod, hogy a másik program lezárta.
és honnan tudod, hogy az összes puffer a fájl lemezre írva.
>> 3 ha hirtelen, talán a szerencse a jóságát a programozók írta.
ő ponimaesh taih balesetek nebyvaet :)
> Hogyan tudom, hogy a másik program lezárta.
Próbálja megnyitni írási üzemmódban, és megtudja,
> És honnan tudod, hogy az összes puffer a fájl lemezre írva.
semmiképpen
snake1977 # 032; (14.05.03 11:11)
>> 1 megvárni, amíg a fájl bezárása
Ez jobb, az egyetlen módszer nyissa kizárólag.
>> Anatolij Podgoretsky
Már próbáltam :)
snake1977 (14.05.03 09:29)
nem működik :(
Ez megnyitotta a fmShareExclusive még fog nyitni egy másik befejezetlen fájlrendszer
kipróbált és fmShareExclusive vagy fmOpenRead
Az összes kiváló, de a méret = 0
:(
>> Anatolij Podgoretsky
A tény az, hogy egy másik program is nyitni, ahogy szeretné, ideértve annak érdekében, hogy az olvasás és írás :)
akkor csak a második kiviteli alak, azzal az elvárással, változások