Scopo
Ritorna il prossimo numero di file disponibile. Può essere utilizzata per realizzare procedure che leggono o scrivono su file.
Sintassi
NumeroFile := FreeFile()
Valore di ritorno
Viene ritornato un intero che servirà per identificare un file quando verrà maneggiato con le procedure come OpenFileForInput, OpenFileForOutput, OpenFileForAppend, ReadLine, WriteLine, CloseFile e la funzione EOF.
Esempio di codice
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
{
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)
}
}
}
}
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
{
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)
}
}
}
}
Ultima modifica: 23/03/2021 / Validità: da 6.8.3060