• Sábado 20 de Abril de 2024, 14:20

Autor Tema:  Que Lio! Alguien Sabe Pasar Esto De Visual A C++?  (Leído 2045 veces)

sandra68

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Que Lio! Alguien Sabe Pasar Esto De Visual A C++?
« en: Domingo 3 de Julio de 2005, 23:29 »
0
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

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Que Lio! Alguien Sabe Pasar Esto De Visual A C++?
« Respuesta #1 en: Lunes 4 de Julio de 2005, 00:32 »
0
no le veo nada dificil, cual es le problema que tienes para hacerlo?
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

sandra68

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Que Lio! Alguien Sabe Pasar Esto De Visual A C++?
« Respuesta #2 en: Lunes 4 de Julio de 2005, 09:50 »
0
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

sandra68

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Que Lio! Alguien Sabe Pasar Esto De Visual A C++?
« Respuesta #3 en: Lunes 4 de Julio de 2005, 10:39 »
0
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

Bazo

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Que Lio! Alguien Sabe Pasar Esto De Visual A C++?
« Respuesta #4 en: Domingo 10 de Julio de 2005, 20:05 »
0
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

nostromo

  • Miembro MUY activo
  • ***
  • Mensajes: 134
    • Ver Perfil
    • http://win32cpp.cjb.net
Re: Que Lio! Alguien Sabe Pasar Esto De Visual A C++?
« Respuesta #5 en: Martes 9 de Agosto de 2005, 00:08 »
0
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.