Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Explicar los parametros de esta API sendmessage

Estas en el tema de Explicar los parametros de esta API sendmessage en el foro de Visual Basic clásico en Foros del Web. Que significan estos caracteresn tengo idea &HBA y 0& Código: Private Declare Function SendMessageLong Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As ...
  #1 (permalink)  
Antiguo 16/09/2009, 13:37
 
Fecha de Ingreso: junio-2008
Mensajes: 343
Antigüedad: 15 años, 10 meses
Puntos: 4
Explicar los parametros de esta API sendmessage

Que significan estos caracteresn tengo idea &HBA y 0&

Código:
Private Declare Function SendMessageLong Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

Private Sub Command1_Click()
MsgBox "Hay " & SendMessageLong(RichTextBox1.hwnd, &HBA, 0&, 0&) - 1 & " salto(s) de línea"
End Sub
  #2 (permalink)  
Antiguo 16/09/2009, 15:10
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: Explicar los parametros de esta API sendmessage

En particular el 0& creo que es un simple cero, solo que se le añade el & para insistir en que el 0 es un número.

El valor HBA es "Hexadecimal BA".
El caso es que si pones:
A=HBA
VB piensa que HBA es una variable.
Para que VB use HBA como número hexadecimal hay que añadirle el símbolo & delante.
Si lo pruebas, verás que añadiendolo también al final, el resultado es el mismo.

&HBA y &HBA& devuelven el valor 186
Sin embargo HBA devuelve una cadena vacía (si no existe una variable HBA cargada)
Y HBA& devuelve el valor 0, ya que se supone número pero no tiene el caracter delante para tomarlo por Hexadecimal ni tiene números que tomar por decimal.
Prueba esto:

MsgBox HBA
El resultado será = ""

MsgBox HBA&
Resultado = 0

MsgBox &HBA
Resultado = 186

MsgBox &HBA&
Resultado = 186

Igual hasta te has enterado...

Saludos

PD: Si lo que quieres saber es que significado tienen en esta función, te lo puedo mirar, pero donde están los 0 tienen diferentes funciones según el valor que pongas en lugar de &HBA.
Ya lo he mirado. HBA es el valor de la const EM_GETLINECOUNT, que para contar las líneas parece lo mejor

Última edición por pkj; 16/09/2009 a las 15:15
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:50.