Ayuda VB6 a C#

10/04/2007 - 16:12 por vlamafox | Informe spam
Hola a todos y gracias antemano, miren tengo la siguiente funcion hecha en
VB6 y lo quiero migrar a c#
Private Function MapaBits(aCad As String)
Dim F(1 To 64) As Boolean, c As String
Dim i As Integer, j As Integer
Dim bit As Integer, Indice As Integer
Indice = 1

For i = 1 To 8
c = Asc(Mid$(aCad, i, 1))
bit = 128

For j = 1 To 8
F(Indice) = c And bit
Indice = Indice + 1
bit = bit / 2
Next
Next

MapaBits = F
End Function

Bien he hecho gran parte de la migración pero no entiendo la linea de codigo
siguiente "F(Indice) = c And bit", haber si me ayudan que lo q dice y como
seria en C#, gracias.

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
10/04/2007 - 16:41 | Informe spam
"vlamafox" wrote in message
news:
Bien he hecho gran parte de la migración pero no entiendo la linea de
codigo
siguiente "F(Indice) = c And bit",



Está haciendo un "AND" binario entre c y bit, y asignándoselo a un
elemento de un array. En C# se hace asi:

F[Indice] = c & bit;
Respuesta Responder a este mensaje
#2 vlamafox
10/04/2007 - 18:22 | Informe spam
"Alberto Poblacion" wrote:

"vlamafox" wrote in message
news:
> Bien he hecho gran parte de la migración pero no entiendo la linea de
> codigo
> siguiente "F(Indice) = c And bit",

Está haciendo un "AND" binario entre c y bit, y asignándoselo a un
elemento de un array. En C# se hace asi:

F[Indice] = c & bit;




Hola Alberto, he puesto esa línea de código pero me sale el siguiente
error: Operator '&' cannot be applied to operands of type 'string' and 'int'
Respuesta Responder a este mensaje
#3 Juan Carlos Paramá
10/04/2007 - 19:58 | Informe spam
Hola,

Es que la variable no puede ser de tipo string. Las dos tienen que ser
enteros.

Saludos,

Juan Carlos Paramá

"vlamafox" escribió en el mensaje de
noticias news:


"Alberto Poblacion" wrote:

"vlamafox" wrote in message
news:
> Bien he hecho gran parte de la migración pero no entiendo la linea de
> codigo
> siguiente "F(Indice) = c And bit",

Está haciendo un "AND" binario entre c y bit, y asignándoselo a un
elemento de un array. En C# se hace asi:

F[Indice] = c & bit;




Hola Alberto, he puesto esa línea de código pero me sale el siguiente
error: Operator '&' cannot be applied to operands of type 'string' and
'int'


Respuesta Responder a este mensaje
#4 Alberto Poblacion
10/04/2007 - 20:04 | Informe spam
"vlamafox" wrote in message
news:
F[Indice] = c & bit;




Hola Alberto, he puesto esa línea de código pero me sale el siguiente
error: Operator '&' cannot be applied to operands of type 'string' and
'int'



Es un error del programa original en VB. Declara c como string, pero
luego le mete un Asc(...), que es numérico (con lo que el VB hace una
conversión implícita de numérico a String), y luego usa c en un And, que
requiere argumentos numéricos, con lo que vuelve a hacer una conversión
implícita de string a numérico.
C# no realiza implícitamente las conversiones como el VB6, asi que si
realmente las quieres hacer hay que escribirlas expresamente el en código:
F[indice] = int.Parse(c) & bit;
Pero en este caso, dado que el programa nunca usa c como string sino que
todo el rato mete dentro valores numéricos, creo que lo que sería procedente
es cambiar la declaración y hacer que c sea un int en lugar de un string.
Respuesta Responder a este mensaje
#5 vlamafox
11/04/2007 - 03:00 | Informe spam
ya pude solucionar mi problema gracias...
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida