
José Luiz
Membros-
Total de itens
98 -
Registro em
-
Última visita
Tudo que José Luiz postou
-
Obrigado pela resposta. Em princípio resolveria o meu problema, porém vou explicar melhor a minha necessidade. Tenho um DBGrig, com uma tabela Paradox, indexado por três campos diferentes, ou sejam DATA, CODIGO e DESCRICAO. Inicialmente o meu DBGrid está indexado por DATA. Ao pressionar a seta para a direita, o índice deve passar para CODIGO. Estando em CODIGO, se eu pressionar a seta para a esquerda, volta para DATA, e se pressionar para a direita passa para DESCRICAO. A rotina funciona normalmente, porém não permanece no mesmo registro. já tentei usar o BookMark, mas como muda de índice, dá erro. já tentei criar variáveis como mDATA, mCODIGO E mDESCRICAO, e depois um FindKey. Também não funcionou. Acho que a função interna do Delphi que faz mudar de registro age antes de eu salvar as variáveis de memória. Tem alguma outra solução ? Obrigado, José Luiz.
-
Quando estou em um DBGrid e pressiono as teclas de setas ( diretita ou esquerda ), o foco muda de coluna, mas se estou com a opção DgRowSelect = True, muda de registro. Como posso fazer para que em modo DgRowSelect = True o DBGrid não mude de registro ? Obrigado, José Luiz.
-
(Resolvido) Importar excel para paradox em delphi
pergunta respondeu ao pcst de José Luiz em Delphi, Kylix
Outra forma fácil, é salvar o arquivo excel como DBF ( Dbase III ), e a seguir transformar este arquivo em DB ( Paradox ) Para passar de DBF para DB, basta entrar no DataBase Desktop, < Tools > / < Utilities > / Copy . Informe o arquivo desejado com extensão DBF e pressione o OK na sequência, coloque o nome do arquivo desejado com a extensão DB, e está pronto. Qualquer dúvida, avise. José Luiz. -
(Resolvido) Como ordeno por ordem alfabetica uma table (BDE)?
pergunta respondeu ao Greed de José Luiz em Delphi, Kylix
Verifique se a propriedade Active da Table não está True. Se estiver, coloque Active := False ( ao menos na hora de indexar os arquivos, pois isso só é necessário uma vez ) Você pode abrir a Table no OnShow do seu formulário principal. Table1.Open ; Espero ter ajudado. José Luiz. -
Preciso ter um Edit que ao digitar : 1 ) não apague os dados atuais, e ; 2 ) que não entre em modo Insert, ou seja, que a medida que eu vou digitando, vai escrevendo em cima dos valores que já estão colocados inicialmente. O primeiro problema já descobri, alterando o AutoSelect para False, mas o segundo não estou conseguindo. Obrigado, José Luiz
-
(Resolvido) Como pegar o Nome do Computador
pergunta respondeu ao José Luiz de José Luiz em Delphi, Kylix
Obrigado Jhonas, Já resolveu o meu problema. -
Necessito pegar o nome do computador onde o programa está sendo executado. estou utilizando a função abaixo, ( colocando Registry no Uses ) function TForm1.Getcomputer : string; var registro : tregistry; begin registro:=tregistry.create; registro.RootKey:=HKEY_LOCAL_MACHINE; registro.openkey('System\CurrentControlSet\Services\VXD\VNETSUP',false); result:=registro.readstring('ComputerName'); end; mas está retornando uma string em branco. Obrigado, José Luiz
-
Prezado Micheus. Realmente a resposta que eu precisava estava no site indicado. Obrigado, José Luiz
-
(Resolvido) Exportar dados para txt com colunas
pergunta respondeu ao Duduh_Capixaba de José Luiz em Delphi, Kylix
Outra forma, é criando funções, como as abaixo. PADL - Texto na esquerda PADC - Texto centralizado PADR - Texto na direita Os espaços em branco podem ser preenchidos por qualquer caracter, inclusive o espaço. ( ' ' ) Function TProc.PADL ( mTEXTO, mCARAC : string; mTAM : Integer ): String; var mRET : String ; mPREENCHE : string ; i : Integer; mFALTA : Integer; begin mRET := ''; if length ( mTEXTO ) > 0 then begin mTEXTO := Copy ( mTEXTO, 1, mTAM ); mFALTA := mTAM - Length ( mTEXTO ); mPREENCHE := ''; for i := 1 to mFALTA do begin mPREENCHE := mPREENCHE + mCARAC; end; mRET := mTEXTO + mPREENCHE ; end; result := mRET; end; // *********************************************************************** Function TProc.PADC ( mTEXTO, mCARAC : string; mTAM : Integer ): String; var mRET : String ; mPREENCHE : string ; i : Integer; mFALTA : Integer; begin mRET := ''; if length ( mTEXTO ) > 0 then begin mTEXTO := Copy ( mTEXTO, 1, mTAM ); mFALTA := mTAM - Length ( mTEXTO ) ; mPREENCHE := ''; for i := 1 to mFALTA do begin if i MOD 2 = 0 then mPREENCHE := mPREENCHE + mCARAC; end; mRET := mPREENCHE + mTEXTO + mPREENCHE ; end; result := mRET; end; // *********************************************************************** Function TProc.PADR ( mTEXTO, mCARAC : string; mTAM : Integer ): String; var mRET : String ; mPREENCHE : string ; i : Integer; mFALTA : Integer; begin mRET := ''; if length ( mTEXTO ) > 0 then begin mTEXTO := Copy ( mTEXTO, 1, mTAM ); mFALTA := mTAM - Length ( mTEXTO ); mPREENCHE := ''; for i := 1 to mFALTA do begin mPREENCHE := mPREENCHE + mCARAC; end; mRET := mPREENCHE + mTEXTO; end; result := mRET; end; Desta forma, o teu programa ficaria da seguinte forma : ( alinhando à esquerda ) while not Table1.Eof do begin Writeln(F, Padl ( Table1.Fields[0].AsString, ' ', 15 ) + ';' + Padl ( Table1.Fields[1].AsString, ' ', 40 ) + ';' + Padl ( Table1.Fields[2].AsString, ' ', 20 ) + ';' + Padl ( Table1.Fields[3].AsString, ' ', 40 ) + ';' + Padl ( Table1.Fields[4].AsString, ' ', 15 ) + ';' + Padl ( Table1.Fields[5].AsString, ' ', 15 ) + ';' + Padl ( Table1.Fields[6].AsString, ' ', 2 ) + ';' + Padl ( Table1.Fields[7].AsString, ' ', 8 ) + ';' + Padl ( Table1.Fields[8].AsString, ' ', 20 ) ); Table1.Next; end; Abraços, José Luiz. -
Obrigado Jhonas, pela resposta. Através dos Sites indicados, verifiquei que na realidade o código que eu necessito é o EAN 13 e não o 3 de 9. Se você souber como imprimir o EAN 13 no Quick Report, por favor me avise. Mais uma vez, obrigado, José Luiz
-
Há algum tempo consegui aqui no Fórum, como fazer Código de Barras no formato 2 de 5, que me foi extremamente útil. ( agradeço imensamente aos colaboradores deste Fórum ) Necessito agora do Código 3 de 9. Alguém sabe como fazer ? Obrigado, José Luiz
-
Obrigado Jhonas, meu problema foi resolvido. Um abraço, José Luiz.
-
Tenho um objeto Memo, e gostaria que ele mudasse a cor do fundo ao passar o mouse em cima. Para trocar o cursor, utilizo : procedure TForm1.Memo1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin Memo1.Cursor := crHandPoint ; end; Ao fazer o mesmo para a cor, esta muda, porém ao sair do campo Memo, a cor alterada permanece, enquanto que o cursor retorna ao original. Tentei fazer Memo1.Color := clAqua ; Como fazer para que também a cor retorne à original ? Obrigado, José Luiz
-
É possível iniciar um novo Form com a fonte 10 e não 8 como é o padrão ? Da mesma forma o Keypreview pode iniciar com True ao invés de False ? Obrigado, José Luiz.
-
Alguns dos links que você passou eu já tinha visto, sem sucesso. Os exemplos do TeeChart realmente são excelentes. Nestes exemplos tem resposta para a minha dúvida, só que não consegui implementá-la. Depois de muitos testes, consegui descobrir que a rotina funciona com "Random Values", e não com "Dataset". Por que será ? Veja como ficou a rotina adaptada ao meu caso. procedure TF_GRAFICO.FormCreate(Sender: TObject); Procedure AddColors ( Series : TChartSeries ); var t : Longint; begin With Series, GetVertAxis do begin for t := 0 to Count-1 do begin if t mod 7 = 0 then // a cada sete dias, coloca a cor vermelha ValueColor[t] := clRed else // os outros dias são azuis ValueColor[t] := clBlue; end; end; end; begin Series1.FillSampleValues ( 100 ); AddColors ( Series1 ); end; Se eu passo o gráfico para "Random Values" funciona, porém quando retorno ao meu Dataset com uma Query, não. Obrigado, José Luiz.
-
Fiz um gráfico, onde tenho os dias da semana no eixo X, e outros valores no eixo Y. Para uma melhor visualização dos dados, estou tentando alterar a cor do gráfico somente no domingo, ou seja, todos os dias da semana ficam em verde ( padrão ), e os domingos em vermelho. Alguém sabe como posso fazer isso ? Obrigado, José Luiz
-
[resolvido] Trabalhar Com Máscaras No Dbgrid
pergunta respondeu ao José Luiz de José Luiz em Delphi, Kylix
Realmente, o que faltava era colocar o ";0;" para a máscara funcionar. Obrigado, Micheus. -
Como posso formatar as colunas do DBGrid para Fone, Cep, CPF, etc ? Banco de dados DBF ( Clipper ) ou DB ( Paradox ). No AfterOpen do Banco de dados fiz o seguinte : Para formatar números, utilizei : ( BANCO.FieldByName ( 'VALOR' ) as tFloatField ).displayformat := '##,##0.00' ; e funcionou perfeitamente, ou seja, em qualquer DBGrid que eu chame este campo, o valor está formatado corretamente. Para Strings, tentei ( BANCO.FieldByName ( 'FONE' ) as tstringfield ).displayformat := '9999-9999' ; mas dá erro. Tentei também ( BANCO.FieldByName ( 'FONE' ) as tstringfield ).editmask := '9999-9999' ; mas só aparecem os 4 primeiros dígitos. Alguém sabe como executar esta formatação ? Obrigado, Bettega
-
Tenho um DBGrid, onde na primeira coluna tenho o Fornecedor, nas seguintes os dias do mês, e na última o Total dos recebimentos. Ao editar diretamente no DBGrid, preciso capturar o valor da célula ao entrar, e ao sair. Desta maneira posso calcular o total, ou seja TOTAL = TOTAL - VALOR_INICIAL + VALOR_FINAL. Desta forma, mesmo que eu já tenha um valor anterior gravado em uma célula, o total ficará sempre correto. Como capturar o valor na entrada, e o valor da saída ? Lembrando que ao sair de uma célula, nem sempre vou mudar de coluna, pois posso sair da célula com a seta para baixo. Obrigado, Bettega
-
Obrigado pela dica. Resolveu o meu problema.
-
Quando eu crio índices através do DataBase Desktop, os arquivos tem a extensão NDX, e quando eu crio estes índices de dentro do programa, os índices são MDX. Como fazer para que os índices de dentro do programa sejam NDX ? Por exemplo : A rotina abaixo irá criar um arquivo ARQTESTE.DBF e um arquivo ARQTESTE.MDX. Eu gostaria que fossem criados os arquivos ARQTESTE.DBF e os arquivos TESTE_01.NDX e TESTE_02.NDX procedure TForm1.FormCreate(Sender: TObject); var NovaTabela : TTable ; begin NovaTabela := TTable.Create ( Form1 ) ; With NovaTabela do Begin Active := False ; TableName := 'ARQTESTE' ; TableType := ttDBase ; FieldDefs.Clear ; FieldDefs.Add ( 'NOME' , ftString, 30, False ); FieldDefs.Add ( 'CPF' , ftString, 11, False ); FieldDefs.Add ( 'ENDERECO', ftString, 30, False ); FieldDefs.Add ( 'TELEFONE', ftString, 8, False ); IndexDefs.Clear ; IndexDefs.Add ( 'TESTE_01', 'NOME', [] ); IndexDefs.Add ( 'TESTE_02', 'CPF' , [] ); CreateTable ; end ; end; Obrigado.
-
Ao Compilar o programa, algumas vezes aparece a mensagem [Warning] Inclui.pas(463): Unsafe type 'PChar' na seguinte rotina: if Application.MessageBox ( PChar ( 'Telefone já registrado para a empresa : ' + ARQ_FONE.fieldByName ( 'EMPRESA' ).AsString + ' Deseja Registrar assim mesmo ?' ), ' Telefone existente ' , MB_ICONQUESTION + MB_YESNO + MB_DEFBUTTON2 ) = IDNO then A rotina funciona perfeitamente, porém aparece o aviso ao compilar. Como resolver ? Obrigado
-
Fiz um gráfico com o DBChart, onde tenho os dias da semana no eixo X. Como faço para alterar a cor somente das barras que correspondem aos domingos ?