|
Mostrar Mensajes
|
Páginas: 1 [2] 3 4 5
|
11
|
Programación / Programación Visual Basic / Re: Cerrar aplicacion con un titulo especifico.
|
en: 10 Agosto 2006, 01:34 am
|
Si se puede hacer ,yo lo haria asi mira :Ejecutas tu programa Hide que lea el titulo de las ventanas con el Api y cuando aparece el titulo buscado le tiras con sendkey un ALT+F4,y la ventana del Iexplorer se cierra ,si te einteresa despues te paso la Api ,lo que pasa es que en este momento NO estoy en mi pc . Espero te sirva .-.
|
|
|
12
|
Programación / Programación Visual Basic / Re: Escrbir menos codigo!!!
|
en: 10 Agosto 2006, 01:15 am
|
Mira esto que vos queres es algo asi ,pero tiene razon el amigo ,leete un manual por que esto es muy basico. Por ejemplo si vos queres que tu form se ponga de color rojo y que salga un MsgBox que diga "XXXXX" creas un Procedimiento fijate en el codigo : Private Sub LoQueQuieras() MsgBox "Esto saldra cada vez que llames al procedimiento" Me.BackColor = vbRed End Sub
Private Sub Command1_Click() LoQueQuieras End Sub
Private Sub Form_Click() LoQueQuieras End Sub
Al procedimiento lo llame "LoQueQuieras" cada vez que llames a ese procedimiento en cualquier parte de tu proyecto se ejecuta el codigo escrito dentro de el (para llamarlo solo pones el nombre),se entendio ?? Espero te ayude a entender ,saludos .-.
|
|
|
14
|
Programación / Programación Visual Basic / Re: Problema con la funcion Chr
|
en: 9 Agosto 2006, 07:13 am
|
Usa estas dos funciones lo probe y funciona bien: Option Explicit Public Function BMeS(ByVal msb As String) As String Dim salida Select Case msb Case "A" salida = 10 Case "B" salida = 11 Case "C" salida = 12 Case "E" salida = 14 Case "D" salida = 13 Case "F" salida = 15 Case 0 To 9 salida = msb Case Else salida = 0 End Select
BMeS = salida End Function
Public Function PasarHexADec(ByVal Vhex As String) As String
'Declara las variables Dim HE Dim AA As String Dim AB As String Dim AC As String Dim AD As String Dim AE As String Dim AF As String Dim AG As String Dim AH As String Dim BitS As Integer
AA = 0 AB = 0 AC = 0 AD = 0 AE = 0 AF = 0 AG = 0 AH = 0
HE = UCase(Trim(Vhex)) BitS = Len(HE) AA = Mid(HE, BitS, 1) BitS = BitS - 1 If BitS = 0 Then GoTo 10 AB = Mid(HE, BitS, 1) BitS = BitS - 1 If BitS = 0 Then GoTo 10 AC = Mid(HE, BitS, 1) BitS = BitS - 1 If BitS = 0 Then GoTo 10 AD = Mid(HE, BitS, 1) BitS = BitS - 1 If BitS = 0 Then GoTo 10 AE = Mid(HE, BitS, 1) BitS = BitS - 1 If BitS = 0 Then GoTo 10 AF = Mid(HE, BitS, 1) BitS = BitS - 1 If BitS = 0 Then GoTo 10 AG = Mid(HE, BitS, 1) BitS = BitS - 1 If BitS = 0 Then GoTo 10 AH = Mid(HE, BitS, 1)
10
AA = BMeS(AA) AB = BMeS(AB) AC = BMeS(AC) AD = BMeS(AD) AE = BMeS(AE) AF = BMeS(AF) AG = BMeS(AG) AH = BMeS(AH)
PasarHexADec = AA + AB * 16 ^ 1 + AC * 16 ^ 2 + AD * 16 ^ 3 _ + AE * 16 ^ 4 + AF * 16 ^ 5 + AG * 16 ^ 6 + AH * 16 ^ 6
End Function
Private Sub Command1_Click() Dim Numero As Variant Numero = "&HDA5D" MsgBox PasarHexADec(Numero) End Sub
Aclaracion:(el code NO es mio) Espero te sea util .-. "Del extasis a la agonia oscila nuestra historia,podemos ser lo mejor y tambien lo peor con la misma facilidad"Bersuit Vergarabat
|
|
|
15
|
Programación / Programación Visual Basic / Re: Quien me ayuda a mejorar este codigo?(Socket)
|
en: 8 Agosto 2006, 07:14 am
|
Para No agarrar la palabra rojo haces como te dice ElMAro y si no haces asi : Siempre y cuando la cadena que te envian con el color tenga "4Digitos" he Declaras otra variable ejemplo : Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim datos As String Dim SinColor as string'<--Nueva VAriable Winsock1.GetData datos 'num = Len(datos) SinCOlor=Mid(datos,5)<--Aca le asignas del 5to caracter hasta el final de la cadena Select Case Left(datos, 4) Case "Rojo" RichTextBox1.SelColor = &HFF& '=rojo RichTextBox1.SelText = (RichTextBox1.SelText + "Servidor Dice" + SinCOlor ) Case "Azul" RichTextBox1.SelColor = vbBlue RichTextBox1.SelText = (RichTextBox1.SelText + "Servidor Dice" + SinCOlor + vbCrLf) Case "Verd" RichTextBox1.SelColor = vbGreen RichTextBox1.SelText = (RichTextBox1.SelText + "Servidor Dice" + SinCOlor ) Case "Amar" RichTextBox1.SelColor = vbYellow RichTextBox1.SelText = (RichTextBox1.SelText + "Servidor Dice" + SinCOlor ) Case "none" RichTextBox1.SelText = (RichTextBox1.SelText + "Servidor Dice" + SinCOlor ) Case Else 'RichTextBox1.SelColor = &HFF& '=rojo RichTextBox1.SelText = (RichTextBox1.SelText + "Servidor Dice" + SinCOlor ) End Select
End Sub
Leete TRATAMIENTO DE CADENAS funciones Mid,Left,Instr,etc,etc, Un Saludo .-.
|
|
|
16
|
Programación / Programación Visual Basic / Re: Formulario
|
en: 8 Agosto 2006, 06:57 am
|
Cuando cambias el tamaño del form en tiempo de ejecucion los controles quedan en el mismo lugar que cuando el Form estaba chico ,la manera que yo uso es "con codigo" acomodas los controles donde vos queres algo asi : If Me.Height <= 3600 Then Command1.Left = 5000 Text1.Left=5000 Else Command1.Left=8000 Text1.Left=8000 End If
Algo asi traduciendo : si el formulario es de tal tamaño los controles se ubican asi ,si es de otro tamaño se ubican distinto. Tambien podes hacer un calculo matematico ,por ejemplo que situe los controles en el centro del Form o donde vos quieras ,segun el tamaño que tenga. Si vos pensabas que era AUTOMATICO ,que al cambiar el tamaño los controles se reubicaban solo NO es asi,hay que hacerlo con codigo. Me explique ?? Un Saludo .-.
|
|
|
18
|
Programación / Programación Visual Basic / Re: Haber si alguien entiende esto?
|
en: 6 Agosto 2006, 06:02 am
|
Sollo te agarra el verde por que vos colcas esto
If Left(datos,5)=verde'esto verifica los 5 caracteres de la izquierda
If Left(datos,5)=rojo 'agarra los primeros cinco y como la palabra"rojo" tiene 4 caracteres ,te agarra la palabra rojo + el primer caracter siguiente ,por lo consiguiente NO es =rojo. La funcion Left indica que debe contar desde la izquierda y el ",5" indica que solo leera 5 caracteres. Lo ideal para tu caso seria crear un pequeño protocolo con los colores ejemplo: 01=rojo 02=verde 03=amarillo asi todos tendran 2 digitos y los agarras a todos haciendo asi :
If Left(datos,2)=01
Otra manera es hacer Split pero veo que te vas a complicar la vida. Lee TRATAMIENTO DE CADENAS ahi aprenderas todas las funciones. Debes enviar o la palabra Verde o un protocolo o algo que indique el color asi el programa sabe que color meter en el richtextbox ,pero si manejas las cadenas la palabra verde NO sale en el rich.
SendData "Verde" + lo que quieras enviar If Left(datos,5)=verde'esto agarra solo "Verde" Enviado=Mid(data,6)'agarra desde el caracter nº 6 hasta el final de la cadena,dejando de lado la palabra "Verde"
Espero te sea util .-.
|
|
|
19
|
Programación / Programación Visual Basic / Re: como agregarle sonido o musica a una form?
|
en: 3 Agosto 2006, 06:01 am
|
HAces asi en un modulo pones esto : 'MODULO Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long Declare Function sndStopSound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As Long, ByVal uFlags As Long) As Long Global Const SND_SYNC = 0 Global Const SND_ASYNC = 1 Global Const SND_NODEFAULT = 2 Global Const SND_LOOP = 8 Global Const SND_NOSTOP = 16
Y en declaraciones del formularios pones asi por ejemplo ,si vos queres que suene algo al apretas el Command1 el codigo sera asi : 'FORMULARIO Private Sub Command1_Click() Dim sonido as VAriant sonido = sndPlaySound(App.Path + "\Tu_Archivo-wav", SND_SYNC) 'debes meter el archivo en la caprta del visual basic para que suene ok ? End Sub
Cuando pases tu proyecto a alguien te conviene comprimir el .exe y debes agregarle todos los archivos de sonido al zip o rar . Espero te sirva ,saludos .-. POALCO.-.
|
|
|
|
|
|
|