Hogyan kell helyesen olvasni a fájl megnyitásának lehetőségét

hogyan kell helyesen ellenőrizni a fájl megnyitásának lehetőségét

Kedves mester, mondja meg, hogyan kell helyesen olvasni a fájlt a lehetőségét annak nyitását.

A helyzet a következő - van DBF-fájlt egy hálózati meghajtó, amely rendszeres időközönként frissíti szereplők.
szükség hívás előtt BatchMove.Execute (összevonni a legújabb verzióját is), hogy ellenőrizze, ha nem éppen nyitva van, és általában van szabad.

Egyébként ez lesz analfabéta.

ingyenes: = true;
megpróbál
# XA0, nyitott
exept
# XA0; ingyen: = false
végül
CloseFile

res: = CreateFile (fájlnév, GENERIC_READ vagy GENERIC_WRITE, 0, nulla, OPEN_EXISTING, 0, 0);
ha nem res és (GetLastError = ERROR_SHARING_VIOLATION), akkor szabadon: = false;

szükség hívás előtt BatchMove.Execute (összevonni a legújabb verzióját is), hogy ellenőrizze, ha nem éppen nyitva van, és általában van szabad.

És ki mondta, hogy miután az ellenőrző kódot fájl marad ugyanabban az állapotban?

Nem kell semmilyen ellenőrző kódot, mert nem válaszolt a kérdésre.

Nos, valahogy így:
próbálja nyílt - kivéve - végül nem alkalmas, mert annak érdekében, hogy BatchMove obyazyatalno fájl nem nyitható meg.

Ezután írtam, hogy egyszerűsítse a fájl frissítése az üzemeltetők, sőt van egy finomságot. Az adatok DBF „reset” ugyanabban az időben. Ie Hívom az üzemeltető, azt mondják - „Dobd ide a legfrissebb adatok.” Ezek alapja a FoxPro 2.5 (DOS) -. Úgy csökken. Ezután azt kell „kitölteni”, hogy magát és behozataláról Firebird. (Ez a zűrzavar annak a ténynek köszönhető, hogy nem akar dolgozni FoxPro2.5)

Nos, írok egy programot, amely automatikusan a pillanatot „dömping adatok befejezése”, és a szivattyú is.
Építek a következők szerint:
1. ellenőrzés időpontjának DBF-fájl a szerveren, és hasonlítsa össze a dátum az utolsó fájl
2. Ha a dátumok különböző, azaz később a szerver - a BathMove önmagával (sebesség), illetve akkor, hogy maga a FB.

Nos, százalékponttal 2. Van, hogy egy csekket, ha a fájl szabadon, azaz zakonchno-e a dömping (ez kb 30 másodpercig, és ha ezen a ponton indul BatchMove, akkor attól tartok, hogy a FoxPro nem érti).

Ez következik - Nem kell megnyitni a fájlt, azt kell csak ellenőrizni, hogy meg tudja nyitni azt. Ez is nyitva áll az adatbázis fájlt és egy normál fájl. Más szavakkal -, hogy megbizonyosodjon arról, hogy az adott pillanatban a fájl nincs használatban. A cél -, hogy futtatni BatchMove garantált FoxPro után a végső munkát. anyja


> Feladó mind - Nem kell megnyitni a fájlt, azt kell
> Csak ellenőrizze, hogy meg tudja nyitni azt.

Ezt meg lehet tenni csak a megnyitás
Vagy írjon kernel módú illesztőprogram fájlrendszert. Szükség van rá?

A FoxPro nyitott kizárólagos módban (minden kísérlet kizárólag)

de ez

> [6] / glokk # XA0; (02.09.04 11:59)
> Hogy BatchMove obyazyatalno fájl nem nyitható meg.

Nem értem
Hogy „nem a nyílt.” Lehet, hogy nem kifejezetten, de a fájl minden esetben nyílt olvasása közben következik be.
Tehát olvasni Rénzuzmó Eater - írja igaz.

úgyhogy pont az e:
nem szükséges, hogy nyitva egy adatbázis tábla. azaz nem szükséges TTable.Open. Úgy értem.
De ESA de nyitottnak kell lennie (de a fájl) fájlt. Tehát itt van a kérdés - hogyan kell csinálni helyesen. És így, ha az ellenőrzést végrehajtják, az „adat dömping” ez nem akadályozza meg ezt a fontos folyamatot.
megpróbál
# XA0, nyitott ->. # XA0;
kivéve
végül
végén;

Ui
Azt hiszem, hogy a check-in Application.OnIdle.

Igen, az úton - ellenőrzi a fájl dátuma is hasonló műtétet kell végezni. Szintén nem zavarja.

Általában hogyan viselkedik. abban az időben, amikor a fájl megnyitásakor a DBF adatbázis tábla van hozzáférni, mint egy közönséges fájl a dátum állása. Saját tudás nem elég ahhoz, hogy erre a kérdésre válaszolni, ezért fordultam hozzád

Azt nem árt
Nem fáj neki semmilyen módon, kivéve, ha a fájl nem rögzíti
És sikertelen kísérlet, hogy nyissa ki - csak az e fájt.

isDone: = FALSE; # XA0;
Bár nem isDone do
megpróbál
# XA0; BatchMove;
# XA0; isDone: = TRUE;
kivéve
végén;

> Azt hiszem, hogy a check-in Application.OnIdle.

A százszor mondta, nem ellenőrzik.
Meg kell venni - és nem.

> [10] / glokk # XA0; (02.09.04 12:28)
> Igen, az úton - ellenőrzi a fájl dátuma hasonló állapotban is kellene
> Keletkezik. Szintén nem zavarja.

Ismét, az olvasás és nyissa meg a fájlt csak olvasható módban nem zavarja senki. Nos, más, mint a nyitó egy kizárólagos - ez, persze, nem engedi, hogy bárki más, hogy nyissa meg a fájlt.

> Általában hogyan viselkedik. abban az időben, amikor a fájl
> DBF nyitott, mint egy adatbázis tábla úgy kell tekinteni,
> A szabályos fájl a dátum állása.

A fájlrendszer nem különböztetik meg megnyitni a fájlt egy adatbázis tábla vagy valami más. Mert az ő, az összes fájl megegyezik)


> Ie Hívom az üzemeltető, azt mondják - „Dobd ide a legfrissebb adatok.”
> Van egy bázis a FoxPro 2.5 (DOS) -. Ezek csepp

És még hozzáteszi:
„És akkor fúj én közüzemi MyImportData.exe”

Olvassa el „és nyissa meg a fájlt csak olvasható módban nem zavarja senki.”

Ez azt jelentette, megnyitva az adatbázist, amely a táblázat vagy egy fájlt.

„A fájl megnyitott fájl” - fordította.

> / Glokk # XA0; (02.09.04 13:00) [14]
> A nyitás az adatbázis, mint egy asztal vagy egy fájlt.

Nem értettem a pár, akinek elgázolta ebben a bejegyzésben, de hát.
A válasz arra a kérdésre, van-e az éhgyomri [12], az utolsó sor

A nyitottság / bontatlan fájl ellenőrzése közben ez nem ugyanaz a dolog, hogy a nyitott / bontatlan fájlhoz adatok importálását.

Ez olyan, mint menni anélkül, pénztárca a boltban, amely biztosítaná, hogy a sör.
Aztán vissza a pénzt, és menj vásárolni a sört.
És eltűnt.

/ glokk # XA0; (02.09.04 11:59) [6]
Ie Hívom az üzemeltető, azt mondják - „Dobd ide a legfrissebb adatok.” Ezek alapja a FoxPro 2.5 (DOS) -. Úgy csökken.

Következő govormt üzemeltető esett és mit csinálsz a munkát, vagy nem segít.