VB Chiarimenti sui "Dim"/"Variabili". In Continuo Aggiornamento.

Stato
Discussione chiusa ad ulteriori risposte.

Nogard00

Utente Jade
20 Novembre 2009
1,930
149
171
716
Ultima modifica:
Salve a tutti, visto che vedo che alcuni hanno "abbastanza" difficoltà a dichiarare le variabili, ho deciso di spiegarvi in questa mini guida come fare e capire cosa si "Sta facendo".
Premetto che non ho trovato altre guide e non mi aspetto +1, visto che potrei anche dire nabbate dicendo tipo che il Dim va inserito nel button. :asd:
Comunque passiamo ai fatti. Innanzitutto non voglio +1, ma siete liberi di darmeli se volete :patt:
I DIM, Dichiarare le VARIABILI: Cosa sono e a cosa servono.
A "Modo Mio", dico che i Dim servono a dichiarare delle variabili, non trovo il modo per spiegarlo, ma posso dire che i Dim semplificano la vita, e senza di quelli non possiamo fare molte cose in VB.net.
Faccio un esempio:
Dim prova As New Date

Quel "Prova" può essere "riutilizzato in seguito" per esempio per fare un semplice orario, o per fare una semplice data. Invece l'istruzione New si può dire che è utilizzata per avere una cosa (Come dice NiktorThenat, prendetela per buona). In questo caso Date. (Non so spiegarlo molto bene).

Vari tipi di "Dim" o "Variabili"
In questo linguaggio di programmazione ad alto livello, esistono vari "Tipi" di Dichiarazioni di Variabili, altresì chiamati in vb.net "Dim".
Ne elenco solo alcuni, che a mio parere sono i più importanti per il nostro amatissimo Visual Basic.Net.

Dim per dichiarare (come già detto precedentemente)variabili di date,orari e altre funzioni:
Dim Testo As New Date
Ecco una cosa non citata. Testo può essere cambiato con qualsiasi parola.


Dim utile per fare i comunissimi "Notepad", utilizzata sopratutto per "Leggere" un file txt.
Dim leggo As System.IO.StreamReader ' Diamo vita al "StreamReader" detto così perchè utilizzato ( Se non dico nabbate) sopratutto per "Leggere"
Dim testo As String 'questo ci serve un seguito per "Continuare" il nostro notepad
Una cosa molto importante, che ho tralasciato, è il StreamReader e il StreamWriter ( Il secondo, anch'esso molto utilizzato per i "Notepad").
Ecco. A cosa servono Queste due "Importantissime" parole?
La prima ( StreamReader) come già citato prima, serve a "Leggere" qualcosa.
La seconda (StreamWriter) invece, serve a "Scrivere" qualcosa. E' da considerare che tutte e due , non sono dichiarazioni di variabili, bensì delle classi.
Dim utilizzata sopratutto per i processi e per "Dichiarare dei processi".
Dim file As Process
Quel "Process" indica un "Processo", per esempio, se dobbiamo creare un task manager, quel "Process" Sarà di vitale importanza. Senza di quello, l'intero progetto cadrebbe.Process , però non è una variabile , ma una classe.
Dim utilizzata anch'essa per dei processi, ma è un pochino diversa.
Dim processo As new Diagnostics.Process
Questa variabile, è un pò diversa dalla precedente. Infatti esso crea una serie di classi che permettono di interagire con i processi di sistema e con le sue prestazioni.
Per ora finisco qua la mia guida, sperando di non aver sparato boiate.
Ragazzi, se ne ho dette vi prego di avvisarmi, magari non me ne sono accorto.
Potrebbe accadere che non ho spiegato bene qualcosa e capiate male.


Potete darmi o non darmi i +1, non sono un +1Dipendente, quindi... :\


Guida interamente fatta da me senza l'ausilio di Visual Studio o di qualche "Esperto". :patt:


Ringrazio Predator per L'aiutino. :asd:


Non dico che sia una guida utilissima, ma può servire per chi non ha capito il concetto di "Variabile".
 
  • Mi piace
Reazioni: DoctroPaz
l'approsimita' e l'inesattezza di questa guida mi fa rabbrividire!!! brrrrrrrrrrrrrrrrrr XD
posso darti un -1? xD
 
l'approsimita' e l'inesattezza di questa guida mi fa rabbrividire!!! brrrrrrrrrrrrrrrrrr XD
posso darti un -1? xD

Certo, sono sempre ben accetti da te. :sisi:

--- Aggiornamento Post ---

Comunque non ho mai detto di essere un genio, ho solo cercato di spiegare. Se ho sbagliato correggo e siamo apposto. :patt:
 
Ultima modifica:
è già fondalmentalmente sbagliato il concetto di base di Dim
Dim non sono variabili, Dim è una istruzione ed è usata per dichiarare le variabili.
non hai detto perchè hai nell'inizializzazione della variabile Testo hai usato New,
non hai differenziato dim da private e public
confondi lo stremwrite con le variabili
Process non è una variabile è una classe, il Net è fortemente tipizzato e permette di dichiarare classi, controlli, oggetti ecc...
per non parlare di Diagnostics.Process che è uno spazio di nomi che fornisce una serie di classi che permettono di interagire con i processi di sistema, log eventi, e prestazioni di sistema
vedi non si tratto di correggere ma di stravolgere ^^
che dici è meglio cestinare?
 
è già fondalmentalmente sbagliato il concetto di base di Dim
Dim non sono variabili, Dim è una istruzione ed è usata per dichiarare le variabili.
non hai detto perchè hai nell'inizializzazione della variabile Testo hai usato New,
non hai differenziato dim da private e public
confondi lo stremwrite con le variabili
Process non è una variabile è una classe, il Net è fortemente tipizzato e permette di dichiarare classi, controlli, oggetti ecc...
per non parlare di Diagnostics.Process che è uno spazio di nomi che fornisce una serie di classi che permettono di interagire con i processi di sistema, log eventi, e prestazioni di sistema
vedi non si tratto di correggere ma di stravolgere ^^
che dici è meglio cestinare?


Non so fai te.
A me non importa. Purtroppo non sono nato genio e ancora non lo sono.
Hack, non sto cercando di avere il rilievo.
 
è già fondalmentalmente sbagliato il concetto di base di Dim
Dim non sono variabili, Dim è una istruzione ed è usata per dichiarare le variabili.
non hai detto perchè hai nell'inizializzazione della variabile Testo hai usato New,
non hai differenziato dim da private e public
confondi lo stremwrite con le variabili
Process non è una variabile è una classe, il Net è fortemente tipizzato e permette di dichiarare classi, controlli, oggetti ecc...
per non parlare di Diagnostics.Process che è uno spazio di nomi che fornisce una serie di classi che permettono di interagire con i processi di sistema, log eventi, e prestazioni di sistema
vedi non si tratto di correggere ma di stravolgere ^^
che dici è meglio cestinare?

Non si potevano utilizzare parole migliori :sisi: Per Imparare ad utilizzare correttamente le variabile e sapere cosa sono le variabili, C'è la guida di Totem.
 
Fatto, dimmi che ne pensi.

--- Aggiornamento Post ---

Non si potevano utilizzare parole migliori :sisi: Per Imparare ad utilizzare correttamente le variabile e sapere cosa sono le variabili, C'è la guida di Totem.

Sei sempre stato il primo a dirmi di non seguire guide.
Questi erano concetti che ancora non sapevo, perciò ringrazio predator per avermeli chiariti.
Luka, se sei venuto qui ad insultarmi, allora edito la discussione e me ne vado da inforge. Sono stanco dei litigi e delle discussioni. :sisi:
 
Tralasciando tutto quello che ha già evienziato Predator ci sono altre imprecisioni, anzi che dico? Proprio degli errori belli e buoni, ad esempio:
Salve a tutti, visto che vedo che alcuni hanno "abbastanza" difficoltà a dichiarare le variabili, ho deciso di
Ecco una cosa non citata. Testo può essere cambiato con qualsiasi parola.
Sbagliato. Una delle regole della sintassi del vb prescrive che l' identificatore di una variabile non deve cominciare con un numero, ammettendo quindi ogni altra sorte di combinazione alfanumerica.

Dim utile per fare i comunissimi "Notepad", utilizzata sopratutto per "Leggere" un file txt.
Qui inizio ad avere gli stessi sintomi di preda:
1) L' istruzione Dim serve a dichiarare una variabile
2) Logicamente una variabile serve anche per fare un comunissimo notepad, ma come può anche servire per cucinare una torta.
3) "utilizzata sopratutto per Leggere un file txt" --> frase oscura.

Dim leggo As System.IO.StreamReader ' Diamo vita al "StreamReader" detto così perchè utilizzato ( Se non dico nabbate) sopratutto per "Leggere"
Credo si commenti da solo.

Dim testo As String 'questo ci serve un seguito per "Continuare" il nostro notepad
Giuro, dopo tanto tempo questa dovevo ancora sentirla.

Una cosa molto importante, che ho tralasciato, è il StreamReader e il StreamWriter ( Il secondo, anch'esso molto utilizzato per i "Notepad").
Ecco. A cosa servono Queste due "Importantissime" parole?
La prima ( StreamReader) come già citato prima, serve a "Leggere" qualcosa.
La seconda (StreamWriter) invece, serve a "Scrivere" qualcosa.
Quindi sarebbero due nomi che leggono e scrivono qualcosa? Io ero convinto che fossero due classi del namespace System.IO.

Dim utilizzata sopratutto per i processi di un "File".
Come la prima spiegazione.
Quel "Process" indica un "Processo", per esempio, se dobbiamo creare un task manager, quel "Process" Sarà di vitale importanza. Senza di quello, l'intero progetto cadrebbe.
Come direbbe il mio amico toscano: Ma che tu dici?

Questa variabile, è un pò diversa dalla precedente. Ora non so spiegarla nei dettagli, ma vi dico solo questo.
Probabilmente non sai spiegarla nei dettagli perchè non hai la più pallida idea di cosa sia una classe o un namespace.
Ma a quanto vedo nemmeno di cosa sia una variabile.

Non dico che sia una guida utilissima, ma può servire per chi non ha capito il concetto di "Variabile".
Senza offesa ma serve prima di tutto a te, non dico questa, ma una che dica cose sensate.


Ora capiscimi, non ho niente contro di te, non ti conosco nemmeno, ma come vedi ho quotato ogni riga della tua guida e sinceramente fatico a trovare un solo periodo giusto.
Prima di fare guide è meglio sapere di cosa si sta per parlare, come direbbe Catone: "rem tene!" (tiene il discorso, padroneggialo = conoscilo).
Ultima cosa, premetto che non vuole essere una offesa, ma questa guida mi riconferma per l' ennesima volta la mia opinione (che potrebbe essere intesa come frutto di un luogo comune) su tutti quelli che come frase personale mettono: Programmatore "x".
Non vedo come ci si possa definire programmatori se non si sa cosa sia una variabile.
 
Tralasciando tutto quello che ha già evienziato Predator ci sono altre imprecisioni, anzi che dico? Proprio degli errori belli e buoni, ad esempio:

Sbagliato. Una delle regole della sintassi del vb prescrive che l' identificatore di una variabile non deve cominciare con un numero, ammettendo quindi ogni altra sorte di combinazione alfanumerica.


Qui inizio ad avere gli stessi sintomi di preda:
1) L' istruzione Dim serve a dichiarare una variabile
2) Logicamente una variabile serve anche per fare un comunissimo notepad, ma come può anche servire per cucinare una torta.
3) "utilizzata sopratutto per Leggere un file txt" --> frase oscura.


Credo si commenti da solo.


Giuro, dopo tanto tempo questa dovevo ancora sentirla.


Quindi sarebbero due nomi che leggono e scrivono qualcosa? Io ero convinto che fossero due classi del namespace System.IO.


Come la prima spiegazione.

Come direbbe il mio amico toscano: Ma che tu dici?


Probabilmente non sai spiegarla nei dettagli perchè non hai la più pallida idea di cosa sia una classe o un namespace.
Ma a quanto vedo nemmeno di cosa sia una variabile.


Senza offesa ma serve prima di tutto a te, non dico questa, ma una che dica cose sensate.


Ora capiscimi, non ho niente contro di te, non ti conosco nemmeno, ma come vedi ho quotato ogni riga della tua guida e sinceramente fatico a trovare un solo periodo giusto.
Prima di fare guide è meglio sapere di cosa si sta per parlare, come direbbe Catone: "rem tene!" (tiene il discorso, padroneggialo = conoscilo).
Ultima cosa, premetto che non vuole essere una offesa, ma questa guida mi riconferma per l' ennesima volta la mia opinione (che potrebbe essere intesa come frutto di un luogo comune) su tutti quelli che come frase personale mettono: Programmatore "x".
Non vedo come ci si possa definire programmatori se non si sa cosa sia una variabile.


La ho corretta grazie all'aiuto di predator, ora è molto diversificata.
Purtroppo non studio VB.net ma vorrei farlo, aspetto solo una scuola decente dove fare linguaggi di programmazione.
Ho aggiunto che lo stream reader e writer sono delle classi. Leggi bene.
Se leggi bene, nel mio notepad ( vabbè non c'è scritto di certo il codice) quello è di vitale importanza.
Perchè se diamo l'istruzione di copiare il contenuto di un file .txt
quel Dim testo As String ci serve moltissimo:
perchè daremo questa istruzione:

test = leggo.Readline <> 1 (ora non ricordo bene, è da un pò che non utilizzo visual studio)
 
Ultima modifica:
Ma che cavolo centra come hai fatto il tuo notepad (che poi non vedo l' utilità di leggere un file riga per riga, per poi inserirlo integralmente nell' edit). Inoltre non è di sicuro il modo migliore per controllare se hai raggiunto la fine del file.
Perchè immagino fosse questo il tuo intento.

Ok, la guida potrai anche averla corretta ricopiando quello che ti ha detto Predtor, ma fatto sta che anche se lo hai editato continui a non sapere cosa sia, o devo presumere che in 10 minuti hai imparato tutto lo scibile sulle classi? (costruttori ecc...)

Per tua norma non è necessario frequentare una scuola per arrivare a saper programmare, anzi ti dirò di più, se uno si limita ad apprendere quanto ti rifilano oggi nei vari ITIS raggiunto l' ultimo anno la tua preparazione non sarà soddisfacente come dovrebbe esserla.
Conosco persone che lo frequentano e che lo hanno frequntato e sono tutti d' accordo. Io frequento un normalissimo Liceo Scientifico Statale, non abbiamo nemmeno l' ora di informatica eppure nella mia esperienza sono riuscito più volte ad eguagliare i risultati e a correggere ragazzi che frequentavano anche il 4 anno di un istituto ITIS.

P.s semmai la guida è diversa non diversificata ;)


P.s2 mi hai incuriosito, ade vado a leggermi il source del tuo notepad xd


Edit: di preciso avevi usato questo:
Codice:
Dim reader As StreamReader = File.OpenText(OpenFileDialog1.FileName)
    Do While (reader.Peek <> -1)
        Dim str As String = reader.ReadLine
        RichTextBox1.Text = (RichTextBox1.Text & ChrW(13) & ChrW(10) & str)
    Loop
 
Ma che cavolo centra come hai fatto il tuo notepad (che poi non vedo l' utilità di leggere un file riga per riga, per poi inserirlo integralmente nell' edit). Inoltre non è di sicuro il modo migliore per controllare se hai raggiunto la fine del file.
Perchè immagino fosse questo il tuo intento.

Ok, la guida potrai anche averla corretta ricopiando quello che ti ha detto Predtor, ma fatto sta che anche se lo hai editato continui a non sapere cosa sia, o devo presumere che in 10 minuti hai imparato tutto lo scibile sulle classi? (costruttori ecc...)

Per tua norma non è necessario frequentare una scuola per arrivare a saper programmare, anzi ti dirò di più, se uno si limita ad apprendere quanto ti rifilano oggi nei vari ITIS raggiunto l' ultimo anno la tua preparazione non sarà soddisfacente come dovrebbe esserla.
Conosco persone che lo frequentano e che lo hanno frequntato e sono tutti d' accordo. Io frequento un normalissimo Liceo Scientifico Statale, non abbiamo nemmeno l' ora di informatica eppure nella mia esperienza sono riuscito più volte ad eguagliare i risultati e a correggere ragazzi che frequentavano anche il 4 anno di un istituto ITIS.

P.s semmai la guida è diversa non diversificata ;)


P.s2 mi hai incuriosito, ade vado a leggermi il source del tuo notepad xd


Edit: di preciso avevi usato questo:
Codice:
Dim reader As StreamReader = File.OpenText(OpenFileDialog1.FileName)
    Do While (reader.Peek <> -1)
        Dim str As String = reader.ReadLine
        RichTextBox1.Text = (RichTextBox1.Text & ChrW(13) & ChrW(10) & str)
    Loop

Nono il mio è diverso.
Comunque, un pò di cose in più le ho capite.
Purtroppo qua, se chiedo di chiarirmi un dubbio, subito mi danno del nabbo.
Quindi è inutile che chieda.
 
Bè personalmente credo che una preparazione teoria debba precedere la parte pratica.
in ogni caso la mia non voleva essere una litigata, ma una serie di critche che evidenziassero le tue inesattezze per fartele capire.
Però pensa se qualche newbie arivasse qui x la prima volta e leggesse questa, si confonderebbe le idee terribilmente.
 
Bè personalmente credo che una preparazione teoria debba precedere la parte pratica.
in ogni caso la mia non voleva essere una litigata, ma una serie di critche che evidenziassero le tue inesattezze per fartele capire.
Però pensa se qualche newbie arivasse qui x la prima volta e leggesse questa, si confonderebbe le idee terribilmente.

Bhe, un pò di chiarimenti ci sono. Alcuni sbagliati, altri no.
 
considera che una volta ho visto libri di "esperti" che dichiaravano in vb6
dim x, y as integer...

ora per chi non lo sapesse x non è integer ma variant (a meno di non ridefinire il valore di default)
 
Guida inutile, è ovvio che ci sono guide moolto piu' chiare a riguardo...

considera che una volta ho visto libri di "esperti" che dichiaravano in vb6
dim x, y as integer...

ora per chi non lo sapesse x non è integer ma variant (a meno di non ridefinire il valore di default)
Quindi x è gia' dichiarata? Scusa per l ignoranza...

Comunque ora che ho guardato, ti sei dimenticato le costanti!


A "Modo Mio", dico che i Dim servono a dichiarare delle variabili, non trovo il modo per spiegarlo, ma posso dire che i Dim semplificano la vita, e senza di quelli non possiamo fare molte cose in VB.net.
Faccio un esempio:
Dim prova As New Date
A "Modo Tuo" hai detto una boiata, il Dim colloca in uno spazio casuale della ram(dal nome memoria a accesso casuale), dati precisi di un programma...
Per questo le variabili non sono impresse nell HD ma vengono lette e smistate dalla CPU...
Nei linguaggi .NET preciso che il processo è gestito dai Framework e per questo non possono essere attaccati da un debugger...
Leggi questo manuale, ti chiarirà parecchie cose ;)
 
Stato
Discussione chiusa ad ulteriori risposte.