Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   colocar ayuda con f1 (https://www.clubdelphi.com/foros/showthread.php?t=82773)

maxi915 12-04-2013 07:18:53

colocar ayuda con f1
 
HOla gente, estoy haciendo un sistemita en delphi con archivos, tengo una tabla auxiliar y una tabla principal.
Me piden que al presionar f1 muestre el contenido del archivo auxiliar, como puedo lograr esto? algun tipo de conexion se debe hacer, pero nose como, gracias.

newtron 12-04-2013 10:13:53

Hola.

No das muchas pistas sobre lo que quieres. ¿Quieres que pulsando F1 en cualquier parte del programa llame a una consulta de una tabla?, ¿quieres que sea pulsando F1 en un campo determinado?, ¿eso que llamas "archivo" es una tabla de una base de datos o un fichero de texto?

ecfisa 12-04-2013 11:09:34

Hola maxi915.

Un ejemplo muy simplificado de como podes capturar la tecla F1 y en consecuencia llamar a la ayuda durante la aplicación:
Código Delphi [-]
type
  TMainForm = class(TForm)
    procedure FormCreate(Sender: TObject);
    ...
  private
    procedure ApplicationMessage(var Msg: TMsg; var Handled: Boolean);
  public
  end;
...

implementation

procedure TMainForm.ApplicationMessage(var Msg: TMsg; var Handled: Boolean);
begin
  if Msg.message = WM_KEYDOWN then
    case Msg.wParam of
      VK_F1: Application.HelpJump('');
    end;
end;

procedure TMainForm.FormCreate(Sender: TObject);
begin
  Application.OnMessage := ApplicationMessage;
  Application.HelpFile  := GetEnvironmentVariable('%WINDIR%') + 'WINHLP32.HLP'; 
end;
...
procedure TMainForm.FormDestroy(Sender: TObject);
begin
   Application.OnMessage := nil;
end;
Si te interesan otras opciones, busca por: Delphi HTML Help y Delphi CHM Help.

Saludos.

maxi915 12-04-2013 19:44:28

quiero que presionando f1 en cualquier parte de la aplicacion me salte un: combobox, stringgrid o algun elemento para mostrar todos los registros de la tabla.
la tabla es un simple record con distintos campos.

con respecto a la ayuda que me brindaron en el segundo comentario, disculpa , pero no logro entender que tengo q hacer con ese codigo, gracias

newtron 12-04-2013 20:32:33

Bueno, el código del amigo ecfisa lo que hace es capturar la tecla F1 esté el programa donde esté y hacer ciertas cosas. Se ve que él pensaba a partir de tu mensaje que lo que querías era abrir un fichero de ayuda de la aplicación y no es el caso pero puedes usar el código para que al pulsar F1 ejecute los comandos para abrir un formulario con un grid con los datos de la tabla que quieras.

ecfisa 13-04-2013 00:21:25

1 Archivos Adjunto(s)
Hola maxi915.

Es tal cuál lo interpretó y cláramente explicó mi amigo newtron. ;)

Cita:

...pero no logro entender que tengo q hacer con ese codigo, gracias
Tal vez te sea mas comprensible revisando este pequeño demo que te adjunto.

Utiliza un TADOQuery en el form auxiliar para mostrar los registros de una tabla al presionar la tecla F1 donde se encuentre. Se posiciona en el registro cuyo nombre es enviado como parámetro desde el form principal y se corresponde con el actualmente seleccionado en un TListBox.

Create una carpeta, descomprimilo allí y tendría que funcionar sin problemas. Cualquier inconveniente avisame.

Saludos.

AzidRain 13-04-2013 02:55:59

El problema vendrá cuando la tabla que quiera mostrar tenga miles de registros..F1....................................................................................... ........resultado.

maxi915 18-04-2013 06:57:07

muchisimas gracias por los aportes!!!!
era lo que estaba buscando, ahora voy a ver si lo puedo implementar en mi sistemita.
Es verdad lo que dice, cuando halla miles de registros pero por ahora me piden entregar esto, gracias de nuevo!

maxi915 26-04-2013 06:56:23

las soluciones son correctas pero no logro engancharlo en mi sistema.

necesito hacer algo que presionando F1 se abra un listbox y alli mostrar registros cargados.

newtron 26-04-2013 10:23:26

Uis.... hemos caido en la casilla de "la muerte" y vuelta a empezar. :D

A ver, empecemos de nuevo. ¿Cuando pulses F1 dónde?, cuando digo dónde quiero decir en qué parte del programa, ¿en un campo determinado?, ¿en cualquier parte del programa?.

maxi915 26-04-2013 18:41:45

al presionar F1 en cualquier parte del sistema, seria como una ayuda del sistema-.

newtron 26-04-2013 20:45:13

Bien, pues el programa que el amigo ecfisa tan amablemente te ha preparado hace precisamente eso. Lo único es que tienes que implementar esa solución en tu aplicación.

Tendrás que modificar tu formulario principal para que reconozca la pulsación de la tecla F1 tal y como te ha preparado ecfisa en el ejemplo y crear un formulario al que se llama cuando se pulsa esa tecla y que tiene el grid con los registros que se van a presentar en la consulta.

¿Qué duda o problema tienes?


La franja horaria es GMT +2. Ahora son las 02:51:57.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi