Ir para conteúdo
Fórum Script Brasil

Churc

Veteranos
  • Total de itens

    1.198
  • Registro em

  • Última visita

Tudo que Churc postou

  1. {$WARN SYMBOL_PLATFORM OFF} eu uso este rsrs esse de UNIT_PLATFORM nunca testei vo ver se funciona também
  2. em uses declare ShellAPI no OnClick do botão de release você faz ShellExecute(Handle, 'open', Pchar('ipconfig.exe'), Pchar('/release'), nil, SW_SHOWNORMAL); e no OnClick do botão de renew você faz ShellExecute(Handle, 'open', Pchar('ipconfig.exe'), Pchar('/renew'), nil, SW_SHOWNORMAL); se você quiser executar isso sem que apareça nada, troque o SW_SHOWNORMAL por SW_HIDE Como o ipconfig.exe fica na pasta do sistema, então não tem necessidade de colocar o caminho dele completo.... entendeu? abraços
  3. Pra cada unit que tiver algo relacionado a plataforma você precisa desligar os warnings de plataforma da maneira q o sec falou desliga todos os warnings, o que na minha opinião nem é recomendável... abs
  4. Sim. tem 2 formas uma no começo da UNIT, pode ser em qualquer lugar mas melhor no começo coloque {$WARN SYMBOL_PLATFORM OFF} Este é específico para esse aviso de Plataforma, Win, Linux outro jeito, q pode te servir futuramente para qualquer warning tipo Warning - bla bla bla sidened both operand auhahua qm nunca viu isso então, ai você faz um exemplo desse warning q falei type TMyType = (Um = 1, Dois = 2, Tres = 3, Todos = Um or Dois or Tres); então pra sumir o warning você faz type {$WARNINGS OFF} //Desliga avisos TMyType = (Um = 1, Dois = 2, Tres = 3, Todos = Um or Dois or Tres); {$WARNINGS ON} //Liga avisos Não precisa ligar os avisos novamente, e você pode também no começo da Unit colocar {$WARNINGS OFF}, o que não é recomendável abraços
  5. Procure pelo componente TranspearXP é freeware Tem outros como XPStyle, SuiPack, etc mas são pagos abraços
  6. bom primeiro veja se o arquivo é realmente copiado if (copyfile(pchar(caminho do arquivo), pchar(destino), false)) then showmessage('copiou') else showmessage('não copiou'); Bom o computador nunca erra o erro sempre é humano, então se der não copiou que é óbvio que vai dar, verifique os caminhos... Vamos supor que você queira copiar o arquivo c:\a.txt para c:\Windows então seria copyfile(pchar('c:\a.txt'), pchar('c:\Windows\a.txt'), false); acho que no destino você deve tar esquecendo de adicionar o nome do novo arquivo? se o caminho a ser copiado é uma variável, então não se esqueça do delimitador de caminho \ no final exemplo você quer copiar c:\a.txt para C:\Windows, se a variável tiver C:\Windows então o erro seria copyfile(pchar('c:\a.txt'), pchar('c:\Windowsa.txt'), false); então sempre use IncludeTrailingBackslash pra garantir exemplo: path := IncludeTrailingBackslash(path); onde IncludeTrailingBackslash adiciona a \ no final de um caminho caso não tenha. qlq coisa posta ai abraços
  7. if messagebox('deseja realmente bla', 'Pergunta', mb_yesno or mb_iconquestion) = idYes then tcliente.delete;
  8. não consegue... a não ser que usar o wine por exemplo... .exe não é compatível com sistemas unix
  9. na paleta internet tem o componente twebbrowser
  10. Churc

    Ponteiro

    aahah verdade é q eu não fiz no delphi essa parte seria o mais correto while i <= length(buff) do.... meu email cebasso@terra.com.br abraços
  11. Churc

    Ponteiro

    essa função q passei é mais válida para trabalhar com memoria em aplicativos externos, tipo pra se fazer cheat e tal sobre o erro de compilacao deve ser na linha ReadProcessMemory(pidhandle, ptr(_address), @str[0], 255, 0); acredito q seja um bug no compilador do delphi, pra resolver isso no delphi 6 declare uma variavel global tipo var zero: DWORD = 0; ai você coloca ReadProcessMemory(pidhandle, ptr(_address), @str[0], 255, zero); horrivel não é?, mas eu não achei outra solucao o compilador não passa ali e o valor é o mesmo realmente eu não entendi o porque do $B5676 então vo passar uns exemplos trabalhando com ponteiros tipo variavel global i: integer; no oncreate você coloca i := 0; por exemplo procedure TForm1.FormCreate(Sender: TObject); begin I := 0; end; function soma(n :Integer): integer; var pi: ^Integer; begin pi := @i; pi^ := n + pi^; result := pi^; end; pra usar a função exemplo procedure TForm1.Button1Click(Sender: TObject); begin showmessage(IntToStr(Soma(10))); end; exemplo inutil porque era mais facil fazer i := i + 10 aahuhuah porém é pra você ver mais ou menos como trabalha com ponteiros outro exemplo procedure TForm1.Button1Click(Sender: TObject); var i: integer; buff: string; buffptr: pchar; begin buff := 'Script Brasil'; i := 1; buffptr := addr(buff); for i := 0 to length(buff) do begin showmessage(buffptr^); inc(i); inc(buffptr); end; //vai mostrar uma mensagem letra por letra do valor da variavel buff end; sobre o que você falou sobre a capacidade do ponteiro do delphi eu já não sei te responder, não tenho experiência com isso pois só mexi uma vez com essa parte pra aprender a fazer cheat de jogo então a parte teórica não sei nada. sei q não vai resolver os exemplos mais talvez ajude abraços
  12. Churc

    Ponteiro

    tem sim, agora porque este endereço, ele é dinâmico ou estático? digo porque se for estático é só criar uma funçao pra ler o endereço de memória no caso ser dinâmico, exemplo, o que você quer acessar, ler, gravar muda a cada execução do programa, ai você terá que obtê-lo primeiro tenta assim exemplo function memoryreadstring(_address: integer): string; function bytetostr(_byte: byte): string; var i, n : integer; begin result := '00000000'; n := 128; for i := 1 to 8 do begin if _byte >= n then begin result := '1'; Dec(_byte, n); end; n := n div 2; end; end; var pid: DWORD; pidhandle: THandle; str: array [0..255] of byte; begin getwindowthreadprocessid(Application.Handle, @pid); pidhandle := openprocess(PROCESS_ALL_ACCESS, false, pid); if (pidhandle = 0) then exit; ReadProcessMemory(pidhandle, ptr(_address), @str[0], 255, 0); result := bytetostr(str[0]); closehandle(pidhandle); end; no seu caso seria... exemplo procedure Form1.Button1Click(Sender : TObject); var I : Byte; st: string; begin for i:=0 to 50 do st := st+ memoryreadstring($B5676 + i); Memo1.lines.add(st); end; seria mais ou menos isso? vale lembrar o seguinte, você faz um loop até 50 lendo o endereço $B5676... o q pode acontecer é que não há um ponteiro reservado do 0 até 50 com base nesse endereço, ai ele vai dar access violation se ta fazendo um cheat? crack? se você der maiores detalhes do que quer fazer talvez fique mais fácil ajudar abraços
  13. tenta assim if nomedoform = nil then application.createform(tnomedoform, nomedoform); try nomedoform.showmodal; finally nomedoform.release; //aqui você libera tudo o que esta pendente neste form nomedoform := nil; //e aqui você libera da memoria end; abraço
  14. Churc

    Ponteiro

    amigo de maiores detalhes, este erro é um saco outra coisa, se a operação é usada por processos externos não se esqueça do stdcall
  15. este erro deve ter acontecido no winxp certo? infelizmente no windows xp não é possível esconder um processo do gerenciador de tarefas...
  16. eheh não deu pra entender... q usuário? resposta?
  17. pra pegar os parametros passados pra aplicação é usado paramstr(1); porém se tiver espaços no parametro não vai pegar, ai você tem q criar um loop exemplo var x: string; begin for i := 0 to paramcount do x := x + ' ' + paramstr(i); abraços
  18. Churc

    Urgente

    olha sinceridade, não querendo julgar mas eu vo falar... várias pessoas perguntas sobre isso em comunidades de delphi, em todos os casos era pra mesma coisa... os merdas que ficam fazendo programa que quando a pessoa entra em site de banco o programa roba os dados da pessoa, os famosos PWS.BANKER como é conhecido. O que acontece é que sites como banco do brasil possuem proteções em java que ao detectar este tipo de operação os controles activex instalados no pc, já que é obrigatória a instalação pra você ter acesso ao site fecham o programa. agora se você quer realmente ajuda sobre isso, da maiores detalhes. a não ser que queiram alimentar este tipo de negócio. não estou te julgando mas das 4 pessoas que pediram ajuda pra mim em outros lugares, conversa vai e conversa vem e era o mesmo tipo de negócio. não to falando isso pra você viu amigo, mas se sua intenção era essa também serve. abraços
  19. no evento OnChange do Edit
  20. tem q escrever delphi mesmo (pascal) C só a partir do Dexter que deve sair em 2006 não muda muita coisa mas até se adaptar a tudo leva um tempinho sinceramente acho mais fácil delphi do que VB
  21. eita bem legal cara! eu nem sabia do lazarus vo baixar pra testar... pelas screenshots a ide é praticamente igual a do delphi... interessante... vlw ae por compartilhar ;p
  22. var sl: tstringlist; i: integer; link: string; begin sl.loadfromfile('seuaruivo.txt'); for i := 0 to sl.count -1 do if (pos('href=', sl) > 0) then begin link := copy(sl, pos('href=', sl), pos('</a>', sl) - 1); listbox.items.add(link); end; end; não testei mas é mais ou menos isso abraços
  23. Churc

    Erro Do Bde

    verifique se o arquivo IDAPI32.CFG existe normalmente ele fica em C:\Arquivos de Programas\Arquivos Comuns\Borland Shared\BDE se não existir ou existindo e o erro continuar, já tentou reinstalar o BDE? abraços
×
×
  • Criar Novo...