Como criar um help para o Sistema em geral.
Como criar um help para um form usando o ( ? ).
Grato
André
Help para o Sistema em produção
-
- Mensagens: 7
- Registrado em: Fevereiro 11th, 2011, 12:11 am [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable
-
- Mensagens: 244
- Registrado em: Dezembro 22nd, 2010, 1:05 am [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable
Re: Help para o Sistema em produção
Para quem precisa documentar seu sistema ou criar um help, um bom editor de help é o HelpNDoc.
Gera um Help em HTML, com um pouco de paciência se aprende rapidamente, tem uma excelente interface para o usuário, e o melhor, é inteiramente Free.
O endereço para baixar o programa é http://www.ibe-software.com/products/software/helpndoc/
Para rodar o programa você precisa ainda do HTMLhelp da Microsoft, que pode baixar em:
http://msdn.microsoft.com/library/defau ... nloads.asp
Implementando HtmlHelp no XMaker.
PS: Sugiro que sempre que editarem algum arquivo nativo do XMaker, façam uma cópia de backup, para uma possível restauração.
1) No Modelo Geral Xmaker6.
Na pasta c:\XMaker6\Delphi, editar o form Princ.pas no Delphi.
Logo após as Uses da seção Interface , defina a seguinte Função:
Function HtmlHelp(hwndCaller: THandle; pszFile: PChar; uCommand: cardinal; dwData: longint): THandle; stdcall;
external 'hhctrl.ocx' name 'HtmlHelpA' ;
Acrescente no final do Formulários as seguintes procedures:
procedure TFormPrincipal.FormCreate(Sender: TObject);
begin
Application.OnMessage := ChamaHelp ;
end;
procedure TfrmPrincipal.ChamaHelp(var Msg: TMsg; var Handled: Boolean);
begin
if (Screen.ActiveForm.ClassName = 'TMessageForm') = false then
if Msg.message = WM_KEYDOWN then
if Msg.wParam = VK_F1 then
HtmlHelp(Screen.ActiveForm.Handle, PChar(Arquivo_de_Help.CHM), $F, Screen.ActiveForm.HelpContext ) ;
end;
Na Procedure TFormPrincipal.FormShow comente:
{
Define o ícone da aplicação
}
Application.Icon.Handle := LoadIcon(HInstance, 'ICONESISTEMA');
// Application.HelpFile := Sistema.Pasta + 'Ajuda.Hlp';
Application.Title := Sistema.Titulo;
{
Controle de acesso habilitado ?
}
Altere a Procedure TFormPrincipal.Mnu_86Click, como segue:
procedure TFormPrincipal.Mnu_86Click(Sender: TObject);
begin
if not LiberaAcesso(TMenuItem(Sender).Tag, 1) then // usuário possui acesso ?
Abort; // acesso negado, retorna ...
//INTERNO117;
begin
if (Screen.ActiveForm.ClassName = 'TMessageForm') = false then
HtmlHelp(Screen.ActiveForm.Handle, 'Help.CHM', $F, Screen.ActiveForm.HelpContext ) ;
end;
end;
Pronto . Ao apertar a tecla F1 em qualquer parte do projeto o help será chamado , desde que no formulário ativo , onde for pressionada o F1 a propriedade HelpContext esteja preenchida. Ou se clicar no menu Help, o mesmo será chamado.
2) Na Aplicação Gerada.
Para modificar a aplicação gerada os passos são os mesmos acima, só que o form Princ.pas, estará no diretório onde foi gerado o seu projeto.
Gera um Help em HTML, com um pouco de paciência se aprende rapidamente, tem uma excelente interface para o usuário, e o melhor, é inteiramente Free.
O endereço para baixar o programa é http://www.ibe-software.com/products/software/helpndoc/
Para rodar o programa você precisa ainda do HTMLhelp da Microsoft, que pode baixar em:
http://msdn.microsoft.com/library/defau ... nloads.asp
Implementando HtmlHelp no XMaker.
PS: Sugiro que sempre que editarem algum arquivo nativo do XMaker, façam uma cópia de backup, para uma possível restauração.
1) No Modelo Geral Xmaker6.
Na pasta c:\XMaker6\Delphi, editar o form Princ.pas no Delphi.
Logo após as Uses da seção Interface , defina a seguinte Função:
Function HtmlHelp(hwndCaller: THandle; pszFile: PChar; uCommand: cardinal; dwData: longint): THandle; stdcall;
external 'hhctrl.ocx' name 'HtmlHelpA' ;
Acrescente no final do Formulários as seguintes procedures:
procedure TFormPrincipal.FormCreate(Sender: TObject);
begin
Application.OnMessage := ChamaHelp ;
end;
procedure TfrmPrincipal.ChamaHelp(var Msg: TMsg; var Handled: Boolean);
begin
if (Screen.ActiveForm.ClassName = 'TMessageForm') = false then
if Msg.message = WM_KEYDOWN then
if Msg.wParam = VK_F1 then
HtmlHelp(Screen.ActiveForm.Handle, PChar(Arquivo_de_Help.CHM), $F, Screen.ActiveForm.HelpContext ) ;
end;
Na Procedure TFormPrincipal.FormShow comente:
{
Define o ícone da aplicação
}
Application.Icon.Handle := LoadIcon(HInstance, 'ICONESISTEMA');
// Application.HelpFile := Sistema.Pasta + 'Ajuda.Hlp';
Application.Title := Sistema.Titulo;
{
Controle de acesso habilitado ?
}
Altere a Procedure TFormPrincipal.Mnu_86Click, como segue:
procedure TFormPrincipal.Mnu_86Click(Sender: TObject);
begin
if not LiberaAcesso(TMenuItem(Sender).Tag, 1) then // usuário possui acesso ?
Abort; // acesso negado, retorna ...
//INTERNO117;
begin
if (Screen.ActiveForm.ClassName = 'TMessageForm') = false then
HtmlHelp(Screen.ActiveForm.Handle, 'Help.CHM', $F, Screen.ActiveForm.HelpContext ) ;
end;
end;
Pronto . Ao apertar a tecla F1 em qualquer parte do projeto o help será chamado , desde que no formulário ativo , onde for pressionada o F1 a propriedade HelpContext esteja preenchida. Ou se clicar no menu Help, o mesmo será chamado.
2) Na Aplicação Gerada.
Para modificar a aplicação gerada os passos são os mesmos acima, só que o form Princ.pas, estará no diretório onde foi gerado o seu projeto.
Att,
Gustavo Barreto
Gustavo Barreto
-
- Mensagens: 7
- Registrado em: Fevereiro 11th, 2011, 12:11 am [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable
Re: Help para o Sistema em produção
Valeu!!!!
Vou realizar testes.
Muito obrigado.
Vou realizar testes.
Muito obrigado.
Voltar para “Colaborações/Dicas, Artigos e Truques”
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante