Ir para conteúdo
Fórum Script Brasil

schaukoski

Membros
  • Total de itens

    126
  • Registro em

  • Última visita

Tudo que schaukoski postou

  1. Olá Jovem. Tente o seguinte... os outros campos referentes ao código do produto são campos Edits Certo? tente o seguinte No evento OnExit do DBEDIT CodProd voce pode fazer o seguinte : if TProd.Locate('CODIGO', DBedit1.text, []) then begin Edit1.text := TprodNOME.asstring; Edit2.text := TProdquantidade.asstring; end else begin SHOWMESSAGE('PRODUTO não ENCONTRADO'); end; Funciona assim : o if, procura na sua tabela de produtos o codigo do produto. quando ele acha, ele preenche os campos edits, - que são os seus campos de quantidade, UD, descricao etc - e só. é isso.. qualquer duvida, não exite em perguntar... estamos aí ! :) abraços
  2. Perai, dexa eu te fala o que eu intendi. Você quer que aparece uma tela de Login, ai quando ele informar o login e senha, essa tela desapareça, e entre no sistema? é isso?
  3. cara, da um exemplo alguma coisa, eu não intendi nada . o que é um módulo para você? para ocorrer qual código?
  4. C$%@#&* Micheus, Funcionou PERFEITAMENTE!, do jeitinho que eu queria cara... Muito Obrigado... Eu não sabia que tinha opção para alterar a cor da caneta !, muito show de bola.... Abraços!! vou deixar os fontes aqui pra quem quiser ter uma idéia. procedure TFormCFinanceiro.GridDrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); begin if (aRow in [grid.RowCount-1]) and not (gdFocused in State) then /// se for a ultima linha , Grid.Canvas.Font.Style := [fsbold]; //// deixa em negrito. Grid.Canvas.FillRect(Rect); Grid.Canvas.TextRect(Rect, Rect.Left +2, Rect.Top +2, Grid.Cells[aCol, aRow]); // se for a coluna 2 ou 3 *centralizar* if (aCol in [2,3]) and not (gdFocused in State) then begin if length(grid.Cells[acol,arow]) = 4 then/// se tiver 4 digitos , eu coloko uma margem Grid.Canvas.TextRect(Rect, Rect.Left +18, Rect.Top +2, Grid.Cells[aCol, aRow]);////de 18 espacinhos if length(grid.Cells[acol,arow]) = 5 then Grid.Canvas.TextRect(Rect, Rect.Left +15, Rect.Top +2, Grid.Cells[aCol, aRow]); if length(grid.Cells[acol,arow]) = 6 then Grid.Canvas.TextRect(Rect, Rect.Left +12, Rect.Top +2, Grid.Cells[aCol, aRow]); if length(grid.Cells[acol,arow]) = 7 then Grid.Canvas.TextRect(Rect, Rect.Left +9, Rect.Top +2, Grid.Cells[aCol, aRow]); end; if (aCol in [4]) and not (gdFocused in State) then Grid.Canvas.TextRect(Rect, Rect.Left +5, Rect.Top +2, Grid.Cells[aCol, aRow]); if aRow = (grid.RowCount-1) then begin /// se for a ultima linha Grid.Canvas.MoveTo(Rect.Left, Rect.Top); //// posiciono um ponto no lado esquerdo do quadrado, na ponta de cima Grid.Canvas.LineTo(Rect.Right, Rect.Top); //// risco do ponto, até a posicao direita do topo end else begin // senao Grid.Canvas.Pen.Color := clmedgray; /// cor da linha , com options.vetline, horzline desativados, alinha fica transparente Grid.Canvas.MoveTo(Rect.Right, Rect.Top); /// move para o ponto Grid.Canvas.LineTo(Rect.Right, Rect.Bottom+2); // risca do ponto , ate este ponto end; Um abraço para todos.
  5. Então, antes do post, eu tentei fazer isso, mas daí com os dois desabilitados, a linha fica na cor Branco, ela não aparece porque quando os dois desabilitados, a cor da linha do grid , fica da cor do fundo.. ai ferrou. Mas tudo bem... valeu pelas dicas =) Obrigado pela ajuda, até !
  6. Verdade, Funcionou Beleza!!.. eu so não consegui tirar os Collines que tem .. ficou tipo assim : 0| CAMPO | CAMPO | CAMPO | CAMPO | 1| | | (n vo fazer todos tracinhos ¬¬) 2| | 3| | 4| | 5| | 6|_________|_____________________________| 7|TOTAL | | | TANTO $$ então, na linha 7, que é o meu TOTAL, eu não consegui tirar os colines ai ficou meio esquizito o ideal seria : 0| CAMPO | CAMPO | CAMPO | CAMPO | 1| | | (n vo fazer todos tracinhos ¬¬) 2| | 3| | 4| | 5| | 6|_________|_____________________________| 7|TOTAL TANTO $$ Mais beleza, Valeu Micheus ABRAÇOS!
  7. Ola Micheus, obrigado pela resposta, Poisé, este método eu já tinha tentado com os exemplos que voce citou no outro post, mas não deu mesmo. Acho que para desenhar as linhas do grid, (desenhar, alterar), so pode ser feito com o Default Drawing em False, mas aí eu perco a condição mudar a última linha para negrito pois com Defaultdrawing em false, ele executa antes de preencher o grid. Bom, é isto... se tiver alguma outra idéia, posta ai, que eu testo aqui. **** Aproveitando o mesmo tópico, Sabes como deixar duas colunas com o texto centralizado? (seria o Alingment do DBgrid taCenter) *** if (aCol in [2,3]) and not (gdFocused in State) then begin if length(grid.Cells[acol,arow]) = 4 then Grid.Canvas.TextRect(Rect, Rect.Left +18, Rect.Top +2, Grid.Cells[aCol, aRow]); if length(grid.Cells[acol,arow]) = 5 then Grid.Canvas.TextRect(Rect, Rect.Left +15, Rect.Top +2, Grid.Cells[aCol, aRow]); if length(grid.Cells[acol,arow]) = 6 then Grid.Canvas.TextRect(Rect, Rect.Left +12, Rect.Top +2, Grid.Cells[aCol, aRow]); if length(grid.Cells[acol,arow]) = 7 then Grid.Canvas.TextRect(Rect, Rect.Left +9, Rect.Top +2, Grid.Cells[aCol, aRow]); end; if (aCol in [4]) and not (gdFocused in State) then Grid.Canvas.TextRect(Rect, Rect.Left +5, Rect.Top +2, Grid.Cells[aCol, aRow]); opa o decima resolvi desta maneira, se tiver uma mais simples, beleza! Obrigado , Abraços!
  8. Opa.. s obrigado pelas respostas ai.. é o seguinte, micheus akela parada de ondrawcell q eu não tinha intendido antigamente, mas agora funcionou.. deixei defaultdrawing True mesmo... e adicionei o seguinte cod no evento ondrawcell procedure TFormCFinanceiro.GridDrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); begin if (aRow in [grid.RowCount-1]) and not (gdFocused in State) then Grid.Canvas.Font.Style := [fsbold]; Grid.Canvas.FillRect(Rect); Grid.Canvas.TextRect(Rect, Rect.Left +2, Rect.Top +2, Grid.Cells[aCol, aRow]); end; funcionou que nem uma belezinha, coloquei em negrito a ultima linha. mas eu continuo com a ultima linha do grid com a colline,... eu deixei o grid inteiro sem rowlines, e apenas com collines, mas gostaria de retirar o col line da ultima liunha, ou adcionar uma rowline no final.... tem como fazer isto, deixando o defaultdrawing true mesmo?... é isso. obrigado!
  9. Ola para todos. Galera, estou com um problema para formatar a font de letra da ultima linha do meu string grid. alguém sabe como eu faço para colorir uma cellula especifica? por exemplo [2,2].... mas não no evento ondrawcell, na minha rotina... por exemplo /// este e o final da minha rotina que gera o string grid. Grid.RowCount := (n+2); Grid.Cells[2,n+1] := formatfloat('###,###,##0.00',total); Grid.Cells[3,n+1] := formatfloat('###,###,##0.00',totalante); Grid.Cells[0,n+1] := 'TOTAL '; // aki algo do tipo para colorir a ultima linha. // vi alguma coisa de with selected do , ou with grid do begin, algo assim mas não consegui se alguém souber, da uma força ai!, um abraço.
  10. Muito Obrigado, resolvido completamente... um abraço
  11. Olá boa tarde... andei pesquisando na busca, e nos sites mas não achei nada... eu estou usando o componente opendialog, e queria gravar o nome do arquivo, e seu tamanho.. mas unica coisa que eu consegui foi o caminho dele (Opendialog1.FileName) o .filename me retorna c:\meu computador\documentos\arquivo.zip , mas eu gostaria de retornar so o arquivo.zip. e também como retornar o tamanho dele?.. um abraço!!!! Obrigado
  12. vms, é só você utilizar form2.show; o .showmodal segura o usuario naquele form, e o .show só abre o outro. Abraço.
  13. Olá .. Boa Tarde. Estou a procura de um componente para que eu possa ligar a minha WEBCAM, e a imagem dela transmitir no componente(DELPHI). Lembro de ter visto algo do tipo (VIDEOCAP, não me lembro bem.), que era tipo um TIMAGE, e que a imagem ia passando direto no delphi. Tinha um exemplo com o VIDEOCAP rodando por aí, mas eu não axei mais.Se alguém tiver, gostaria que me mandasse o link para download, ou outro componente também. Eu estou usando o Twain, mas ele serve so para capturar imagem, e o visualizador da cam, abre em uma janela externa, o que não é interessante para mim. E também gostaria de saber, se por exemplo: estou com a webcam ligada passando em meu software filmando, e em um certo momento , eu resolva clicar em um botão para Gravar.... e outro para Pausar o vídeo, e gravar em um arquivo separado. Obrigado a atenção de todos. OBS:(Disponibilizo o componente Twain, que captura imagem da sua webcam.)(dudumoura_@hotmail.com).
  14. Muito Bem. Eu estou usando o MySQL 5, uso a paleta dbExpress. SimpleDataSet é o componente. e sim eu uso no 'Add New', tal... Um exemplo prático. eu tenho a tabela de Clientes com os campos : Código,Nome,CPF,DatadeNasc; e tenho a tabela de Alunos : CódigoMatricula,CodCliente,DataMatricula; Vamos supor, que eu esteja no módulo de Alunos, e queira fazer uma consulta dos Alunos.. O que eu fiz, eu coloquei em ADD new, criei um campo lockup codcliente, com a tabela d clientes relacionei o codigo, e result o Nome; Muito Bem... esse é um comando bem rápido, mas que eu não descubri ainda, alguma forma de fazer pesquisa por nome.. eu estou lá na nos alunos, e quero procurar pelo nome do aluno.. isso torna um problema para mim. a segunda opção então, foi fazer uma concatenação de select. select alunos.*,clientes.nome from alunos,clientes where alunos.codigo=clientes.codigo então assim resolveu, porque eu acabo tendo um campo de verdade na tabela, e consigo perfeitamente usar o Locate como pesquisa, ou até mesmo o Filter... mas com o select , com clientes, e alunos com 4mil registros cada uma, fica muito lento para abrir a tabela, e no grid também. Eu procuro por alguma solução para pesquisar com o Lockup, ou outro método de fazer pesquisas, sem duplicar o campo NOME na tabela ALUNOS, para que não tenha aqueles problemas de atualização, e redundância. Obrigado.
  15. Olá Muito boa tarde a todos. Pessoal, não sei se vocês, mas eu uso muito o campo lockup para usar por exemplo em tabelas relacionadas que eu não tenho o nome da pessoa, mas tenho o código de cadastro dela.( para não salvar o nome também, eu salvo apenas o codigo, e uso o lockup para o nome). Pois bem. Este comando funciona perfeitamente e é muito rapido. Mas eu não consigo dar Tabela.Locate('campolockup', []) , porque é um campo Lockup.. OK. Então usei um select na tabela, concatenando o campo nome da outra , para eu poder fazer a minha pesquisa. Funcionou.. mas ficou muito lento para abri a tabela, pelo fato de muitos registros. Alguém aqui, usa o campo Lockups, e tenta fazer Pesquisa por esse campo, se sim.. como vocês fazem, e se não... tem alguma solução? Estou quase criando o campo Nome na outra tabela também, mas torna-se redundante já que eu já tenho o código.Alem do problema de atualizar o nome e uma tabela de cadastro, e nas outras ficar desatualizado. Muito Obrigado pela atenção de vocês. Abraços.
  16. Não consegui resolver mesmo.. A minha dúvida era desabilitar o botão da tabsheet, para não ser clickado... para nem ver o que tem dentro dela.. assim como o button. enabled = False, ele não ode ser clicado... eu coloquei um comando para voltar a tabsheet q eu estou posicionado.. mas ele da um refresh na tabsheet, e isso eu não gostaria que acontecesse.
  17. poisé !, mas isto não funciona.. como eu disse, eu já testei dessa forma também, e não funcionou... eu continuo conseguindo clicar no tabsheet... bug do delphi?, ou tem outra forma? obrigado.. e áaa... o visible funciona bem.. mas não é interessante pra mim. obrigado
  18. Olá! eu estou tentando dar enabled em botao(tabsheet) do pagecontrol.. mas não funciona. já tentei varias formas, tabhsset.enabled , não funcionou pages[].enabled também não.. o unico que funcionou foi pagecontrol.enabled, só q desabilitou todas... alguém já teve esse problema e sabe como resolver?! obrigado!!!!!
  19. Olá pessoal... estou procurando o comando para recortar o primeiro nome da pessoa, acho que algo com o TRIM variavel := 'EDUARDO MOURA SCHAUKOSKI'; Trim(variavel) resultado : EDUARDO OU recortar até o '*' Ex: variavel := 'EDUARDO MOURA SCHAUKOSKI *DELPHI*'; TRIM(variavel) resultado : EDUARDO MOURA SCHAUKOSKI Muito Obrigado! RESOLVIDO PESSOAL, UMA FUNCTION RESOLVEU MEU PROBLEMA! Agradeço! Function Limpanome(nome:string) :string; var nomeclean:string; i:integer; begin for i:=1 to length(nome) do begin if copy(nome,i,1)<>'*' then begin nomeclean:=nomeclean+copy(nome,i,1); end else begin result := trim(nomeclean); exit; end; end; result := trim(nomeclean); end;
  20. Obrigado.. jaja eu volto com dúvidas.. vou fazer alguns testes =)
  21. Ola micheus obrigado pela resposta ai, mas eu não entendi nada cara... tem como você me explicar melhor como que eu faço pra editar uma célula, por exemplo a [1,3] ? on drawcell quando for desenhar o grid.. por exemplo: with Grid.cell [1,2] do font.color := red linhainferior := white.. etc... valeuu
  22. Olá pessoal , tudo beleza?! pois bem.. eu gostaria de saber como que eu faço pra personalizar uma row do meu string grid.. por exemplo: StringGrid.[1,2].Font := azul.... gostaria de saber como que eu altero os valores de Font, Cor de fundo, Style de font, de um campo que eu já tenho exemplo[1,2] e gostaria tambem de saber.. se tem como tirar o Col lines, apenas de uma linha.. que é a minha linha final de TOTAL;; abraços!!!e Obrigado
  23. poiseh então.. mas esse é o IP da maquina, eu queria saber qual é o IP da INTERNET DNS eu acho que chama não sei... valeuu!!
  24. meu delhpi não tem essa palleta ... to usando o delphi 7.... tem outro componente pra fazer isso no delphi 7? Obrigado!
  25. Olá Pessoal, eu consegui apenas o IP da rede(máquina)... alguém sabe como posso fazer para trazer o IP de internet? Valeu!!!
×
×
  • Criar Novo...