Guida al Visual Basic .NET
Capitolo 62° - Scrivere un INI Reader - Parte I
I file INIDato che l'esempio di questo capitolo consiste nel realizzare un lettore di file *.ini, è bene spiegare prima, per chi non li conoscesse, come sono fatti e quale è lo scopo di questo tipo di file.Sono file di sistema contraddistinti dalla dicitura "Impostazioni di Configurazione", poichè tale è la loro funzione: servono a definire il valore delle opzioni di un programma. Nelle applicazioni .NET ci sono altri modo molto più efficienti per raggiungere lo stesso risultato ma li vedremo in seguito. La struttura di un file ini è composta sostanzialmente da due nuclei: campi e valori. I campi sono raggruppamenti concettuali atti a dividere funzionalmente più valori di ambito diverso e sono delimitati da una coppia di parentesi quadre. I valori costituiscono qualcosa di simile alle proprietà delle classi .NET e possono essere assegnati con l'operatore di assegnamento =. Un terzo tipo di elemento è costituito dai commenti, che, come ben si sa, non influiscono sul risultato: questi sono preceduti da un punto e virgola e possono essere sia su una linea intera che sulla stessa linea di un valore. Ecco un esempio: ;Ipotetico INI di un gioco [General Info] Name = ProofGame Version = 1.1.0.2 Company = FG Corporation Year = 2006 [Run Info] Diffucult = easy ;difficoltà Lives = 10 ;numero di vite Health = 90 ;salute Level = 20 ;livelloIl programma di esempio analizzerà il file, rappresentando campi e valori in un grafico ad albero simile a quello che windows usa per rappresentare la struttura gerarchica delle cartelle. MenuStripÈ il classico menù di windows. Una volta aggiunto al form designer, viene creato uno spazio apposito sotto all'anteprima del form, nel quale appare l'icona corrispondente; inoltre viene visualizzata una striscia grigia sul lato superiore della finestra, ossia l'interfaccia grafica che MenuStrip presenterà a run-time. Per aggiungere una voce, basta fare click su "Type here" e digitare il testo associato; è possibile cancellarne uno premendo Canc o modificarlo cliccandoci sopra due volte lentamente. Ogni sottovoce dispone di eventuali altri sotto-menù personalizzabili all'infinito. Si può aggiungere un separatore, ossia una linea orizzontale, semplicemente inserendo "-" al posto del testo. Ogni elemento così creato è un oggetto ToolStripMenuItem, inserito nella proprietà DropDownItems del menù. Ecco alcune proprietà interessanti:
StatusStripLa barra di stato, sul lato basso del form, che indica le informazioni aggiuntive o lo stato dell'applicazione. È un contenitore che può includere altri controlli, come label, progressbar, dropdownitem, eccetera. Per ora basta inserire una label, di nome lblStatus, con testo impostato su "In attesa...". Dato che le proprietà sono quasi identiche a quelle di MenuStrip, ecco subito un'anteprima del form con questi due controlli posizionati:ContextMenuStripÈ il menù contestuale, ossia quel menù che appare ogniqualvolta viene premuto il pulsante destro del mouse su un determinato controllo. Per far sì che esso appaia bisogna prima creare un legame tra questo e il controllo associato, impostando la relativa proprietà ContextMenuStrip, comune a tutte le classi derivate da Control. La fase di creazione avviene in modo identico a quanto è già stato analizzato per MenuStrip, e anche l'inserimento delle sottovoci è simile. Non dovreste quindi avere problemi a crearne uno e inserire una voce strClearView, Text = "Pulisci lista".TreeViewEcco il controllo clou della lezione, che permette di visualizzare dati in una struttura ad albero. Le proprietà più importanti sono:
C#, TypeScript, java, php, EcmaScript (JavaScript), Spring, Hibernate, React, SASS/LESS, jade, python, scikit, node.js, redux, postgres, keras, kubernetes, docker, hexo, etc...
|