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

Kapcsolódó cikkek