Autore Topic: FileView  (Letto 3251 volte)

  • Visitatore
FileView
« il: 30 Marzo 2008, 17:38:40 »
Mi trovo un pò in difficoltà :

Posso fare un FOR EACH ?      se metto IN fileview mi dice che non è enumerabile....


Poi ho bisogno di visualizzare i collegamenti con l'arrow .... è possibile sovrapporre due Picture ????

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: FileView
« Risposta #1 il: 30 Marzo 2008, 17:41:14 »
non ho capito bene le tue richiste!

cmq. le picture si possono sovrapporre

  • Visitatore
Re: FileView
« Risposta #2 il: 30 Marzo 2008, 17:50:16 »
Mi spiego meglio :

Ho un fileview con il contenuto della directory.
Il mio problema attualmente è che mi mostra tutti i files ( quasi tutti, tranne directory e file di testo ) con la stessa icona ( compresi i link) .

Volevo fare un FOR EACH ?file? IN ?fileview? e analizzarmi l'estensione e magari fare uno stat() in maniera tale da assegnare l'icona corretta.

Il problema è che fileview non è enumerabile ( così mi vien detto ). :muro:

Spero di esser stato più chiaro.  :aiuto:


Per quanto riguarda la sovrapposizione delle picture mi posti un esempio ? Altrimenti ci passo delle ore sopra  :-D    

Grazie Ciao

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: FileView
« Risposta #3 il: 30 Marzo 2008, 18:12:49 »
strano ... a me sembra che sia filewiew che filechoser visualizzino correttamente le icone.


Citazione
Per quanto riguarda la sovrapposizione delle picture mi posti un esempio ? Altrimenti ci passo delle ore sopra


dipende dove vuoi sovrapporre le picture.


ps. ti sei aggiornato a gambas 2.4.1? o sei ancora a 1.9.45?

  • Visitatore
Re: FileView
« Risposta #4 il: 30 Marzo 2008, 18:27:23 »
Sono riuscito as aggiornarmi alla 2.2 .... non ho trovato i pacchetti 2.4 slackware e compilare per me è una tragedia ....

Forse è perchè utilizzo gambas compilato in un altra piattaforma ... quindi non mi trova le icone.... boh ....

Le picture ho bisogno di sovrapporle proprio in questa applicazione : icona A + arrows del link.

A questo punto penso che aggirerò il problema facendo FOR EACH file IN dir(xxx,"*") e andando a riempire una iconview. (funziona ma diventa tutto + lungo e difficile)

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: FileView
« Risposta #5 il: 30 Marzo 2008, 19:36:16 »
Codice: [Seleziona]
PUBLIC SUB Button1_Click()

DIM img1 AS Image
DIM img2 AS Image
DIM pict AS Picture
DIM pict_tmp AS Picture


img1 = Image.Load("percorso mmagine 1")
img2 = Image.Load("percorso immagine 2")

pict = img1.copy().Picture
Draw.Begin(pict)
  pict_tmp = img2.copy().Picture
  Draw.Picture(pict_tmp, 0, 0)
Draw.End

'nella picture pict ora hai la sovrapposizione di img2 su img1
' logicamente img2 deve essere un immagine trasparente

END


questo per la sovrapposizione di due picture

Offline giulio

  • Maestro Gambero
  • ****
  • Post: 280
    • Mostra profilo
Re: FileView
« Risposta #6 il: 30 Marzo 2008, 20:45:57 »
Su slacky.eu, trovi i pacchetti 2.2.1. Non è l'ultima versione di Gambas, ma almeno è compilata per il tuo sistema. Ciao.

  • Visitatore
Re: FileView
« Risposta #7 il: 31 Marzo 2008, 20:00:29 »
fsurfing I LOVE YOU  :-) ......
ci avrei messo tipo una settimana a trovar fuori questa cosa della sovrapposizione .....

Giulio, io ho scaricato proprio quella , solo che utilizzo un linux (PuppyLinux) che è slackware compatibile quindi è possibile trovare qualche problemuzzino tipo quello delle icone ... poco male ....

Grazie, è veramente raro trovare gente così disponibile  :coccole:

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: FileView
« Risposta #8 il: 31 Marzo 2008, 20:20:26 »
di nulla! :ehm:


volendo la pictura sovrapposta la puoi anche salvare con

pict.save("percorso")

  • Visitatore
Re: FileView
« Risposta #9 il: 05 Aprile 2008, 16:28:16 »
Sto proseguendo con il mio progetto :

Faccio una cosa di questo tipo:

SUB immagine(immagine AS String, nome AS String, big AS Boolean)
  DIM img AS Image
  DIM pictureData AS String
  DIM scale AS Float
 
  DIM pict AS Picture
  DIM temporary AS Image
  img = Image.Load(immagine)
 
   IF img.Width > thumbSize OR img.Height > thumbSize THEN
     scale = Min(ThumbSize / img.Width, ThumbSize / img.Height)
     img = img.Stretch(img.Width * scale, img.Height * scale, TRUE)
     END IF
     
 
   pict = img.copy().Picture
   fmain.dir1.Add(NOME, NOME, pict)
   img.Clear

  IF big = TRUE THEN WAIT 1
END
'------ thumbsize lo setto in base alle esigenze

In sostanza mi prendo le immagini e le ridimensiono in base a ciò che mi serve.

Il problema è che se sono 5-6 mi si satura la RAM , se sono 20-30 mi si freeza il PC .....
Suppongo bisognerebbe scaricarle dalla memoria una volta aggiunte , l'unica cosa mi sembrava adeguata è img.clear ma ovviamente non funziona.(non posterei altrimenti)....

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: FileView
« Risposta #10 il: 05 Aprile 2008, 16:37:13 »
ma nel tuo programma usi gtk o qt?

  • Visitatore
Re: FileView
« Risposta #11 il: 05 Aprile 2008, 16:40:08 »
GTK ...

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: FileView
« Risposta #12 il: 05 Aprile 2008, 16:44:43 »
prova anche così:


Codice: [Seleziona]
SUB immagine(immagine AS String, nome AS String, big AS Boolean)
DIM img AS Image
DIM pictureData AS String
DIM scale AS Float

DIM pict AS Picture
DIM temporary AS Image
img = NEW Image
img = Image.Load(immagine)

IF img.Width > thumbSize OR img.Height > thumbSize THEN

img = img.Stretch(thumbSize, thumbSize, TRUE)
END IF


pict = img.copy().Picture
fmain.dir1.Add(NOME, NOME, pict)


IF big = TRUE THEN WAIT 1


io di solito le immagini le carico tutte in memoria all' avvio gia nelle dimensioni che mi occorrono e poi le utilizzo all' occorenza.

mi è capitato di usate più di 100 immagini senza alcun problema.

ps. prima ti  ho chiesto se usavi gtk o qt perchè fino a qualche tempo fa ho riscontrato consumi enormi di memoria in progetti che usavano immagini , con le librerie gtk.
non ho verificato se la cosa sia ancora cosi per le nuive versioni di gambas ..se puoi usa le qt.

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: FileView
« Risposta #13 il: 05 Aprile 2008, 16:51:24 »
mi sa che sono proprio le gtk!!

  • Visitatore
Re: FileView
« Risposta #14 il: 05 Aprile 2008, 16:54:17 »
Anche con la tua modifica si sovraccarica tutto...

Salvo passare alle QT e il problema sparisce ......  :evil: Uso le QT e ho un ploblema da una parte ( oltre alla grafica che non mi gusta più di tanto ) uso GTK e ho un problema dall'altra parte ....