-
Total de itens
9.657 -
Registro em
Tudo que Jhonas postou
-
(Resolvido) Como saber se 2 teclas estão precionadas?
pergunta respondeu ao LucAlucard de Jhonas em Delphi, Kylix
Temos dificuldades em entender quando não esta no nosso idioma...rs Resumindo: Esta função retorna true se a tecla informada estiver pressionada. False em caso contrário. Inicialmente, o código ASCII só utilizava números de 0 a 127 e os equipamentos tinham um número reduzido de caracteres. Não tinham letras acentuadas, por exemplo. Várias extensões ao código ASCII foram propostas, para que o conjunto de caracteres representáveis possuísse até 256 caracteres. entendeu porque 128 no código ? caso não tenha entendido veja: http://tectuts.wordpress.com/2008/08/12/ca...s-e-os-codigos/ function tbKeyIsDown(const Key: integer): boolean; begin Result := GetKeyState(Key) and 128 > 0; end; porque Key sempre vai retornar um valor numérico inteiro, então ao passar o valor de Key ( que seria um numero ) a função vai testar o estado da tecla pressionada abraço -
(Resolvido) Como saber se 2 teclas estão precionadas?
pergunta respondeu ao LucAlucard de Jhonas em Delphi, Kylix
Antes que voce pergunte, vou sanar a sua dúvida ... voce deve apertar as 2 teclas conjuntamente para ir na direção escolhida ... o shape se moverá na horizontal, vertical e diagonal unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls; type TForm1 = class(TForm) Shape1: TShape; procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} function tbKeyIsDown(const Key: integer): boolean; begin Result := GetKeyState(Key) and 128 > 0; end; procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if tbKeyIsDown(VK_LEFT) then Shape1.Left := Shape1.Left -5; if tbKeyIsDown(VK_UP) then Shape1.Top := Shape1.Top -5; if tbKeyIsDown(VK_RIGHT) then Shape1.Left := Shape1.Left +5; if tbKeyIsDown(VK_DOWN) then Shape1.Top := Shape1.Top +5; end; end. abraço -
Exemplo de uso do ClientDataSet junto com a Query http://www.planetadelphi.com.br/delphi/apo...hi/00003955.zip http://www.comunidade-firebird.org/cflp/do...s/CFLP_T002.PDF abraço
-
Gravar fisicamente img convertida em campo blob
pergunta respondeu ao DiabloX3 de Jhonas em Delphi, Kylix
Não percebi que estava com esse problema veja http://scriptbrasil.com.br/forum/index.php...mp;highlite=jpg abraço -
Gravar fisicamente img convertida em campo blob
pergunta respondeu ao DiabloX3 de Jhonas em Delphi, Kylix
o caminho é esse mesmo. veja outros posts a respeito do assunto http://scriptbrasil.com.br/forum/index.php...mp;highlite=jpg essa rotina pode te ajudar Converter Bitmap para JPeg Inclua na seção uses: Graphics, JPeg O procedimento abaixo converte um arquivo de imagem Bitmap para JPeg. O arquivo JPeg terá o mesmo nome do arquivo Bitmap, mas com a extensão jpg. procedure ConverterBmpParaJPeg(Arquivo: string); var Bmp: TBitmap; JPeg: TJPegImage; begin Bmp := TBitmap.Create; try Bmp.LoadFromFile(Arquivo); JPeg := TJPegImage.Create; try JPeg.CompressionQuality := 100; { Qualidade: 100% } JPeg.Assign(Bmp); JPeg.SaveToFile(ChangeFileExt(Arquivo, '.jpg')); finally JPeg.Free; end; finally Bmp.Free; end; end; Exemplo de uso: ConverterBmpParaJPeg('c:\diretorio\arquivo.bmp'); abraço -
(Resolvido) Como saber se 2 teclas estão precionadas?
pergunta respondeu ao LucAlucard de Jhonas em Delphi, Kylix
Tudo bem... achei que voce entenderia e faria uma conversão de código mas para exemplificar extamente o que esta querendo veja esse codigo codigo fonte http://fabianosalles.eti.br/blog/delphi/fi...VCLII-fonte.zip executavel http://fabianosalles.eti.br/blog/delphi/fi...imVCLII-bin.zip estude o código e veja se consegue entender a lógica abraço -
(Resolvido) Como saber se 2 teclas estão precionadas?
pergunta respondeu ao LucAlucard de Jhonas em Delphi, Kylix
não é assim o funcionamento .... voce deve apertar as 2 teclas conjuntamente ( algumas vezes ) para ir na direção escolhida, e não ficar segurando uma e ficar clicando em outra... porque o código seria diferente. voce vai encontrar um exemplo disso nesse link: http://translate.googleusercontent.com/tra...Ub9xBasWaPVahsg abraço -
(Resolvido) Como saber se 2 teclas estão precionadas?
pergunta respondeu ao LucAlucard de Jhonas em Delphi, Kylix
basta apertar as 2 teclas ao mesmo tempo procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin case Key OF VK_LEFT : Shape1.Left := Shape1.Left -5; VK_UP : Shape1.Top := Shape1.Top -5; VK_RIGHT : Shape1.Left := Shape1.Left +5; VK_DOWN : Shape1.Top := Shape1.Top +5; end; end; abraço -
procedure TForm1.Button1Click(Sender: TObject); var soma1: Double; begin soma1 := 0; dm.q_corpo.post; begin with dm.q_corpo do begin Close; SQL.Clear; SQL.Add('select * from tbl_corpo where id_liga like '''+ dbe_codigo.text + '%'''); Open; while not dm.q_corpo.Eof do begin soma1 := soma1 + dm.q_corpo.Fieldbyname('preco_total').Value; dm.q_corpo.Next; ltotal.Caption := FloatToStrF(soma1,ffCurrency , 15,2); begin dm.q_corpo.Insert; edt_produto.SetFocus; end; end; end; end; end; acho que nesse ponto fica bem evidente não ? o comando insert está dentro de um loop que será executado n vezes ... entretanto se ele for usado no evento OnExit do edt_produto, creio que não dará erro abraço
-
abraço
-
Enviar arquivo via Sockets por Delphi 2009 0u 2010
pergunta respondeu ao xlayx de Jhonas em Delphi, Kylix
se sobrar um tempo, vejo com calma o problema mas voce pode verificar neste link http://stackoverflow.com/questions/3291071...stream-anywhere abraço -
utilize o Componente da Paleta Fastnet NMFTP1 exemplo: NMFTP1.Upload(Caminho e Arquivo local,Caminho e Arquivo remoto) outros exemplos: http://www.planetadelphi.com.br/downloading/5002 http://www.ramosdainformatica.com.br/art_r...es01.php?CDA=37 http://www.alemdecodigos.com/2009/05/fazen...s-via-http.html abraço
-
no programa ficaria assim procedure TForm1.FormDestroy(Sender: TObject); var NotifyIconData: TNotifyIconData; begin with NotifyIconData do begin cbSize := sizeof(TNotifyIconData); Wnd := Self.Handle; uId := 0; uFlags := 0; end; Shell_NotifyIcon(NIM_DELETE,@NotifyIconData); end; mas como no ultravnc não é possivel modificar o código , voce teria que optar por fazer um programa em delphi para isso, ou fazer isso atravez do registro do windows Iniciar > Executar > Regedit HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerTrayNotify - Exclua esses dois valores binários: IconStreams e PastIconStream e feche o Regedit - Entre no Gerenciador de tarefas (Ctrl + Alt + Del), na guia Processos e finalize o processo explorer.exe - Em seguida, na guia Arquivo selecione Executar nova tarefa, digite explorer e dê Enter Como limpar itens antigos da área de notificação http://support.Micro...om/kb/283084/pt abraço
-
Enviar arquivo via Sockets por Delphi 2009 0u 2010
pergunta respondeu ao xlayx de Jhonas em Delphi, Kylix
veja se voce declarou a uses ScktComp. abraço -
experimente unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Memo1: TMemo; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} uses NB30; function AdapterMacAddress(AAdptNum: Cardinal): string; type PC = PCardinal; PB = PByte; var hLib: HMODULE; { Note: Type from IpHlpApi GetAdaptersInfo(pAdapterInfo: PIP_ADAPTER_INFO; var pOutBufLen: ULONG): DWORD; stdcall; } GetAdptInfo: function(A: Pointer; var B: ULONG): DWORD; stdcall; i, Size, Buff: Cardinal; begin Result := '-----'; hLib := LoadLibrary('iphlpapi.dll'); if hLib <> 0 then try @GetAdptInfo := GetProcAddress(hLib, 'GetAdaptersInfo'); Size := 0; if GetAdptInfo(nil, Size) = 111 then begin GetMem(Pointer(Buff), Size); try if GetAdptInfo(Pointer(Buff), Size) = 0 then for I := PC(Buff + (640 * AAdptNum) + 400)^ - 1 downto 0 do Insert(IntToHex(PB(Buff + (640 * AAdptNum) + 404 + I)^, 2), Result, I + 1); finally FreeMem(Pointer(Buff)); end; end; finally FreeLibrary(hLib); end; end; procedure TForm1.Button1Click(Sender: TObject); begin //PEGAR O ENDEREÇO MAC DAS PLACAS DE REDE E WIRELESS INSTALADAS Memo1.Lines.Add(AdapterMacAddress(0)); // 1º Adaptador de Rede // SE TIVER MAIS DE UM ADAPTADOR DE REDE Memo1.Lines.Add(AdapterMacAddress(1)); // 2º Adaptador de Rede Memo1.Lines.Add(AdapterMacAddress(2)); // 3º Adaptador de Rede end; end. abraço
-
Enviar arquivo via Sockets por Delphi 2009 0u 2010
pergunta respondeu ao xlayx de Jhonas em Delphi, Kylix
se estiver usando algum componente do delphi 7, substitua-o pelo componente do delphi 2010 abraço -
isso é um bug, ou mehor, apenas esquecimento de quem desenvolveu o software de atualizar a barra de tarefas do windows isso não causa nenhum problema, somente esse inconveniente do icone não sumir se não passar o mouse sobre ele. abraço
-
neste caso, faça uma pesquisa no forum ... tem outros posts relacionados http://scriptbrasil.com.br/forum/index.php...p;highlite=hack abraço
-
Essa eu não entendi.... se o código não é seu , qual seria a finalidade ?
-
(Resolvido) Criação de componente com um propriedade tipo igual combob
pergunta respondeu ao LucAlucard de Jhonas em Delphi, Kylix
Caso interesse a voce e a outros http://scriptbrasil.com.br/forum/index.php...iar+componentes abraço -
foi voce que criou o game ??
-
veja http://balaiotecnologico.blogspot.com/2009...-em-delphi.html http://scriptbrasil.com.br/forum/index.php?showtopic=90144 abraço
-
então o executavel desse jogo, está extraindo a dll a cada vez que voce roda o jogo ( arquivo de recurso )... por isso se voce deletar a dll, isso não interfere na execução. exemplos http://www.ramosdainformatica.com.br/art_r...s01.php?CDA=517 http://www.planetadelphi.com.br/artigo/41/...s-ao-executavel abraço
-
exemplo de uso unit Unit1; interface uses Windows, Messages, SysUtils, Variants, 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 winsock; function GetLocalIP : string; type TaPInAddr = array [0..10] of PInAddr; PaPInAddr = ^TaPInAddr; var phe : PHostEnt; pptr : PaPInAddr; Buffer : array [0..63] of char; I : Integer; GInitData : TWSADATA; begin WSAStartup($101, GInitData); Result := ''; GetHostName(Buffer, SizeOf(Buffer)); phe :=GetHostByName(buffer); if phe = nil then Exit; pptr := PaPInAddr(Phe^.h_addr_list); I := 0; while pptr^[I] <> nil do begin result:=StrPas(inet_ntoa(pptr^[I]^)); result := StrPas(inet_ntoa(pptr^[I]^)); Inc(I); end; WSACleanup; end; procedure TForm1.Button1Click(Sender: TObject); begin showmessage('ENDEREÇO IP = ' + GetLocalIP); end; end. OBS: ao clicar no botão, voce vera a mensagem mostrando o numero do IP da sua conexão abraço
-
ok claudyo, acho que o que voce esta querendo fazer, pode ser feito de maneira mais simples veja o help voce usa a propriedade MasterSource para em tempo de projeto, usar um Campo de Ligação para estabelecer a relação de mestre-detalhe entre dois datasets. em termos praticos seria o mesmo que: exemplo: SELECT Clientes.COD, Clientes.NOME, Veiculos.MARCA, Veiculos.MODELO, Veiculos.ANO, Veiculos.PLACAS FROM Clientes INNER JOIN Veiculos ON (Clientes.COD = Veiculos.COD_CLIENTE) e no seu caso poderia ser usado apenas assim: procedure TForm1.Button1Click(Sender: TObject); begin if rbtTelefone.Checked=true then begin with qryTel do begin Active:=false; Sql.Clear; Sql.Text:='SELECT CLIENTE.CLIENTE_ID, CLIENTE.NOME, CLIENTE.RG, CLIENTE.CPF, CLIENTE.LOGRADOURO, CLIENTE.NUMERO, CLIENTE.BAIRRO, CLIENTE.COMPLEMENTO, CLIENTE.OBSERVACAO, TELEFONES.TEL_ID, TELEFONES.CLIENTE_ID, TELEFONES.NUMERO '+ 'FROM CLIENTE INNER JOIN TELEFONES ON (CLIENTE.CLIENTE_ID = TELEFONES.CLIENTE_ID)'+ ' Where TELEFONES.NUMERO like :pTel'; Params[0].Value:=EdtTelefone.Text; Active:=true; end; end; end; end; abraço