FileReadString

La funzione legge da una stringa dalla posizione corrente di un puntatore di file in un file.

string  FileReadString(
   int  file_handle,     // File handle
   int  length=-1        // Lunghezza della stringa
   );

Parametri

file_handle

[in] Il descrittore di file restituito da FileOpen().

length=-1

[in] Numero di caratteri da leggere.

Valore restituito

Linea letta (stringa).

Nota

Durante si legge da un file-bin. la lunghezza della stringa da leggere deve essere specificata. Quando si legge da un file-txt la lunghezza della stringa non è richiesta, e la stringa sarà letta dalla posizione attuale al carattere di avanzamento riga "\r\n". Durante la lettura da un file CSV, la lunghezza della stringa non è necessaria inoltre, la stringa verrà letta dalla posizione corrente fino al più vicino delimitatore o fino al carattere di fine stringa di testo.

Se il file viene aperto con il flag FILE_ANSI, allora la riga letta viene convertita in Unicode.

Esempio (il file ottenuto fopo l'esecuzione dell'esempio per la funzione FileWriteInteger è qui utilizzato)

//--- mostra la finestra dei parametri di input quando lancia lo script
#property script_show_inputs
//--- parametri per la lettura dei dati 
input string InpFileName="Trend.bin"// nome del file
input string InpDirectoryName="Data"// nome della directory
//+--------------------------------------------------------------------------------+
//| Funzione di avvio del programma Script                                         |
//+--------------------------------------------------------------------------------+
voidOnStart()
  {
//--- apre il file
   ResetLastError();
   int file_handle=FileOpen(InpDirectoryName+"//"+InpFileName,FILE_READ|FILE_BIN|FILE_ANSI);
   if(file_handle!=INVALID_HANDLE)
     {
      PrintFormat("%s il file è disponibile per la lettura",InpFileName);
      PrintFormat("Percorso file: %s\\Files\\",TerminalInfoString(TERMINAL_DATA_PATH));
      //--- variabili aggiuntive
      int    str_size;
      string str;
      //--- legge i dati dal file
      while(!FileIsEnding(file_handle))
        {
         //--- trova come molti simboli vengono usati per scrivere l'orario
         str_size=FileReadInteger(file_handle,INT_VALUE);
         //--- legge la stringa
         str=FileReadString(file_handle,str_size);
         //--- fa il print della stringa
         PrintFormat(str);
        }
      //--- chiude il file
      FileClose(file_handle);
      PrintFormat("I dati vengono letti, il file %s è chiuso",InpFileName);
     }
   else
      PrintFormat("Fallimento nell'aprire il file %s, Codice errore = %d",InpFileName,GetLastError());
  }

Vedi anche

Tipo string, Conversione Dati, FileWriteInteger