Originariamente inviato da Games
mi spieghi questo?
If Right$(App.Path, 1&) <> "\" Then AppPath = AppPath & "\"
Sicuro. L'avevo accennato in precedenza:
La variabile AppPath, contiene il percorso dell'applicazione completo di separatore finale
indipendentemente dal fatto che si trovi nella root principale o in una sottocartella.
Praticamente con la Right ti fai restituire l'ultimo carattere della stringa App.Path, che equivale al percorso da cui è stata lanciata l'applicazione.
Se il programma si trova in C:\ verrà restituita la stringa "C:\" appunto, se al contrario si trova in una sottocartella verrà restituita una stringa del genere: "C:\Sottocartella", cioè senza separatore finale.
Siccome nell'esempio serviva il percorso completo del file immagine, che era legato alla cartella d'esecuzione in quanto Upload era una sua sottocartella, bisognava verificare la presenza del separatore "\" per evitare errori.
Ora passiamo al resto...
Se ho ben capito la struttura delle cartelle è tipo questa:
codice:
C:\NomeProgramma\Download\Programma.exe
C:\NomeProgramma\Upload\7270.jpg
Se è così, l'esempio precedente non è più valido ma devi fare qualche modifica:
codice:
Dim PathQuery As String
Dim CartellaPrincipale As String
PathQuery = "Upload\7270.jpg"
If Right$(App.Path, 1&) <> "\" Then
CartellaPrincipale = Left$(App.Path, InStrRev(App.Path, "\"))
If Len(Dir$(CartellaPrincipale & PathQuery)) > 0& Then
Picture1.Picture = LoadPicture(CartellaPrincipale & PathQuery)
End If
End If
In questo caso devi prima ottenere la cartella del programma sempre dal percorso da cui è stato eseguito l'applicativo (nell'esempio precedente "C:\NomeProgramma\"). Ottenuta la cartella ci aggiungi il risultato della query.
Il primo If serve ad evitare di procedere con il caricamento dell'immagine nel caso in cui il programma sia stato "spostato" ed eseguito dalla root principale (C:\). Ciò sarebbe inutile perchè dietro la root non ci sono altre cartelle
Il secondo If invece serve a verificare l'esistenza del file (che ad esempio potrebbe essere stato rimosso).
Se vuoi dimensionare la Picture in base alla grandezza dell'immagine, ti basta impostare la proprietà AutoSize su True.
Originariamente inviato da Games
io visual so usarlo solo per il database
Quello che piacerebbe fare a me...