English
Instant Developer Foundation Documentazione
  • Reference Librerie
  • Libreria Client
  • Libreria Standard
  • File System
  • Operazioni Contenuto File

Open File For Output

procedura link

Scopo

Apre un file in modalità di scrittura. Se il file esiste il contenuto verrà sovrascritto.

Sintassi

Applicazione.OpenFileForOutput(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

// ****************************************************************************
// Evento notificato al documento durante le fasi iniziali della procedura di
// salvataggio dei documenti
// ****************************************************************************

event throws exception OggettoFS.BeforeSave(
  inout boolean Skip   // Parametro di output booleano. Se impostato a Tru...
  inout boolean Cancel // Parametro di output booleano. Se impostato a Tru...
  int Phase            // E' un numero intero da 0 a 3 che indica lo stato...
)
{
  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 = 2 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.OpenFileForOutput(NomeCompleto, FileNumber)
         EsempiMS.WriteLine(FileNumber, Contenuto)
         EsempiMS.CloseFile(FileNumber)
      }
      catch
      {
         this.AddDocumentError(impossibile salvare +c Space +c il file +c
           Dot +c Space +c ErrorMessage())
         Cancel := True
      }
    }
  • Se il file non esiste viene creato. Se non è possibile crearlo, allora viene generata un'eccezione.
  • Se il numero file non è valido, allora questa funzione non fa nulla.
  • Se il file esiste verrà svuotato. Per aggiungere del contenuto al file occorre aprirlo con la funzione OpenFileForAppend.

Ultima modifica: 16/03/2020 / Validità: da 7.0.3200

Vedi anche

  • Free File (funzione)
  • Write Line (procedura)
  • Close File (procedura)
  • Open File For Input (procedura)
  • Open File For Append (procedura)

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum