Ir para conteúdo
Fórum Script Brasil

Churc

Veteranos
  • Total de itens

    1.198
  • Registro em

  • Última visita

Tudo que Churc postou

  1. Opaa Vi sua mensagem lá no outro tópico, desculpa não tinha visto sua resposta aqui... Então eu tenho ainda os projetos que usei de Stream vou disponibilizar aqui pra você É mais ou menos isso que você passou mass eu usava UDP não TCP, de qualquer forma você testa e ve qual é o melhor! abraço
  2. Churc

    Record / Socket

    Opa Nada que se desculpar cara, o fórum é para isso e muito pelo contrário, antes você ressuscitar um tópico do que você criar um novo e as pessoas não verem nenhuma informação de onde começar a te ajudar... Vou ver se acho aqui o esquema que fiz e supostamente adapto para você que havia dado certo... abraçox
  3. Afirmação perigosa heim?!!! :P Valeu a dica sobre estes componentes. Eu estava mesmo precisando algo para criptografar umas strings, mas nas poucas consultas que fiz só tinha achado para tratar aquivos. Abraços opa IUAHE verdade foi meio perigosa maiss é que de tudo que vi na net, não tinha achado nada tão completo e opensource... E este ai também tem demos de como encriptar arquivos se não me engano... abraçox
  4. Churc

    Ip Do Servidor

    Opa Uma forma ideal é você armazenar o IP do Servidor em um Arquivo.ini Da uma pesquisada no fórum sobre isto tem vários tópicos! Ai vão alguns http://scriptbrasil.com.br/forum/index.php...3357&hl=Ini http://scriptbrasil.com.br/forum/index.php...1362&hl=Ini abraçox
  5. Opa Se você encontrar algo melhor que isto eu corto meu saco fora ahuahua http://sourceforge.net/projects/tplockbox/ Tem exemplos, usa todo tipo de criptografia desde ECB, CBC e vários métodos Blowfish, RSA, MD5, SHA-1, DES, triple- DES, Rijndael... De tudo que já li na net a respeito de criptografia, o melhor método é o Rijndael cara é fantástico perde um dia ai testando os demos e vendo como funciona que você aprende e escolhe o que é melhor pra voce... Mais sobre Rijndael (em inglês) Atualmente aqui na empresa utilizamos uma DLL que fiz para encriptação, uso o método Rijndael com 256 bits segue o fonte da DLL mass precisa do componente que passei instalado ou ao menos suas units em uma pasta que esteja em sua type library... (* 01/04/2005 - crp.dll Carlos Ed. Basso *) library crp; uses Windows, SysUtils, LbCipher, LbString; {$R *.res} (* ECB = Eletronic Code Book CBC = Cipher Blocking Chaining *) //Rijndael function RDLEncrypt(lpData, lpKey, lpBuffer: PChar; var nBuffSize: Integer): BOOL; StdCall; var szBuff: String; Key256: TKey256; begin try GenerateLMDKey(Key256, SizeOf(Key256), StrPas(lpKey)); szBuff := RDLEncryptStringCBCEx(StrPas(lpData), Key256, 16, True); except Result := False; Exit; end; if (lpBuffer = nil) or (nBuffSize <= Length(szBuff)) then nBuffSize := Length(szBuff) + 1 else StrLCopy(lpBuffer, PChar(szBuff), nBuffSize - 1); Result := True; end; function RDLDecrypt(lpData, lpKey, lpBuffer: PChar; var nBuffSize: Integer): BOOL; StdCall; var szBuff: String; Key256: TKey256; begin try GenerateLMDKey(Key256, SizeOf(Key256), StrPas(lpKey)); szBuff := RDLEncryptStringCBCEx(StrPas(lpData), Key256, 16, False); except Result := False; Exit; end; if (lpBuffer = nil) or (nBuffSize <= Length(szBuff)) then nBuffSize := Length(szBuff) + 1 else StrLCopy(lpBuffer, PChar(szBuff), nBuffSize - 1); Result := True; end; exports RDLEncrypt name 'RDLEncrypt', RDLDecrypt name 'RDLDecrypt'; end. e pra usar, eu carrego a DLL em tempo de execução pois pouco uso estas funções (* CRP.DLL *) Function RDLEncrypt(const szData, szKey: String): String; type TRDLEncryptFunc = function (lpData, lpKey, lpBuffer: PChar; var nBuffSize: Integer): BOOL; StdCall; var iLen: Integer; hHandle: THandle; RDLEncryptFunc: TRDLEncryptFunc; begin hHandle := LoadLibrary(PChar(GetWindowsDir + DEFAULT_PATH + 'crp.dll')); if (hHandle <> 0) then begin @RDLEncryptFunc := GetProcAddress(hHandle, 'RDLEncrypt'); if Assigned(RDLEncryptFunc) then begin RDLEncryptFunc(PChar(szData), PChar(szKey), nil, iLen); if iLen > 0 then SetLength(Result, iLen - 1); RDLEncryptFunc(PChar(szData), PChar(szKey), PChar(Result), iLen); end; Result := PChar(Result); FreeLibrary(hHandle); end; end; Function RDLDecrypt(const szData, szKey: String): String; type TRDLDecryptFunc = function (lpData, lpKey, lpBuffer: PChar; var nBuffSize: Integer): BOOL; StdCall; var iLen: Integer; hHandle: THandle; RDLDecryptFunc: TRDLDecryptFunc; begin hHandle := LoadLibrary(PChar(GetWindowsDir + DEFAULT_PATH + 'crp.dll')); if (hHandle <> 0) then begin @RDLDecryptFunc := GetProcAddress(hHandle, 'RDLDecrypt'); if Assigned(RDLDecryptFunc) then begin RDLDecryptFunc(PChar(szData), PChar(szKey), nil, iLen); if iLen > 0 then SetLength(Result, iLen - 1); RDLDecryptFunc(PChar(szData), PChar(szKey), PChar(Result), iLen); end; Result := PChar(Result); FreeLibrary(hHandle); end; end; Exemplo de uso var s: String; begin s := RDLEncrypt('Aqui o que você quer encriptar...', 'Chave'); ShowMessage(RDLDecrypt(s, 'Chave')); Lembrando que em Chave você deve especificar algo que somente com essa tal palavra ou número ou o que você quiser seja possível desencriptar o que voce encriptou, vamos se dizer que seja uma senha... Eu uso PChar e BOOL porque não posso usar gerenciadores de memória pra passar String entre DLL -> EXE pois outros aplicativos feito em C++ acessam essa DLL, mas você pode utilizar String normalmente se for embutir no EXE ou utilizar gerenciador de memória... Abraço
  6. Opa O ideal é você usar Streams, esse videoarea é o que? Precisar saber o seguinte, como você obtêm o conteúdo da camêra, em qual formato? abraço
  7. Opa Paulobergo, eu editei a descrição do seu tópico, porque não achei legal o que você escreveu rs Coloque algo que identifique o que você está precisando, e não o que você escreveu: "como chupar cana e assoviar ao mesmo tempo" kkk foi engraçado mass de acordo com as regras do fórum eu tive que editar ahusehe abraçox
  8. poww grande Micheus :D mais uma vez me ajudando bastante husaashu ainda não testei mas certeza que é isso, pela lógica valeu cara, precisar e eu puder ajudar pode contar comigo abraçox
  9. Opa Então tava passando um código de C++ pra Delphi, mas tem umas coisas que não consigo interpretar ahuauha exemplo typedef struct _rt_IdeDInfo_ { BYTE IDEExists[4]; BYTE DiskExists[8]; WORD DisksRawInfo[8*256]; } rt_IdeDInfo, *pt_IdeDInfo; ... for (i=0; i<8; i++) { if((pOutBufVxD->DiskExists[i]) && (pOutBufVxD->IDEExists[i/2])) { DWORD diskinfo [256]; for (int j = 0; j < 256; j++) diskinfo [j] = pOutBufVxD -> DisksRawInfo [i * 256 + j]; done = TRUE; } } Bom nesta parte if((pOutBufVxD->DiskExists) && (pOutBufVxD->IDEExists[i/2])) Qual a lógica, tipo, no Delphi eu preciso expressar como um Boolean tipo if((pOutBufVxD->DiskExists > 0) && (pOutBufVxD->IDEExists[i/2] > 0)) algo assim mas não posso colocar isso que não entendi qual a lógica "True" disso rs Meu código em Delphi ficou type _TAG_rt_IdeDInfo_ = record IDEExists: array [0..4] of Byte; DiskExists: array [0..8] of Byte; DisksRawInfo: array [0..2048] of WORD; end; rt_IdeDInfo = _TAG_rt_IdeDInfo_; Pt_IdeDInfo = ^rt_IdeDInfo; ... for i := 0 to 8 do begin if((pOutBufVxD.DiskExists[i]) and (pOutBufVxD.IDEExists[i div 2])) then begin for j := 0 to SizeOf(diskinfo) do diskinfo[j] := pOutBufVxD.DisksRawInfo[i * 256 + j]; Result := True; end; end; Mass naquela parte que falei realmente eu preciso saber a lógica daquilo, o compilador pede pra mim expressar um Boolean ali uhaeuhae qualquer ajuda é bem vinda :D abração
  10. Opa De um clique no botão, no Object Inspector clique na aba Events, depois procure pelo evento "OnClick" ou simplesmente de um duplo clique no botão ele já gera este evento... Depois digite o nome da procedure, e passe os parametros que voce criou nela, deve ficar algo como procedure TForm1.Button1OnClick(Sender: TObject); begin FiltraCliente; end; isso? abraçox
  11. Opa Adicione em uses DateUtils; Tem uma função que retorna o número de horas entre duas específicas HoursBetween(); Deve se passar como parametro a hora inicial e a hora final abraço
  12. Movendo para a seção apropriada...
  13. Opa É e também só pra completar faça if (Edit1.Text <> '') then DataModule1.TPortugues_Ingles.FindNearest([Edit1.Text]); assim somente a pesquisa é feita se há texto no edit :rolleyes: abraço
  14. ExtractFileDrive(ParamStr(0)); Vem sem o delimitador \ então se quiser adicionar faça ExtractFileDrive(ParamStr(0)) + '\'; Voce pode trocar ParamStr(0) por Application.Exename abraço
  15. Opa Amigo já existem funções prontas no Delphi que fazem isso FormatDateTime() Nos parametros voce informa o formato exemplo hh = Hora mm = Minuto ss = Segundos exemplo FormatDateTime('hh:mm', Now); abraço
  16. Opa Depende, normalmente quando uma Skin pode ser editada deve vir um programa para sua edição, exemplo, o VCLSkin tem o SkinBuilder... Para saber você deve procurar no site do desenvolvedor... abraço
  17. opa talvez seria aqui o erro? se for tente repara que eu quebrei a string em partess não sei se vai funcionar provavelmente sim... abraço
  18. Opa tente assim for i := 1 to 100 do if Length(codcli) >= i then begin if (codcli in ['0'..'9']) then aux:=aux+codcli; end else Break; abraço
  19. Opa Seria possivel voce colocar parte do código, tipo a criação destes elementos e como você está fazendo a leitura... acho que fica mais fácil te ajudar... abraço
  20. movendo para a área específica!
  21. Opa sTitle = O que vai aparecer na janela pro cara escolher o diretório if sFolder <> '' then edSelected.text := sFolder else edSelected.text := 'Nothing selected' edSelected é um Edit, então se foi selecionado um diretório vai aparecer neste edit o diretório selecionado, caso contrário vai aparecer 'Nothing selected' que significa 'Nada foi selecionado'. depende o que você quer fazer, mas de qualquer forma peço que você teste os códigos, você vai entender o que eles fazem e assim vai adaptar conforme sua necessidade... abraço
  22. Churc

    Mover Texto E Url

    Opa Marina 1 Dúvida: Depois de colocar o Memo e os 2 botões, supostamente o Memo vai se chamar Memo1 e os botões Button1 e Button2, levando isto em consideração, de um duplo clique no Button1, você irá para o código de evento do clique deste botão, então você coloca: Se você quiser "adicionar" um texto então Memo1.Lines.Add('TESTE 1 OK'); Agora se quiser "substituir" um texto então Memo1.Text := 'TESTE 1 OK'; e faça o mesmo com o Button2 alterando o texto para 'TESTE 2 OK'... 2 Dúvida: Vá até o código do Form, pressionando a tecla F12 você altera a visualização entre o Form e o Código, deixe no código e em Uses logo no começo adicione ShellAPI Lembrando que para separar utilize vírgulas e para finalizar ponto e vírgula exemplo uses Windows, Forms, SysUtils, Classes, ShellAPI; Depois no clique do botão você coloca isto ShellExecute(Handle, nil, 'http://www.ositequevocequerabriraqui.com', nil, nil, SW_SHOWNORMAL); bjs
  23. Opa Você tem alguma instrução SQL onde há algum tipo de erro de sintaxe... Segundo a mensagem o erro está na linha 1 dessa instrução... Após dar OK no erro o Delphi normalmente aponta onde deu o erro, da uma olhada nas suas instruções SQL... Provavelmente é isto... abraço
  24. Opa Robinho, pela última vez vou te avisar para não responder com caixa alta (CapsLock) já corrigi vários posts seus com este problema, e se acontecer denovo a administração será avisada e você será suspenso do fórum... Significa que você tem uma variável chamado "Data" e que está recebendo um valor porém este valor não está sendo usado pelo programa ou seu valor é substituido logo após... Exemplo var i: Integer; begin i := 0; i := Listbox1.ItemIndex; end; De um duplo clique nessa mensagem ele vai apontar para o suposto problema mais isso não vai prejudicar em nada seu programa... abraço
×
×
  • Criar Novo...