CLR: .Net / Mono / Boo / Otros CLR > C#

 Convertir código de VB6 a C#

(1/1)

gabio2:
Que tal un saludo a todos, actualmente estoy trabajando con los HandPunch modelo 3000, la empresa donde se compraron los HandPunch nos ofrecio un programa (WHVB), que sirve para resetear el HandPunch entre otras cosas, de igual manera ofrecieron documentación de la API rsidll32.dll (para poder extraer toda la información de los HandPunch), ahora bien ya pude resetear el canal de comunicación por el cual se conecta el HandPunch y obtener el Handler, ahora analizando el código fuente del programa WHVB que está hecho en VB6, me encontre con este problema:


--- Código: Visual Basic ---''   RSI_READER_INFO'Type RSI_READER_INFO    model As Byte    memory As Byte    promDate As RSI_PROM_DATE    promName As RSI_PROM_NAME    pad1 As Byte                           sn As Long    snp As Byte    pad2 As Byte                             userCap As Integer    dlogCap As Integer    usersEnrolled As Integer    dlogsPresent As Integer    reserved As RSI_RI_RESERVEDEnd Type ''   RSI_PROM_DATE'Type RSI_PROM_DATE    pd(0 To RSI_LEN_PROM_DATE - 1) As ByteEnd Type ''   RSI_PROM_NAME'Type RSI_PROM_NAME    pn(0 To RSI_LEN_PROM_NAME - 1) As ByteEnd Type ''   RSI_RI_RESERVED'Type RSI_RI_RESERVED    rr(0 To RSI_LEN_RI_RESERVED - 1) As ByteEnd Type 
Ya que tengo muy pocos conocimientos en VB6 estuve investigando y encontre que los Type equivalen a las estructuras en C#.net (struct), ahora el problema es que según las reglas de sintaxis en C#, no se permiten inicializadores de campo de instancia en las estructuras, entonces mi duda es, como puedo declarar lo siguiente en C# :



--- Código: Visual Basic ---''   RSI_PROM_DATE'Type RSI_PROM_DATE    pd(0 To RSI_LEN_PROM_DATE - 1) As ByteEnd Type ''   RSI_PROM_NAME'Type RSI_PROM_NAME    pn(0 To RSI_LEN_PROM_NAME - 1) As ByteEnd Type ''   RSI_RI_RESERVED'Type RSI_RI_RESERVED    rr(0 To RSI_LEN_RI_RESERVED - 1) As ByteEnd Type 
Según entendí, debo declarar objetos de tipo Byte[] y decirles de que tamaño van a hacer (RSI_LEN_PROM_NAME-1,etc....)

Alguien tiene alguna idea de como puedo resolverlo?



Saludos y gracias !

ematrix:
Prueba

http://www.icsharpcode.net/opensource/sd/

tiene una opcion para pasarlo a c#

Saludos

caperutxa:
No se si es esto lo que pides pero te paso dos enlace:

http://msdn.microsoft.com/en-us/library/ah19swz4.aspx
http://msdn.microsoft.com/en-us/library/saxz13w4.aspx

El segundo tiene un punto que dice explícitamente:
      Structs can declare constructors that have parameters.

Si bien declaras los tipos para instanciarlos puedes usar un constructor. Te pongo un ejemplo que hay en otra página de la documentación oficial.

public struct CoOrds
{
    public int x, y;

    public CoOrds(int p1, int p2)
    {
        x = p1;
        y = p2;
    }
}

Si bien en este constructor le pasa parámetros puedes buscar otra manera para indicarle los valores iniciales

gabio2:
ematrix, la página que me enviaste es para un IDE gratuito para C# o VB  (.NET), gracias de igual forma. :)


caperutxa, muchas gracias, sin embargo ya lo probe y no funcionó, debe ser alguna otra cosa lo que tengo mal, sin embargo tú ayuda me sirvió de mucho!!! gracias.

Navegación

[0] Índice de Mensajes

Ir a la versión completa