Italian [B4A] Inserire nuovi pdf

Aldo's

Active Member
Licensed User
Chiedo scusa per il titolo poco chiaro, spero di spiegarmi meglio nella desrizione.
Ho un'app che serve a leggere dei pdf. Fin qui tutto ok, funziona tutto alla perfezione con i pdf che allego ai files del mio progetto.
Se volessi aggiungere altri pdf da app, come posso fare?
Si possono inviare tramite mail, scaricarli in una cartella download dall'app della mail e poi inserirli in File.DirInternal?
Esistono altri metodi più efficaci?
Grazie
 

Lucas Siqueira

Active Member
Licensed User
Longtime User
Puoi selezionare i file da scaricare o scaricare utilizzando il selettore e copiare i file per la pasta interna dell'applicazione.

 

Lucas Siqueira

Active Member
Licensed User
Longtime User
in b4a

B4X:
...
Wait For (MediaFromContentChooser) Complete (FileName As String)
If FileName <> Null Then
    Log("FileName: " & FileName)
Else
    Log("Errore: nessun file selezionato.")
End If
...

' Subroutine che permette di selezionare un file PDF tramite ContentChooser e restituisce il nome del file
Private Sub MediaFromContentChooser As ResumableSub
    #if b4a ' Questo blocco viene compilato solo per B4A (Android)
    
    ' Dichiarazione e inizializzazione di ContentChooser, usato per selezionare un file sul dispositivo
    Dim cc As ContentChooser
    cc.Initialize("cc") ' Inizializza il ContentChooser con l'evento "cc"
    
    ' Apre il selettore di file per scegliere un documento di tipo PDF
    cc.Show("application/pdf", "Select the document PDF")
    
    ' Attende il risultato del ContentChooser (se l'utente ha selezionato un file o meno)
    Wait For cc_Result (Success As Boolean, Dir As String, FileName As String)
    
    ' Verifica se l'utente ha selezionato un file con successo
    If Success Then
        
        ' Controlla se esiste già un file con lo stesso nome nella directory di destinazione
        If File.Exists(xui.DefaultFolder, FileName) Then 
            File.Delete(xui.DefaultFolder, FileName) ' Elimina il file esistente per evitare conflitti
        End If
        
        ' Copia il file selezionato nella directory di destinazione in modo asincrono
        Wait For (File.CopyAsync(Dir, FileName, xui.DefaultFolder, FileName)) Complete (CopySuccess As Boolean)
        
        ' Verifica se la copia è stata completata con successo
        If CopySuccess Then
            Return FileName ' Restituisce il nome del file copiato
        End If
    End If
    
    #End If ' Fine del blocco specifico per B4A
    
    ' Restituisce Null se qualcosa è andato storto o se l'utente non ha selezionato un file
    Return Null
End Sub
 
Top