de Grenville Tryon Pera      

Aplicaciones

Controles

Trucos

Preguntas

Teoria

Internet

Enlaces

Casos

Surf

Las paginas de Visual Basic

Pagina 1

 Haz una Pregunta

1. Puede ponerse un textbox sobre una ventana MDI principal?   Si, si anades un control Picturebox. Este control es de tipo 'container', es decir, puedes poner sobre este control otros controles. Al anadirlo, por defecto se alineara hacia arriba.
2 Tengo esta estructura (campos separados por |) producto|Analisis|Valor|Abreviatura
Ahora, necesito que un producto cumpla con ciertas condiciones de Valor y de Abreviatura de Analisis. Hice mi where algo asi
WHERE Abreviatura = 'HIST' AND valor BETWEEN 1 AND 100 AND Abreviatura = 'PROT' AND VALOR BETWEEN 2 AND 200
Necesito que un producto cumpla con las caracteristicas osea que tenga de HIST = Histamina un Valor entre un rango de valores y que cumpla tambien que tenga PROT = Proteinas entre otro rango de valores. Espero puedan ayudarme, gracias .
  select campo1, campo2, campo3 where abreviatura>='BBB' and abreviatura<='CCC' and valor>=1 and valor<=5
3 Solicité hace poco una ayuda sobre como JUSTIFICAR un texto (contenido de campo) en Crystal Report   1. Crea un lbl en tu forma impresion. Ponle visible=false, y autosize=true
2. Separa linea a linea (funcion mid), y anade espacios intercalados en el lbl hasta que tenga la longitud necesaria.
4 Deseo saber como hago para verificar si un archivo existe, y de ser asi, borrarlo   Public Function File(Nombre As String) As Boolean
File = False
If LCase(Dir(Nombre)) = LCase(Mid(Nombre, Rat(Nombre, "\") + 1)) Then
File = True
End If
End Function
if file("c:\ejemplo.txt") then
kill "c:\ejemplo.txt"
endif
5. Tengo dos dudas:
1.- Como agrego una fila o columna al Flesxgrid en tiempo de ejecucion.
2.- Creo un nuevo componente basado en un texbox. Primero entro al menu i le digo crear Nuevo Proyecto y elijo Control ActiveX ahi jalo un textbox y coloco un poco de codigo en el evento keypress, y nada mas luego lo conpilo y creo el OCX, y lo agrego a mis herramientas, y cuando lo uso pasa dos cosas, 1. que no ejecuta el codigo que le puse en el evento keypress , 2. El nueo componente no tiene el evento keypress. Porque sucede esto ?
 

1. msf.additem columna1+chr(9)+columna2+chr(9)+...
2. Nuevo: Activex OCX. En el pon un texto. En el codigo, pon event MikeyPress(KeyAscii as integer), en el eventpo keypress pon raiseevent MikeyPress(KeyAscii as integer). Anade nu proyecto (dentro de el actual), standard exe. En el haz doble click sobre el, y tendras el evento MiKeyPress.

6. Como Coloco un imagen como fondo de en un MDI Principal. no como mosaico, ni centrado sino en toda la pantalla.  

Tienes varias alternativas:
1. En el MDI principal encontraras el atributo 'picture'. Alli puedes insertar una imagen (es la forma 'oficial').
2. Anade una forma sin marco (atributo style). En ella, pega un control image, con stretch=true. en el evento resize, ponle:
me.height=mdiprincipal.height
me.wodth=mdiprincipal.width
en el evento getfocus, ponle mdiprincipal.setfocus
3. Hay una serie de controles en Internet que lo hacen. Seria cuestion de buscarlo.
Cual seguir? Yo uso la numero 1 o 2, segun sea el caso. (me inclino mas por la 2).

7. Como se puede crear una ventana MDI hija, si inicialmente es normal?  

Utiliza esta tecnica:
Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
SetParent ventanahija.hwnd,ventanamadre.hwnd

8. Sentencia SQL imposible  

Utiliza esta tecnica:
select 'De 15 a 30' as a,count(campo1),sum(campo2) from tabla
where campo3>=15 and campo3<=30
union
select 'De 31 a 35' as a,count(campo1),sum(campo2) from tabla
where campo3>=31 and campo3<=35
union
...
group by a

9. Como se puede ejecutar y/o cerrar una aplicacion desde VB?  

Utiliza esta tecnica:
Private Declare Function BringWindowToTop Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Const WM_CLOSE = &H10
Private Sub Command1_Click()
Dim hCalcWnd As Long
Dim x As Long
hCalcWnd = FindWindow("SciCalc", "Calculator")
If hCalcWnd = 0 Then
x = Shell("CALC.EXE", vbNormalFocus)
Else: BringWindowToTop (hCalcWnd)
End If
End Sub
Private Sub Command2_Click()
Dim WindowHandle As Long
Dim PostReturnValue As Long
WindowHandle = FindWindow("SciCalc", vbNullString)
Do While WindowHandle <> 0
PostReturnValue = SendMessage(WindowHandle, WM_CLOSE, 0, 0&)
WindowHandle = FindWindow("SciCalc", vbNullString)
Loop
End Sub