-
Total de itens
9.657 -
Registro em
Tudo que Jhonas postou
-
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
-
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
-
Delete-os do form e coloque-os novamente ( bug de componente ) abraço
-
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
-
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
-
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
-
Poste o código que voce usou para fazer a leitura
-
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
-
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
-
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
-
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
-
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
-
Acessar Firebird em vários usuarios do Windows!
pergunta respondeu ao Douglas Soares de Jhonas em Delphi, Kylix
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 -
Acessar Firebird em vários usuarios do Windows!
pergunta respondeu ao Douglas Soares de Jhonas em Delphi, Kylix
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 -
Acessar Firebird em vários usuarios do Windows!
pergunta respondeu ao Douglas Soares de Jhonas em Delphi, Kylix
Faça a instalação e não precisa mudar nada no seu programa abraço -
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
-
http://scriptbrasil.com.br/forum/index.php...580&hl=nf-e http://scriptbrasil.com.br/forum/index.php...828&hl=nf-e abraço
-
Voce está montando um Chat pelo delphi ?
-
Acessar Firebird em vários usuarios do Windows!
pergunta respondeu ao Douglas Soares de Jhonas em Delphi, Kylix
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 -
Function SQL Server + DELPHI 5
pergunta respondeu ao Felipe - Iniciante-Delphi de Jhonas em Delphi, Kylix
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 -
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
-
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
-
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
-
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
-
Acessar Firebird em vários usuarios do Windows!
pergunta respondeu ao Douglas Soares de Jhonas em Delphi, Kylix
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