Autor
|
Tema: es posible...? (Consola) (Leído 7,797 veces)
|
|
WestOn
Desconectado
Mensajes: 272
El testamento Maya...
|
wenas, ya Spider-Net pero nunca he usado la funcion que has puesto, y he estado mirando la msdn online pero no soy capaz de hacerlo funcionar en la consola.. ttp://msdn.microsoft.com/es-es/library/8460tsh1(VS.80).aspx le falta una H al principio. si me pones un pequeño ejemplo (q no parecido el de la pag, q ademas no me funciona xDD) te lo agradeceria bueno venga un saludo
|
|
|
En línea
|
En mi cabeza existe una barrera espacio-tiempo de 4cm³. ¿Alguien sabe como eliminarla?.
|
|
|
seba123neo
|
Hola WestOn todas esas dudas Instr ,Ubound estan en un manual de visual basic...esa pagina es de visual basic .NET...digamos que es lo mismo..pero algunas funciones cambian y por eso es mejor mirar algo de visual basic 6...
saludos.
|
|
|
En línea
|
|
|
|
WestOn
Desconectado
Mensajes: 272
El testamento Maya...
|
ya decia yo , ok voy a mirar el tuto del guille que seguro estaran esas funciones.. ahora cuando lo haga dejare un pequeño ejemplo por si alguien lo quiere un saludoo
|
|
|
En línea
|
En mi cabeza existe una barrera espacio-tiempo de 4cm³. ¿Alguien sabe como eliminarla?.
|
|
|
WestOn
Desconectado
Mensajes: 272
El testamento Maya...
|
wenas, haber he hecho este ejemplo bien sencillo pero me salta un error ("se esperaba =") Option Explicit Dim a As String Private Sub Command1_Click() InStr(a, "clear", vbTextCompare) 'Aqui salta el error End Sub Private Sub Form_Load() a = "dgh ttdx tnh ck bd tbs xjthm cn clear rgtfc txvhtxv" End Sub
si no entendi mal InStr lee desde el inicio la variable, busca la palabra 'clear', y la ultima opcion es para comparar texto, ¿que me falla? un saludo y grax de antemano
|
|
|
En línea
|
En mi cabeza existe una barrera espacio-tiempo de 4cm³. ¿Alguien sabe como eliminarla?.
|
|
|
seba123neo
|
pues claro..el Instr se le tiene qeu pasar a una variable o lo tenes que comparar con un if o con un msgbox lo podes mostrar..no lo podes poner asi nomas...el Instr devuelve un integer ..si es 0 no encontro la palabra y si es desigual a 0 te devuelve la posicion en la que la cadena que buscaste se encuentra..mira: Option Explicit Dim a As String Private Sub Command1_Click() MsgBox InStr(a, "clear") End Sub Private Sub Form_Load() a = "dgh ttdx tnh ck bd tbs xjthm cn clear rgtfc txvhtxv" End Sub
ahi te devuelve 33 qeu es la posicion de la palabra "Clear" que buscas...en vez de un msgbox podes poner una variable y hacer un if asi: Option Explicit Dim a As String Dim i As Integer Private Sub Command1_Click() i = InStr(a, "clear") If i = 0 Then MsgBox "no se encontro la palabra" Else MsgBox "se encontro la palabra en la posicion " & i End If End Sub Private Sub Form_Load() a = "dgh ttdx tnh ck bd tbs xjthm cn clear rgtfc txvhtxv" End Sub
saludos.
|
|
|
En línea
|
|
|
|
WestOn
Desconectado
Mensajes: 272
El testamento Maya...
|
grax seba123neo, yo creo que ya con esto puedo seguir con lo de la consola un saludo
|
|
|
En línea
|
En mi cabeza existe una barrera espacio-tiempo de 4cm³. ¿Alguien sabe como eliminarla?.
|
|
|
WestOn
Desconectado
Mensajes: 272
El testamento Maya...
|
Wenas, aqui esta este ejemplo q funciona , poner 1 commandbotton & un text : Option Explicit Dim a As String, z Dim i As Integer Private Sub Command1_Click() a = Text1 z = 0 If z = 0 Then i = InStr(a, "clean /s") If i = 0 Then 'no ta Else i = InStr(a, "/q") If i = 0 Then MsgBox "Clean /S", vbInformation, "info" Else MsgBox "Clean /S /Q", vbInformation, "info" End If End If End If End Sub
el problema esque no es capaz de reconocer el comando /q solo, ¿alguna idea? saludoss
|
|
« Última modificación: 18 Octubre 2008, 21:17 pm por WestOn »
|
En línea
|
En mi cabeza existe una barrera espacio-tiempo de 4cm³. ¿Alguien sabe como eliminarla?.
|
|
|
Spider-Net
Desconectado
Mensajes: 1.165
Un gran poder conlleva una gran responsabilidad
|
¿Pero por qué no usas el split que es mucho más fácil? Y un consejo compañero, acostúmbrate a tabular (indentar) tu código porque es más fácil de comprender: A ver, un ejemplo: 'Ejemplo de uso de Split para separar comandos 'Por Auron 'Espero que lo entiendas bien esta vez Option Explicit Dim a, resultado As String Dim i, contador As Integer Dim v As Variant Private Sub Command1_Click() a = Text1.Text 'Se almacena en a la cadena v = Split(a, " ") 'Se separa cada parametro con un split 'v(0) = primer parametro 'v(1) = segundo parametro 'v(2) = tercer parametro... etc 'Se cuenta el numero de espacios que hay en el texto, así sabremos 'cuantos parámetros hay, porque entre cada parámetro ha de haber un espacio For i = 1 To Len(a) If Mid(a, i, 1) = " " Then contador = contador + 1 'contador almacena el número de espacios End If Next 'Si el primer parametro es el comando clean entramos If LCase(v(0)) = "clean" Then resultado = "clean" 'asignamos el resultado clean 'Si contador es mayor o igual que 1 es que hay uno o más parámetros If contador >= 1 Then If LCase(v(1)) = "/q" Then resultado = resultado & " /q" 'Si el parámetro 1 es /q se almacena en resultado ElseIf LCase(v(1)) = "/s" Then resultado = resultado & " /s" 'Si el parámetro 1 es /s se almacena en resultado End If End If 'Si contador es mayor o igual que 2 es que hay dos o más parametros If contador >= 2 Then If LCase(v(2)) = "/q" Then resultado = resultado & " /q" 'Si el parámetro 2 es /q se almacena en resultado ElseIf LCase(v(2)) = "/s" Then resultado = resultado & " /s" 'Si el parámetro 2 es /s se almacena en resultado End If End If 'Mostramos el resultado MsgBox "El comando resultante es: " & resultado, vbInformation, "Resultado" End If End Sub
|
|
|
En línea
|
|
|
|
WestOn
Desconectado
Mensajes: 272
El testamento Maya...
|
wenas, esque lo del split tampoco lo he usado nunca y tenia que mirar tambien lo del InStr... Lo de identar el code me ha sido imposible...(tenia otra idea en la cabeza, primer post) pero lo q vosotros decis esq esta mejor, voy a probar el ejemplo grax Spider-Net
|
|
|
En línea
|
En mi cabeza existe una barrera espacio-tiempo de 4cm³. ¿Alguien sabe como eliminarla?.
|
|
|
|
|