SoloCodigo
Programación General => C/C++ => Mensaje iniciado por: sandra68 en Domingo 3 de Julio de 2005, 23:29
-
Tengo que pasar un pequeño codigo de visual basic a c++. Pero no entiendo casi ninguna linea, vaya lio! :( Alguien me podria ayudar?? Se que s dificil. mil gracias. El codigo es este:
Function CRC32(ByRef trama As String) As String
Dim dwCrc32 As Long
Dim i As Long
dwCrc32 = &HFFFFFFFF
Dim j As Integer, h As Integer
For j = 1 To Len(trama)
'i = CLng(Asc(Mid(trama, j, 1))) Xor ((dwCrc32) And &HFF&)
For h = 1 To 8
If (i And 1) Then
i = ((i And &HFFFFFFFE) / 2) Xor &HEDB88320
Else
i = (i And CLng(&HFFFFFFFE)) / 2
End If
Next h
dwCrc32 = ((dwCrc32 And &HFFFFFF00) / (2 ^ ) Xor i
Next j
'convertimos a representación hexadecimal con 8 digitos
Dim repHex As String
repHex = Hex$(dwCrc32)
If Len(repHex) = 8 Then
CRC32 = repHex
Else
'Colocamos símbolos "0" al principio de la cadena
CRC32 = String$(8 - Len(repHex), "0") & repHex
End If
End FunctionDE
-
no le veo nada dificil, cual es le problema que tienes para hacerlo?
-
Juank, ayudame. El problema es que se muy poco de c++ y me es casi imposible pasar eso que esta en visual basic.
Por ejemplo esto i = CLng(Asc(Mid(trama, j, 1))) Xor ((dwCrc32) And &HFF&)
en c++ no se como ponerlo. Creo que Xor es ^ en c++ no?
y en esta linea: dwCrc32 = ((dwCrc32 And &HFFFFFF00) / (2 ^ 8) Xor i . En visual basic ^ quiere decir exponente, pero como pongo 2 ^ 8 en c++?
mil Gracias
-
y esta trama:
For j = 1 To Len(trama)
CLng(Asc(Mid(trama, j, 1)))
next j
en visual basic, estamos haciendo una subcadena letra por letra de la variable "trama". Luego cogemos el numero ascii de esa letra y lo pasamos a long. -¿alguien sabe hacer esto en c++? gracias
-
lo que entendi es q quieres que una cadena que contiene la palabra "trama" imprima por pantalla el ascii de cada valor? si es eso ahi lo tienes y añadi el total porcia lo necesitas.
espero que te sirva
#include <iostream.h>
#include <string.h>
#include <ctype.h>
char cadena []="trama"; //cadena "trama"
int ascii,total; // variable entera donde se guardara el ascii
void main ()
{
for (int i=0;i<=4;i++)
{
ascii= toascii (cadena ); //asigna a la variable ascii el valor de la tabla ascii
cout<<cadena <<" = "<<ascii<<endl; //imprime el valor
total=total+ascii; // suma cada uno de los valores ascii
}
cout<<"Total = "<<total<<endl; //imprime La suma de los valores ascii
}
Bazo
-
Holas
Entendí lo siguiente, es como pasar de Visual Basic a C++, es decir, debe tener EditBox, Label, CommandButton, etc, esto pasar a una ventana GUI en C++, en VisualC++ dicen que existe un conversor de aplciaciones en Visual Basic Versión 4, 5 y 6 a VC++, pero hasta ahora no se donde se encuentra ni como utilizarlo.
Yó creo que la pregunta esta por esos lados...
Nos vemos.