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 Tirando por base uma vez que vi um exemplo do Jhonas, tente ClientDataSet1.ApplyUpdates(-1); vai q funciona rs abrxx
  2. Churc

    Duvida Basica

    Opa Dúvida 1 if opendialog1.execute then begin ... EditX.Text := ExtractFileName(OpenDialog1.FileName); end; Dúvida 2 No exemplo que dei acima voce muda no Save para sl.SavetoFile(ExtractFilePath(Application.Exename) + 'bla.txt'); abrxx
  3. Churc

    Duvida Basica

    Opa então há várias formas... eu particularmente uso TStringlist; Prefiro do que ficar criando via Handles... exemplo var sl: TStringList; begin sl := TStringList.Create; sl.Add('DATA:' + Edit1.Text); try sl.SavetoFile('bla.txt'); finally FreeAndNil(sl); end; end; abrxx
  4. Opa Brother tente esse exemplo http://www.delphitricks.com/source-code/mu...in_cddrive.html Repara que tem o modo que voce está fazendo e outro mais complexo... tente o mais complexo é claro rs abrxx
  5. ICS Internet Component Suite http://www.overbyte.be/eng/products/ics.html abrx
  6. Nossa brother que que voce está falando? Se ta fazendo um keylogger é? Saiba que isso é proibido aqui no forum rs e de banco ainda auhauhahuauh fio, vai por mim, usa sua inteligência e arruma uma coisa que presta pra fazer...
  7. é brother nem vai adiantar porque olha nos docs... rs precisa do Delphi 2009 mesmo e o Indy 10 rs a não ser q você instale o delphi 2009 :unsure:
  8. adicionou a pasta Source do componente na Library Path?
  9. Opa da uma olhada neste http://www.4shared.com/file/108119628/4325...-30-alpha2.html Tem que instalar o componente que esta em Source... depois em demo tem os exemplos... ps: o Pacote de componentes ta compilado pro delphi 2009, não sei se vai funcionar em outras versoes anteriores abrxx
  10. opa auhahua magina brother :D precisando é noixx hehe abraxx
  11. opa Nesse caso, o que você precisa fazer é... --- Global const WM_RESTFROMTRAY = WM_USER + 1015; --- Unit do Form Principal ... private { Private declarations } procedure OnRestoreFromTray(var Msg: TMessage); message WM_RESTFROMTRAY; public { Public declarations } end; ... procedure TNomedoForm.OnRestoreFromTray(var Msg: TMessage); begin Application.ShowMainForm := True; FrmPrincipal.TrayIcon1.ShowApp := True; Application.Restore; Application.BringToFront; FrmPrincipal.OcultarJanela1.Visible := True; FrmPrincipal.MostrarJanela1.Visible := False; end; --- Source do Programa (Menu Project > View Source) em uses declare - Messages; Var HprevHist : HWND; MutexHandle : THandle; function OneInstanceAndRunning: Boolean; begin result := false; if (MutexHandle <> 0) and (GetLastError = ERROR_ALREADY_EXISTS) then begin MessageDlg('O Programa já está em Execução nessa Maquina!', mtWarning, [mbOK], 0); result := true; end; end; begin MutexHandle := CreateMutex(nil, True, 'Administra'); if OneInstanceAndRunning then begin hPrevInst := FindWindow('TFrmPrincipal', nil); if hPrevInst <> 0 then SendMessage(hPrevInst, WM_RESTFROMTRAY, 0, 0); CloseHandle(MutexHandle); Halt; end; try Application.Initialize; Application.Title := 'Administra'; frmAbertura := TfrmAbertura.Create(Application); // Cria o form de abertura frmAbertura.Show; frmAbertura.Update; Application.CreateForm(TfrmPrincipal, frmPrincipal); Application.CreateForm(TdtmPrincipal, dtmPrincipal); frmAbertura.Hide; frmAbertura.Free; Application.Run; finally if LongBool(MutexHandle) then CloseHandle(MutexHandle); end; WM_RESTFROMTRAY voce pode inventar o que voce quiser, no caso eu inventei (Rest = Restore, From = do, Tray = lado do relogio) ou seja, sair da area de notificação e voltar hehe WM_USER é o final das mensagem que o Windows usa, deste valor pra cima voce cria suas próprias mensagens, voce nunca deve usar pra baixo senao da conflito entre o Windows e seu programa, um exemplo, voce manda uma mensagem pro seu programa mas o windows identifica e faz algo ou vice e versa, portanto em mensagens customizadas sempre use WM_USER + algum valor... O resto é lógica acho que da pra entender sem explicar né rs no Form principal voce declara a procedure pra receber a Mensagem, e no Source do programa voce envia... quando ela recebe ela faz o que voce quiser que ela faça, no caso como voce já passou o codigo ficou ate mais facil abraxx
  12. opa tambem nunca ouvi falar... mas talvez seja este? http://www.torry.net/discuss.php?id=939271 ou... http://www.atstariff.com/fibscript/en/ ou... http://www.devrace.com/en/fibplus/ espero q seja algum destes rs abrx
  13. Opa então brother tem sim, quanto aos comandos vai depender do que você quer fazer... mas adaptando seu código ao restaurar a janela, ai vai Var HprevHist : HWND; MutexHandle : THandle; function OneInstanceAndRunning: Boolean; begin result := false; if (MutexHandle <> 0) and (GetLastError = ERROR_ALREADY_EXISTS) then begin MessageDlg('O Programa já está em Execução nessa Maquina!', mtWarning, [mbOK], 0); result := true; end; end; begin MutexHandle := CreateMutex(nil, True, 'Administra'); if OneInstanceAndRunning then begin hPrevInst := FindWindow('TFrmPrincipal', nil); if hPrevInst <> 0 then ShowWindow(hPrevInst, SW_SHOW); CloseHandle(MutexHandle); Halt; end; try Application.Initialize; Application.Title := 'Administra'; frmAbertura := TfrmAbertura.Create(Application); // Cria o form de abertura frmAbertura.Show; frmAbertura.Update; Application.CreateForm(TfrmPrincipal, frmPrincipal); Application.CreateForm(TdtmPrincipal, dtmPrincipal); frmAbertura.Hide; frmAbertura.Free; Application.Run; finally if LongBool(MutexHandle) then CloseHandle(MutexHandle); end; procura colocar tudo que for código entre as tags Code, abre um colchete e coloca [ code ] e no fim do código fecha [ /code ] mas sem os espaços entre os colchetes... isso são colchetes?! troque em FindWindow() o 'TfrmPrincipal' por 'T' + o nome do seu Form exemplo se ele chama frmBla então seria 'TfrmBla' se ele chama frmAbertura então seria 'TfrmAbertura' e por ai vai... detalhe, seu código já tinha uma variavel q não estava sendo usada (hPrevInst: HWND), mas que na verdade era pra fazer isso q você queria rs abrxx
  14. Maravilha brother!! isso mesmo hehe esqueci o $Array = array(... rs consegui mais uma coisa... foreach ($Array as $field=>$val) { echo "$PARAM_SEPARATOR$field$VALUE_SEPARATOR$val"; } pra pegar o campo tb... vi num exemplo rs valeuuu abrxxx ps: Carlos Eduardo = meu Nome?! rs
  15. Opa Bom não manjo nada de PHP ahuahuahua não sei nem se chamam de constante ou de variavel... enfim rs O que eu gostaria de fazer é uma array com determinados valores puxando da "constante? variavel?" <? $PARAM_SEPARATOR = "&"; $VALUE_SEPARATOR = "="; $SZ_NOME = $VALUE_SEPARATOR."João"; $SZ_SOBRENOME = $VALUE_SEPARATOR."Silva"; $SZ_IDADE = $VALUE_SEPARATOR."60"; $Array = ('Nome' => $SZ_NOME, 'Sobrenome' => $SZ_SOBRENOME, 'Idade' => $SZ_IDADE); echo "BEGIN"; foreach ($Array as $Array) { echo "$PARAM_SEPARATOR.$Array"; } echo $PARAM_SEPARATOR."END".$PARAM_SEPARATOR; ?> deve estar tudo errado ahuahuhau é claro se ta dando errado rs mas então, o que eu queria era que saisse assim BEGIN&Nome=João&Sobrenome=Silva&Idade=60&END& Na verdade é o que eu preciso para conseguir adaptar em um programa meu em Delphi... É claro que não vai ser exatamente isso, mas foi uma forma de eu explicar o que eu preciso :D Da um erro assim "Parse error: syntax error, unexpected T_DOUBLE_ARROW" na linha do array :( Alguém pode me ajudar? valeuu abrxxx
  16. Veja se é isto q precisa http://www.swissdelphicenter.ch/torry/showcode.php?id=478 http://www.swissdelphicenter.ch/torry/showcode.php?id=1493 abrxx
  17. No Form1 que no caso vai chamar o Form2 KeyPreview Property Gets or sets a value indicating whether the form will receive key events before the event is passed to the control that has focus. Ou seja, faz com que o form receba o evento da tecla antes que o Edit no caso... abrx
  18. Churc

    Sistema de login

    Certo, mas mesmo você definindo o Form do Menu como Principal no programa, ele não minimizava?
  19. Churc

    Sistema de login

    Então brother, o problema está em toda a estrutura do seu programa... Primeiro que jamais o Form de Login deve ser o Pai (Principal, Main), desde que o mesmo deve ser fechado após o login... Segundo que usar componente pra poder minimizar um form, que a princípio deveria ser o Pai, também é errado, só ai já da pra você ver que a estrutura do seu programa ta errada, o Form Pai era pra ser o que comanda o programa e no seu caso o de Login que está comandando e não era pra ter problema em minimizar o seu Form principal, que no caso, na estrutura do programa é o de Login, mas visualmente o fProgram Enfim, vai dar nisso mesmo... um problema aqui, outro ali... Se você tiver paciência, mude para a forma que expliquei... ai você não terá problemas abrxx
  20. Churc

    Sistema de login

    @Zueira, o código que voce me mandou ta bem confuso, não ta com nada do que te passamos aqui... Seguinte, vai no menu Project > Options e em Forms você tira o form Fprincipal, que alias é o form de login e não deveria estar como principal, tira ele do AutoCreate... No código que voce mandou, o Form de Login que está como principal do programa... Coloca o Form FProgram como primeiro da Lista em Auto Create Forms... Depois vai no menu Project > View Source e cole isto... program P_principal; uses Forms, U_principal in 'U_principal.pas' {Fprincipal}, U_program in 'U_program.pas' {Fprogram}, U_dmdados in 'U_dmdados.pas' {Dmdados: TDataModule}, U_consurl in 'U_consurl.pas' {Fconsurl}, U_consloginsenha in 'U_consloginsenha.pas' {Fconsloginsenha}, U_conssenha in 'U_conssenha.pas' {Fconssenha}; var bLogin: Boolean = False; {$R *.res} begin Application.Initialize; Application.Title := ''; Application.CreateForm(TFprogram, Fprogram); Application.CreateForm(TDmdados, Dmdados); Application.CreateForm(TFconsurl, Fconsurl); Application.CreateForm(TFconsloginsenha, Fconsloginsenha); Application.CreateForm(TFconssenha, Fconssenha); FPrincipal := TFPrincipal.Create(nil); //e aqui como expliquei acima no Post #4 if bLogin then Application.Run else Application.Terminate; end. Não esqueça do Post #4 logo acima... ali expliquei como fazer o lance do Login no Form de Login... (bOK em public e tal...) é que não tem como eu emular aqui, to no trabalho também e é difícil pegar outros códigos e fazer rodar certinho, por causa do banco de dados e tal... entendeu?
  21. Churc

    Sistema de login

    Humm, estranho... Brother, a principio eu não sei te dizer o porque disso, não tem como eu emular aqui... não tenho a menor noção do que pode ser :/ a propriedade FormStyle do form principal ta como fsNormal?
  22. Churc

    Sistema de login

    Opa Mas isso no Form de Login?
  23. Churc

    Sistema de login

    Opa Amigo faz assim, tira o Form de login do AutoCreate.... vai no Menu "Project > View Source"... faz tipo project XXX; uses Forms, ... var bLogin: Boolean = False; begin Application.CreateForm(... Application.CreateForm(... Application.CreateForm(... Application.CreateForm(... FormdeLogin := TFormdeLogin.Create(nil); try FormdeLogin.ShowModal; bLogin := FormdeLogin.bOK; finally FormdeLogin.Free; FormdeLogin := nil; end; if not bLogin then Application.Terminate else Application.Run; end. e no Form de login, declare uma variavel em public chamada bOK e faz tipo public bOK: Boolean; ... procedure TfLogin.spdBtOkClick(Sender: TObject); begin with dmDados.ibQueryLogin do begin Close; SQL.Clear; SQL.Append('select * from USUARIO where USUARIO = :usuario and SENHA = :senha'); ParamByName('usuario').AsString := edLogin.Text; ParamByName('senha').AsString := edSenha.Text; Open; bOK := not isEmpty; if isEmpty then begin Application.MessageBox('Login e/ou senha incorretos!','Goldner', mb_Ok + mb_DefButton1 + mb_IconExclamation); edLogin.SetFocus; end else Close; end; end; abrxx
  24. Opa Da sim amigo, contanto que estas functions e procedures estejam na mesma DLL tipo TNomeDLL = record hLib: THandle; FuncX: function: Boolean; StdCall; ProcX: procedure; StdCall; Bla: function(lpBuff: Pchar); StdCall; Teste: procedure(b: BOOL); StdCall; end; ai voce faz var NomeDLL: TNomeDLL; procedure LoadDLL; begin with NomeDLL do begin hLib := LoadLibrary(PChar('caminho_da_DLL.dll')); if hLib <> 0 then begin @FuncX := GetProcAddress(hLib, 'FuncX'); @ProcX := GetProcAddress(hLib, 'ProcX'); @Bla := GetProcAddress(hLib, 'Bla'); @Teste := GetProcAddress(hLib, 'Teste'); end else ShowMessage('DLL não encontrada'); end; end; Pra chamar, voce usa a variavel Global "NomeDLL"... exemplo if Assigned(NomeDLL.FuncX) then if NomeDLL.FuncX then True else False; e por ai vai... espero que deu pra entender rs abrxx
×
×
  • Criar Novo...