Italian Basic4Android - Scrivere File

corrado

Member
Licensed User
Longtime User
Da pochi giorni ho iniziato con Basic4Android.

Ho provato ad eseguire l'applicazione per scrivere
e leggere file.

Quando esegue:

If File.ExternalWritable = False Then
Msgbox("Cannot write on storage card.", "")
Return
End If

mi risponde: Cannot write on storage card

Cell: HTC desirè HD
 
D

Deleted member 103

Guest
Ciao corrado,

guarda un poco questo esempio, spero ti possa aiutare.

PHP:
Sub ReadIniFile
   Dim strTemp As String
   Dim strSplit() As String
    Dim List1 As List
      
   If Not(File.Exists(File.DirDefaultExternal, "file.ini")) Then Return
   
    List1 = File.ReadList(File.DirDefaultExternal, "file.ini")
   For i = 0 To list1.Size -1
      strTemp=list1.Get(i)
      If strTemp.IndexOf("=")>0 Then
         strSplit=Regex.Split("=",list1.Get(i))
         If strSplit(0).StartsWith("Konto") AND strSplit.Length=2 Then
            strBank=strSplit(1).Trim
         Else If strTemp.StartsWith("DBFilter") AND strSplit.Length=2  Then
            DBFilter=strSplit(1).Trim
         End If
      End If
   Next
End Sub

Sub SaveIniFile
    Dim List1 As List
    List1.Initialize
   List1.Add("[Letzte geöffnete Konto-Datei]")
   List1.Add("Konto=" & strBank)
   List1.Add("")
   List1.Add("[Datenbankfilter]")
   List1.Add("DBFilter=" & DBFilter)
    File.WriteList(File.DirDefaultExternal, "file.ini", List1)
End Sub
 

corrado

Member
Licensed User
Longtime User
Ciao corrado,

guarda un poco questo esempio, spero ti possa aiutare.

PHP:
Sub ReadIniFile
   Dim strTemp As String
   Dim strSplit() As String
    Dim List1 As List
      
   If Not(File.Exists(File.DirDefaultExternal, "file.ini")) Then Return
   
    List1 = File.ReadList(File.DirDefaultExternal, "file.ini")
   For i = 0 To list1.Size -1
      strTemp=list1.Get(i)
      If strTemp.IndexOf("=")>0 Then
         strSplit=Regex.Split("=",list1.Get(i))
         If strSplit(0).StartsWith("Konto") AND strSplit.Length=2 Then
            strBank=strSplit(1).Trim
         Else If strTemp.StartsWith("DBFilter") AND strSplit.Length=2  Then
            DBFilter=strSplit(1).Trim
         End If
      End If
   Next
End Sub

Sub SaveIniFile
    Dim List1 As List
    List1.Initialize
   List1.Add("[Letzte geöffnete Konto-Datei]")
   List1.Add("Konto=" & strBank)
   List1.Add("")
   List1.Add("[Datenbankfilter]")
   List1.Add("DBFilter=" & DBFilter)
    File.WriteList(File.DirDefaultExternal, "file.ini", List1)
End Sub

Ciao Filippo
A volte mi chiedo come è possibile che delle cose così elementari
non funzionano.

eseguo questa istruzione:

File.WriteString(File.DirDefaultExternal, "file.ini", _
"This is some string" & CRLF & "and this is another one.")

mi risponde: Permission Denied

Il file file.ini esiste nella cartella della mia applicazione.
e poi mi domando, DirdefaultExternal, corrisponde alla cartella
dove risiede la mia applicazione?

Ciao e grazie delle risposte
 
D

Deleted member 103

Guest
Prova questa piccola applicazione, da me funziona perfettamente.

Il file file.ini esiste nella cartella della mia applicazione.
e poi mi domando, DirdefaultExternal, corrisponde alla cartella
dove risiede la mia applicazione?

Per vedere se "DirdefaultExternal" corrisponde alla cartella
dove risiede la tua applicazione basta scrivere: msgbox(File.DirDefaultExternal, "Test")
 

Attachments

  • file_ini.zip
    4.8 KB · Views: 309
Last edited by a moderator:

corrado

Member
Licensed User
Longtime User
Prova questa piccola applicazione, da me funziona perfettamente.



Per vedere se "DirdefaultExternal" corrisponde alla cartella
dove risiede la tua applicazione basta scrivere: msgbox(File.DirDefaultExternal, "Test")


Ciao Filippo
Con l'istruzione msgbox(File.DirDefaultExternal, "Test") mi risponde:
/mnt/sdcard(android/data/A1.provaIni/Files

Però compilando la tua semplice applicazione mi risponde sempre:
Permission Denied

Ciao e grazie

Ho risolto cambiando: File.DirDefaultExternal in File.DirInternal
 
Last edited:
Top