Newsgroup: it.comp.lang.visual-basic
Titolo: Inizializzare una Type

Ciao a tutti,
scusate la domanda banale ma come posso "inizializzare" una type?
Cioč:
Type tRigo
  ID as long
  Nome as string
  Importo as currency
end Type
Sub Mia
  Dim Rigo as tRigo
  Do Until Rs.Eof
     Erase Rigo *********************
     Rigo.Importo= Rs("IMPORTO").Value
 
  Loop
end sub
Esiste un comando per svuotare il contenuto del rigo?
Cioč gli importi a 0, le stringhe ad "", ecc.
Qualcosa tipo L'Erase per gli array, soltanto per le Type
Grazie a tutti


Io ho sempre fatto una cosa di questo tipo:
Public Sub InitUDT(u As MyUDT)
Dim EmptyUDT As MyUDT
    u = EmptyUDT
End Sub
Bye
Raf
-----------------------------------------------------
Funk: cooler than the other side of the pillow.

"Andrea [Work]" <nos...@invalid.invalid> ha scritto nel messaggio 
news:19mkj0oywkbsq$.1k7802yntoj4w.dlg@40tude.net...

Fai cosě:
Dim EmptyRigo As tRigo ' Rigo??? :)
...
Rigo = EmptyRigo
Ciao 

 Rigo = EmptyRigo
Avevo trovato la soluzione cercando in inglese, che č proprio questa :)
Ora abbiamo qualcosa anche in NG italiani :P
Rigo perchč č la type che corrisponde ai campi di una tabella temporanea.
Potevo lavorare direttamente sul recset, ma preferisco cosě, poi lancio
insert o update a seconda.
L'ho raccolto in una Type per avere il tutto un po' piů ordinato :)

 Rigo perchè è la type che corrisponde ai campi di una tabella temporanea.
Che sappia io la parola "rigo" definisce solo una "riga" di un pentagramma.
Come quelli che hanno i "bracci"... avranno il segno zodiacale della 
bilancia... :)
Ciao

 End Sub
Ottimo, anche se non farò la funzione, dato che è una cosa localissima, ma
faccio direttamente l'assegnazione.
Posto una mia funzioncina che simula il coalesce in SQL:
Public Function vCoalesce(ParamArray Campi() As Variant) As Variant
Dim i As Long
Dim lMax As Long
 
  i = 0
  lMax = UBound(Campi)
 
  Do
    vCoalesce = Campi(i)
    i = i + 1
  Loop Until i > lMax Or Not IsNull(vCoalesce)
End Function
PS: Sto aggiungendo un paio di cavolate alla classe Resize presa sul sito
comune, tipo farla funzionare con gli SSTab, il resize anche del font,
specificandone la grandezza massima eventuale (altrimenti da 800*600 a 1280
vengono caratteri troppo grandi). Quando l'ho terminata di riguardare (dopo
le ferie) posso mandarla a qualcuno per revisionarla e rimetterla sul sito
comune? Oppure la posso postare direttamente qui...
Comunque sono 5 righe di codice rispetto all'originaria :)

 bilancia... :)
Beh non sono passato con 100 proprio per l'itaGliano, quindi ho già
scontato il fatto di non saperlo :PP

  Loop Until i > lMax Or Not IsNull(vCoalesce)
Perchè fai un loop se "vCoalesce" vale Campi(lMax)?
Ciao 

 Che cavolo è un coalesce?
Coalescenza è l'unione di più elementi in uno. Fondere insieme, saldare, 
unire...
Non so nel caso specifico :-)
-- 
news:it-alt.comp.software.openoffice : Il newsgroup dedicato a
OpenOffice.org, la suite open source di applicazioni per ufficio.
Saluti, VITRIOL

 Perchč fai un loop se "vCoalesce" vale Campi(lMax)?
Praticamente ciclo tutta la paramArray fino a quando non ho trovato un
elemento non nullo, oppure quando ho scorso tutto (e torna nullo, se
l'ultimo valore lo č).
Ovviamente va controllato se la richiamo senza parametri, in quel caso
ubound=-1, ed essendo un Until farebbe comunque la prima istanza dando
errore.
Una sorta di NullDef che qualcuno di voi mi ha consigliato (sorry non
ricordo :D), soltanto a piů elmenti.

 scontato il fatto di non saperlo :PP
Lasciamo perdere... io sono stato uno dei 3 nell'intera scuola che hanno 
cambiato una materia d'esame con l'italiano 3 giorni prima del giorno 
d'esame...
Però le parole le ho imparate anche alle medie dove c'era il prof di musica. 
;)
Scherzi a parte, se il tuo codice te lo legge un estraneo riderà alle tue 
spalle di te (già viste queste cose, perchè si tende a riconoscere una 
persona come un propgrammatore pastrocchione e tu non mi pari così 
malfamato).
Ciao 

 ricordo :D)
Io? :)
Ciao

 malfamato).
Fidati, riderà molto di più per alcune cose che mi sono state imposte a
livello di struttura del programma, e che non dipendono da me... :-\
Comunque Rigo di una tabella almeno in toscana l'ho sempre sentito dire :)

 Rigo = EmptyRigo
Meglio se usi anche LSet:
LSet Rigo = EmptyRigo
Non chiedetemi perchè ma con tipi complessi ho avuto dei problemi
senza l'uso di LSet.
Ciao,
Daniele.

 Io? :)
Ecco :)

 principalmente per argomenti di medicina.
Beh, essendo un chimico per me "coalescenza" ha un significato preciso. 
E' un fenomeno chimico-fisco dovuto alle tensione superficiale dei 
sistemi dispersi. Ad esempio, se hai tante goccioline di olio che 
galleggiano sull'acqua, queste tendono per loro natura a unirsi in una 
unica chiazza. Si dice che tendono a "coalescere", anche se dubito che 
il verbo esista in italiano.


 Comunque Rigo di una tabella almeno in toscana l'ho sempre sentito dire :)
Ah, ecco il perchè delle parole fantasiose :P (scusami, ma quando vedo i 
film "toscani" mi diverto, ma spesso devo attivare il traduttore 
istantaneo).
Ciao 

 italiano.
Sì, infatti cercando in google ci vuole mezz'ora e trovi solo qualcosa che 
definisce la parola come unioni di elementi proprio per la creazione di 
medicinali chimici e di operazioni chirurgiche.
Ciao 

 istantaneo).
Quindi sono perdonato :)