Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: DProduct en 8 Febrero 2008, 15:27 pm



Título: Duda
Publicado por: DProduct en 8 Febrero 2008, 15:27 pm
Tengo un problema en VB.
Estoy intentando hacer un programa para corregir programas en Batch, pero tengo dos problemas que no sé realizar:
1.- Separar u textbox en varias variables (una por linea) y utilizar la estructura If en todas ellas
2.- Que si existe echoburro, se cambie a echo burro; no a echo ?.


Título: Re: Duda
Publicado por: Chefito en 10 Febrero 2008, 05:55 am
Para separar el contenido de un textbox en varias variables por linea utiliza la función
Código:
linea=split(textbox1.text,vbcrlf)
,siendo linea una variable tipo matriz. Para utilizar la estructura if (que yo te recomendaria una estructura Select case) en todas ellas utiliza un bucle
Código:
for n=0 to Ubound(linea)
if linea(n)="lo que sea" then ..........
.................
next
Para hacer lo 2º tendras que hacer otro bloque select case con condiciones, y tratar las cadenas con funciones como instr,left,etc. En tu caso sería (utilizando un if, ya que solo te voy a poner un caso), if instr(texto,"echo")<>0 then texto="echo " & mid(texto,4,len(texto))......esto si texto="echoburro".
Saludos



Título: Re: Duda
Publicado por: DProduct en 10 Febrero 2008, 14:09 pm
Muchas gracias por tu ayuda, pero todavia tengo un problema
Yo quiero que si hay echo con otra palabra al lado, pero junta, se separé a echo y la palabra que este pegada. Puse echoburro como ejemplo. Yo quiero que se separe sea echoburro, echoelefante o echoasno, pero sin definir antes todas las posibilidades (porque puede haber millones)


Título: Re: Duda
Publicado por: Chefito en 10 Febrero 2008, 23:43 pm
Ni si quiera has probado lo que te dije por lo que veo :-\. El ejemplo del final sirve para todas las palabras que empiezan por echo y continuan con lo que sea.....ejem:echoadios,echohola,etc. Te los separara en una cadena como echo adios, echo hola.......


Título: Re: Duda
Publicado por: DProduct en 12 Febrero 2008, 13:48 pm
OK, muchas gracias


Título: Re: Duda
Publicado por: DProduct en 12 Febrero 2008, 14:17 pm
Tengo un problema: ¿Como termino el bucle?, porque cada vez que intento iniciarlo me da error y dice: Error de compilación: For sin Next.
También falta una cosa: ¿Como puedo hacer que si en la primera linea falta algo, baje una linea y añada el @echo off?


Título: Re: Duda
Publicado por: cassiani en 12 Febrero 2008, 14:51 pm
Tengo un problema: ¿Como termino el bucle?, porque cada vez que intento iniciarlo me da error y dice: Error de compilación: For sin Next.
También falta una cosa: ¿Como puedo hacer que si en la primera linea falta algo, baje una linea y añada el @echo off?

 Esto si que es muy básico, parece que no has leido ningún manual de inicio al vb y ya va llagando la hora...  :-X

 Un bloque For debe ser cerrado siempre por el next, por eso tu error:
Código:
For I = Inicio To Fin
   ...
Next


Título: Re: Duda
Publicado por: Chefito en 12 Febrero 2008, 15:01 pm
Pues un bucle for acaba con next  :o Pues eso, ponlo al final del bucle.
Para bajar una linea y añadir eso tienes que poner:
text1.text= vbcrlf & "@echo off" & vbcrlf & text1.text
En esto no tengo ni idea de lo que hablas...¿Como puedo hacer que si en la primera linea falta algo?......explicate mejor. Faltar el que?.....No se si te refieres a una comparación con un texto:
instr(linea(0),"texto a comparar")....esto da la posicion del texto comparado si lo encuentra, o 0 si no lo encuentra.
Por cierto, lee un poco más que esto son cosas bastante basicas.
Saludos.



Título: Re: Duda
Publicado por: DProduct en 12 Febrero 2008, 18:09 pm
Con lo de que si falta algo, me refiero a que no ponga @echo off
Si me lei algun manual de VB, pero no incluia nada sobre bucles


Título: Re: Duda
Publicado por: rdzlcs en 12 Febrero 2008, 20:38 pm
MMMM por que no ponen a que se refieren con la duda.... creo que de todas formas vamos a ayudar... en ves de poner

"DUDA" mmm que falta de mm che en serio creo que ya te ayudaron pero para la proxima lo saves y lo saven ok

SAludos


Título: Re: Duda
Publicado por: cassiani en 13 Febrero 2008, 00:31 am
Con lo de que si falta algo, me refiero a que no ponga @echo off
Si me lei algun manual de VB, pero no incluia nada sobre bucles

¿Qué? pero si yo aprendi mucho leyendo manuales bésicos, y recuerdo que en todos por ser manuales básicos, habian cosas básicas como esa (ya empiezo a redundar)... en fin...

http://mat21.etsii.upm.es/ayudainf/aprendainf/VisualBasic6/vbasic60.pdf (http://mat21.etsii.upm.es/ayudainf/aprendainf/VisualBasic6/vbasic60.pdf)

 Ese es solo uno de los cientos de manuales que se pueden encontrar en la red... y tambien esta www.google.com (http://www.google.com), basta con colocar "bucle For en vb" y te llueven cantidades de ejemplos bien explicados...  :-\

 De verdad no quiero molestar con estos comentarios, pero cosas como estas:
Citar
Tengo un problema: ¿Como termino el bucle?, porque cada vez que intento iniciarlo me da error y dice: Error de compilación: For sin Next.
Se resuelven usando el buscador...

 ¡De verdad! sin animos de fastidiar, es solo un consejo para que mejores en tu aprendizaje...


Título: Re: Duda
Publicado por: Chefito en 13 Febrero 2008, 00:59 am
Estoy totalmente deacuerdo con C@ss¡@n¡. Esto ya es dejadez. Que haya alguna duda de algún control, de como hacer algo,etc bueno.....pero una duda con for next,if then,etc despues de que el depurador de vb te lo solucione practicamente.....mmmm......eso no puede ser. Hay que dedicar por lo menos unos minutos en el google y en los manuales.
Saludos.