Newsgroup: it.comp.lang.visual-basic
Titolo: FreePOP     VB6

Tempo fa ho scaricato dal sito comune il controllo FreePOP che serve per
leggere la posta.
Ora lo sto provando e mi sembra utile per dare
un'occhiata veloce alla posta e cancellare tutto se
c'è solo della "porcheria".
L'unico problema che ho riscontrato è che il testo
del messaggio, se in formato HTML, si legge male.
Dal momento che non so quasi niente di HTML
volevo chiedervi se esista una Funzione in VB6 che,
passando un testo in formato HTML, restituisca un
testo "ripulito".
Grazie e saluti a tutti.
Sauro

Sauro Vicchi ha scritto:

Tempo fa trovai su internet la funzione HTML2TXT in un modulo.
Se non la trovi dimmelo che te la passo.
bye
-- 
Gestione Ottica - Gestionale per Ottici e Programmi Gratuiti su:
http://www.nicolaottomano.it
Sinapsi Antispam. Antispam Gratuito.
http://www.nicolaottomano.it/sinapsi.htm
email spamtrap: 
spam...@nicolaottomano.it

 Sauro
Salva tutto in un file.Html ed aprilo con il
controllo WebBrowser, oppure puoi anche passarlo
come stringa, ma č un pň piů complesso, devi
strutturare il controllo in modo da ricevere
la stringa da passare cosě: 
Me.WBrowser.Document.body.innerHTML = strIn
Ciao
@Alex
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 controllo WebBrowser, oppure puoi anche passarlo
E tu usi un intero webbrowser (15MB se ti va bene!) per fare un semplice 
parsing dell' HTML? Stai usando un tir per trasportare una mela...


 Se non la trovi dimmelo che te la passo.
Ciao Nicola e grazie per la dritta.
L'ho trovato e scaricato ma non riesco a capire come funziona (non conosco
il C).
C'è un exe che, se lanciato, compare per un attimo e poi
si richiude.
Ciao, Sauro

 @Alex
Ciao Alex.
Per la verità non ho ben capito quello che dici.
Però mi sembra di capire che non poteri fare il tutto
all'interno di un programma VB.
E' così?
Ciao, Sauro

 il C).
Esiste una versione VB. Te la incollo così fai prima:
Option Explicit
Public Function HTML2Text(ByVal OrigHTML As String, Optional ByVal 
ImgText As String = "") As String
'ImgText: Text, der statt Bildern eingefügt wird.
'         Sonderinhalte: %imgsrc für Bilddateiname, %imgalt für Alt-Text
   Dim CurrChar As String
   Dim NoHTML As String
   Dim hRef As String
   Dim x As Integer
   Dim z As Integer
   Dim imgFile As String
   Dim imgAlt As String
   Dim Params As String
   Dim BlockQuote As Boolean
   On Error Resume Next
   ' Prüfen, ob <BODY>-Tag vorhanden
   ' wenn ja befindet sich der relevante HTML-Teil
   ' zwischen <BODY> und </BODY>
   If InStr(LCase$(OrigHTML), "<body") > 0 Then
     OrigHTML = Mid$(OrigHTML, InStr(LCase$(OrigHTML), "<body"))
     OrigHTML = Mid$(OrigHTML, InStr(OrigHTML, ">") + 1)
     If InStr(LCase$(OrigHTML), "</body>") > 0 Then _
         OrigHTML = Left$(OrigHTML, InStr(LCase$(OrigHTML), "</body>") - 1)
   End If
   ' HTML-Text zeichenweise "scannen"
   Do While Len(OrigHTML)
     CurrChar = Left$(OrigHTML, 1)
     OrigHTML = Mid$(OrigHTML, 2)
     Select Case CurrChar
       Case " "
         OrigHTML = LTrim$(OrigHTML)
       Case vbCr, vbLf
         If Right$(NoHTML, 1) <> " " And Right$(NoHTML, 2) <> vbCrLf 
Then CurrChar = " " Else CurrChar = ""
         If Left$(OrigHTML, 1) = vbLf Then OrigHTML = Mid$(OrigHTML, 2)
         OrigHTML = LTrim$(OrigHTML)
       'HTML-Steuerzeichen
       Case "<"
         CurrChar = ""
         If InStr(OrigHTML, ">") > 0 Then
           CurrChar = Left$(OrigHTML, InStr(OrigHTML, ">") - 1)
           OrigHTML = Mid$(OrigHTML, InStr(OrigHTML, ">") + 1)
           If InStr(CurrChar, " ") > 0 Then
             Params = ReplaceChars(Trim$(Mid$(CurrChar, InStr(CurrChar, 
" ") + 1)), vbCrLf, "")
             CurrChar = Left$(CurrChar, InStr(CurrChar, " ") - 1)
           Else
             Params = ""
           End If
           Dim ParamColl As Collection
           Select Case LCase$(CurrChar)
             Case "p"
               If Right$(NoHTML, 4) <> vbCrLf & vbCrLf Then _
                 CurrChar = vbCrLf & vbCrLf Else CurrChar = ""
             Case "/div"
               If Right$(NoHTML, 2) <> vbCrLf Then _
                 CurrChar = vbCrLf Else CurrChar = ""
             Case "br"
               CurrChar = vbCrLf
             Case "ul", "/ul", "ol", "/ol"
               CurrChar = vbCrLf
             Case "li"
               CurrChar = vbCrLf & "   - "
             Case "blockquote"
               BlockQuote = True
               CurrChar = ""
             Case "/blockquote"
               BlockQuote = False
               CurrChar = ""
             Case "img"
               If Len(ImgText) > 0 Then
                 Set ParamColl = StripByCharAndQuotes(Params, " ")
                 imgAlt = ""
                 imgFile = ""
                 For z = 1 To ParamColl.Count
                   If LCase$(Left$(ParamColl(z), 4)) = "src=" Then
                     imgFile = StripQuotes(Mid$(ParamColl(z), 5))
                   ElseIf LCase$(Left$(ParamColl(z), 4)) = "alt=" Then
                     imgAlt = StripQuotes(Mid$(ParamColl(z), 5))
                   End If
                   If Len(imgAlt) > 0 And Len(imgFile) > 0 Then Exit For
                 Next
                 If Len(Trim$(imgAlt)) = 0 Then imgAlt = "Image " & imgFile
                 ImgText = ReplaceChars(ImgText, "%imgalt", imgAlt)
                 ImgText = ReplaceChars(ImgText, "%imgsrc", imgFile)
                 CurrChar = " " & ImgText & " "
               Else
                 CurrChar = ""
               End If
             Case "a"
               Set ParamColl = StripByCharAndQuotes(Params, " ")
               hRef = ""
               For z = 1 To ParamColl.Count
                 If LCase$(Left$(ParamColl(z), 5)) = "href=" Then
                   hRef = StripQuotes(Mid$(ParamColl(z), 6))
                   Exit For
                 End If
               Next
               CurrChar = ""
             Case "/a"
               CurrChar = ""
               If Len(Trim$(hRef)) > 0 Then
                 If LCase$(Left$(hRef, 7)) = "mailto:" Then hRef = 
Mid$(hRef, 8)
                 If LCase$(Right$(Trim$(NoHTML), Len(hRef))) <> 
LCase$(hRef) Then
                   If Not (LCase$(Left$(hRef, 7)) = "http://" And 
LCase$(Right$(Trim$(NoHTML), Len(hRef) - 7)) = LCase$(Mid$(hRef, 8))) Then
                     CurrChar = " [" & hRef & "]"
                     hRef = ""
                   End If
                 End If
               End If
             Case "hr"
               CurrChar = vbCrLf
               For x = 1 To 70
                 CurrChar = CurrChar & "-"
               Next
               CurrChar = CurrChar & vbCrLf
             Case "sigboundary"
               CurrChar = vbCrLf & "-- " & vbCrLf
             Case "script"
               CurrChar = ""
               If InStr(LCase$(OrigHTML), "</script>") > 0 Then _
                 OrigHTML = Mid$(OrigHTML, InStr(LCase$(OrigHTML), 
"</script>"))
             Case "pre"
               CurrChar = vbCrLf
               If InStr(LCase$(OrigHTML), "</pre>") > 0 Then
                 CurrChar = CurrChar & Left$(OrigHTML, 
InStr(LCase$(OrigHTML), "</pre>") - 1)
                 OrigHTML = Mid$(OrigHTML, InStr(LCase$(OrigHTML), 
"</pre>"))
               End If
               CurrChar = CurrChar & vbCrLf
             Case Else
               CurrChar = ""
           End Select
         End If
       Case "&"
         If InStr(OrigHTML, ";") > 0 And (InStr(OrigHTML, ";") < 
InStr(OrigHTML, " ") Or InStr(OrigHTML, " ") = 0) Then
           CurrChar = Left$(OrigHTML, InStr(OrigHTML, ";") - 1)
           OrigHTML = Mid$(OrigHTML, InStr(OrigHTML, ";") + 1)
           Select Case CurrChar
             Case "amp"
               CurrChar = "&"
             Case "quot"
               CurrChar = """"
             Case "lt"
               CurrChar = "<"
             Case "gt"
               CurrChar = ">"
             Case "nbsp"
               CurrChar = " "
             Case "Auml"
               CurrChar = "Ä"
             Case "auml"
               CurrChar = "ä"
             Case "iexcl"
               CurrChar = "¡"
             Case "cent"
               CurrChar = "¢"
             Case "pound"
               CurrChar = "£"
             Case "curren"
               CurrChar = "¤"
             Case "yen"
               CurrChar = "¥"
             Case "brvbar"
               CurrChar = "|"
             Case "sect"
               CurrChar = "§"
             Case "uml"
               CurrChar = "¨"
             Case "copy"
               CurrChar = "©"
             Case "ordf"
               CurrChar = "ª"
             Case "laquo"
               CurrChar = "«"
             Case "not"
               CurrChar = "¬"
             Case "reg"
               CurrChar = "®"
             Case "macr"
               CurrChar = "¯"
             Case "deg"
               CurrChar = "°"
             Case "plusm"
               CurrChar = "±"
             Case "sup2"
               CurrChar = "²"
             Case "sup3"
               CurrChar = "³"
             Case "acute"
               CurrChar = "´"
             Case "micro"
               CurrChar = "µ"
             Case "para"
               CurrChar = "¶"
             Case "middot"
               CurrChar = "·"
             Case "cedil"
               CurrChar = "¸"
             Case "sup1"
               CurrChar = "¹"
             Case "ordm"
               CurrChar = "º"
             Case "raquo"
               CurrChar = "»"
             Case "frac14"
               CurrChar = "¼"
             Case "frac12"
               CurrChar = "½"
             Case "frac34"
               CurrChar = "¾"
             Case "iquest"
               CurrChar = "¿"
             Case "Agrave"
               CurrChar = "À"
             Case "Aacute"
               CurrChar = "Á"
             Case "Acirc"
               CurrChar = "Â"
             Case "Atilde"
               CurrChar = "Ã"
             Case "Aring"
               CurrChar = "Å"
             Case "AElig"
               CurrChar = "Æ"
             Case "Ccedil"
               CurrChar = "Ç"
             Case "Egrave"
               CurrChar = "È"
             Case "Eacute"
               CurrChar = "É"
             Case "Ecirc"
               CurrChar = "Ê"
             Case "Euml"
               CurrChar = "Ë"
             Case "Igrave"
               CurrChar = "Ì"
             Case "Iacute"
               CurrChar = "Í"
             Case "Icirc"
               CurrChar = "Î"
             Case "Iuml"
               CurrChar = "Ï"
             Case "ETH"
               CurrChar = "Ð"
             Case "Ntilde"
               CurrChar = "Ñ"
             Case "Ograve"
               CurrChar = "Ò"
             Case "Oacute"
               CurrChar = "Ó"
             Case "Ocirc"
               CurrChar = "Ô"
             Case "Otilde"
               CurrChar = "Õ"
             Case "Ouml"
               CurrChar = "Ö"
             Case "times"
               CurrChar = "×"
             Case "Oslash"
               CurrChar = "Ø"
             Case "Ugrave"
               CurrChar = "Ù"
             Case "Uacute"
               CurrChar = "Ú"
             Case "Ucirc"
               CurrChar = "Û"
             Case "Uuml"
               CurrChar = "Ü"
             Case "Yacute"
               CurrChar = "Ý"
             Case "THORN"
               CurrChar = "Þ"
             Case "szlig"
               CurrChar = "ß"
             Case "agrave"
               CurrChar = "à"
             Case "aacute"
               CurrChar = "á"
             Case "acirc"
               CurrChar = "â"
             Case "atilde"
               CurrChar = "ã"
             Case "aring"
               CurrChar = "å"
             Case "aelig"
               CurrChar = "æ"
             Case "ccedil"
               CurrChar = "ç"
             Case "egrave"
               CurrChar = "è"
             Case "eacute"
               CurrChar = "é"
             Case "ecirc"
               CurrChar = "ê"
             Case "euml"
               CurrChar = "ë"
             Case "igrave"
               CurrChar = "ì"
             Case "iacute"
               CurrChar = "í"
             Case "icirc"
               CurrChar = "î"
             Case "iuml"
               CurrChar = "ï"
             Case "eth"
               CurrChar = "ð"
             Case "ntilde"
               CurrChar = "ñ"
             Case "ograve"
               CurrChar = "ò"
             Case "oacute"
               CurrChar = "ó"
             Case "ocirc"
               CurrChar = "ô"
             Case "otilde"
               CurrChar = "õ"
             Case "ouml"
               CurrChar = "ö"
             Case "divide"
               CurrChar = "÷"
             Case "oslash"
               CurrChar = "ø"
             Case "ugrave"
               CurrChar = "ù"
             Case "uacute"
               CurrChar = "ú"
             Case "ucirc"
               CurrChar = "û"
             Case "uuml"
               CurrChar = "ü"
             Case "yacute"
               CurrChar = "ý"
             Case "thorn"
               CurrChar = "þ"
             Case "yuml"
               CurrChar = "ÿ"
             Case Else
               CurrChar = "&" & CurrChar & ";"
           End Select
         End If
     End Select
     If Right$(CurrChar, 2) = vbCrLf And BlockQuote Then _
       CurrChar = CurrChar & "> "
     NoHTML = NoHTML & CurrChar
   Loop
   NoHTML = Trim$(NoHTML)
   Do While Left$(NoHTML, 2) = vbCrLf
     NoHTML = Trim$(Mid$(NoHTML, 3))
   Loop
   Do While Right$(NoHTML, 2) = vbCrLf
     NoHTML = Trim$(Left$(NoHTML, Len(NoHTML) - 2))
   Loop
   HTML2Text = NoHTML
End Function
Private Function ReplaceChars(ByVal OrgString As String, ByVal ToReplace 
As String, ByVal ToInsert As String) As String
   Dim ST As Long
   Dim newst As Long
   ST = 0
   Do While InStr(ST + 1, LCase$(OrgString), LCase$(ToReplace)) <> 0
     newst = InStr(ST + 1, LCase$(OrgString), LCase$(ToReplace))
     OrgString = Left$(OrgString, InStr(ST + 1, LCase$(OrgString), 
LCase$(ToReplace)) - 1) & ToInsert & Mid$(OrgString, InStr(ST + 1, 
LCase$(OrgString), LCase$(ToReplace)) + Len(ToReplace))
     ST& = newst + Len(ToInsert) - 1
   Loop
   ReplaceChars = OrgString
End Function
Private Function StripByCharAndQuotes(ByVal OrgString As String, 
StripChar As String) As Collection
   Dim Scoll As Collection
   Dim x As Long, Y As Long
   Set Scoll = New Collection
   Do
     x = InStr(OrgString, StripChar)
     Y = InStr(OrgString, Chr$(34))
     If Y > 0 And Y < x Then
       Y = InStr(Y + 1, OrgString, Chr$(34))
       Do While Y > x And Y > 0 And x > 0
         x = InStr(x + 1, OrgString, StripChar)
       Loop
     End If
     If x > 0 Then
       Scoll.Add Left$(OrgString, x - 1)
       OrgString = Mid$(OrgString, x + 1)
     Else
       Scoll.Add OrgString
       OrgString = ""
     End If
   Loop While Len(OrgString) > 0
   Set StripByCharAndQuotes = Scoll
   Set Scoll = Nothing
End Function
' Entfernt überflüssige Anführungszeichen
Private Function StripQuotes(ByVal sText As String) As String
   If Left$(sText, 1) = Chr$(34) Then sText = Mid$(sText, 2)
   If Right$(sText, 1) = Chr$(34) Then sText = Left$(sText, Len(sText) - 1)
End Function


 Ciao, Sauro
Salutando anche Nicola Ottomano con il quale
condivido l'osservazione, ma non spetta me fare
valutazioni di questo tipo, questa è solo una
soluzione che ritengo praticabile.
Con il metodo che ti ho suggerito, non hai bisogno
di fare Parsing o decodifica, passi al Controllo
WebBrowser un OCX da inserire in una Maschera direttamente
la stringa HTML, ci pensa lui a rendela leggibile
non alterando la Formattazione grafica.
Come diceva Nicola in effetti questo controllo oltre essere
molto corposo ben 15Mb è anche abbastanza complesso nell'uso
ma se ritieni possa risolverti il problema resta a te la valutazione
di usarlo.
Saluti.


 bye
Ciao Nicola, concordo con te, ma la soluzione è attuabile
poi la valutazione di come sia più conveniente spetta
giustamente allo sviluppatore che è a conoscenza della sua
esigenza.
Avrebbe potuto copiare in Clipboard il testo e lasciare
la conversione a Win facendo un Past del solo TXT, probabilmente
sarebbe più veloce e sicuro del codice del parsing...!
Se non sbaglio su VBAccelerator c'è qualche cosa di già fatto. 
Saluti.


> Esiste una versione VB. Te la incollo cosě fai prima:
Poi (provando in DOS) avevo capito come funzionava:
HTML2 TXT  NomeFileHTML  NomeFileTXT
ed avevo preparato una funzioncina che risolveva
passando attraverso i 2 files.
Molto meglio quella che mi hai mandato.
Grazie Nicola.
Ciao, Sauro

 molto corposo ben 15Mb
[...CUT...]
Ragazzi, scusate se mi intrometto, già un'altra volta ero stato coinvolto in
una discussione su qs. argomento, ma allora nessuno aveva parlato di
dimensioni e avevo liquidato la cosa a cuor leggero.
Nicola, appena ho letto il tuo post sono andato subito a ricontrollare i
file di due miei progetti.
Dunque: in ognuno ho una form con sei (!!) controlli WebBrowser, e li
utilizzo soltanto per visualizzare dei GIF animati, cioè il tir per la mela.
Bene, dei due progetti il più pesante ha questi numeri: l'intera cartella
del progetto, inclusi i GIF, è 1,01 Mb. Il file .frm che contiene i
controlli WebBrowser (tutti e sei su un solo form) pesa 15,5 kb, e il
relativo file .frx è 3,69 kb. Il file .exe compilato è di 724 kb, e contiene
10 form e un cinquantina di icone, oltre ai sei GIF e ai sei controlli
WebBrowser. Il file .msi del pacchetto di installazione pesa 3,87 Mb.
Nell'altro progetto i file sono ancora meno ingombranti.
Allora, che mi sono perso? Dove sono finiti i 90 Mb per progetto che dovrei
portarmi dietro? Non è che il pacchetto di installazione mi ha saltato
qualcosa, e alla fine l'eseguibile non funziona? Non è che il VSI non
riconosce il controllo WebBrowser tra le dipendenze?
Anche il file C:\Windows\System\shdocvw.oca (nella finestra Riferimenti è
indicato come MIcrosoft Internet Controls) pesa solo 61,5 kb, e il file
shdocvw.dll pesa 1,27 Mb.
La tua affermazione sui 15 Mb per controllo mi inquieta molto, vorrei che tu
la verificassi e mi dessi una risposta precisa. Non è assolutamente una
polemica, ma se è vero ciò che dici devo assolutamente ricontrollare i miei
pacchetti di installazione.
Aspetto con ansia.
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 ha scritto

sospetto che nicola intendesse quello che ti avevo accennato.
il webbrowser in sostanza è ie.
in questo momento, mentre per navigare uso firefox, sto leggendo un html
salvato su disco con un exe mio che usa il wb (per guardarsi i file su disco
in modo comodo).
l'html sono +-100k.
in taskman, il mio exe (senza niente particolar) sta usando 15.4 di ram e
6.6 di swap.
come ti dicevo, se uno ha 128m, cacciarne via 20 per un gif...
per quanto ricordo, il pacchetto d'installazione non dovrebbe (= shouldnt,
non può legalmente: magari controlla) comprendere wb/shodocw ecc., non a
caso ms presuppone che ci sia una versione di ie sulla macchina target.
ciao, a.

 non può legalmente: magari controlla) comprendere wb/shodocw ecc.
Ora devo reinstallare il VSI, ma appena posso gli darò un'occhiata. Mi
sembra un particolare da non sottovalutare.
Comunque grazie per l'interessamento. Mi interessa anche il parere di
Nicola.


 sembra un particolare da non sottovalutare.
scherzi e gusti a parte, non lo è. se continui col wb, dovrebbe essere
sufficiente controllare che ci sia un ie aggiornato. se non c'e' -> msgbox
"aggiornalo!" :)
per l'ufficio con il wb ho fatto un browser molto murato, mettendo solo exe
e alcuni ini su macchine con w2k e ie6 aggiornati, e va benone.
per evitare setup e menate (agli user senza diritti i commoncontrols danno
noie anche se registrati) ho messo pulsanti standard, e in barra di stato un
picbox+label. la dll di vb in windows c'e' gia'.
ma sono macchine del 97, con ram rimediata. c'e' una sola finestra del mio
exe come shell.
il tuo gif le stroncherebbe.
sospetto che di macchine cosi' ce ne siano ancora varie in giro.
vedi tu, il programma e' tuo :)
ciao, a.

 Aspetto con ansia.
Il controllo webbrowser in realtà va a chiamare IE che, se non lo stai 
usando, ti peserà inutilmente 15MB in memoria.
Per memoria intendo la RAM e non il peso dell'eseguibile+files esterni.
Anche Sinapsi Antispam occupa 2.4MB in HD, ma le dll che chiama (e le 
varie cose che chiama in memoria+Garbage collector e compagnia bella) ti 
porta a pesare in _RAM_ dagli 8MB ai 22MB (a secoda di quello che sta 
facendo in quel momento).
Chiamare un webbrowser per leggere una mail vuol dire aggiungere 15MB di 
roba inutile in RAM. Se nel mentre stai navigando allora non noti grosse 
differenze. Ma pensa: se l'utente sta usando il tuo programma, quante 
possibilità ci sono che contemporaneamente stia navigando?


 dovrei portarmi dietro?
Riassumo un po'...
* Il controllo WB č in pratica un'istanza di IE.
* Nel prog di installazione non c'č, ovviamente, ma devi prevedere
    IE come prerequisito, se vuoi usare il WB.
* No, non lo puoi ridistribuire.
* Sě, IE si puň eliminare e disinstallare (98lite, ieradicator e simili).
* Consigli: se sono GIF fisse convertile in BMP o JPG e caricale
    in una ImageBox, se sono animate puoi:
        a) sostituirle con tante BMP e passare dall'una all'altra
            con un timer (lo so, č ORRIDO :-) )
        b) usare un altro controllo o dll che le visualizzi
        c) sostituirle con immagini fisse. A me, un prog con immagini
            in movimento dopo 5 minuti fa onco. Gusti, eh :-).
* In Taskman, non guardare solo la memoria fisica occupata,
    ma anche le pagine swappate. Sono quelle che rallentano,
    o segno di rallentamento: scrivere su disco č svariati ordini
    di grandezza piů lento che farlo in memoria.
* Al posto del TaskMan, prova Process Explorer da
 
www.sysinternals.com
, tutt'altra cosa :-)
* La memoria: in linea MOLTO generale, se il tuo prog č un gioco
    o roba grafica pesante, puň anche permettersi di richiedere
    una macchina ben dotata (sempre specificandolo nei prerequisiti),
    altrimenti dovrebbe poter girare anche su hardware minimale.
* Tutto quanto sopra č totalmente, irrimediabilmente, irrevocabilmente
    e insindacabilmente *IMVHO* :-))
Bye, G.

     e insindacabilmente *IMVHO* :-))
ma tutto molto corretto.
unica cosa, dato che image e picture leggono i gif, puo' usare frames in
gif, o a quel punto jpeg, che guadagna in colori. eviterei i bmp, seno' poi
non occupa ram ma gli serve un disco apposta :)
ciao, a.

 seno' poi non occupa ram ma gli serve un disco apposta :)
Beh, si parlava di gif animate, non penso siano tanto grandi.
Le JPG, per essere mandate sullo schermo devono pur venire
decompresse, in BMP dovrebbe essere un po' più veloce caricarle.
O forse no, caricare un file più piccolo da disco e decomprimerlo
in memoria potrebbe essere più veloce. Uhmmm... si potrebbero
fare delle prove, ma ho come l'idea che non ne valga la pena :-)
Anche perché uno potrebbe avere una CPU scrausa e magari
il disco SCSI a 10K giri, o invece un vecchio IDE su un 4GHZ;
e poi, chissà che succede su un doppio processore ? :-)
Un Paperino peluovista :-P

 e poi, chissà che succede su un doppio processore ? :-)
dipende. se i frame dell'anigif li carichi da 
http://www.anigif.co.uk.jp
, se
in quel momento non è sotto carico, hai una t3, una scheda video discreta, e
se nel frattempo non stai ridimensionando un psd da 1.5 gb (pshop li usa
tutti e due, i processori. non ha i pulsanti copia-incolla, ma usa tutti i
processori che trova, così dopo che hai perso venti secondi a mollare il
mouse e il tasto control e fare ^C ^V, guadagna almeno quei 3 ns che fanno
la differenza) -- dovrebbe andare abbastanza bene :P
ti ha detto che sta usando dei gif animati.
non ti ha detto quali.
se vuoi te ne mando, anzi è sul sito, uno da 4 mb :)
ciao, a.

 che fanno la differenza)
LOL
Bye, G.


Spiritosoni! Io queste cose non le faccio (anche perché anigif non mi si
apre, porc...)!!
No,a parte gli scherzi, se volete avere un'idea delle gif che uso, qui ce
n'è una
http://www.3dflags.com/html/en/icon/classic/i/italy_2faws.html
Comunque ho letto tutto il thread, l'argomentazione è interessante e merita
di essere letta tutta. Le mie conclusioni sono che, per il progetto che ho
già fatto, posso permettermi di utilizzare il WB, in virtù della potenza e
della configurazione delle macchine del cliente, del fatto che spesso anche
IE è in esecuzione contemporaneamente al mio programma, e che l'estetica di
questo programma gioca un ruolo importante, ma ho capito che in futuro dovrò
considerare il contesto su cui l'applicativo dovrà girare e scegliere di
conseguenza.


 
http://www.3dflags.com/html/en/icon/classic/i/italy_2faws.html
ho scaricato la bandiera italiana grande.
ho cercato "gif" sul sito comune
(nicola: sorry, ma ho beccato un'altra stranezza. il primo risultato e' la
gif89.dll che cercavo, fornita con esempio da luca dormio. l'ultimo in basso
nella pagina dovrebbe essere un ocx fornito da federico galli, ma flashget
mi ha scaricato lo stesso gif.zip da 84k anziche uno da 45 come nella
descrizione. puoi controllare? magari si è incasinato flashget. grazie).
ho aperto l'esempio di luca dormio, copiando la dll in system32 e
registrandola
c:\winnt\system32\>regsvr32 gif89.dll
con irfanview ho guardato le dimensioni del gif, 132*90.
ho moltiplicato per 15 e cambiate di conseguenza le dimensioni del
controllo.
make exe
col commondialog -> puntata l'immagine.
va.
va anche il trasparente, e vedo ora che c'e' l'autosize e potevo evitarmi il
resize a manina :P
pero', ripeto, il progetto e' tuo, fai come credi meglio.
ciao, a.

 descrizione. puoi controllare? magari si è incasinato flashget. grazie).
No. Il problema c'è e non posso risolverlo.
Purtroppo se viene pubblicato un file con un nome uguale ad un già 
presente, questo viene riscritto.
Purtroppo non è possibile recuperare il vecchio file (a meno che non vi 
sia un backup datato prima del 23/05/2002 ma ne dubito).


 bye
ho guardato in un teleport che avevo sottomano, ma è parziale e del 93.
prima ne avevo fatti degli altri, più completi. se trovo il cd e c'e' lo zip
lo rimando al s.c.
ciao, a.

 pero', ripeto, il progetto e' tuo, fai come credi meglio.
Si, ripeto, ho detto "posso permettermi...", intendevo "soltanto per quel
progetto", esistente e funzionante da mesi, e che altrimenti dovrei
riprendere in mano. Ma è giusto ciò che dite, anche se non ho ancora provato
l'ocx sul sitocomune (non ne ho ancora la necessità). Sicuramente la
prossima volta che dovrò visualizzare dei gif animati farò le considerazioni
che avete fatto voi e magari utilizzerò quell'ocx..
Grazie e saluti.
