Autor
|
Tema: problemas con "and" (Leído 1,856 veces)
|
fede_cp
Desconectado
Mensajes: 527
"porque pensar nunca fue entender"
|
bueno hace muy poco habia presentado un problema que decia algo asi como "exe final no recibe los datos" pero nadie respondio 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
|
|
|
En línea
|
somos lo que hacemos para cambiar lo que somos
http://elhackerblog.blogspot.com el blog de elhacker.net!!
|
|
|
EddyW
|
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!!!
|
|
|
En línea
|
|
|
|
fede_cp
Desconectado
Mensajes: 527
"porque pensar nunca fue entender"
|
muchas gracias pero ya probe asi tambien y no funciona, alguien mas tiene idea de porque pasa esto??
adioos
|
|
|
En línea
|
somos lo que hacemos para cambiar lo que somos
http://elhackerblog.blogspot.com el blog de elhacker.net!!
|
|
|
Karcrack
Desconectado
Mensajes: 2.416
Se siente observado ¬¬'
|
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
|
|
|
En línea
|
|
|
|
raul338
Desconectado
Mensajes: 2.633
La sonrisa es la mejor forma de afrontar las cosas
|
Hola! hace tiempo que no uso vb6 jeje...pero creo que estas comparando mal (CREO eh! ) 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
|
|
|
En línea
|
|
|
|
fede_cp
Desconectado
Mensajes: 527
"porque pensar nunca fue entender"
|
muchas gracias a los dos pero karcrack te gano de mano y posteo primero igualmente muhcas gracias a los dos!! gracias che estaba parado mucho tiempo saludos
|
|
|
En línea
|
somos lo que hacemos para cambiar lo que somos
http://elhackerblog.blogspot.com el blog de elhacker.net!!
|
|
|
Karcrack
Desconectado
Mensajes: 2.416
Se siente observado ¬¬'
|
muchas gracias a los dos pero karcrack te gano de mano y posteo primero 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
|
|
|
En línea
|
|
|
|
fede_cp
Desconectado
Mensajes: 527
"porque pensar nunca fue entender"
|
Graciaaaas de nuevoooooo buenisimo che(arg) ejje adios
|
|
|
En línea
|
somos lo que hacemos para cambiar lo que somos
http://elhackerblog.blogspot.com el blog de elhacker.net!!
|
|
|
|
|