Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22
  1. #1

    [VB6] Caricamento immagini dinamico!

    Ciao! Io vorrei caricare le anteprime di un tot di immagini contenute in una cartella.

    Il problema è che non ho modo ne di sapere i nomi delle immagini, ne il numero ne se nella cartella ci sono sottocartelle...

    Stavo pensando si usare i FileSystemObject, per ottenere il nome di tutti i file immagine della cartella e relative sottocartelle.

    solo che non so come fare per:

    1. Creare abbastanza variabili per tutti i percorsi delle immagini rilevate (ci vuole un array? non so come farlo).

    2. Creare il numero neccessario di ImgBox (es se ci son 10 immagini devo creare 10 ImgBox se ce ne sono 5 devo crearne 5 e così via) via codice!

    Potete consigliarmi?

  2. #2

    prova

    allora per sapere tutti i file contenuti in una data cartella puoi far puntare una FileList alla tua directory principale delle immagini

    filelist.path = nome cartella

    a quel puntro ti basterà dargli i tipi di immagini che vuoi aprire(penso jpg)

    filelist.pattern= "*.jpg;*.bmp" e così via

    poi gli dai un refresh

    filelist.refresh

    a questo punto puoi scorrere con

    filelist.list(i) (questo è una variabile contenente il nome dell'immagine)

    a dimenticavo per sapere quante e quali directory usa l'ocx

    DirListBox e poi procedi come sopra per ogni cartella

    fine risposta 1

    per creare un numero varibile di ImageBox basta che crei una matrice di image box

    cioè....

    selezioni una image box e la posizioni sul tuo form
    copia incolla di quella image box ti chiederà se vuoi creare una matrice di controlli rispondi di si!
    cancelli la nuova imagebox
    (oppure se non vuoi fare copia incolla basta che setti la proprietà index della imagebos a 0)

    a questo punto per ogni immagine che vuoi caricare dovrai fare la
    load imagebox(i)
    e settargli la picture

    image(i).picture = loadPicture(filename, e altri parametri se ti servono)

    spero di esserti stato utile fammi sapere ciao ciao

  3. #3
    Ti ringrazio molto.
    Allora...per la conta delle immagini ho usato questo metodo:

    codice:
    Dim fso As New FileSystemObject
    Dim f As File
    Dim fd As Folder
    Dim estensione As String
    
    
    Private Sub Command1_Click()
    Set fd = fso.GetFolder("D:\sedie")
    For Each f In fd.Files
    estensione = fso.GetExtensionName(f)
    If estensione = "JPG" Or estensione = "BMP" Or estensione = "GIF" Then
    Qui ci va l'inserimento nella ImgBox che verrà creata via codice
    
    
    End If
    Next f
    
    End Sub

    Dove c'è la scritta rossa ho messo:

    codice:
    Image1(i).Picture = LoadPicture(f.Path)
    Dove Image1 è l'ImgBox che ho messo nello stage copiandolo e dicendogli di creare la matrice (e poi eliminando la copia).

    Solo che non me le crea...cioè mi fa vedere solo 1 immagine (cioè quella che ho sullo stage!)

  4. #4
    hai fatto la

    Load Image1(F)

    ?

    altrimenti te ne crea solo una

  5. #5
    non ho capito...

    io ho fato il load img come ti ho scritto su

  6. #6
    devi caricare prima l'ocx image(f) e poi carichi l'immagine quindi load picture

    tipo

    for i = 0 to 10
    load Image(i)
    Image(i).picture = LoadPicture ecc....
    next

    capito?

  7. #7
    no...

    Che significa ke devo caricare l'ocx?

    Io ho messo un imgbox nel progetto, l'ho copiata e incollata creando la matrice. Poi ho eliminato la copia ed ho lasciato solo l'originale.

    Non esiste un componente che mi carica le anteprime in automatico? ^^

    CIAO!

  8. #8
    Utente di HTML.it L'avatar di Boolean
    Registrato dal
    Oct 2005
    Messaggi
    758
    quello che sta cercando di dirti Luke è che devi, prima di associare l'immagine alla ImageBox, creare l'elemento della matrice di controlli di cui fa parte.

    in sostanza tu avrai sul form una ImgBox con proprietà Index settata a 0. questa è già una matrice di controlli Image, anche se di un solo elemento.

    ora, al momento di caricare le immagini devi prima predisporre la creazione del nuovo controllo imageBox sul form.
    e questo lo fai con
    codice:
    Load ImgBox(Indice)
    dove Indice è verosimilmente l'indice dell'ultimo elemento già eseistente nella matrice + 1

    Boolean

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    117
    Originariamente inviato da Pinco Pallino 2
    no...
    Io ho messo un imgbox nel progetto, l'ho copiata e incollata creando la matrice.
    Ciao, scusa, ma perchè caricare tutte le anteprime ? e se ne trovi mille ?

    Non è più pratico mostrarle a gruppi (p.es. sei per volta), consentendo lo spostamento avanti ed indietro dei gruppi, magari anche offrendo la ricerca per titolo ?

  10. #10
    Bravo era proprio quello che avevo in mente! Solo che nn riesco a farlo!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.