VB A C

Iniciado por nafhta, 25 Abril 2011, 06:58 AM

0 Miembros y 1 Visitante están viendo este tema.

nafhta

Tengo un pequeño codigo en vb6 que necesito convertirlo a C
Les agradeceria mucho
Es sencillo!! gracias

Dim d, da As String
For s = 1 To Len(Text1)

d = Mid(Text1, s, 1)

da = Mid(Text1, s + 1, 1)

If d = da Then
    L = L + 1
Else
    cadena = L & d
    If L <> 0 Then
        Text2.Text = Text2 & cadena
    Else
        Text2 = Text2 & d
    End If
    L = 0
End If
Next

leogtz

Yo creo que primero tendrías que explicar qué hace el código en VB, ya que aunque sea básico no todos sabemos VB.

Saludos.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

Khronos14

Además de lo que comenta Leo, en C no existe el tipo string, por lo que trabajar con cadenas es un poco más engorroso.

Primero explica que hace la función Mid().

Saludos.

nafhta

Dim d, da As String
For s = 1 To Len(Text1)

d = Mid(Text1, s, 1)
Bueno voy a explicar el codigo para q me puedan hace el favor

Mid= sirve para seleccionar un trozo de texto dentro de una cadena de texto
ej mid(string de el pedazo a sacar, donde empieza, donde termina)
N=mid(murcielago,6,4)
entonces N seria igual a  Lago

lo que hace el siguiente codigo es comprimir una cadena de texto EJ,

Hoooooola soyyy nafhtaaaa

Esto daria igual a:

H5la soy2 nafhta3


================== CODE ============================

da = Mid(Text1, s + 1, 1)

If d = da Then
    L = L + 1
Else
    cadena = L & d
    If L <> 0 Then
        Text2.Text = Text2 & cadena
    Else
        Text2 = Text2 & d
    End If
    L = 0
End If
Next

79137913

HOLA!!!

Te lo traduzco a "pseudocodigo" (no se muy bien pseudocodigo, pero voy a hacer lo posible)

Declarar d como cadena
Declarar da como cadena

De s = 1 a Tamaño(Text1)

d = SubCadena(Text1, s, 1)

da = SubCadena(Text1, s + 1, 1)

si d = da hacer
   L = L + 1
sino
   cadena = concatenar( L , d )
   si L <> 0 hacer
       Text2.Text = concatenar( Text2 , cadena )
   sino        
       Text2 = concatenar( Text2 , d )
   Fin Si
   L = 0
Fin Si
Siguiente s


Espero que sirva, dejo aclaraciones:

Concatenar une 2 cadenas de texto ejemplo:
Concatenar("hola " , "mundo" ) devuelve "hola mundo".

SubCadena toma una parte de una cadena p1 es la cadena p2 es el inicio p3 es la longitud ejemplo:
SubCadena("Hola Mundo",3,5) devolvera "la Mu".

Tamaño es un simple length, ejemplo:
Tamaño("hola") devuelve 4 y tamaño ("Hola Mundo") devuelve 10.

GRACIAS POR LEER!!!
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

79137913                          *Shadow Scouts Team*

nafhta

nadie me podria convertirlo???

Yo lo convertire pero me podrian decir los errores
gracias

#include<stdio.h>
main(){
   char cadena[30]
   int i;
   int l;
   for i=1;i< sizeof(cadena);i++{
      if(cadena==cadena[i+1]){
         l++
      Else
         cadena=l + d
         if(l!=0){cadena=cadena & d}
      }
   }
         
}