Equivalencia Vb 6.0 a .Net

08/08/2006 - 16:11 por Ivan Pequeño | Informe spam
Estimados colegas...
Cual sería la equivalencia en Vb.Net
del Código siguiente ?

Obviamente agradeciendo de antemano

Esto debería estar en un módulo de manera que
sea accesible a todos los form, clases, etc

'Esto es el equivalente del Type de Vb 6.0
Structure StVarDat
Dim Nvl As Byte
Dim Nom As String
Dim Tip As String
End Structure
'Pero aqui empiezan los problemas
Public VarDat() As StVarDat
Public VarMax As Short

y en alguna clase necesitaré hacer como en Vb 6.0

'Y aqui ya no son problemas sino catástrofes
VarMax = TotalDeVariablesCobol
ReDim Preserve VarDat(TotalDeVariablesCobol) As StVarDat
For i = 1 to TotalDeVariablesCobol
VarDat(i).Nvl = 10
VarDat().Nom = "WS-RUT-NUM"
VarDat().Tip = "X"
Next

Reitero mis agradecimientos por una eventual orientación

Preguntas similare

Leer las respuestas

#1 Guillermo guille
08/08/2006 - 17:11 | Informe spam
Creo que el problema lo tienes en que en .NET los arrays empiezan por CERO y
no por uno, aunque en tu código estés desperdiciando el elemento cero, no
debería darte error, salvo que uses la variable "i" en las dos últimas
asignaciones del bucle, que creo que no está porque has copiado "a mano" el
código...

En el Redim Preserve no es necesario que indiques el tipo de datos, esa
información ya la sabe el compilador.
Y si la estructura está definida en un módulo, deberías usar el nombre del
módulo para acceder a la estructura...

¿Que error es el que te da?

Nos vemos.
Guillermo
Microsoft VB MVP desde 1997
Mentor Asociado de Solid Quality Learning Iberoamericana

Te invito a mi sitio: http://www.elguille.info/
Resuelve tus dudas en: http://foros.elguille.info/

"Ivan Pequeño" escribió en el mensaje
news:
Estimados colegas...
Cual sería la equivalencia en Vb.Net
del Código siguiente ?

Obviamente agradeciendo de antemano

Esto debería estar en un módulo de manera que
sea accesible a todos los form, clases, etc

'Esto es el equivalente del Type de Vb 6.0
Structure StVarDat
Dim Nvl As Byte
Dim Nom As String
Dim Tip As String
End Structure
'Pero aqui empiezan los problemas
Public VarDat() As StVarDat
Public VarMax As Short

y en alguna clase necesitaré hacer como en Vb 6.0

'Y aqui ya no son problemas sino catástrofes
VarMax = TotalDeVariablesCobol
ReDim Preserve VarDat(TotalDeVariablesCobol) As StVarDat
For i = 1 to TotalDeVariablesCobol
VarDat(i).Nvl = 10
VarDat().Nom = "WS-RUT-NUM"
VarDat().Tip = "X"
Next

Reitero mis agradecimientos por una eventual orientación
Respuesta Responder a este mensaje
#2 Ivan Pequeño
08/08/2006 - 17:53 | Informe spam
Muchas gracias por tu atención

Estoy buscando esta equivalencia porque tengo que re-escribir toda una clase
que procesa una revisión de codigo cobol y quería asegurarme que es posible
hacer esto.
No se si conviene + una clase-collection pero en vb 6.0 un type era 1000 veces
+ rápido que una collection.

pero al hacer esto quizas estoy perdiendo funcionalidades intrínsicas de
las collection y programando en Vb.Net como en Vb 6.0 y esto es lo que
NO QUIERO hacer. Pero antes de largarme a escribir, quería recibir una opinión

Gracias nuevamente por tu tiempo
Respuesta Responder a este mensaje
#3 Guillermo guille
08/08/2006 - 19:33 | Informe spam
¿Y para que quieres una clase-colección?
Si con el array te va bien...

Nos vemos.
Guillermo
Microsoft VB MVP desde 1997
Mentor Asociado de Solid Quality Learning Iberoamericana

Te invito a mi sitio: http://www.elguille.info/
Resuelve tus dudas en: http://foros.elguille.info/

"Ivan Pequeño" escribió en el mensaje
news:
Muchas gracias por tu atención

Estoy buscando esta equivalencia porque tengo que re-escribir toda una
clase
que procesa una revisión de codigo cobol y quería asegurarme que es
posible
hacer esto.
No se si conviene + una clase-collection pero en vb 6.0 un type era 1000
veces
+ rápido que una collection.

pero al hacer esto quizas estoy perdiendo funcionalidades intrínsicas de
las collection y programando en Vb.Net como en Vb 6.0 y esto es lo que
NO QUIERO hacer. Pero antes de largarme a escribir, quería recibir una
opinión

Gracias nuevamente por tu tiempo

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida