PDA

Visualizza versione completa : Con VB errori strani?


Downloader
22-04-2003, 15.54.26
Ciao a tutti,
sto studiando il Visual Basic, qualche giorno fa mentre stavo cercando di scrivere un po' di variabili, dopo averne creato 2 generiche una di tipo byte e una di tipo integer ho creato una variabile creata dal programmatore inserendoci queste 2 variabili, il tutto dentro un pulsante (tutto per prova, so poco del VB) ma quando vado a vedere come reagisce il pulante ad un click (che mi apsettavo non dovesse dare nessun segnale) mi spunta un errore all'inizio della variabile definita dal programmatore, pensando che fosse un errore di scrittura del codice ho riletto il mio libro di VB solo che la procedura per la creazione di questa variabile è corretta.
Da che puo dipendere?
Dopo l'installazione mi è spuntato un errore che mi diceva che non è stato trovato un file, puo essere colpa del cd bacato?
Grazie

Mass8
22-04-2003, 16.08.44
Non ho capito!!!
Prova a mettere il codice in allegato o scrivilo, così si può capire. :)
O forse sono io che sono fuori :D
Ciao

P8257 WebMaster
22-04-2003, 16.08.49
Dipende..
devi postare il codice e farci vedere cosa stai tentando di fare.. non è semplice capire così..

Bye :cool:

Downloader
22-04-2003, 19.23.34
Private Sub Form_Load()
Dim prova1 As Integer
Dim prova2 As Byte

Type nuovo
Dim prova1 As Integer
Dim prova2 As Byte
End Type

End Sub

Non vi posto l'immagine perchè non so come l'immagine non si vede, anzi approfitto per chiedere: per postare una immagine devo scrivere C:\Documents and Settings\XXXX\Documenti\Immagine per esempio?

P8257 WebMaster
22-04-2003, 20.45.18
Non posso provarlo in ambiente basic ora, lo farò domani .. la palla ai più esperti, ma se non vado errato l'istruzione DIM è implicita nel blocco Type .. e poi, siamo sicuri che "byte" sia un tipo dati nativo?...

Bye :cool:

Senza postare l'immagine .. qual'è esattamente il messaggio di errore che ti viene restituito?

LoryOne
22-04-2003, 20.45.22
Permettimi di dire che stai facendo un bel po di confusione winme.

Le dichiarazioni dei tipi NON POSSONO ESSERE definite all'interno di sub o function
DEVONO necessariamente essere definite nella sezione "dichiarazioni" di VB.
DEVONO essere Private se all'interno del form stesso
POSSONO essere PUBLIC o PRIVATE all'interno di un modulo.
Se sono PUBLIC nel modulo, il tipo dichiarato sarà visibile all'esterno del modulo ed in qualunque altro form di cui si compone il progetto.

Se definisci una dichiarazione dei tipi NON PUOI utilizzare la sintassi

[Private] [Public] Type Nuovo
Dim Prova1 As Integer
Dim Prova2 As Byte
End Type

basta solo:

[Private] [Public] Type Nuovo
Prova1 As Integer
Prova2 As Byte
End Type

Poi dovrai definire una variabile Prova3 come Nuovo, cioè

Dim Prova3 As Nuovo

Dim Prova3 As Integer è come dire Dim Prova3 As Nuovo, solo che a Prova3 potrai assegnare più di un tipo di valori, come hai definito in Nuovo.
Questo significa che potrai utilizzare la sintassi:
Prova3.Prova1=1000 (Integer)
Prova3.Prova2=5 (Byte)

Integer, così come Byte o Variant sono tipologie pre-definite dal compilatore mentre con Type puoi definire una tipologia di dati "personalizzata" (diciamo così) sconosciuta al compilatore fino a quando non la si definisce con Type...End Type.

Il tutto, in base allo script che hai postato, sarà così:

Private Type Nuovo
Prova1 As Integer
Prova2 As Byte
End Type

Private Sub Form_Load()
Dim Prova3 As Nuovo

Prova3.Prova1=....
Prova3.Prova2=....
End Sub

ATTENZIONE quindi a non fare confusione, perchè questi concetti devono essere capiti e sono basilari, mi raccomando !(W)

Ciao.:)

P8257 WebMaster
22-04-2003, 20.47.24
Il chiarimento non si è fatto attendere .. (Y) ;)

Bye :cool:

Downloader
23-04-2003, 13.47.27
Devo dire che sei stato abbastanza chiaro LoryOne, proverò.
Intanto grazie a tutti! :)