Italian Non riesco a capire perchè!!!

GIS

Well-Known Member
Licensed User
ciao, sto modificando la mia App dove dopo 3 volta che la carica gli esce l'invito per votarla. Il problema che non riesco a capire perché non funge. L'ultima riga che esegue é la prima linea quella del Log("forse "&voto) dopo di che le altre linee le ignora.
B4X:
 Log("forse  "&voto)
    'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    'FILE X VOTARE L'APP
    'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
       
    If File.Exists(File.DirInternal,"CalcItem/votare.vot") Then
       
        voto = File.ReadString(File.DirInternal,"CalcItem/votare.vot")
        Log("entra  "&voto)
       
        If voto <> "Vero" Then
            voto = voto + 1
            File.WriteString(File.DirInternal, "CalcItem/votare.vot", voto)
            Log("primo  "&voto)
           
        else If voto = 3 Then
            VotaAPP
           
           
        else if voto > 3 Then
           
            voto = 1
            File.WriteString(File.DirInternal, "CalcItem/votare.vot", voto)
            Log("secondo  "&voto)
        End If
       
       
        Log("terzo  "&voto)
       
        'creo la cartellla
    Else    If Not(File.Exists(File.DirInternal, "CalcItem")) Then
       
        File.MakeDir(File.DirInternal, "CalcItem")
   
        'scrivo nel file che se non c'è me lo crea
        File.WriteString(File.DirInternal, "CalcItem/votare.vot", "1")
                       
        Log("quarto "&voto)
               
       
       
    End If

End Sub
Qui sotto riporto il listato del Sub Activity_Create. Se qualcuno capisce il motivo. Grazie


B4X:
#Region  Project Attributes
    #ApplicationLabel: Calculator of CoK
    #VersionCode: 1
    #VersionName: 1.0
    'SupportedOrientations possible values: unspecified, landscape or portrait.
    #SupportedOrientations: portrait
    #CanInstallToExternalStorage: False
#End Region

#Region  Activity Attributes
    #FullScreen:  True
    #IncludeTitle: False
#End Region

Sub Process_Globals
   
        Dim Scelta As Int = 1
        Dim Separatore As String = "VIRGOLA"
        Dim stu As StringUtils 'dichiarato variabile stu è per le due sub  SetLabelSize e  SetButtonTextSize UTILIZZARE Libreria StringUtils
       
End Sub

Sub Globals
   
    Dim myImmagine As Bitmap
   
    Private CalcRssKoc As Button
    Private CalcSpeed As Button
    Private CalcLingua As Button

    Private ImageView1 As ImageView
       
    Private scelta1 As Button
    Private scelta2 As Button
    Private separatoreV As Label
    Private separatoreP As Label
    Dim voto As string
   
End Sub

Sub Activity_Create(FirstTime As Boolean)
   
    'Per il linguaggio la Variabile SCELTA è quella che contiene il valore da 1 a 4 perchè le lingue saranno 4
    ' 1 Inglese quella predefinita 2 italiano 3 Tedesco 4 Spagnolo

       
   
   
    Activity.LoadLayout("Menu")
   
        ImageView1.Bitmap = LoadBitmap(File.DirAssets, "CoK.png")
       
    If File.Exists(File.DirInternal,"CalcItem/scelta.ini") Then
       
            Scelta = File.ReadString(File.DirInternal,"CalcItem/scelta.ini")
       
        Log(Scelta)
       
                'creo la cartellla
    Else    If Not(File.Exists(File.DirInternal, "CalcItem")) Then
       
        File.MakeDir(File.DirInternal, "CalcItem")
   
        'scrivo nel file che se non c'è me lo crea
        File.WriteString(File.DirInternal, "CalcItem/scelta.ini", "1")
                       
        Scelta = 1
               
        Log(Scelta)
       
    End If
   
   
   
   
   
        'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
                             'FILE X IL SEPARATORE MIGLIAIA
         'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
       
    If File.Exists(File.DirInternal,"CalcItem/separatore.ini") Then
       
       Separatore = File.ReadString(File.DirInternal,"CalcItem/separatore.ini")
       
        Log(Separatore)
       
        'creo la cartellla
    Else    If Not(File.Exists(File.DirInternal, "CalcItem")) Then
       
        File.MakeDir(File.DirInternal, "CalcItem")
   
        'scrivo nel file che se non c'è me lo crea
        File.WriteString(File.DirInternal, "CalcItem/separatore.ini", "1")
                       
        Separatore = "VIRGOLA"
               
        Log(Separatore)
       
    End If
   
   
    If Separatore = "VIRGOLA" Then
   
       
        myImmagine.Initialize(File.DirAssets,"acceso.png")
        scelta1.SetBackgroundImage(myImmagine)
   
        myImmagine.Initialize(File.DirAssets,"spento.png")
        scelta2.SetBackgroundImage(myImmagine)
   
   
    Else
       
        myImmagine.Initialize(File.DirAssets,"spento.png")
        scelta1.SetBackgroundImage(myImmagine)
   
        myImmagine.Initialize(File.DirAssets,"acceso.png")
        scelta2.SetBackgroundImage(myImmagine)
       
       
    End If
   
   
   
       
    myImmagine.Initialize(File.DirAssets,"button3d.png")
    CalcLingua.SetBackgroundImage(myImmagine)
   
    myImmagine.Initialize(File.DirAssets,"button3d.png")
    CalcSpeed.SetBackgroundImage(myImmagine)
   
    myImmagine.Initialize(File.DirAssets,"button3d.png")
    CalcRssKoc.SetBackgroundImage(myImmagine)
           
    myImmagine.Initialize(File.DirAssets,"label5.png")
    separatoreP.SetBackgroundImage(myImmagine)
   
    myImmagine.Initialize(File.DirAssets,"label5.png")
    separatoreV.SetBackgroundImage(myImmagine)
   
   
     If Scelta =1 Then
       
                SetButtonTextSize(CalcSpeed,"Calculate Speed Up")
                SetButtonTextSize(CalcRssKoc,"CoK - Calculate Resources")
                SetButtonTextSize(CalcLingua,"Language")
                SetLabelSize(separatoreV,"COMMA to separate the thousands")
                SetLabelSize(separatoreP,"POINT to separate the thousands")
               
         else if Scelta = 2 Then
                    SetButtonTextSize(CalcSpeed,"Calcolare Speed")
                    SetButtonTextSize(CalcRssKoc,"CoK - Calcolare Risorse")
                    SetButtonTextSize(CalcLingua,"Linguaggio")
                    SetLabelSize(separatoreV,"VIRGOLA per separare le migliaia")
                    SetLabelSize(separatoreP,"PUNTO per separare le migliaia")
                   
             else If Scelta = 3 Then
                        SetButtonTextSize(CalcSpeed,"Velociser Berechnen")
                        SetButtonTextSize(CalcRssKoc,"CoK - Ressourcen Berechnen")
                        SetButtonTextSize(CalcLingua,"Sprache")
                        SetLabelSize(separatoreV,"KOMMA, um die Tausender zu trennen")
                        SetLabelSize(separatoreP,"PUNKT, um die Tausenden zu trennen")
                   
                else If Scelta = 4 Then
                            SetButtonTextSize(CalcSpeed,"Calcular Aceleradores")
                            SetButtonTextSize(CalcRssKoc,"CoK - Calcular Recursos")
                            SetButtonTextSize(CalcLingua,"Idioma")
                            SetLabelSize(separatoreV,"COMA para separar los miles")
                            SetLabelSize(separatoreP,"PUNTO para separar los miles")
                         
    End If
               
    Log("forse  "&voto)
    'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    'FILE X IL VOTARE L'APP
    'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
       
    If File.Exists(File.DirInternal,"CalcItem/votare.vot") Then
       
        voto = File.ReadString(File.DirInternal,"CalcItem/votare.vot")
        Log("entra  "&voto)
       
        If voto <> "Vero" Then
            voto = voto + 1
            File.WriteString(File.DirInternal, "CalcItem/votare.vot", voto)
            Log("primo  "&voto)
           
        else If voto = 3 Then
            VotaAPP
           
           
        else if voto > 3 Then
           
            voto = 1
            File.WriteString(File.DirInternal, "CalcItem/votare.vot", voto)
            Log("secondo  "&voto)
        End If
       
       
        Log("terzo  "&voto)
       
        'creo la cartellla
    Else    If Not(File.Exists(File.DirInternal, "CalcItem")) Then
       
        File.MakeDir(File.DirInternal, "CalcItem")
   
        'scrivo nel file che se non c'è me lo crea
        File.WriteString(File.DirInternal, "CalcItem/votare.vot", "1")
                       
        Log("quarto "&voto)
               
       
       
    End If

End Sub
 

sirjo66

Well-Known Member
Licensed User
Longtime User
prova ad aggiungere gli spazi e trasforma le righe dei log in (ad esempio):
Log("forse " & voto)
 

GIS

Well-Known Member
Licensed User
l'ho fatto ma per fortuna che il problema non si é risolto. Perché se il problema era per una sciocchezza del genere ero messo male!!!!;):(
 

GIS

Well-Known Member
Licensed User
You define voto as a String in: Dim voto As string
Then you test:
Else If voto = 3 Then
You try to compare an Int with a String, Else If voto = 3 Then will never be true.
Nor will be : Else If voto > 3 Then

Avevo anche provato a dichiararla DIM voto as int ma non cambia niente. L'ultima linea che esegue è sempre. Anche
If voto <> 10000 Then

B4X:
Log("forse  "&voto)
    'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    'FILE X VOTARE L'APP
    'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
le linee successeve non vengono eseguite. Anche perché comunque i Log successivi dovrebbe eseguirli o darmi degli errori per le variabile.
 

GIS

Well-Known Member
Licensed User
per il momento ho risolto in questo modo utilizzando DirRootExternal... Piu tardi provo a mettere DirInternal e vedo che succede.....Vado a mangiare altrimenti dimagrisco troppo...... Dim voto as String

B4X:
    Log("forse   " & voto)
    'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    'FILE X IL VOTARE L'APP
    'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
        
    If File.Exists(File.DirRootExternal,"CalcItem/votare.vot") Then
        
        voto = File.ReadString(File.DirRootExternal,"CalcItem/votare.vot")
        Log("entra  " & voto)
        
        If voto <> "1000" Then
            voto = voto + 1
            File.WriteString(File.DirRootExternal, "CalcItem/votare.vot", voto)
            Log("primo  " & voto)
            
         If voto = "3" Then
            VotaAPP
        End If   
        End If   
         If voto > "3" And voto <> "1000" Then
            
            voto = "1"
            File.WriteString(File.DirRootExternal, "CalcItem/votare.vot", voto)
            Log("secondo  " & voto)
        End If
        
        
        Log("terzo  " & voto)
        
        'creo la cartellla
    Else    If Not(File.Exists(File.DirRootExternal, "CalcItem")) Then
        
        File.MakeDir(File.DirRootExternal, "CalcItem")
    
        'scrivo nel file che se non c'è me lo crea
        File.WriteString(File.DirRootExternal, "CalcItem/votare.vot", "1")
                        
        Log("quarto " & voto)
                
        
        
    End If

Sub VotaAPP
   
    Dim result As Int
   
    If Scelta = 1 Then
        result = Msgbox2("If you like this app and think it is useful then please Rate it to support us.","Like this App?", "Rate", "Cancel", "",Null)
       
       
            else  if Scelta = 2 Then
            result = Msgbox2("Se ti piace questa app e pensi che sia utile, ti preghiamo di votarla per supportarci.","Ti piace l'App?", "Vota", "Cancel","",Null)
           
           
                else  if Scelta = 3 Then
                result = Msgbox2("Wenn dir diese App gefällt und du denkst, dass sie nützlich ist, bewerte sie bitte, um uns zu unterstützen.","Gefällt dir die App?", "Rate", "Cancel","",Null)
               
               
                    else  if Scelta = 4 Then
                    result = Msgbox2("Si te gusta esta aplicación y crees que es útil, califícala para apoyarnos.","¿Te gusta la aplicación?", "velocidad", "Cancel","",Null)
                   
                   
    End If
   
        If result = DialogResponse.POSITIVE Then
        File.WriteString(File.DirRootExternal, "CalcItem/votare.vot", "1000")
            Dim fURI As String
            fURI = "market://details?id=com.CalcolatriceGameItem&hl=it"
            Dim Market As Intent
            Market.Initialize(Market.ACTION_VIEW,fURI)
            StartActivity (Market)
                               
        End If
   
End Sub
 

klaus

Expert
Licensed User
Longtime User
I would do it like this:
B4X:
If File.Exists(File.DirInternal,"CalcItem/votare.vot") Then
    voto = File.ReadString(File.DirInternal,"CalcItem/votare.vot")
    If voto < 3 Then
        voto = voto + 1
        Log(voto)
        If voto = 3 Then
            Log("voto")
            voto = 0
        End If
        File.WriteString(File.DirInternal, "CalcItem/votare.vot", voto)
    End If   
Else
    File.MakeDir(File.DirInternal, "CalcItem")
 
    'scrivo nel file che se non c'è me lo crea
    File.WriteString(File.DirInternal, "CalcItem/votare.vot", "0")
End If
Attached my small test program.
 

Attachments

  • VotoTest.zip
    8.9 KB · Views: 167

GIS

Well-Known Member
Licensed User
I would do it like this:
B4X:
If File.Exists(File.DirInternal,"CalcItem/votare.vot") Then
    voto = File.ReadString(File.DirInternal,"CalcItem/votare.vot")
    If voto < 3 Then
        voto = voto + 1
        Log(voto)
        If voto = 3 Then
            Log("voto")
            voto = 0
        End If
        File.WriteString(File.DirInternal, "CalcItem/votare.vot", voto)
    End If  
Else
    File.MakeDir(File.DirInternal, "CalcItem")
 
    'scrivo nel file che se non c'è me lo crea
    File.WriteString(File.DirInternal, "CalcItem/votare.vot", "0")
End If
Attached my small test program.

Grazie, ma non capisco perché utilizzando DirInternal non funziona. Ho provato a cambiare cartella ma niente. Funziona solo con DirRootExternal. Ma solo per questo file per gli altri file presenti in cartella e utilizzando DirInternal funzionano tutti correttamente...
 

GIS

Well-Known Member
Licensed User
Ho rinunciato a capire perché DirInternal non funziona con quel file. Visto che utilizzo DirRootExternal ho dovuto provare a mettere i permessi per le versione android 6+ è stato più semplice di quello che credevo. Faccio un riepilogo nel caso a qualcuno servisse.
Aggiungere la libreria: RuntimePermissions
B4X:
Sub Process_Globals
 
        Dim Scelta As Int = 1
        Dim Separatore As String = "VIRGOLA"
        Dim stu As StringUtils 'dichiarato variabile stu è per le due sub  SetLabelSize e  SetButtonTextSize UTILIZZARE Libreria StringUtils

'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
        Private rp As RuntimePermissions ' per i pemessi
    
End Sub
nelle sub dove si legge o scrive il file aggiungere la linea Dim folder As String = rp.GetSafeDirDefaultExternal("nomecartella")

B4X:
sub picopallino

'xxxxxxxxxxxxxxxxxxxxxxxxxxxx
    Dim folder As String = rp.GetSafeDirDefaultExternal("nomecartella") 
 
 
 
    'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    'FILE X IL VOTARE L'APP
    'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    
    If File.Exists(folder, "votare.vot") Then
    
        voto = File.ReadString(folder,"votare.vot")
    
    
        If voto <> "1000" Then
            voto = voto + 1
            File.WriteString(folder, "votare.vot", voto)
      
         If voto = 3 Then
            VotaAPP
        End If
        End If
         If voto > "3" And voto <> "1000" Then
        
            voto = "1"
            File.WriteString(folder, "votare.vot", voto)
       
        End If
    
    
  
    
        'creo la cartellla
    Else    If Not(File.Exists(folder, "Nomecartella")) Then
    
        File.MakeDir(folder, "Nomecartella")
 
        'scrivo nel file che se non c'è me lo crea
        File.WriteString(folder, "votare.vot", "1")
                    
  
    
    
    End If

end sub

Sub VotaAPP
   
    Dim result As Int
   
    If Scelta = 1 Then
        result = Msgbox2("If you like this app and think it is useful then please Rate it to support us.","Like this App?", "Rate", "Cancel", "",Null)
       
       
            else  if Scelta = 2 Then
            result = Msgbox2("Se ti piace questa app e pensi che sia utile, ti preghiamo di votarla per supportarci.","Ti piace l'App?", "Vota", "Cancel","",Null)
           
           
                else  if Scelta = 3 Then
                result = Msgbox2("Wenn dir diese App gefällt und du denkst, dass sie nützlich ist, bewerte sie bitte, um uns zu unterstützen.","Gefällt dir die App?", "Rate", "Cancel","",Null)
               
               
                    else  if Scelta = 4 Then
                    result = Msgbox2("Si te gusta esta aplicación y crees que es útil, califícala para apoyarnos.","¿Te gusta la aplicación?", "velocidad", "Cancel","",Null)
                   
                   
    End If
'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    Dim folder As String = rp.GetSafeDirDefaultExternal("Nomecartella")
'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
        If result = DialogResponse.POSITIVE Then
        File.WriteString(folder, "votare.vot", "1000")
            Dim fURI As String
            fURI = "market://details?id=com.CalcolatriceGameItem&hl=it"
            Dim Market As Intent
            Market.Initialize(Market.ACTION_VIEW,fURI)
            StartActivity (Market)
                               
        End If
   
End Sub

e per finire aggiungere nel Manifesto

B4X:
AddManifestText(<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="18" />
)

spero di essere stato utile e che mi sia spiegato nel miglior dei modi. Grazie a tutti per l'aiuto che date
 
Last edited:

LucaMs

Expert
Licensed User
Longtime User
Infatti non c'è motivo perché la cosa possa funzionare nella RootExternal e non nella Internal.
Qualcosa non va nel tuo codice (che non ho guardato molto).
Mi sembra alquanto contorto e, come sottolineato da @klaus, non dovresti usare una variabile sia per contenere dati stringa che numerici.

Non ho scaricato l'esempio di Klaus ma mi fido assolutamente, sono certo che funzioni.
 

LucaMs

Expert
Licensed User
Longtime User
If Scelta =1 Then
Dovresti dichiare Scelta come Int, anche se usi WriteString; con ReadString sarà automaticamente convertito in intero.

Poi, molto più comoda e leggibile una Select anziché varie If annidate.
Anziché:
If Scelta =1 Then

SetButtonTextSize(CalcSpeed,
"Calculate Speed Up")
SetButtonTextSize(CalcRssKoc,
"CoK - Calculate Resources")
SetButtonTextSize(CalcLingua,
"Language")
SetLabelSize(separatoreV,
"COMMA to separate the thousands")
SetLabelSize(separatoreP,
"POINT to separate the thousands")

else if Scelta = 2 Then
SetButtonTextSize(CalcSpeed,"Calcolare Speed")
SetButtonTextSize(CalcRssKoc,
"CoK - Calcolare Risorse")
SetButtonTextSize(CalcLingua,
"Linguaggio")
SetLabelSize(separatoreV,
"VIRGOLA per separare le migliaia")
SetLabelSize(separatoreP,
"PUNTO per separare le migliaia")

else If Scelta = 3 Then
SetButtonTextSize(CalcSpeed,"Velociser Berechnen")
SetButtonTextSize(CalcRssKoc,
"CoK - Ressourcen Berechnen")
SetButtonTextSize(CalcLingua,
"Sprache")
SetLabelSize(separatoreV,
"KOMMA, um die Tausender zu trennen")
SetLabelSize(separatoreP,
"PUNKT, um die Tausenden zu trennen")

else If Scelta = 4 Then
SetButtonTextSize(CalcSpeed,"Calcular Aceleradores")
SetButtonTextSize(CalcRssKoc,
"CoK - Calcular Recursos")
SetButtonTextSize(CalcLingua,
"Idioma")
SetLabelSize(separatoreV,
"COMA para separar los miles")
SetLabelSize(separatoreP,
"PUNTO para separar los miles")

End If

B4X:
Select Scelta
    Case 1
         SetButtonTextSize(CalcSpeed,"Calculate Speed Up")
         SetButtonTextSize(CalcRssKoc,"CoK - Calculate Resources")
         SetButtonTextSize(CalcLingua,"Language")
         SetLabelSize(separatoreV,"COMMA to separate the thousands")
         SetLabelSize(separatoreP,"POINT to separate the thousands")
    Case 2
         ' etc.
    Case 3
    Case 4
End Select

e Scelta dev'essere dichiara Int.
 

klaus

Expert
Licensed User
Longtime User
I don't understand either why DirInternal doesn't work, it works on my device.
Maybe, try to uninstall the program and reinstall it.
I used DirInternal for testing with a file to simplify.
I know that, with the permissions, it will also work with rp.GetSafeDirDefaultExternal().
 

GIS

Well-Known Member
Licensed User
Infatti non c'è motivo perché la cosa possa funzionare nella RootExternal e non nella Internal.
Qualcosa non va nel tuo codice (che non ho guardato molto).
Mi sembra alquanto contorto e, come sottolineato da @klaus, non dovresti usare una variabile sia per contenere dati stringa che numerici.

Non ho scaricato l'esempio di Klaus ma mi fido assolutamente, sono certo che funzioni.

E' un pò un macello perché da una App ne faccio due. Perciò ho dovuto sdoppiare il tutto e apportare delle modifiche. All'inizio in effetti funzionava anche con DirInternal poi non ci ho capito più un cavolo e non c'è stato più verso di farla funzionare in quel modo, anche provando a cambiare nome al file o cambiare la cartella. Bho!!! Sicuramente il mio modo di programmare é molto contorto e incasinato e di quello me ne rendo conto ma ormai alla mia età non si cambia. Cmq adesso funziona tutto e per il momento non ho intenzione di metterci mani a meno che qualcuno capisca il motivo del non funzionamento di DirInternal. Avrei dovuto provare forse su un'altro dispositivo forse provando sempre con uno si crea caos nella cartella. Per la variabile l'ho impostata come string anche se a questo punto visto le modifiche che avevo fatto potevo dichiararla int.
Conviene anche usare File.Combine.

Qui sinceramente non ci ho guardato a cosa serve e come usarlo.
If the file is used only be the given application DirInternal is the best choice.
If the file is shared with other applications an external storage is necessary, rp.GetSafeDirDefaultExternal() is the easiest.

Io avrei voluto usare DirInternal perché è la cosa migliore ma per un file non ho capito il motivo del non funzionamento.
 

LucaMs

Expert
Licensed User
Longtime User
Qui sinceramente non ci ho guardato a cosa serve e come usarlo.
Guarda l'help contestuale (sempre):
upload_2019-7-7_20-39-16.png



Può servire per "concatenare" più sub directory in un'unica stringa, anziché scrivere "Cartella1/cartella2..." e mi pare più sicuro.

Bho!!! Sicuramente il mio modo di programmare é molto contorto e incasinato e di quello me ne rendo conto ma ormai alla mia età non si cambia
A chi lo dici! Io se devo aggiungere una funzionalità ad un'app (cosa che sto facendo), dato che la funzionalità è complessa e non sono certo del risultato, la provo in un nuovo progetto, appunto di prova; poi magari funziona pure bene, ma per andare poi ad "inserirla" nell'app "principale", sono dolori :D

Io avrei voluto usare DirInternal perché è la cosa migliore ma per un file non ho capito il motivo del non funzionamento.
Secondo me non c'è motivo, è solo che usi del codice diverso.
 
Top