Espongo il mio quesito, e allego innanzitutto il codice funzionante che sto usando scopiazzato come al solito qua e la, e adattato alle mie esigenze (è cosi che si comincia no? ).
Il problema è che con esso anche se non scrivo nulla nei vari campi, mi inserisce una riga di 6 "|" nel file txt che rimane difficile da interpretare e comunque inutile soprattutto se manca anche primo campo ModelName.
Dovrei fare in modo di verificare se il campo ModelName è stato riempito, altrimenti impedirne la scrittura nel txt e poi non creare gli altri campi o forse meglio scrivere per esempio "null" negli altri campi, in modo da non incorrere in problemi in fase di lettura o modifica (in lettura potrei non far mostrare i campi null)
Cosa mi consigliate, e soprattutto esiste un'alternativa al creare una if per ogni campo?
B4X:
Sub RegisterDataPlane
Dim ListTemp As List
'controllo se esiste il file di testo
If File.Exists(File.DirRootExternal, "RCHangar/ListModel.txt") Then
'se il file esiste carico i dati dal file di testo
ListTemp =File.ReadList(File.DirRootExternal, "RCHangar/ListModel.txt")
Dim Trovato As Boolean
Trovato = False
For i = 0 To 99
ListModel(i) = ListTemp.Get(i)
If ListModel(i) = "0" And Trovato = False Then
'Riempio lo slot con i valori da registrare
ListModel(i) = ModelName.Text &"|"& Component1.text &"|"& Component2.text &"|"& Component3.text &"|"& Component4.text &"|"& Component5.text &"|"& Component6.text
'imposto la boolean a true
Trovato = True
End If
Next
File.Writelist(File.DirRootExternal, "RCHangar/ListModel.txt", ListModel) 'Salvo l'array nel file di testo
StartActivity(Main)
Else ' se il file non esiste
For i = 0 To 99
ListModel(i) = "0"
Next
ListModel(0) = ModelName.Text &"|"& Component1.text &"|"& Component2.text &"|"& Component3.text &"|"& Component4.text &"|"& Component5.text &"|"& Component6.text
File.MakeDir(File.DirRootExternal, "RCHangar") 'creo la directory
File.Writelist(File.DirRootExternal, "RCHangar/ListModel.txt", ListModel) 'Salvo l'array nel file di testo
StartActivity(Main)
End If
End Sub
Il problema è che con esso anche se non scrivo nulla nei vari campi, mi inserisce una riga di 6 "|" nel file txt che rimane difficile da interpretare e comunque inutile soprattutto se manca anche primo campo ModelName.
Dovrei fare in modo di verificare se il campo ModelName è stato riempito, altrimenti impedirne la scrittura nel txt e poi non creare gli altri campi o forse meglio scrivere per esempio "null" negli altri campi, in modo da non incorrere in problemi in fase di lettura o modifica (in lettura potrei non far mostrare i campi null)
Cosa mi consigliate, e soprattutto esiste un'alternativa al creare una if per ogni campo?