Read INI file: caricare string con spazio finale in TEdit.Text

di il
2 risposte

Read INI file: caricare string con spazio finale in TEdit.Text

Scusate, avrei bisogno di un suggerimento riguardo il caricamento di string da INI files in TEdit.Text.

Inserendo in TEdit.Text una string con spazio finale, ad es. ‘Data documento: ‘, essa viene correttamente salvata nel file INI ("…=Data documento: "). Caricando tale informazione però dal file INI nuovamente nel TEdit.Text, la string all’interno dell’edit box risulta priva di spazio.

Se modifico il solo testo ricaricato da file INI in TEdit.Text, esso viene salvato nel file INI insieme allo spazio finale originale che in TEdit.Text mancava. Infatti, se durante la modifica in TEdit.Text inserisco nuovamente una string con uno spazio finale, ad es. ‘Document date: ’, nel file INI me ne trovo due spazi alla fine della string ("…=Document date:  ").

Qualcuno sa per caso come caricare correttamente una string con spazio finale da un file INI in un TEdit?

Ale

2 Risposte

  • Re: Read INI file: caricare string con spazio finale in TEdit.Text

    Per risolvere il problema, devi aggiungere dei marcatori di inizio/fine stringa, ossia salvare la stringa con questi simboli in modo da delimitare il testo inclusi gli spazi da conservare.

    Ad esempio, puoi usare QuotedStr() durante il salvataggio del valore, e in lettura passare il valore ad AnsiDequoteStr():

    // Leggo il valore togliendo gli apici all'inizio e alla fine.
    Edit1.Text := AnsiDequotedStr(LIniFile.ReadString('App', 'Ident', ''), #39);
    
    // Scrivo il valore con gli apici a inizio/fine nel file INI.
    LIniFile.WriteString('App', 'Ident', QuotedStr(Edit1.Text));
    LIniFile.UpdateFile;
    
  • Re: Read INI file: caricare string con spazio finale in TEdit.Text

    Grazie di cuore, Alka. Funziona che è una meraviglia!

    Ale

Devi accedere o registrarti per scrivere nel forum
2 risposte