Ir para conteúdo
Fórum Script Brasil

Jhonas

Monitores
  • Total de itens

    9.657
  • Registro em

Tudo que Jhonas postou

  1. exemplo: unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Edit1: TEdit; Button2: TButton; Button3: TButton; Button4: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); private { Private declarations } HC_KEYBOARD_Handle:THandle; public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} function BlockInput( fBlockIt:boolean):Boolean; StdCall; External 'User32.dll'; function KeyboardProc(nCode:Integer; wParam:WPARAM; lParam:LPARAM):LRESULT; stdcall; begin Result := 1; end; procedure TForm1.Button1Click(Sender: TObject); begin //Bloquear todo o teclado: HC_KEYBOARD_Handle := SetWindowsHookEx(WH_KEYBOARD, @KeyboardProc, 0, GetCurrentThreadId); end; procedure TForm1.Button2Click(Sender: TObject); begin //Desbloquear todo o teclado: UnhookWindowsHookEx(HC_KEYBOARD_Handle); end; procedure TForm1.Button3Click(Sender: TObject); begin //Bloquear todo o teclado e Mouse: BlockInput(True); end; procedure TForm1.Button4Click(Sender: TObject); begin //Desbloquear todo o teclado e Mouse: BlockInput(False); end; end. abraço
  2. Jhonas

    AdoQuery count

    não use o proprio nome do campo como parametro, isso causa problemas abraço
  3. na paleta Dialogs tem 2 componente para isso FontDialog1 e ColorDialog1 exemplos http://www.planetadelphi.com.br/dica/6758/...ndo-tfontdialog http://www.planet-source-code.com/vb/scrip...64&lngWId=7 abraço
  4. Pesquise no forum pela palavra CPF e pela palavra Select use um componente query com uma instrução select no forum tem várias abraço
  5. veja esse post http://scriptbrasil.com.br/forum/index.php...mp;hl=processos abraço
  6. Jhonas

    Sobre o SynEdit

    já experimentou o TSynMemo ? abraço
  7. http://focalinux.cipsga.org.br/guia/avancado/ch-s-telnet.htm ou http://www.eldos.com/sbb/delphi-ssl.php?re...CFUzs7QodQD5wHA pesquise por VPN ou VNP abraço
  8. Jhonas

    Nota Fiscal

    leia esse manual http://www.mp.sp.gov.br/portal/page/portal...ibutos_2009.pdf abraço
  9. Faça uma pesquisa no forum http://scriptbrasil.com.br/forum/index.php...te=rave+reports abraço
  10. deixe a propriedade Stretch = true abraço
  11. veja nesse link http://www.activedelphi.com.br/forum/viewt...ea55cbb81b5ba05 abraço
  12. Jhonas

    AdoQuery count

    a select ficaria assim SQL.Add('SELECT SUM(valoranomania = 1) as Ano1, SUM(valoranomania = 2) as Ano2, SUM(valoranomania = 3) as Ano3 from TERMO_RelatorioFinal_sub_1'); abraço
  13. tem sim, basta dentro do UFmePainel declarar a uses do UFrmPrincipal, depois é só utilizar os nomes das procedures e variaveis publicas do UFrmPrincipal. supondo que UDtmDestino seja um DataModule, é feito a mesma coisa .. basta declarar a uses do UDtmDestino dentro do UFmePainel. exemplo: voce tem um Form1 e um Form2 e no Form2 voce tem procedures, function e variaveis publicas ... para que o Form1 veja as procedures, functions e varaiveis publicas do Form2 , voce declara na uses do Form1 a unit do Form2 type TForm1 = class(TForm) private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} uses Unit2; // Referente ao Form2 dessa maneira o Form1 podera usar tudo o que estiver no Form2 ( procedures, functions , etc ..) abraço
  14. Jhonas

    AdoQuery count

    explique melhor, caso contrario ficara sem resposta abraço
  15. Fiz outro teste aqui... depois de selecionar a linha do DBGrid os textos referentes a primeiro grupo aparecem, se voce clicar no botao proximo eles somem ... entretanto se voce digitar novamente nos campos em branco e novamente clicar no botão proximo e novamente digitar nos campos em branco, ao clicar no botão simulador, todos os textos aparecem na sequencia, dando a impressão que eles estão salvos, mas na verdade não estão, somente estão na memoria. creio eu que a maneira mais simples de resolver isso, é salvar individualmente cada um dos textos Frontal, Lateral, Auxiliar e Trazeiro em cada registro da tabela. o botão proximo seria usado para ler o proximo registro, fazer a leitura de cada campo e atribuir os respectivos valores a cada FlexLed. neste caso voce poderia criar mais um campo de controle na tabela para identificar qual o modeo de onibus está sendo atribuido esses valores.... neste caso tambem, voce pode dispensar o uso de indices, pois não seria necessario. como não posso instalar os componentes Jedi no momento, fica dificil até para te dar um exemplo, pois não posso mexer no código e testa-lo. experimente criar um novo projeto somente para testar o FlexLed com a tabela ( salvar e recuperar as informações da tabela e use componentes nativos do delphi ... assim poderei acompanhar o seu raciocínio e testar aqui tambem ) uma coisa bem simples, somente para testar a rotina ... se funcionar voce depois pode implementa-la no outro código abraço
  16. Pelo que percebi, este é um programa que voce usa para configurar os painéis eletronicos dos onibus, e passa essa configuração para o sistema do onibus via pendrive ... estou certo ? bom.. voce utiliza concatenação de strings para armazenar o texto dos letreiros, e salva essa concatenação no banco de dados .. o problema acontece quando voce tenta carregar os dados depois que foi salvo no arquivo .fz1 o problema ocorre justamente no valor dos indices ... veja que se lIdx := Length(FCfgRotativo); // o valor de lIdx já começa com o valor do tamanho maximo do FCfgRotativo ao ser aplicado esse valor de indice o mesmo já se encontra fora do escopo da pesquisa dentro da string exemplo: 012345678901234567890123456 // nesse caso o valor do indice já começaria em 26 Auxiliar 1 | Auxiliar 2 | Auxiliar 3 for lIdx := 0 to Length(FCfgRotativo) -1 do begin if Assigned(FCfgRotativo[lIdx]) then begin pExiste := (pNroPainel = FCfgRotativo[lIdx].NroPainel) and <=== AQUI ELE NÃO LOCALIZA O ÍNDICE CORRETO (pID = FCfgRotativo[lIdx].ID); if pExiste then Break; end; end; apesar do For começar com 0 a instrução do pExiste se perde no indice em virtude do lIdx := Length(FCfgRotativo); eu optaria por fazer leitura somente dos registros da tabela e não de colunas dentro do campo caso queira se manter nessa lógica, sugiro pesquisar a string concatenada dentro do campo, sendo o seu delimitador o caracter "|" e uma vez encontrado voce faz a leitura com um comando ( copy ) do inicio até o delimitador, depois voce joga o conteudo para uma variavel da rotina OBS: não posso instalar agora os componentes Jedi no meu micro, pois estou no meio de um projeto complexo e não posso me arriscar a algo dar errado .. mas dentro do possivel tentarei ajudá-lo ... ok ? abraço
  17. Amigo ... voce tem componentes instalados no seu Delphi que eu não tenho , portanto não consigo ver a marioria dos componentes na tela. em uma analise rápida feita usando o seu executavel, percebi que voce ao clicar na linha do DBGrid o primeiro conteudo é trazido para tela. OBS: fiz um teste usando 2 linhas do DBgrid, e o conteudo da segunda linha não é trazido para o LED quando voce clica nela ( dar uma verificada ) e o cursor vai direto para o campo Auxiliar ao clicar no botão proximo, somente a ultima informação do grid aparece ( ex: Auxiliar 1 , Auxiliar 2 e Auxiliar 3 ) enretanto voce deve observar que ocorre um deslocamento da palavra para a direita em virtude da contagem de caracteres no campo do DBgrid : exemplo: Auxiliar 1 | Auxiliar 2 | Auxiliar 3 então esta mostrando assim Auxiliar 1 _Auxiliar 2 __Auxiliar 3 /// veja que o deslocamente é igual ao numero de espaços entre os caracteres na linha O que dá a impressão é que o cursor não está parando na posição correta para fazer a leitura dos campos anteriores então preciso que me indique ou poste a parte do código que está no botão anterior e proximo e no duplo click do DBGrid abraço
  18. Erro: Sistema não Encontrado ... isso acontece quando o motor do HD não inicia ( devido a mau contato dos terminais do cabo da fonte no HD ) , consequentemente não haverá a leitura do HD e o sistema operacional não é carregado para a memória. solução: abrir o note e reapertar os contatos do cabo da fonte ( ou dar umas pancadinhas com a palma da mão na lateral do note quando apertar o botão ligar, mas não é muito aconselhavel ) abraço
  19. Amigo .. não dá pra advinhar o que voce está querendo, principalmente quando voce diz que está querendo um hardware para carro ( automovel ) ???? um GPS ? um Tela de CD ? programa para usar nesse hardware ??? muito vago .. seja mais explicito abraço
  20. Faça uma pesquisa no forum TStream http://scriptbrasil.com.br/forum/index.php...ighlite=TStream ou TMemoryStream http://scriptbrasil.com.br/forum/index.php...e=TMemoryStream abraço
  21. Faça uma pesquisa no forum, vai encontrar o que está querendo http://scriptbrasil.com.br/forum/index.php...ghlite=richedit abraço
  22. fazer isso usando um txt não funciona ... existe um componente para o delphi justamente para isso, vou ver se acho o nome dele, depois eu posto. abraço
  23. record locked by another user registro bloqueado por outro usuário verifique as suas queries, veja se nas instruções sql voce esta bloqueando registro abraço
  24. Há 7 outros tipos de arquivo que usam o DTA como extensão de arquivo: .dta - Turbo Pascal dados de arquivo .dta - Stata arquivo de datasets binário .dta - o arquivo de dados STARS do Banco Mundial .dta - arquivo de dados do PC .dta - arquivo de jogo Hidden & Dangerous .dta - arquivo de GPS_LOG .dta - imagem binária de segmento de dados de programa do Atari Jaguar o programa que abre esse arquivo é o FileAlyser http://www.file-extensions.org/filealyzer-file-extensions abraço
  25. veja https://www.scriptbrasil.com.br/forum/lofiv...hp/t133961.html http://www.angelo.com.br/forum3.php?tópico=7&msg=114 ou faça uma busca no forum abraço
×
×
  • Criar Novo...