Duda

Iniciado por DProduct, 8 Febrero 2008, 15:27 PM

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

DProduct

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 ?.
Sé una cosa... dentro de escasos segundos vas a morir... ¿que porque lo sé?... Mira detrás de ti

Chefito

Para separar el contenido de un textbox en varias variables por linea utiliza la función 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 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

Moderador del foro oficial de AutoIt en español: www.AutoIt.es.

Todos tenemos inteligencia, lo malo es que algunos no nos acordamos donde la dejamos guardada ;)

DProduct

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)
Sé una cosa... dentro de escasos segundos vas a morir... ¿que porque lo sé?... Mira detrás de ti

Chefito

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.......
Moderador del foro oficial de AutoIt en español: www.AutoIt.es.

Todos tenemos inteligencia, lo malo es que algunos no nos acordamos donde la dejamos guardada ;)

DProduct

OK, muchas gracias
Sé una cosa... dentro de escasos segundos vas a morir... ¿que porque lo sé?... Mira detrás de ti

DProduct

#5
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?
Sé una cosa... dentro de escasos segundos vas a morir... ¿que porque lo sé?... Mira detrás de ti

cassiani

Cita de: Darth_Carl 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?

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:
For I = Inicio To Fin
   ...
Next

Chefito

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.

Moderador del foro oficial de AutoIt en español: www.AutoIt.es.

Todos tenemos inteligencia, lo malo es que algunos no nos acordamos donde la dejamos guardada ;)

DProduct

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
Sé una cosa... dentro de escasos segundos vas a morir... ¿que porque lo sé?... Mira detrás de ti

rdzlcs

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
Navegando en un mar de unos y ceros. Saltando de capa en capa por un modelo que lejos de ser seguro, nos da la libertad de Ser y No Ser.