Ho un file in memoria che contiene i dati di un database, i campi sono divisi da una virgola, i record fa un endofline,
il primo dato contiene il numero dei record, per ricreare il database utilizzo il seguente codice
il primo dato contiene il numero dei record, per ricreare il database utilizzo il seguente codice
B4X:
Dim L2 As List
fl=nomefile
Dim Query As String
Dim tst() As String
L2.Initialize
If File.Exists(xui.DefaultFolder,fl) Then
L2 = File.ReadList(xui.DefaultFolder,fl)
r= L2.Get(0)
For x = 1 To r
tst = Regex.Split(",",L2.Get(x))
Edit1.Text=tst(1)
Edit2.Text= tst(2)
Edit3.Text= tst(3)
Query = "INSERT INTO xxxxx VALUES (?, ?, ?, ?)"
'ecc ecc
next
/CODE]
Con B4A su androide funziona benissimo, mentre con B4i esce senza avviso, dopo varie prove ho capito che il problema è che la variabile r non viene associata ,
se inserisco msgbox (L2.Get(0),"") il messaggio mi restituisce il testo con il numero dei record, in questo 2015. Se io ad r associo direttamente 2015 il database viene creato
normalmente in un paio di minuti. Ho fatto un ulterire prova: in ambdue ho inserito Msgbox(L2,"") e riscontro alcune diversità:
su androide inizia così [☒ 2015,(,Rosssi ecc su iphone <B4IList:("2015","(,Rossi ecc. L'unica prova che non ho fatto è creare il file su Mac.
sul linguaggio che uso sul pc e su Mac per associare una variabile int ad un testo si utilizza r=Val(L2.Get(0) esite qualcosa di simile su B4X?
ho provato ad aggiungere Trim al testo ma non cambia nulla. In altre parti del app l'associazione variabile int con stringa funziona,
sicuramente L2.Get(0) contiene qualcosa di strano