Scopo
Apre un file in scrittura appendendo il testo che verrà scritto a quello già esistente. Normalmente viene utilizzata per concatenare del testo ad un file già esistente. La procedura OpenFileForOutput, infatti, svuota il file al momento dell'apertura mentre questa procedura si prepara per accodare il testo che verrà scritto.
Sintassi
Applicazione.OpenFileForAppend(percorso, numero file, encoding)
Argomenti
Percorso | Percorso completo del file. |
Numero File | Identificatore del file ottenuto con la funzione FreeFile. |
Encoding | Encoding del file. Parametro opzionale con valore predefinito l'encoding predefinito dell'ambiente (normalmente Windows-1252 su Windows, UTF-8 su Linux). |
Esempio
event OggettoFS.BeforeSave(
inout boolean Skip // Parametro di output booleano. Se impostato a True segnala al framework di non effettuar...
inout boolean Cancel // Parametro di output booleano. Se impostato a True segnala al framework di annullare la ...
int Phase // E' un numero intero da 0 a 3 che indica lo stato di avanzamento del salvataggio come in...
)
{
string NomeCompleto = "" // Quali dati memorizzerai qui?
//
NomeCompleto := GetNamedPropertyValue(NomeCompleto)
//
Skip := True
//
// Se sono nella fase di inserimento e l'oggetto è inserito
if Phase = ONE AND Inserted
...
//
// Se sono nella fase di aggiornamento e l'oggetto è modificato
if Phase = C2 AND Updated AND NOT(Inserted)
{
// Se è cambiato il nome
if GetOriginalValue(ToPropertyIndex(Nome)) <> Nome
...
//
// Se è cambiato il contenuto
if GetOriginalValue(ToPropertyIndex(Contenuto)) <> Contenuto
{
// Provo a salvare il file
try
{
int FileNumber = 0 //
//
// Ottengo un identificativo di file libero
FileNumber := FreeFile()
//
// Salvo il file
EsempiMS.OpenFileForAppend(NomeCompleto, FileNumber)
EsempiMS.WriteLine(FileNumber, Contenuto)
EsempiMS.CloseFile(FileNumber)
}
catch
{
this.AddDocumentError(impossibile salvare +c Space +c il file)
Cancel := True
}
}
}
}
inout boolean Skip // Parametro di output booleano. Se impostato a True segnala al framework di non effettuar...
inout boolean Cancel // Parametro di output booleano. Se impostato a True segnala al framework di annullare la ...
int Phase // E' un numero intero da 0 a 3 che indica lo stato di avanzamento del salvataggio come in...
)
{
string NomeCompleto = "" // Quali dati memorizzerai qui?
//
NomeCompleto := GetNamedPropertyValue(NomeCompleto)
//
Skip := True
//
// Se sono nella fase di inserimento e l'oggetto è inserito
if Phase = ONE AND Inserted
...
//
// Se sono nella fase di aggiornamento e l'oggetto è modificato
if Phase = C2 AND Updated AND NOT(Inserted)
{
// Se è cambiato il nome
if GetOriginalValue(ToPropertyIndex(Nome)) <> Nome
...
//
// Se è cambiato il contenuto
if GetOriginalValue(ToPropertyIndex(Contenuto)) <> Contenuto
{
// Provo a salvare il file
try
{
int FileNumber = 0 //
//
// Ottengo un identificativo di file libero
FileNumber := FreeFile()
//
// Salvo il file
EsempiMS.OpenFileForAppend(NomeCompleto, FileNumber)
EsempiMS.WriteLine(FileNumber, Contenuto)
EsempiMS.CloseFile(FileNumber)
}
catch
{
this.AddDocumentError(impossibile salvare +c Space +c il file)
Cancel := True
}
}
}
}
Se il file non esiste viene creato.
Ultima modifica: 23/03/2021 / Validità: da 7.0.3200