Ir para conteúdo
Fórum Script Brasil

Daniel Sanches

Membros
  • Total de itens

    126
  • Registro em

  • Última visita

Tudo que Daniel Sanches postou

  1. eu já fiz isso umas 50 vezes acho, mas sem sucesso !!!
  2. da forma que está abaixo, está executando os 2 (setFocoExit e OnExit), porém, o componente parou de funcionar corretamente e não está jogando mais o valor para o campo .. já testei de tudo, nada até agora ... espero uma luz !!! abraços !!! unit dsDBEdit; interface uses SysUtils, Classes, Controls, StdCtrls, Mask, DBCtrls, Graphics, Dialogs; type TdsDBEdit = class(TDBEdit) private { Private declarations } fAtivaFoco: Boolean; fCorFocado: TColor; fCorNaoFocado: TColor; fFontFocado: TFont; fFontNaoFocado: TFont; procedure setFocoEnter(Sender: TObject); procedure setFontFocado(Valor: TFont); procedure setFocoExit(var Message: TCMExit); message CM_EXIT; protected { Protected declarations } public { Public declarations } constructor create(AOwner: tcomponent); override; destructor destroy; override; published { Published declarations } property dsAtivaFoco: Boolean read fAtivaFoco write fAtivaFoco default True; property dsCorFocado: TColor read fCorFocado write fCorFocado; property dsFontFocado: TFont read fFontFocado write setFontFocado; end; procedure Register; implementation constructor TdsDBEdit.Create(AOwner : TComponent); begin inherited Create(AOwner); fAtivaFoco:= True; fCorFocado:= $00FF8080; fCorNaoFocado:= Self.Color; fFontFocado:= TFont.Create; fFontFocado.Assign(Font); fFontNaoFocado:= TFont.Create; fFontNaoFocado.Assign(Font); //eventos... OnEnter:= setFocoEnter; end; destructor TdsDBEdit.Destroy; begin fFontFocado.Free; fFontNaoFocado.Free; inherited destroy; end; procedure TdsDBEdit.setFocoEnter(Sender: TObject); begin if fAtivaFoco = true then begin fCorNaoFocado:= Color; Color:= fCorFocado; fFontNaoFocado.Assign(Font); Font.Assign(fFontFocado); end; end; procedure TdsDBEdit.setFocoExit(var Message: TCMExit); begin Color:= fCorNaoFocado; Font.Assign(fFontNaoFocado); if Assigned(OnExit) then OnExit(Self); end; procedure TdsDBEdit.setFontFocado(Valor: TFont); begin fFontFocado.Assign(Valor); end; procedure Register; begin RegisterComponents('Daniel', [TdsDBEdit]); end; end.
  3. Criei um componente herdado de DBEdit, onde muda-se a cor do DBEdit quando entra e volta ao normal quando sai ... tudo funcionou certinho, até que: em 1 DBEdit, coloquei um evento OnExit e o evendo definido no componente deixou de funcionar, ou seja, o OnExit do componente foi sobreposto pelo definido em tempo de design do sistema ... estou definindo assim o evento no Create do componente assim : OnEnter:= setFocoEnter; OnExit:= setFocoExit; será que estou errando em algo ou não tem jeito mesmo, um evendo sobrepõe o outro ??? abraços !!!
  4. Daniel Sanches

    Player

    o problema de se usar um timer é que se o usuário adiantar ou retroceder a música, o timer já fica fora ....
  5. dá uma olhada nesse tópico pra ver se te ajuda: http://scriptbrasil.com.br/forum/index.php...94&hl=tecla abraços !!!
  6. olá !!! olha, fiz alterações para teste no meu sistema, porém, ainda não pude ir até o cliente para testar, assim que tiver um resultado, posto aki.... por enquanto, obrigado !! abraços !!!
  7. olá !!! Em meu sistema, em um determinado form, tenho o seguinte evento: procedure Tform_principal.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if ssCtrl in Shift then begin if Key=123 then // F-12 begin Config.Execute; end; end; end; funciona perfeitamente, porém, em um cliente, que tem 2 máquinas em rede, funciona apenas em 1 e na outra não. alguém sabe me dizer se tem alguma configuração do windows para bloquear esse tipo de teclas de atalho ??? obs: a propriedade KeyPreview do Form está True. abraços !!!
  8. tente algo assim: AnsiReplaceStr(memo1.Text,chr(13)+chr(10),' '); *declare na cláusula uses a unit StrUtils assim você substitui o enter por um espaço em branco... abraços !!
  9. dê uma olhada nesses links pra ver se ajuda: http://scriptbrasil.com.br/forum/index.php...=importar+excel http://scriptbrasil.com.br/forum/index.php...02&hl=excel http://scriptbrasil.com.br/forum/index.php...;hl=dados+excel abraços !!!
  10. Daniel Sanches

    Player

    você tem algum botão para ele pular para a próxima música ?? ele funciona ?? se sim, porque você não faz referência a esse botão direto ... if mp3Player.Position = mp3Player.Length then //chegou ao fim da música/video begin botao_proxima_musicaClick(Sender); end; testa aí ... abraços !!
  11. se for o form que está testando, o Willian já deu a dica ... agora se for um componente que irá testar, post aki q a gente continua o tópico !!! abraços !!
  12. seria só você fazer uma checagem antes dos comandos tipo: se o componente_tal existe comandos.... entendeu ?? abraços !!!
  13. se você utilizar um DBCombobox, ele já faz isso ... porém só auto-complete ... agora, pra exibir uma lista abaixo do edit, como no google, acho que você teria que adaptar um componente alinhado com o edit (como por exemplo um grid) e conforme você vai digitando (evento OnKeyUp) você vai filtrando a tabela... porém, não sei se a sobrecarga no banco seria muito grande, já que a cada tecla apertada ele fará uma pesquisa ... abraços !!!
  14. é o seguinte, nosso amigo Willian - TI está correto, porém se esqueceu de 1 detalhe ... o AfterScrooll, também é executado na hora de abrir a tabela, pois o ponteiro é direcionado para o primeiro registro, acionando assim o evento (AfterScroll)... provavelmente isso é o que ocorre contigo... abraços !!!
  15. vlw Jonas !!! acho que a melhor opção mesmo vai ser manipular as imagens via FTP, pois, gravando diretamente em um campo blob, ficará muito lento o banco !!! abraços !!!
  16. ok!!! eu já utilizo o Zeos para conexão com minhas tabelas em MySql ... agora é o seguinte: meu banco de dados, ficaria em um servidor na internet e as fotos também ??? no banco de dados eu continuaria apenas referenciando o Path das fotos armazenadas ??? abraço !!! outra dúvida que esqueci de mencionar ... supondo que meu banco esteja em um servidor na internet, juntamente com as fotos ... para incluir uma nova foto ou excluir uma já existente ... como faria isso ??? em uma máquina local, trato os arquivos normalmente com copyfile e deletefile ... agora estando tudo em um servidor na internet ?? teria que utilizar quais componentes ???? abraços !!!
  17. olá !!! preciso de opniões e dicas: 1. Estou desenvolvendo um sistema, onde terei que armazenar fotos. 2. Sempre armazenei as fotos em pastas; no banco de dados, apenas criava um campo onde referenciava o Path da foto e carregava assim que necessário. Minha dúvida: O meu sistema será usado em rede, e talvez, provavelmente num futuro próximo, será acessado remotamente via internet ... Qual seria a forma mais recomendada para armazenamento dessas fotos ??? pois, teria que fazer um uploado do cliente para o servidor e armazenar essas fotos no servidor ??? quais componentes teria que utilizar ??? agradeço qualquer dica, preciso de um caminho para pesquisar ... abraços !!!
  18. Daniel Sanches

    Player

    é o seguinte ... o código abaixo faz um loop infinito na música/vídeo .. é só você adaptar para o que você quer ... procedure TForm1.MediaPlayer1Notify(Sender: TObject); begin if MediaPlayer1.Position = MediaPlayer1.Length then //chegou ao fim da música/video begin MediaPlayer1.Play; end; end; sempre que a música/vídeo chega ao fim, é enviado o evento notify ... checando se a música terminou com position e length, é só você passar o caminho da nova música/vídeo e dar um play ... abraços !!!
  19. pra você deixar o vídeo exibindo em full, coloque este código abaixo, que o vídeo ficará do tamanho do seu panel (se o panel estiver em full screen também)... MediaPlayer1.DisplayRect:= Monitor.BoundsRect; abraços !!!
  20. segue uma dica aí ... 1. crie uma variável pública (vKey) ... 2. use os eventos OnKeyDown e OnKeyUp, como segue abaixo ... var Form1: TForm1; vKey: array[0..1] of boolean; implementation {$R *.dfm} procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Key = 65 then vKey[0]:= true; if Key = 81 then vKey[1]:= true; if (vKey[0] = true) and (vKey[1] = true) then //teclas A+Q begin vKey[0]:= false; vKey[1]:= false; showmessage('oi'); end; end; procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Key = 65 then vKey[0]:= false; if Key = 81 then vKey[1]:= false; end; post aki se deu certo ... abraços !!!
  21. para isso que você quer, acho que o Paradox quebra um galho.... agora, quanto ao banco de dados, recomendo aquele que você achar melhor para trabalhar, pois existem vários BD ótimos no mercado, como: MySQL, FireBird, PostGree, Oracle, msSQL Server.... dá uma procurada e veja qual você se entende melhor !! abraços !!!
  22. olha !!! depende muito do sistema que você utiliza ... se for um sistema pequeno, já que todos serão locais, dependendo do tamanho, você poderia trabalhar com arquivos texto (isso se for um sistema simples e pequeno) caso contrário se tornaria muito trabalhoso e poderia ocorrer alguns erros ... outra alternativa se for um sistema pequeno é trabalhar com Paradox (mas, ressucitar um defunto vira filme de terror !!! ) !!! ahahahaha abraços !!!
  23. olha !! o MySQL é um Sistema Gerenciador de Banco de Dados, sendo que, para que você possa utilizar as Tabelas, você precisa do MySql instalado... no caso Cliente/Servidor, o MySql só será instalado no Servidor, pois é onde se concentra todas as tabelas ... agora, pra você trabalhar apenas com máquinas locais, todas as máquinas deverão conter o MySql... abraços !!!
  24. try StrToInt(Edit1.Text) except on E: Exception do begin ShowMessage('Valor digitado não é inteiro.'); Edit1.SetFocus; end; end; abraços !!!
  25. resolvi.... usei um componente ActionList, criei uma action nele por exemplo acFechar. No evento execute da action coloquei close; e no shortCut da action coloquei ESC pronto... abraços !!!
×
×
  • Criar Novo...