Ir para conteúdo
Fórum Script Brasil

José Luiz

Membros
  • Total de itens

    98
  • Registro em

  • Última visita

Tudo que José Luiz postou

  1. Neste caso, você pode criar um novo arquivo ESTAPROA.DBF ( se não souber como, avise ) e importar os dados do ESTAPRO.DBF José Luiz.
  2. Fiz o teste em 3 diretórios diferentes, e em rede. Todos funcionaram. No meu teste, tanto o arquivo a ser copiado quanto o executável estavam no mesmo diretório. Se este é o seu caso, esta forma funciona com certeza. José Luiz. Em tempo, Já tive problema para copiar um arquivo depois que ele foi aberto, mesmo dando o comando Close. Procure fazer a cópia antes de abrir o arquivo.
  3. Uma forma possível, é a seguinte: var NEW : String; OLD : String; begin OLD := ExtractFileDir ( ParamStr ( 0 ) ) + '\ESTAPRO.DBF'; NEW := ExtractFileDir ( ParamStr ( 0 ) ) + '\ESTAPROA.DBF'; DeleteFile ( NEW ); CopyFile ( PChar ( OLD ), PChar ( NEW ), True); end; Espero ter ajudado, José Luiz.
  4. Preciso imprimir envelopes, e para isto necessito imprimir na vertical. Alguém sabe como fazer isto no QuickReport ? Obrigado José Luiz
  5. Ao utilizar o DBEdit, não é necessário utilizar o dm.tbpontuacao.fieldbyname('pontos').asstring:=dbedit1.text. Este só seria necessário ao utilizar um Edit. Para resolver o problema, antes de dar o post, é necessário ativar o registro. - Se o registro já existe, é ativado utilizando o comando dm.tbpontuacao.Edit; ( edita o registro já existente ) - Se não existe, utilizar o comando dm.tbpontuacao.Append; ( inclui um novo registro ) Depois disso é só dar o dm.tbpontuacao.Post; José Luiz.
  6. Estou começando a utilizar o Banco MySQL com Zeos, e estou com algumas dúvidas. Fiz um programa com uma tabela em MySQL e outra em Paradox, para comparar os comandos. Fiz a edição dos dados através de Edits, para poder alterar simultanamente as duas tabelas, e portanto repito os comandos utilizados com as duas tabelas. Para inserir, alterar e eliminar um registro as duas tabelas funcionam com os mesmos comandos. O problema está quanto desejo mostrar um DBGrid com os dados indexados. Coloquei 3 botões, para alterar o índice que está sendo utilizado no momento. No Paradox, quando altero o índice em utilização (id, nome, Endereco), o DBGrid fica na sequência do índice, mas no MySQL não. Estou utilizando o IndexFieldNames := 'nome' ( por exemplo ) nos dois casos. Depois, o DBGrid1.Refresh e o DBGrid2.Refresh. Caso eu utilize um campo que não está indexado, por exemplo Cidade, no Paradox dá erro, mas no MySQL não. Para fazer uma busca, utilizo o FindKey no Paradox, mas este componente não existe no MySQL. Qual comando devo utilizar ? Obrigado a todos. José Luiz.
  7. Obrigado, encontrei em outro fórum, o que eu precisava. Segue abaixo. procedure TForm1.FormCreate(Sender: TObject); var iInd : Integer; sParametro: string; begin for iInd := 1 to ParamCount do begin sParametro := upperCase ( ParamStr ( iInd ) ); if sParametro = 'SAIR' then begin ShowMessage ( 'O Aplicativo sera finalizado.' ); Application.Terminate; end; ShowMessage ( sParametro ); end; end;
  8. Obrigado Jhonas, mas não consegui resolver o meu problema com os exemplos que você forneceu. Eu desejo Chamar o executável de uma linha de comando, como por exemplo no INICIAR - EXECUTAR. Coloco então o nome do programa RELATORIO.EXE e o parâmetro que eu desejo passar. Ex: RELATORIO.EXE 1 - Vai imprimir o QuickReport1 ou RELATORIO.EXE 2 - Vai imprimir o QuickReport2 Por essa razão, ao abrir o programa, preciso saber qual foi o parâmetro passado. 1, 2, 3 ... para então mandar executar o que eu desejo. Obrigado.
  9. Estou desenvolvendo um sistema de emissão de relatórios, com o QuickReport. O programa abre, emite o relatório e fecha. Neste programa, estou colocando vários quickreports, e portanto necessito passar um parâmetro externo, para que o programa execute o QuickReport correspondente. Por exemplo: Se eu passar o parâmetro 1, vai executar o QuickReport1. Se eu passar o parâmetro 2, vai executar o QuickReport2 e assim por diante. Como faço para verificar na abertura do programa, qual foi o parâmetro passado ? Depois de receber o parâmetro, basta fazer um case para executar o QuickReport desejado. Espero ter sido claro. Em Clipper, colocavamos no início do programa a palavra PARAMETERS e relacionavamos os parâmetros esperados, separados por vírgulas. Como faço no Delphi ? Obrigado.
  10. ZueRa, obrigado pelas informações. Estou ainda analisando, mas acho que vou encontrar o que necessito. José Luiz.
  11. Estou atualmente utilizando o Banco de Dados Paradox, porém gostaria de passar para o MySQL. Como não sei como começar, gostaria que alguém me indicasse cursos ou apostilas ( on line ou não ) que ensinassem passo a passo, como instalar e como fazer a conexão entre eles. Pela ajuda, agradeço. José Luiz
  12. Perfeito ! Com as informações passadas, vou conseguir fazer exatamente o que eu estava procurando. Obrigado, José Luiz.
  13. Jhonas, obrigado pelo seu interesse, mas não estamos nos entendendo. Suponhamos que eu tenha um banco de dados que eu não conheço, e os respectivos arquivos de índice, em um diretório. Como eu não sei a estrutura destes dados, utilizo o programa acima para saber a estrutura do banco de dados, mas não sei como fazer para descobrir os campos dos arquivos de índice. Mais uma vez obrigado, José Luiz.
  14. Da forma que eu fiz a pergunta, a sua resposta estaria correta, porém desta forma funcionaria se eu alterasse somente o mês, que usei como exemplo. Acontece que posso também alterar o ano, ou mesmo utilizar o calendário. Ao utilizar este mesmo DateTimePicker sem fechar o programa, ele retornará sempre no último campo utilizado, e eu gostaria que iniciasse sempre no dia, mesmo que eu tivesse acabado de sair do registro e retornasse em seguida. Obrigado, José Luiz.
  15. Desculpe, acho que não fui claro. Os bancos de dados e os índices já existem. Desejo apenas relacioná-los em um arquivo chamado D_EXTRUT.TXT. Conforme o programa acima, consegui relacionar os campos, mas não estou conseguindo relacionar os arquivos de índice com os respectivos campos indexados. Obrigado. José Luiz.
  16. Quando utilizo um componente DateTimePicker, ao alterar o mês, devo deslocar o cursor para o campo mês e fazer a alteração. Ao entrar novamente no Form que contém este componente, o cursor se posiciona automaticamente no mês, porém eu gostaria que ele se posicionasse novamente no dia. Deve ser setando algum componente para o index 0, mas não sei qual componente setar. Obrigado, José Luiz.
  17. Estou fazendo um programa ( segue uma cópia a seguir ) para relacionar os campos dos bancos de dados Paradox em um determinado diretório. O programa deve ser rodado a partir do DOS, no diretório desejado, pois não permite que este seja alterado. O programa funciona perfeitamente para a estrutura dos bancos de dados, mas não estou conseguindo relacionar os arquivos de índice com seus respectivos campos. Alguém saberia como posso fazer esta verificação ? Obrigado, José Luiz. O PROGRAMA JÁ DESENVOLVIDO. unit INICIO; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, DB, DBTables, Buttons, Grids, DBGrids, FileCtrl; type TF_INICIO = class(TForm) FileListBox1: TFileListBox; Table1: TTable; DataSource1: TDataSource; Function PAD ( mPOS, mVAR, mCAR : string ; mTAM : Integer ) : String ; procedure FormShow ( Sender: TObject ); private { Private declarations } FileListBox1List : TStringList ; public { Public declarations } end; var F_INICIO: TF_INICIO; implementation {$R *.dfm} // Na propriedades Mask do FileListBox1 ( Aba Win3.1 ), colocar *.DB procedure TF_INICIO.FormShow(Sender: TObject); var i : Integer ; j : Integer ; Lista : TextFile; mTIPO : String ; begin FileListBox1List := TStringList.Create ; AssignFile ( Lista, 'D_ESTRUT.TXT' ); Rewrite ( Lista ) ; for i := 0 to FileListBox1.Count - 1 do begin Table1.TableName := FileListBox1.Items [ i ]; Table1.Open ; Writeln ( Lista, '' ); Writeln ( Lista, ' ' + PAD ( 'E', Table1.TableName, ' ', 25 ) + IntToStr ( Table1.RecordCount ) + ' registros' ); Writeln ( Lista, '' ); Writeln ( Lista, ' Campo Descricao Tipo Tam' ); Writeln ( Lista, ' ===== ========== ============ ===' ); for j := 0 to table1.FieldCount-1 do begin mTIPO := 'Outros' ; if Table1.Fields[j].DataType = ftString then mTIPO := 'String ' ; if Table1.Fields[j].DataType = ftSmallint then mTIPO := 'Smallint ' ; if Table1.Fields[j].DataType = ftInteger then mTIPO := 'Integer ' ; if Table1.Fields[j].DataType = ftWord then mTIPO := 'Word ' ; if Table1.Fields[j].DataType = ftBoolean then mTIPO := 'Boolean ' ; if Table1.Fields[j].DataType = ftFloat then mTIPO := 'Float ' ; if Table1.Fields[j].DataType = ftCurrency then mTIPO := 'Currency ' ; if Table1.Fields[j].DataType = ftDate then mTIPO := 'Date ' ; if Table1.Fields[j].DataType = ftTime then mTIPO := 'Time ' ; if Table1.Fields[j].DataType = ftDateTime then mTIPO := 'DateTime ' ; if Table1.Fields[j].DataType = ftBytes then mTIPO := 'Bytes ' ; if Table1.Fields[j].DataType = ftVarBytes then mTIPO := 'VarBytes ' ; if Table1.Fields[j].DataType = ftAutoInc then mTIPO := 'AutoInc ' ; if Table1.Fields[j].DataType = ftBlob then mTIPO := 'Blob ' ; if Table1.Fields[j].DataType = ftMemo then mTIPO := 'Memo ' ; Writeln ( Lista, ' ' + PAD ( 'D', IntToStr ( j + 1 ), ' ', 3 ) + ' ' + PAD ( 'E', Table1.Fields[j].FieldName, ' ', 10 ) + ' ' + mTIPO + ' ' + PAD ( 'D', IntToStr ( Table1.Fields [j].DataSize - 1 ), ' ', 3 ) ); end ; Table1.Close ; Writeln ( Lista, '' ); end ; CloseFile ( Lista ); Application.Terminate ; end; Function TF_INICIO.PAD ( mPOS, mVAR, mCAR : string; mTAM : Integer ): String ; var mPREENCHE : string ; i : Integer ; begin mVAR := Copy ( mVAR, 1, mTAM ) ; mPREENCHE := '' ; for i := 1 to mTAM - Length ( mVAR ) do begin mPREENCHE := mPREENCHE + mCAR ; end ; if mPOS = 'D' then result := mPREENCHE + mVAR else result := mVAR + mPREENCHE ; end; end.
  18. Obrigado Recife. Tão simples, e eu não tinha percebido. José Luiz.
  19. No meu relatório, tenho uma expressão QRExpr, na seguinte forma : 'Total : R$ ' + str(sum(VALOR)) Desta maneira, tenho o Valor correto, mas não formatado. Como faço para ter este número formatado ? Já tentei o 'Total : R$ ' + FormatFloat('###,##0.00',sum(VALOR)), mas o Quick Report retorna Unknowm function FormatFloat Obrigado, José Luiz.
  20. José Luiz

    Calculadora

    Micheus, muito obrigado pelo interesse. Mais uma vez resolveu o meu problema. Um abraço, José Luiz.
  21. para ir para o primeiro dia do mês, faça o seguinte: NovaData := '01' + FormatDateTime ( '/mm/yyyy', date ) ; Um abraço, José Luiz.
  22. Como já tem uma impressora matricial local, não é possível remapear a LPT1, porém é possível mapear a LPT2. net use lpt2: \\TERMINAL\EPSONLX /yes e o arquivo .BAT deve ser Type ARQUIVO.TXT > LPT2. Um abraço, José Luiz.
  23. Coloquei uma calculadora no meu programa. ( peguei na Internet ) Atualmente estou colocando a chamada para a calculadora, no OnKeyDown de todos os Forms, mas isso é muito trabalhoso. Gostaria que ela ficasse disponível em todos os forms de uma só vez, através da tecla F9. Tem como fazer isto ? Obrigado, José Luiz.
  24. No evento on Show do seu Formulário, coloque o seguinte : DateTimePicker1.DateTime := StrToDate ( '01/' + FormatDateTime ( 'mm/yyyy', date ) ); if FormatDateTime ( 'mm', date ) = '12' then DateTimePicker2.DateTime := StrToDate ( '01/01/' + IntToStr ( StrToInt ( FormatDateTime ( 'yyyy', date ) ) + 1 ) ) - 1 else DateTimePicker2.DateTime := StrToDate ( '01/' + IntToStr ( StrToInt ( FormatDateTime ( 'mm', date ) ) + 1 ) + FormatDateTime ( '/yyyy', date ) ) - 1 ; No primeiro caso basta pegar o dia 1 mais o mês e ano correntes. No segundo caso, precisa pegar o primeiro dia do mês seguinte, e diminuir 1, que será o último dia do mês corrente. Por esta razão a forma é diferente se o mês for dezembro. Um abraço, José Luiz.
  25. Depois de postar a nova descrição, utilizei a tua dica, e fiz o seguinte. Criei uma variável DIRECAO, e fiz DIRECAO := '' ; if (Key = VK_LEFT) or (Key = VK_RIGHT) then begin if Key = VK_LEFT then DIRECAO := 'ESQ' ; if Key = VK_RIGHT then DIRECAO := 'DIR;' Key := 0; end Depois foi só verificar se a variável DIRECAO era <> de ''. Obrigado, resolvido. José Luiz.
×
×
  • Criar Novo...