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
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.
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.
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
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!!!
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}
}
}
}