PDA

View Full Version : [VB] Immagini


Criptage
10-03-2010, 12:43
Salve, sono nuovo e alle prime armi... non riesco a inserire un bottone che mi permetta di cercare una immagine nel computer e visualizzarla in una picturebox.
e secondo problema, come faccio a salvare l'immagine nella cartella del programma e salvare l'indirizzo di quell'immagine in un db in modo che sfogliando (ad esempio una rubrica con immagini) si carichi automaticamente l'immagine?
Grazie mille ^.^

MarcoGG
10-03-2010, 13:29
"VB" vuol dire tutto e niente... :O
VB cosa ? VBA, VB1>6, VB.NET... ?

fero86
10-03-2010, 13:43
se fosse stato VBA avrebbe specificato anche l'applicazione per cui sta scriptando, quindi io direi di assumere che si tratti della versione piu recente di Visual Basic, cioé la 2008 o la 2010 (che sono .NET).

MarcoGG
10-03-2010, 18:47
se fosse stato VBA avrebbe specificato anche l'applicazione per cui sta scriptando, quindi io direi di assumere che si tratti della versione piu recente di Visual Basic, cioé la 2008 o la 2010 (che sono .NET).

Penso anch'io, ma prima di suggerire qualcosa aspetto conferme.
PictureBox è presente tanto in VB6 quanto in VB.NET, ( ed anche in VBA, con un certo "giro" ) ma l'assegnazione di un file immagine può variare anche di molto, soprattutto se si considera il tipo di accesso al file, una volta che l'immagine è caricata...

Più in generale coglierei l'occasione ( ennesima ) per consigliare a chiunque posti un qualsiasi quesito su "VB" di specificare SEMPRE la versione e l'ambito di utilizzo ( un codice validissimo ad es. su un progetto WinForms .NET potrebbe tranquillamente non esserlo affatto in un progetto CF, ecc... ).

Criptage
10-03-2010, 23:44
scusate l'imprecisione :(
utilizzo Visual Basic 6.0 e sto creando un database di prodotti tramite exe standard.... tramite questo database posso sfogliare e aggiungere o eliminare prodotti composti da descrizione e foto... il mio problema è caricare l'immagine per poi salvarla dove voglio io, per poi richiamarla mentre sfoglio i vari prodotti :D tutto ok? posso postare il codice se volete...

grazie mille

fero86
11-03-2010, 00:26
e un up per MarcoGG, visto che io assumendo VB.NET avrei sbagliato :D

MarcoGG
11-03-2010, 10:22
Per caricare l'immagine in una PictureBox VB6 il modo più semplice è questo :

Dim percorso As String
percorso = "C:\nomeFile.bmp"
Picture1.Picture = LoadPicture(percorso)
dove Picture1 è la PictureBox.

Ovvio che nel DB vai a scrivere/leggere solo il percorso completo, ossia in questo caso il contenuto della stringa "percorso", oppure ( cosa che farei io ) definisci una cartella per le immagini a cui fai riferimento con un path relativo a quello dell'applicazione, e in questo caso a DB inserisci solo il nome del file...

Criptage
12-03-2010, 23:46
okok... fino a qui ci sono arrivato anche io... il mio problema è un altro... devo scegliere tramite un tasto sfoglia l'immagine...

1. come faccio il tasto sfoglia per trovare l'immagine nell'hard disk da caricare? e quindi a caricarla?

2. una volta caricata come faccio a salvare l'immagine in una cartella del programma e scriverne il percorso sul db in modo da richiamarla quando voglio?


grazie :D mi sto facendo un culo così: :sofico: XD

MarcoGG
13-03-2010, 10:50
okok... fino a qui ci sono arrivato anche io... il mio problema è un altro... devo scegliere tramite un tasto sfoglia l'immagine...

1. come faccio il tasto sfoglia per trovare l'immagine nell'hard disk da caricare? e quindi a caricarla?

2. una volta caricata come faccio a salvare l'immagine in una cartella del programma e scriverne il percorso sul db in modo da richiamarla quando voglio?


Semplice, aggiungendo un controllo Common Dialog Control 6.0, ad esempio :
Dim percorso As String

CommonDialog1.Filter = "Files Immagine Supportati: jpg, bmp | *.jpg;*.bmp"
CommonDialog1.InitDir = "C:\"
CommonDialog1.ShowOpen
If CommonDialog1.FileName = "" Then
'Annullato dall'utente
Exit Sub
Else
percorso = CommonDialog1.FileName
End If

'La carico nella PictureBox
Picture1.Picture = LoadPicture(percorso)

'La copio in un'altra cartella
Dim nomeNuovoFile As String
nomeNuovoFile = "nomeFile" & Right(percorso, 4)
FileCopy percorso, "C:\cartellaImmagini\" & nomeNuovoFile

Per l'Inserimento a DB, come ho già detto prendi il percorso completo o il nome secco del file. Non posto codice perchè dipende da quale DB usi e da ciò che vuoi inserire.

Criptage
16-03-2010, 02:55
grazie mille :D