Título: problemas con "and"
Publicado por: fede_cp en 14 Junio 2009, 18:22 pm
bueno hace muy poco habia presentado un problema que decia algo asi como "exe final no recibe los datos" pero nadie respondio :huh: pero ahora es distinto ya que no era que no recibía los datos,sino que las condiciones que habia no se cumplian asique no pasaba nada, pero enrealidad tendrian que cumplirse el codigo es asi If ((Split(datos, "|")(6)) = True) And ((Split(datos, "|")(5)) = False) Then MsgBox Split(datos, "|")(1), vbOKOnly, Split(datos, "|")(3) End If '''' If ((Split(datos, "|")(6)) = True) And ((Split(datos, "|")(5)) = True) Then res1 = MsgBox(Split(datos, "|")(1), vbOKOnly, Split(datos, "|")(3)) If res1 = vbOK Then ShellExecute hwnd, "open", (Split(datos, "|")(7)), vbNullString, vbNullString, conSwNormal Else: MsgBox "Posible mujer o algo rarito jaja" End If '''' If ((Split(datos, "|")(4)) = True) And ((Split(datos, "|")(5)) = False) Then MsgBox Split(datos, "|")(1), vbYesNo, Split(datos, "|")(3) End If '''' If ((Split(datos, "|")(4)) = True) And ((Split(datos, "|")(5)) = True) And ((Split(datos, "|")(8)) = True) Then res = MsgBox(Split(datos, "|")(1), vbYesNo, Split(datos, "|")(3)) If res = vbYes Then ShellExecute hwnd, "open", (Split(datos, "|")(7)), vbNullString, vbNullString, conSwNormal Else: ShellExecute hwnd, "open", (Split(datos, "|")(9)), vbNullString, vbNullString, conSwNormal End If
el problema esta en los "and"!!, necesitaria saber si se puede reemplazar por otra cosa o si esta mal usado como usarlo correctamente! adios y espero que alguien me ayude esta vez :P
Título: Re: problemas con "and"
Publicado por: EddyW en 15 Junio 2009, 08:39 am
Ahora no estoy con VB, lo unico que se me ocurre.... Intenta asi haber que sale: If (Split(datos, "|")(6)) = True And (Split(datos, "|")(5)) = False Then MsgBox Split(datos, "|")(1), vbOKOnly, Split(datos, "|")(3) End If Asi pero en todos tus codes le quite unos "(" ")" a tus Ifs... No se, cuando este con VB te aviso si encuentro algo mas.. SaluDOS!!!
Título: Re: problemas con "and"
Publicado por: fede_cp en 15 Junio 2009, 16:03 pm
muchas gracias pero ya probe asi tambien y no funciona, alguien mas tiene idea de porque pasa esto??
adioos
Título: Re: problemas con "and"
Publicado por: Karcrack en 15 Junio 2009, 16:28 pm
Creo que sobran paréntesis por todos los lados, ademas, Split()(x) devuelve String... no Boolean ... así lo pondría yo... prueba a ver... If (CBool(Split(datos, "|")(6)) = True) And (CBool(Split(datos, "|")(5)) = False) Then MsgBox Split(datos, "|")(1), vbOKOnly, Split(datos, "|")(3) End If '''' If (CBool(Split(datos, "|")(6)) = True) And (CBool(Split(datos, "|")(5)) = True) Then If MsgBox(Split(datos, "|")(1), vbOKOnly, Split(datos, "|")(3)) = vbOK Then Call ShellExecute(hWnd, "open", Split(datos, "|")(7), vbNullString, vbNullString, conSwNormal) Else Call MsgBox("Posible mujer o algo rarito jaja") End If End If '''' If (CBool(Split(datos, "|")(4)) = True) And (CBool(Split(datos, "|")(5)) = False) Then Call MsgBox(Split(datos, "|")(1), vbYesNo, Split(datos, "|")(3)) End If '''' If ((Split(datos, "|")(4)) = True) And ((Split(datos, "|")(5)) = True) And ((Split(datos, "|")(8)) = True) Then If MsgBox(Split(datos, "|")(1), vbYesNo, Split(datos, "|")(3)) = vbYes Then Call ShellExecute(hWnd, "open", Split(datos, "|")(7), vbNullString, vbNullString, conSwNormal) Else Call ShellExecute(hWnd, "open", Split(datos, "|")(9), vbNullString, vbNullString, conSwNormal) End If End If
Saludos ;D
Título: Re: problemas con "and"
Publicado por: raul338 en 15 Junio 2009, 16:31 pm
Hola! hace tiempo que no uso vb6 jeje...pero creo que estas comparando mal (CREO eh! ;D) Split(datos, "|")(6)
El split te devuelve un array de strings, que yo sepa no se puede comparar con True o False porque estos convertidos a string devuelven "Verdadero" y "Falso" Respectivamente, lo mejor seria convertir eso a ceros y unos (1 - verdadero, 0 - falso) entonces te quedaria algo asi y seria mas seguro If ((Split(datos, "|")(6)) = "1") And ((Split(datos, "|")(5)) = "0") Then MsgBox Split(datos, "|")(1), vbOKOnly, Split(datos, "|")(3) End If
por ultimo muestra el condicional y los condicionales por msgbox Msgbox Split(datos, "|")(6) MsgBox ((Split(datos, "|")(6)) = True)
Saludos!! EDIT: La respuesta de Karcrack tambien es otra solucion :)
Título: Re: problemas con "and"
Publicado por: fede_cp en 15 Junio 2009, 16:40 pm
muchas gracias a los dos pero karcrack te gano de mano y posteo primero ;D igualmente muhcas gracias a los dos!! gracias che estaba parado mucho tiempo
saludos
Título: Re: problemas con "and"
Publicado por: Karcrack en 15 Junio 2009, 17:01 pm
muchas gracias a los dos pero karcrack te gano de mano y posteo primero ;D igualmente muhcas gracias a los dos!! gracias che estaba parado mucho tiempo
saludos
De nada... de todas formas gastas mucho espacio para 4 Boolens... ademas de tener que usar Split (Detectado) y una subfirma "|".... Mirate esto: ( CREDITOS COBEIN) VERSION 5.00 Begin VB.Form Form1 Caption = "Form1" ClientHeight = 3195 ClientLeft = 60 ClientTop = 345 ClientWidth = 4680 LinkTopic = "Form1" ScaleHeight = 3195 ScaleWidth = 4680 StartUpPosition = 3 'Windows Default Begin VB.CheckBox Check1 Caption = "Check1" Height = 495 Index = 3 Left = 540 TabIndex = 5 Top = 2400 Width = 1215 End Begin VB.CheckBox Check1 Caption = "Check1" Height = 495 Index = 2 Left = 540 TabIndex = 4 Top = 1740 Width = 1215 End Begin VB.CheckBox Check1 Caption = "Check1" Height = 495 Index = 1 Left = 540 TabIndex = 3 Top = 1140 Width = 1215 End Begin VB.CheckBox Check1 Caption = "Check1" Height = 495 Index = 0 Left = 540 TabIndex = 2 Top = 540 Width = 1215 End Begin VB.CommandButton Command2 Caption = "Read" Height = 495 Left = 2760 TabIndex = 1 Top = 1320 Width = 1215 End Begin VB.CommandButton Command1 Caption = "Pack" Height = 495 Left = 2760 TabIndex = 0 Top = 720 Width = 1215 End End Attribute VB_Name = "Form1" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = False Attribute VB_PredeclaredId = True Attribute VB_Exposed = False Option Explicit
Private Const ANTI_VM As Long = &H1 Private Const ANTI_Sand As Long = &H2 Private Const ANTI_ETs As Long = &H4 Private Const ANTI_All As Long = &H8
Private lVal As Long '<-------- Holds the data
Private Sub Command1_Click() lVal = 0 If Check1(0).Value = 1 Then lVal = lVal Or ANTI_VM If Check1(1).Value = 1 Then lVal = lVal Or ANTI_Sand If Check1(2).Value = 1 Then lVal = lVal Or ANTI_ETs If Check1(3).Value = 1 Then lVal = lVal Or ANTI_All Dim i As Long For i = 0 To 3 Check1(i).Value = 0 Next End Sub
Private Sub Command2_Click() If lVal And ANTI_VM Then Check1(0).Value = 1 End If If lVal And ANTI_Sand Then Check1(1).Value = 1 End If If lVal And ANTI_ETs Then Check1(2).Value = 1 End If If lVal And ANTI_All Then Check1(3).Value = 1 End If End Sub Mételo en un Frm ;) Fuente: hxxp:// hackhound.org/forum/index.php?topic=8660.msg100588#msg100588 Saludos ;)
Título: Re: problemas con "and"
Publicado por: fede_cp en 15 Junio 2009, 17:14 pm
Graciaaaas de nuevoooooo ;-) buenisimo che(arg)
ejje adios
|