Il blog chiude

agosto 2, 2007

Il blog chiude i battenti. Per le mie esigenze è meglio tenere un sito, al quale vi rimando.

Totem’s Lair

Qui troverete tutto quello che c’era già sul blog e in più molto altro! Buon divertimento!

Annunci

Elenco dei capitoli della guida

giugno 13, 2007

Qui trovate un elenco completo di tutti i capitoli componenti la guida, in modo da poter selezionare ciò che vi interessa:

 

1. Introduzione

2. Struttura di un programma VB.NET

3. Sintassi generale variabili e costanti

4. La struttura If

5. La struttura Select Case

6. La struttura iterativa Do Loop

7. La struttura iterativa While

8. La struttura iterativa For

9. Gli Array monodimensionali

10. Le Strutture

11. Gli Enumeratori

12. Procedure e funzioni

13. Le classi sintassi e dichiarazione

14. Le classi specificatori di accesso

15. Ereditarieta

16. Polimorfismo

17. Overloading

18. Applicazioni con interfaccia grafica Windows

20. La prima applicazione Windows ed il controllo Button

21. Controlli Label e TextBox

22. Ancora teoria proprieta

23. Ancora teoria variabili Static e il ciclo For Each

24. Ancora teoria parametri opzionali

25. Ancora teoria Scrivere librerie

26. Listbox e Combobox

27. Checkbox e RadioButton

28. NumericUpDown e DomainUpDown

29. PictureBox e ProgressBar

30. Lettura e scrittura su file

31. OpenFileDialog e SaveFileDialog un semplice editor di testi

32. FolderBrowserDialog e FontDialog

33. MenuStrip ContextMenuStrip StatusBar TreeView Un lettore di file INI Parte I

34. MenuStrip ContextMenuStrip StatusBar TreeView Un lettore di file INI Parte II

35. Lavorare con le stringhe

36. DateTimePicker Lavorare con le date

37. ImageList Usare le immagini nelle liste ed estrarre le icone di sistema

38. ListView

39. ToolStrip

40. Icona nella system tray

41. Eventi e handler

42. Gestione degli errori

43. Variabili globali di una Windows Application

44. Strutture avanzate e operatori

45. TypeOf e CType

46. Arraylist e Hashtable

47. Opzioni di compilazione

48. Operatori avanzati

49. Classi astratte

50. Interfacce

51. Riprodurre audio e video

52. Scaricare file da Internet

53. Aggiungere un controllo a runtime

54. Manipolare elementi HTML

55. Disegnare

56. Modificare il registro di sistema

57. Usare i file XML

58. TabControl

59. DataGridView e DataTable

60. Drag and Drop

61. La ricorsione

62. Fine


Framework 3.0

giugno 9, 2007

La versione successiva del framework. Tutti i programmi presenti su questo blog supportano anche la versione precedente. E’ possibile scaricarlo dal sito ufficiale della Microsoft


Flash Web: Versione 1.0.1.2

dicembre 12, 2006


Ed ecco qua la nuova release di Flash Web. I cambiamenti non sono molti, ho giusto corretto qualche bugs e aggiunto qualcosina:

  • La finestra di dialogo per l’inserimento della password ora è più gradevole alla vista e la parola viene nascosta dagli asterischi;
  • La funzione Bug Report cambiata completamente: ora potete spedirmi un’e-mail direttamente da Flash Web usando semplicemente la funzione integrata;
  • Fixato un bug dei download: ora verrà chiesto se uscire solo se ci sono effettivamente download in corso;
  • Fixato un bug dei download: ora Flash Web riconosce sempre quali sono i files da scaricare e apre i menù di conseguenza;
  • Nella finestraCodice Sorgente, il codice viene indentato automaticamente all’apertura;
  • Se il titolo della pagina è troppo lungo, sulla scheda viene troncato a 60 caratteri e aggiunti i punti di sospensione;
  • Fixato un bug dei download: ora non ci sono più errori cancellando un file dall’elenco;
  • Fixato un bug dei download: ora i download tenuti in sospeso e poi cancellati saranno definitivamente rimossi dall’elenco.

Download: Flash Web 1.0.1.2


Flash Web: Il mio browser

novembre 8, 2006

Ho scritto questo browser per averne uno completamente mio, che posso controllare e modificare. Tutto il codice è stato scritto interamente da me: tutte le immagini, invece, che compaiono in esso sono parte di una raccolta di icone (“nuvola”) che ho potuto trovare sul sito http://www.icon-king.com distribuite sotto licenza LGPL. Il sorgente non è disponibile, ma sono sempre pronto a riceve comunicazioni di bugs o malfunzionamenti che potete inviarmi anche usando la voce del Menù principale Aiuto->Bug Report.
Ma veniamo alle features di questo browser:

  • Navigazione a schede: come il famosissimo Mozilla FireFox, anche questo browser può disporre di più schede di navigazione, che si possono aggiungere, chiudere, aggiornare e duplicare usando il loro menù contestuale o i pulsanti rapidi nella seconda barra degli strumenti.
  • Gestione dei segnalibri completa (ma semplice) che permette anche di organizzarli in cartelle. Tutti i segnalibri della cartella ‘Toolbar’ compariranno come pulsanti nella seconda barra degli strumenti
  • Gestione della cronologia, con un sistema di suggerimento dell’url durante la digitazione
  • Una raccolta di oltre 30 motori di ricerca disponibile come pulsante rapido fra cui potrete scegliere i più adatti alle vostre esigenze
  • Gestione dei downloads, anche questa molto semplice (nopn supporta il resume), ma con un’interfaccia gradevole
  • Visualizzazione del codice sorgente con un’opzione per indentare automaticamente i codici ‘disordinati’, in più una funzione Trova assai utile
  • Scheda delle informazioni pagina molto completa, simile a quella di FireFox
  • Opzioni di stampa (anteprima e imposta pagina) e di salvataggio
  • Una voce per rilevare l’IP del sito
  • Possibilità di navigazione anonima attraverso più di 15 server proxy (ringrazio CityNova, che li aveva trovati per un vecchio progetto un po’ di tempo fa)
  • Blocco dei siti con password
  • Possibilità di impostare Flash web come browser predefinito (per ora è semplice, ma ci sto lavorando…)

Download: Flash Web


Scaricare file da Internet

ottobre 4, 2006

Per fare questo ci serviremo della classe System.Net.WebClient che fornisce tutti i metodi necessari. Per cominciare, basta creare una nuova variabile globale di tipo System.Net.WebClient:
Public Withevents TCP As New System.Net.WebClient
Abbiamo specificato la parola chiave Withevents per indicare al compilatore che di questa calsse useremo anche i suoi eventi: quindi potremo scrivere direttamente eseguite quando si generano eventi in TCP.
Per iniziare un download useremo il metodo DownloadFileAsync, che non solo ci permette di scaricare il file specificato nella locazione specificata (come vedremo tra breve), ma non blocca il form e consente di svolgere tutti gli eventi anche durante il download: l’unica pecca che ha è che utilizza un po’ più di tempo ad inizializzare il primo download, ma ci si può abituare. La sintassi è la seguente:
TCP.DownloadFileAsync(URL As Uri, Destination As String)
La classe Uri (System.Uri) indica univocamente un file sul web e consente di vederne le proprietà: a noi serve, però, solamente l’indirizzo sotto forma di stringa, poichè creeremo al momento una nuova variabile di tipo Uri contenente quell’indirizzo, senza bisogno di complicarsi molto la vita. Ad esempio:
TCP.DownloadFileAsync(New Uri("indirizzo url"), "destinazione su hard disk")
In questo modo inizierà il download.
Altri importanti metodi e proprietà di questa classe:

  • CancelAsync : interrompe il download corrente
  • IsBusy : restituisce vero se è in corso un download, altrimenti falso

Gestire gli eventi
Ora passiamo a gestire due importantissimi eventi, generati rispettivamente quando ci è un progresso nel download (ad esempio per modificare il valore di una progressbar) e quando un download viene completato (ad esempio per segnalarlo). Useremo per il primo una sintassi del genere:
Private Sub PrgChngd(ByVal sender As Object, ByVal e As System.Net.DownloadProgressChangedEventArgs) Handles TCP.DownloadProgressChanged
e.ProgressPercentage 'restituisce la percentuale del download
e.BytesReceived 'restituisce il numero di bytes ricevuti
e.TotalBytesToReceive 'restituisce il numero dei byte da ricevere
End Sub

e:
Private Sub PrgComplete(ByVal sender As Object, ByVal e As System.ComponentModel.AsyncCompletedEventArgs) Handles TCP.DownloadFileCompleted
If e.Cancelled = True Then
'il download è stato cancellato
Else
'il download è stato completato
End If
End Sub


ArrayList e HashTable

settembre 9, 2006

Nella guida si è visto come è possibile implementare strutture di uno stesso tipo di dato con gli array. Pur essendo molto utili e funzionali, non sempre sono la soluzione migliore per le vostre applicazioni. Potrebbe, ad esempio, esserci la necessità di immagazzinare dati di cui non si sappia a priori la quantità. Per questo è un ottimo sostituto l’ArrayList, che funziona allo steso modo di un array, ma dispone di alcune funzioni che facilitano moltissimo la stesura del programma.

Arraylist
L’arraylist è una classe, pertanto si dichiara come tale con la consueta sintassi:
Dim [nome] As New Arraylist
Come l’array, possiamo accedere a ogni suo elemento tramite un indice:
Dim A As New Arraylist
'...
Console.WriteLine(A(3))

Per modificare gli elementi di un arraylist, ci sono queste utili procedure e funzioni:

  • Add(x) : aggiunge l’elemento x all’arraylist
  • Remove(x) : rimuove l’elemento x dall’arraylist
  • RemoveAt(x) : rimuove l’elemento che si trova nella posizione x dell’arraylist
  • IndexOf(x) : restituisce l’indice (ossia la posizione) dell’elemento x
  • Contains(x) : restituisce vero se x è contenuto nell’arraylist, altrimenti falso
  • Clear : pulisce l’arraylist eliminando ogni elemento
  • Clone : restituisce una copia esatta dell’arraylist

Ad esempio:
Dim B As New Arraylist
'Aggiunge due elementi
B.Add("Ciao")
B.Add("Buongiorno")
'Manda un messaggio con ogni elemento della lista
For Each S As String In B
MsgBox(S)
Next
'Rimuove l'elemento 'Ciao'
B.Remove("Ciao")

Hashtable
L’Hashtable lavora quasi allo stesso modo, ma, invece di avere ogni elemento contraddistinto da un indice (numerico), ha ogni elemento contraddistinto da una chiave (stringa) che bisogna specificare come secondo parametro nella procedura Add e come unico parametro in Remove. E’ utile se bisogna utilizzare nomi anzichè numeri!