Ir para conteúdo
Fórum Script Brasil

Churc

Veteranos
  • Total de itens

    1.198
  • Registro em

  • Última visita

Tudo que Churc postou

  1. Opa Voce pode fazer da seguinte forma, usando o evento OnChange do Memo const MAX_TEXT = 250; procedure TForm1.Create(Sender: TObject); begin Memo1.MaxLength := MAX_TEXT; end; procedure TForm1.Memo1Change(Sender: TObject); begin Label1.Caption := 'Caracteres restantes: ' + IntToStr(MAX_TEXT - Length(Memo1.Text)); end; visualmente, é a mesma forma que sites fazem quando limitam o texto a ser enviado em formulários abraço
  2. Churc

    TImage

    ouuu retire ela do ScrollBox, e ajuste a propriedade do TImage AutoSize para False deixando como o Jhonas Mencionou o Stretch para True. abraco
  3. Opa Segue abaixo o código... with TRegistry.Create do begin RootKey := HKEY_CURRENT_USER; try Openkey('Software\Microsoft\Windows\CurrentVersion\Run', False); if CheckBox1.Checked then WriteString('Cadastro', ParamStr(0)) else if ValueExists('Cadastro') then DeleteValue('Cadastro'); finally Closekey; Free; end; end; Só não acho que neste caso fique legal voce usar isso no AutoCreate do Form abraco
  4. Jhonatas mas voce precisa do relógio em si ou de um temporizador tipo pra fazer contagem de tempo, 1 minuto, 5 minutos? Resumindo, voce quer um relógio pra ficar mostrando hora ou data ou quer apenas um cronometro? abrs
  5. Opa Impossível, até porque nem o Windows possui um relógio próprio, ele pega a hora da BIOS na qual mantém a data e hora até mesmo quando o computador está desligado, e essa data e hora somente é mantida por causa de uma bateria que fica na placa mãe, igual essas baterias de relogio. Por isso quando a bateria da BIOS está fraca, ao desligar o computador da tomada essas propriedades são perdidas... Então resumindo, o Windows não possui relógio próprio, assim como o Windows não pode ter um relógio próprio voce também não pode hehe Só te resta utilizar o relógio do sistema igual o Windows, e no máximo fazer um esqueminha de corrigir a data e hora através da Internet... Tem servidores de Date/Time que voce pode utilizar para corrigir a data e hora do sistema, assim como o Windows faz... Já vi sobre mas não possuo nenhum exemplo ou artigo pra te mostrar :/ Resumindo, no seu caso, mesmo que voce fizesse algo que fosse independente do relógio do sistema, e o usuário mudando as propriedades não afetasse seu relógio, ao desligar o computador e ligar novamente voce teria que puxar a data e hora de algum lugar, sendo assim só te restaria o relógio do sistema no qual ainda poderia vir errado já que um usuário poderia ter alterado... entendeu? Qualquer novidade eu posto aqui abraco
  6. Hey my Friend, take a look http://www.swissdelphicenter.ch/torry/showcode.php?id=233 I hope that can help you! cya ;)
  7. Churc

    Erro Cabeludo

    Opa EFCreateError - significa que não está sendo possível criar um determinado arquivo... Pode ser por privilégios, por exemplo, voce estar utilizando Windows XP ou Vista ou 2003 ou qualquer um que não seja ME/98 e voce tem uma conta de usuário limitada no sistema, e então ao programa tentar criar um determinado arquivo, nesse caso um PDF ele não consegue por não possuir privilégios de acesso... Poderia ser isso? Outra coisa, voce que passa o caminho para salvar o arquivo? Voce possue o Source do componente ou DLL que gera esse arquivo? abraco
  8. Opa então, uma breve explicacao seria mais ou menos assim GetTickCount retorna em milisegundos o tempo que se passou desde a hora em que o sistema foi iniciado, ou seja, é como se fosse um Timer só que do próprio Windows, a idéia original com certeza não era ser um Timer mas sim saber a quanto tempo o Windows foi iniciado, porém como retorna em milisegundos, podemos usar para controles de tempo, como no caso abaixo... procedure Delay(dwMilliseconds: Longint); var iStart, iStop: DWORD; begin (* iStart pega a quanto tempo o sistema foi iniciado, vem em milisegundos, mas se fossemos transformar para minutos, horas também é possível, sairia em minutos por "exemplo" 00:10:10 o que seria, 10 minutos e 10 segundos *) iStart := GetTickCount; repeat (* Com o repeat, ele fica repetindo o seguinte... pega em iStop quanto tempo se passou atualmente e... *) iStop := GetTickCount; (* Application.ProcessMessages faz com que o programa não fique travado, te passo um teste mais abaixo... *) Application.ProcessMessages; (* Sleep(1) serve apenas para não consumir o uso de 100% do processador, o que corre o risco de travar o sistema, se voce possue Windows XP, no TaskManager (Ctrl + Alt + Del) voce ve cada processo e tem uma coluna que se chama CPU nela é o tanto que determinado processo está consumindo do processador, então esse Sleep(1) é apenas para que este processo não consuma 100% do uso do processador *) Sleep(1); (* Until, ou seja, até que a hora atual menos a hora que começou seja maior ou igual ao tempo desejado o que seria mais ou menos assim iStart = 00:10:00 cada repeat vai fazer com que o iStop pegue 1 milesimo de segundo se voce colocou tipo Delay(10000) ou seja, 10 Segundos, então esta funcao vai ficar se repetindo até que iStop que é a tempo atual menos a hora que começou seja maior ou igual ao tempo desejado, exemplo 00:10:10 - 00:10:00 = 10 ou seja, os 10 segundos que queriamos e então obtemos o tempo desejado e a função para... a única diferença do Sleep para esta função é o Application.ProcessMessages literalmente *) until (iStop - iStart) >= dwMilliseconds; end; bem confuso né mas espero que de pra entender algo rsr Pra voce entender sobre o application.processmessages que faz o programa não travar faça o seguinte teste Coloque em um Form um botao, um label, e no código do botão faça var i: Integer; begin for i := 0 to 10000 do Label1.Caption := InttoStr(i); end; Rode o programa e clique no botão, o Label não vai mostrar a contagem de 0 até 10.000 o programa vai ficar congelado Agora coloque o Application.Processmessages e para não consumir 100% do uso do processador o sleep(1); var i: Integer; begin for i := 0 to 10000 do begin Label1.Caption := InttoStr(i); Application.ProcessMessages; Sleep(1); end; end; E faça o teste ;) Vale mencionar que esta função não é de minha autoria, já possuia ela faz um bom tempo... é uma mão na roda hehe abraço
  9. Opa Acredito que não gostou do Sleep porque ele congela o programa certo? Tente este procedure Delay(dwMilliseconds: Longint); var iStart, iStop: DWORD; begin iStart := GetTickCount; repeat iStop := GetTickCount; Application.ProcessMessages; Sleep(1); until (iStop - iStart) >= dwMilliseconds; end; Ai voce faz Delay(x); abraco
  10. Opa faz o seguinte... Pra cada Edit que voce quiser que seja obrigatorio o preenchimento, coloque a Tag dele pra 1 então voce usa essa sua funcao só que modificada procedure Tfrmcadastro.btnOkClick(Sender: TObject); var i:integer; begin for i:=0 to frmcadastro.ComponentCount -1 do begin if frmcadastro.components[i] is TEdit then begin if (Tedit(components[i]).tag = 1) and Tedit(components[i]).text='') then begin application.MessageBox('Alguns campos obrigatorios não foram preenchidos!','Aviso',mb_iconinformation+mb_ok); Tedit(components[i]).SetFocus; end; end; end; abraco
  11. Opa Coloque no evento onKeyPress do Edit algo como if Pos(LowerCase(Key), LowerCase(Edit1.Text)) > 0 then Key := #0; Se voce quiser fazer diferenciação de maiúsculas e minúsculas, tire os LowerCase abraxx
  12. Ahhhhhhhhhhh entendi! haha não Jhonatass, não é possivel hehe Um DLL é apenas um complemento, impossivel ela ser executada por si própria, sem que nenhum processo a chame... de qualquer forma, há como sim fazer um Server em uma DLL sem precisar fazer um executavel seu chama-la... mas seus tópicos estão um pouco suspeitos rs pra quem quer ter acesso total aos arquivos do PC, deletar, excluir, renomear... queria saber se tinha como formatar o PC e agora quer saber como fazer um Server em uma DLL, ou seja, escondido pro usuário não ver... humm :)
  13. Opa Se eu entendi bem, tudo o que você precisa fazer é criar funcoes na DLL e exporta-las para o programa que vai chama-la exemplo na DLL function OpenServer(iPort: Integer): BOOL; StdCall; begin with DataModule1.TCPServer1 do begin Port := iPort; Active := True; end; end; exports OpenServer; ai no executavel acima do var da Unit voce tem que importar esta funcao function OpenServer(iPort: Integer): BOOL; StdCall; external 'nomedadll.dll'; E então quando quiser chamar esta funcao voce faz por exemplo OpenServer(1010); Foi somente um exemplo simples, mas é isso ai, claro tem váriass formas e maneiras mas a mais simples é essa... neste exemplo o ServerSocket estaria ativo na porta 1010 Lembrando que a DLL precisa ficar na mesma pasta do programa ou em pastas do sistema, como Windows e System\System32 Senao seu programa já inicia com um AccessViolation a real é, para tudo que voce quer que o executavel execute na DLL voce precisa criar funcoes nela para isso, e exporta-las e no executavel importar as funcoes para poder chama-las abraco
  14. Opa Acho que isto te ajuda http://delphi.about.com/od/fullcodeprojects/l/aa012704a.htm Voce só vai precisar entender um pouco de ingles :) abraco
  15. Opa Tem como sim, adicione um DataModule na sua DLL e coloque os componentes de Socket nele. Para trabalhar com os componentes basta você chamar o DataModule exemplo DataModule1.idTCPClient1.IOHandler.WriteLn('Hello!! Im Lindsay Lohan'); Voce precisará criar e destruir o DataModule, há varias maneiras, uma gerenciando quando um processo carrega a DLL que seria mais ou menos assim: procedure DllMain(iReason: Integer); begin case iReason of DLL_PROCESS_ATTACH: DataModule1 := TDataModule1.Create(nil); DLL_PROCESS_DETACH: if Assigned(DataModule1) then DataModule1.Free; end; end; exports ; begin DllProc := @DllMain; DllProc(DLL_PROCESS_ATTACH); Outro é a cada chamada de alguma funcao da DLL voce verificar se o DataModule existe e se não criá-lo. Function Bla: BOOL; StdCall; begin if DataModule1 = nil then DataModule1 := TDataModule1.Create(nil); end; Recomendo o gerenciamento de processos... Como o Jhonnas mencionou, como voce disse ser iniciante, várias coisas ainda vão ser estranhas para voce, onde a experiência voce vai conseguir com o tempo, estudo e esforço :) abracos
  16. Opa Boa Micheus ;) abraxx
  17. Churc

    Download - Delphi 2007

    Opa O Tutorial estava muito bom, pena que pirataria é crime e além do mais é proibido no fórum Regra - 3.2 Tópico Fechado. abraços
  18. Opa Exatamente hehe, Eder, se o Delphi 5 saiu em 2001 acredito que o Delphi 4 foi antes de 2000 Impossível você querer acompanhar as tecnologias sendo que sua ferramenta de desenvolvimento está ultrapassada. É o mesmo que querer consertar um New Civic com chave de fenda hehe Permita-me a brincadeira, mas esta é uma realidade, acho que está mais que na hora de você atualizar a versão do seu Delphi. "No mínimo" pelo menos a versão 6 ou 7 Mas aconselho já partir pro RAD Studio 2007, já que está imigrando, que vá para a mais nova versão não é mesmo hehe Algumas coisas voce vai apanhar pra migrar mas vale a pena, porque tudo que sai na Internet depois você terá a possibilidade de utilizar... já com a versão 4 não. Leve isto como uma opinião útil abraçxxx
  19. Opa É possível sim, o Google libera uma API para que possa ser incorporado... Não sei muito a respeito, se cobram e tal, mas de qualquer forma... isso vai te informar hehe http://maps.google.com/support/bin/topic.py?topic=10788 abraços
  20. Opa Troque pelo seguinte begin with TRegistry.Create do begin RootKey := HKEY_CURRENT_USER; try Openkey('Software\Microsoft\Windows\CurrentVersion\Run', False); WriteString('Prog', ParamStr(0)); finally Closekey; Free; end; end; abracos
  21. Opa O IPED também possui curso de Delphi, e sai muito mais em conta e o curso tem mais recursos. De uma olhada, veja se te interessa http://www.iped.com.br/curso/delphi/ abraços
  22. Opa Acontece que a funcao copyfile não da uma exception (erro) quando não copia o arquivo, então como não há exceção (erro) o except não funciona. no caso ela retorna True ou False como resultado if CopyFile('c:\teste\carro.exe','c:\casa\carro.exe',false) then Copiado else não copiado. abraços
  23. Opa Seguindo as regras do fórum o tópico será fechado pois não é permitido a discussão de nada relacionado a hacking. Regras do fórum - 3.2 abraço
  24. Churc

    Criar Instalador

    Opa Utilize a Busca do fórum clicando em Pesquisar, procure por instalador, inno setup, você vai encontrar bastante coisa... Recomendo você utilizar o Inno Setup http://www.innosetup.com abraços
×
×
  • Criar Novo...