|
![]() |
![]() |
||
| Home - Attività - Curriculum - Siti - Contatti - Archivio | ||
![]() |
||
![]() |
|||
|
Trucchi
In questa nuova rubrica verranno di volta in volta pubblicati degli utili pezzi di codice, in vari linguaggi, atti a risolvere problemi comuni, oppure consigli e trucchi per affrontare varie situazioni che mi è capitato di risolvere nel passato. Estrarre GIF da outlook Se usate microsoft outlook, vi può capitare di ricevere dei messaggi con delle GIF animate integrate, inserite, nel corpo del messaggio, non come allegati. Risulta praticamente impossibile riuscire ad estrarre tali immagini, per salvarle in un file a parte nel formato corretto; persino il banale classico menù contestuale ‘salva con nome’ che appare cliccando sopra l’immagine col tasto destro permette il salvataggio soltanto in formato BMP, per cui si perde l’animazione. Le altre opzioni di salvataggio, o anche di copia/incolla non sono migliori. Esiste però un metodo, finchè dura, molto semplice ed efficace. Se oltre a Microsoft Outlook avete a disposizione il classico Outlook Express, aprite l’Express ed importate da Microsoft Outlook la cartella contenente i messaggi che vi interessano. Dopo l’importazione, in Outlook Express i messaggi sono disponibili nel formato originale, ma ogni immagine è presente anche come allegato, per cui è facilmente salvabile nel giusto formato GIF, ed il gioco è fatto! Visual Studio - Refresh Recentemente ho sviluppato una applicazione in Visual Studio, linguaggio C#, ed ho avuto parecchi problemi a gestire correttamente il refresh a video di alcune etichette contenenti dei contatori. In linea di massima si tratta di due indicatori: in uno viene visualizzato il numero di record corrente (1, 2, 3, 4, ... n) su cui stà lavorando l'applicazione; ogni volta, prima di passare da un record al successivo, l'applicazione attende 10 secondi, durante i quali nel secondo indicatore si vede man mano il tempo residuo a disposizione (10 secondi, 9, 8, 7, ... 0). Tutto apparentemente banale, col piccolo particolare che il refresh a video dei numeri nei due indicatori funzionava bene solo per valori bassissimi, mentre per i normali valori di cui avevo bisogno, dopo pochi giri il valore degli indicatori rimaneva fisso ed invariato. Premesso che ho realizzato il 'count-down' del secondo indicatore semplicemente eseguendo un ciclo contenente: System.Threadind.Thread.Sleep(1000) (ciclo di attesa di 1 secondo) seguito dal -1 nella variabile di conteggio e dalla impostazione del nuovo valore nella etichetta, ho girato in lungo ed in largo tutti i forum del mondo trovando ovunque tanti consigli su come effettuare il Refresh, del singolo campo da visualizzare o dell'intera Form, ma senza ottenere risultati soddisfacenti. Alla fine sono riuscito a capire che i cicli di sleep, in realtà, usano interamente le risorse del processore, tanto che è necessario un apposito comando, proprio per rilasciare le risorse, permettendo al processore anche la gestione di tutto il resto, come il refresh. Tutto ciò si ottiene semplicemente mettendo subito dopo lo Sleep il comando: My.Application.DoEvents() in questo modo funziona tutto perfettamente!!! XP Fumetto Avviso in barra applicazioni: per eliminare queste fastidiose segnalazioni tipiche di Windows XP (ad esempio segnala persino che il tal documento è stato inviato alla determinata stampante...), bisogna procedere come segue:
Outlook Fastiodioso indirizzo inesistente: in alcune versioni di outlook, può capitare che dopo aver digitato un indirizzo e-mail errato, esso venga memorizzato da outlook e riproposto in una tendina per il completamento automatico. Il tutto, ovviamente, senza che tale indirizzo sia stato memorizzato nella rubrica dei contatti. A questo punto, per eliminare l'indirizzo errato, è inutile navigare e cercare nella rubrica e nelle impostazioni, o cercare aiuto nel comodo tasto destro del mouse. Risolvere il problema è molto più semplice: basta iniziare la digitazione, posizionarsi sulla riga errata della finestrella che appare... e semplicemente premere il tasto Cancel; la riga verrà magicamente eliminata dalla finestra di completamento automatico!
| |||
![]() |
|||