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
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!!!
muchas gracias pero ya probe asi tambien y no funciona, alguien mas tiene idea de porque pasa esto??
adioos
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
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 :)
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
Cita de: 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
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 ;)
Graciaaaas de nuevoooooo ;-) buenisimo che(arg)
ejje adios