Ir para conteúdo
Fórum Script Brasil

Jhonas

Monitores
  • Total de itens

    9.657
  • Registro em

Tudo que Jhonas postou

  1. Coloque uma condição no seu código para parar a execução procedure TForm1.Button1Click(Sender: TObject); var num : integer; begin try num:=strtoint(edit1.Text); if num = 0 then exit; // condição para parar Except showmessage('O número deve ser inteiro'); end; end; abraço
  2. A lista de tópicos que te passei está direcionada a sua dúvida, se voce procurar voce acha.... http://scriptbrasil.com.br/forum/index.php...st&p=490532 abraço
  3. Delete-os do form e coloque-os novamente ( bug de componente ) abraço
  4. Só para exemplificar o motivo do erro no seu código: datamodule1.VouReceberdatarecebimento.Text se o valor não estiver assim '20/10/2009' dará erro "is not date valid" Fiz uma alteração no código somente para exemplificar procedure TForm1.BitBtn1Click(Sender: TObject); var data,atual :Tdate; VouReceberdatarecebimento : String; begin VouReceberdatarecebimento := '20/10/2009'; Maskedit1.Text:=DateToStr(now); data:=StrToDate(VouReceberdatarecebimento); atual:=StrToDate(Maskedit1.Text); if (atual = data) then DBGrid1.Visible:=true; JvNavPaneToolPanel1.Visible:=true; end; Entretanto a maneira de fazer isso está errado ... Faça uma busca no forum sobre sentenças SQL para pesquisa de datas no banco http://scriptbrasil.com.br/forum/index.php...ite=select+data abraço
  5. Jhonas

    Ponteiro leitura

    Como Montar um Trainer [ TuTorial ] Um Trainer tem um processo básico que altera um valor na memória. Esse valor pode ser a quantidade de vida que você tem num Jogo ou até mesmo um numero qualquer. A memória no caso pode ser o Jogo, ou um software qualquer. A memória atribui um endereço em cada valor, esse endereço pode ser pego utilizando qualquer software que "desmonte" a memória do jogo, o mais usado é o cheat engine que já faz praticamente tudo, ele lê e altera o valor para você. Programa pronto http://www.brothersoft.com/games/cheat-engine-download.html Montar um em delphi http://www.webcheats.com.br/forum/delphi-v...r-tutorial.html ================================================= Varios tópicos versando sobre uso de ponteiros http://scriptbrasil.com.br/forum/index.php...nteiro&st=0 abraço
  6. Neste seu código voce não deve usar break procedure TForm1.Button1Click(Sender: TObject); var num : integer; begin try num:=strtoint(edit1.Text); Except showmessage('O número deve ser inteiro'); end; end; O comando Break deve ser usado para sair de um Loop O comando Continue deve ser usado para continuar a contagem de um Loop Exemplo com While var S: string; begin while True do begin ReadLn(S); try if S = '' then Break; WriteLn(S); finally { faça algo para todos os casos } end; end; end; Exemplo com o comando FOR procedure TForm1.Button1Click(Sender: TObject); var i : integer; begin for i := 1 to 20 do begin if i = 10 then break; // sai do loop quando i for igual a 10 end; end; Veja no help do delphi ( F1 ) abraço
  7. Jhonas

    Ponteiro leitura

    Poste o código que voce usou para fazer a leitura
  8. Bem lembrado colega .... havia me esquecido disso ... voce está certíssimo Collate Win_PTBR e PT_BR - Firebird O collate Win_PTBR (Character Set Win1252) tem as seguintes características: - não diferencia letras maiúsculas de minúsculas e nem acentuadas de não acentuadas nas operações de procura/comparação e ordenação. - pode ser criado um índice com campo de até 250 caracteres (os demais collates só aceitam 83) O collate PT_BR (Character Set ISO8859-1) tem as seguintes características: - não diferencia letras maiúsculas de minúsculas e nem acentuadas de não acentuadas nas operações de procura/comparação e ordenação. - pode ser criado um índice com campo de até 250 caracteres (os demais collates só aceitam 83) abraço
  9. Isso é muito simples ... Pode ser usada no Firebird / Interbase exemplo SELECT * FROM CAD_EMPRESA WHERE EMPRESA LIKE '%COM_RCIO%' OU SELECT * FROM CAD_EMPRESA WHERE EMPRESA LIKE '%COMERCIO%' OR EMPRESA LIKE '%COMÉRCIO%' Serve para procurar todas as palavras que contenham COMÉRCIO OU COMERCIO ou seja palavras acentuas ou não abraço
  10. O código fica assim: unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} uses Registry; procedure SetRegistryData(RootKey: HKEY; Key, Value: string; RegDataType: TRegDataType; Data: variant); var Reg: TRegistry; s: string; begin Reg := TRegistry.Create(KEY_WRITE); try Reg.RootKey := RootKey; if Reg.OpenKey(Key, True) then begin try if RegDataType = rdUnknown then RegDataType := Reg.GetDataType(Value); if RegDataType = rdString then Reg.WriteString(Value, Data) else if RegDataType = rdExpandString then Reg.WriteExpandString(Value, Data) else if RegDataType = rdInteger then Reg.WriteInteger(Value, Data) else if RegDataType = rdBinary then begin s := Data; Reg.WriteBinaryData(Value, PChar(s)^, Length(s)); end else raise Exception.Create(SysErrorMessage(ERROR_CANTWRITE)); except Reg.CloseKey; raise; end; Reg.CloseKey; end else raise Exception.Create(SysErrorMessage(GetLastError)); finally Reg.Free; end; end; procedure TForm1.Button1Click(Sender: TObject); begin SetRegistryData(HKEY_CURRENT_USER,'\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers', 'C:\MinhaPasta\MeuProg.exe',rdString,'WIN95'); end; end. OBS: Onde está escrito 'WIN95' vai o nome sistema operacional que será emulado exemplo: Windows 95 = WIN95 Windows 98 / Windows Me = WIN98 Windows NT 4.0 (Service Pack 5) = NT4SP5 windows 2000 = WIN2000 Mas como disse... é possivel sim montar um rotina para alterar o modo de compatibilidade do executavel atraves do delphi entretanto, se esta rotina estiver dentro do seu executavel, o mesmo não rodará até que voce altere o modo de compatibilidade por fora, atraves do próprio windows. abraço
  11. Jhonas

    Access Violation

    O componente que te falei ( TMessenger ) faz isso... unit fmMain; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ImgList, Messenger, Menus, Buttons, ComCtrls, ToolWin, ActnList, RXShell; type TfrmMain = class(TForm) ICQFmsg: TMessenger; ToolBar1: TToolBar; btnClose: TToolButton; btnHide: TToolButton; ActionList1: TActionList; actClose: TAction; PopupMenuLista: TPopupMenu; Enviarmensagem1: TMenuItem; Minimizar1: TMenuItem; Sair2: TMenuItem; actHide: TAction; actSend: TAction; N1: TMenuItem; Enviarmensagemparaogrupo1: TMenuItem; actGroup: TAction; ToolButton1: TToolButton; ToolButton2: TToolButton; ICQFimg: TImageList; Adicionarlista1: TMenuItem; actAddList: TAction; lbxUser: TListBox; TrayIcon1: TRxTrayIcon; procedure ICQFmsgUserListChange(Sender: TObject; UserList: TStrings); procedure actCloseExecute(Sender: TObject); procedure ICQFmsgNewMemo(Sender: TObject; Origin, Time: String; MsgLines: TStrings); procedure ICQFmsgError(Sender: TObject; ErrorMsg: String); procedure TrayClick(Sender: TObject); procedure actHideExecute(Sender: TObject); procedure PopupMenuListaPopup(Sender: TObject); procedure actGroupExecute(Sender: TObject); procedure ICQFmsgNewLine(Sender: TObject; Origin, Time, Line: String); procedure FormActivate(Sender: TObject); procedure FormKeyPress(Sender: TObject; var Key: Char); procedure actSendExecute(Sender: TObject); private { Private declarations } public { Public declarations } end; var frmMain: TfrmMain; implementation uses fmReceive, fmSend; {$R *.DFM} //procedure GetComputers(Workgroup : String;Retorno:TStrings); procedure GetComputers; var hEnum, dwResult, dwResultEnum : DWORD; lpnrLocal : array [0..16384 div SizeOf(TNetResource)] of TNetResource; // ponteiro para as estruturas enumeradas i : integer; cEntries : Longint; cbBuffer: DWORD; begin centries := -1; // enumera todas as entradas possíveis cbBuffer := 16384; // 16K // chama a função WNetOpenEnum para inciar a enumeração. dwResult := WNetOpenEnum( RESOURCE_CONTEXT, // Enumera o recursos atualmente conectados. RESOURCETYPE_DISK, // todos os recursos 0, // enumera todos os recursos nil, // NULL hEnum // handle para os recursos ); if (dwResult <> NO_ERROR) then begin // poderia processar os erros com um manipulador de erros // definido na aplicação. Exit; end; // inicializa o buffer. FillChar( lpnrLocal, cbBuffer, 0 ); // chama a função WNetEnumResource para continuar a enumeração dwResultEnum := WNetEnumResource(hEnum, // manipulador DWORD(cEntries), // definido localmente como -1 @lpnrLocal, // LPNETRESOURCE cbBuffer); // tamanho do buffer frmMain.lbxUser.Clear; // preencho uma listbox for i := 0 to cEntries - 1 do begin // lê cada estrutura para pegar o nome do // recurso remoto (lpnrLocal[i].lpRemoteName) frmMain.lbxUser.Items.Add( lpnrLocal[i].lpRemoteName ); end; // chama WNetCloseEnum para finalizar a enumeração. dwResult := WNetCloseEnum(hEnum); end; //............................................................. procedure TfrmMain.ICQFmsgUserListChange(Sender: TObject; UserList: TStrings); begin lbxUser.Items := UserList; //captura todos os usuários onLine //GetComputers('MSHOME',lbxUser.Items); end; procedure TfrmMain.actCloseExecute(Sender: TObject); begin Close; end; procedure TfrmMain.ICQFmsgNewMemo(Sender: TObject; Origin, Time: String; MsgLines: TStrings); begin frmReceive := TfrmReceive.Create(Application); frmReceive.lblReceive.Caption := Origin; frmReceive.mmoReceive.Lines := MsgLines; Beep; frmReceive.ShowModal; frmReceive.Free; end; procedure TfrmMain.ICQFmsgError(Sender: TObject; ErrorMsg: String); begin // ShowMessage('Erro, Tentativa de Abrir mais de uma vez!!!'); end; procedure TfrmMain.TrayClick(Sender: TObject); begin if frmMain.Visible = False then frmMain.Visible := True; end; procedure TfrmMain.actHideExecute(Sender: TObject); begin Hide; end; procedure TfrmMain.PopupMenuListaPopup(Sender: TObject); begin if lbxUser.ItemIndex = -1 then Enviarmensagem1.Enabled := False else Enviarmensagem1.Enabled := True; end; procedure TfrmMain.actGroupExecute(Sender: TObject); begin frmSend := TfrmSend.Create(Application); frmSend.lblSend.Caption := 'Mensagem para o grupo!'; frmSend.ShowModal; frmSend.Free; end; procedure TfrmMain.ICQFmsgNewLine(Sender: TObject; Origin, Time, Line: String); begin frmReceive := TfrmReceive.Create(Application); frmReceive.lblReceive.Caption := Origin; frmReceive.mmoReceive.Text := Line; frmReceive.ShowModal; frmReceive.Free; end; procedure TfrmMain.FormActivate(Sender: TObject); begin ICQFmsg.Activate; Caption := Caption + ' -> ' + ICQFmsg.User; //lbxUser.Items := UserList; //captura todos os usuários onLine GetComputers; end; procedure TfrmMain.FormKeyPress(Sender: TObject; var Key: Char); begin if Key = #27 then actHideExecute(Sender); end; procedure TfrmMain.actSendExecute(Sender: TObject); begin if lbxUser.ItemIndex = -1 then begin ShowMessage('Selecione um usuário!'); exit; end; frmSend := TfrmSend.Create(Application); frmSend.lblSend.Caption := lbxUser.Items.Strings[lbxUser.ItemIndex]; frmSend.ShowModal; frmSend.Free; end; end. abraço
  12. Não tenho o MozillaBrowser, mas não é muito diferente do TWebBrowser unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, OleCtrls, SHDocVw; type TForm1 = class(TForm) WebBrowser1: TWebBrowser; procedure WebBrowser1TitleChange(Sender: TObject; const Text: WideString); procedure WebBrowser1Enter(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.WebBrowser1TitleChange(Sender: TObject; const Text: WideString); begin form1.Caption:='sistema teste - '+ text; end; procedure TForm1.WebBrowser1Enter(Sender: TObject); begin WebBrowser1.Navigate('https://www.scriptbrasil.com.br'); end; end. abraço
  13. Douglas ... fiz um teste na minha máquina: criei um novo usuario e dei direitos de administrador fiz a troca de usuarios instalei o programa e rodei .... deu erro de conexão com o banco de dados, porque o serviço banco não estava rodando instalei o banco de dados e startei o serviço conexão ok ... programa funcionando abraço
  14. Exatamente isso... é só instalar o FB no perfil do outro usuário cadastrado no micro o seu arquivo ini deve ter o caminho para o banco .... se voce não fizer o teste não vai saber se funciona abraço
  15. Faça a instalação e não precisa mudar nada no seu programa abraço
  16. Jhonas

    Access Violation

    OK ... No primeiro endereço tem um Messenger pronto ... muito bom funciona em rede para todos os usuarios conectados ao programa http://www.fprass.hpg.com.br/ OBS: Verifiquei que o endereço foi retirado do ar ....o componente usado é o TMessenger ... se não achar nada nos outros, me dá o seu email que te envio o projeto. ================================================= Esses outros são Chats usando sockets http://thiago.oxente.org/2006/08/16/delphi_chat http://www.activedelphi.com.br/print.php?sid=249 http://www.invasao.com.br/2009/01/29/tutor...at-no-delphi-7/ http://www.bigspeed.net/bssocklib/bssockli...lphi7sample.htm http://www.webcheats.com.br/forum/delphi-v...t-servidor.html Veja se é isto que esta querendo abraço
  17. Jhonas

    NF-e?

    http://scriptbrasil.com.br/forum/index.php...580&hl=nf-e http://scriptbrasil.com.br/forum/index.php...828&hl=nf-e abraço
  18. Jhonas

    Access Violation

    Voce está montando um Chat pelo delphi ?
  19. Depois que voce fizer a instalação, ao trocar de usuário o serviço do firebird será startado novamente, logo após o login abraço
  20. Veja no artigo que a maneira de chamar a função atraves do delphi e usando uma sentença sql http://www.linhadecodigo.com.br/Artigo.aspx?id=687&pag=2 Outro exemplo de como usar funções de usuário http://www.planetadelphi.com.br/delphi/apo...os/00003671.zip abraço
  21. Jhonas

    Rave - DataMemo

    Para usar texto em negrito voce terá que usar o QuicReport Veja o componente QRRichText http://scriptbrasil.com.br/forum/index.php...ghlite=RichText abraço
  22. procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); var i,n : real; begin if not (key in ['0'..'9',',','-',#8,#13]) then key := #0; if key = #13 then o evento de OnKeyPress registra o caracter ASCII da tecla apertada, onde Key é uma variavel do tipo Char ( caracter ) EX: quando voce tecla o caracter "A" do teclado, a variavel Key receberá o caracter ASCII correpondente a ele A = #65 ou chr(65) Um controle de string ( # ) é uma sucessão de um ou mais caráter de controle em cada qual consistem o ( # ) símbolo seguido por uma constante sem sinal de 0 a 255 (decimal ou hexadecimal) e denota o caráter ASCII correspondente. Exemplo: #89#79#85 é equivalente a string ' You' seguindo este raciocínio temos então: #8 correponde a tecla "TAB" #13 correponde a tecla "Enter" #89 correponde a tecla "Y" #79 correponde a tecla "o" #85 correponde a recla "u" e por ai vai .... Descobrir o código ASCII de uma tecla: - Coloque um Label no form (Label1); - Mude a propriedade KeyPreview do form para true; - Altere o evento OnKeyDown do form como abaixo: procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin Label1.Caption := Format('O código da tecla pressionada é: %d', [Key]); end; Observações Para testar execute e observe o Label enquanto pressiona as teclas desejadas. abraço
  23. Douglas ... existem muitas coisas que eu não sei ou não tenho conhecimento, mas estou sempre procurando aprender .... lendo muito e praticando. Fiz vários cursos , e outros assuntos aprendi como auto-didata ( aprendendo sozinho ) Um professor meu dizia: O conhecimento é a chave para se abrir muitas portas ... e ele tinha razão. Meu conselho é: Aprenda de tudo um pouco daquilo que não gosta, e aprenda tudo daquilo que gosta abraço
  24. Douglas ... perceba que a tela que voce definir para o seu programa (800 X 600), é a tela que aparecerá para os seus clientes. independemente das configurações de telas que eles tenham definido, ao rodar o seu programa, o tamanho de tela que voce definou (800 X 600) é que será usada .... automaticamente. Quando sai do programa, as configurações anteriores (1024 X 768) serão novamente usadas ... automaticamente abraço
  25. Não tem ... por isso é necessário a instalação dos programas nos perfis de novos usuários observe que programas instalados no perfil do administrador não aparecem no perfil de um usuário novo abraço
×
×
  • Criar Novo...