Scopo
Questa funzione restituisce True se un file aperto in lettura è già stato letto completamente. Solitamente si usa nella condizione del ciclo di lettura del file.
Sintassi
while NOT(EOF(numero file))
{
}
{
}
Argomenti
Numero File | Identificatore del file ottenuto con la funzione FreeFile. |
Valore di ritorno
Viene ritornato True se il file è già stato letto completamente, False altrimenti.
Esempio
// ****************************************************************************
// Evento notificato al documento quando si desidera conoscere il valore di una
// Named Property
// ****************************************************************************
event OggettoFS.OnGetNamedPropertyValue(
string PropertyName //
inout string PropertyValue //
)
{
// Se è stata richiesta data e ora di ultima modifica
if PropertyName = UltimaModifica
...
//
// Se è stata richiesta la dimensione
if PropertyName = Dimensione
...
//
// Se è stata richiesta l'estensione
if PropertyName = Estensione
...
//
// Se è stato richiesto il contenuto
if PropertyName = Contenuto
{
// Se è un file
if GetNamedPropertyValue(Cartella) = False
{
if IsNull(Contenuto)
{
int FileNumber = 0 //
//
// Provo a leggere il contenuto
try
{
// Ottengo il prossimo numero di file disponibile
FileNumber := FreeFile()
//
// Apro il file in lettura
EsempiMS.OpenFileForInput(GetNamedPropertyValue(NomeCompleto),
FileNumber)
//
// Finché non ho letto tutto il file
while NOT(EOF(FileNumber))
{
string Line = "" //
//
// Leggo una parte di contenuto
EsempiMS.ReadLine(FileNumber, Line)
//
// Lo accodo
PropertyValue := PropertyValue +c Line
}
//
// Chiudo il file
EsempiMS.CloseFile(FileNumber)
}
}
else
{
PropertyValue := Contenuto
}
}
}
}
// Evento notificato al documento quando si desidera conoscere il valore di una
// Named Property
// ****************************************************************************
event OggettoFS.OnGetNamedPropertyValue(
string PropertyName //
inout string PropertyValue //
)
{
// Se è stata richiesta data e ora di ultima modifica
if PropertyName = UltimaModifica
...
//
// Se è stata richiesta la dimensione
if PropertyName = Dimensione
...
//
// Se è stata richiesta l'estensione
if PropertyName = Estensione
...
//
// Se è stato richiesto il contenuto
if PropertyName = Contenuto
{
// Se è un file
if GetNamedPropertyValue(Cartella) = False
{
if IsNull(Contenuto)
{
int FileNumber = 0 //
//
// Provo a leggere il contenuto
try
{
// Ottengo il prossimo numero di file disponibile
FileNumber := FreeFile()
//
// Apro il file in lettura
EsempiMS.OpenFileForInput(GetNamedPropertyValue(NomeCompleto),
FileNumber)
//
// Finché non ho letto tutto il file
while NOT(EOF(FileNumber))
{
string Line = "" //
//
// Leggo una parte di contenuto
EsempiMS.ReadLine(FileNumber, Line)
//
// Lo accodo
PropertyValue := PropertyValue +c Line
}
//
// Chiudo il file
EsempiMS.CloseFile(FileNumber)
}
}
else
{
PropertyValue := Contenuto
}
}
}
}
- Se il file a cui corrisponde il Numero File passato come parametro non è aperto, allora la funzione ritorna True.
Ultima modifica: 25/10/2016 / Validità: da 7.0.3200