Ir para conteúdo
Fórum Script Brasil

Jhonas

Monitores
  • Total de itens

    9.657
  • Registro em

Tudo que Jhonas postou

  1. [ não sei como fazer para descobrir os campos dos arquivos de índice.] Eu uso este codigo para descobrir o nome do campo que é um indice primario e os nomes dos indices secundários Veja se é isto que procura procedure TForm1.Button1Click(Sender: TObject); var i : integer; begin Table1.DatabaseName := 'NOME DO SEU ALIAS'; Table1.TableName := 'NOME DA SUA TABELA'; Table1.IndexDefs.Update; ListBox1.Items.add('_________ Índice Primário __________'); for i:=0 to Table1.IndexDefs.Count-1 do begin if Table1.IndexDefs.Items[i].Options = [ixPrimary..ixUnique] then ListBox1.Items.add(Table1.IndexDefs.Items[I].Fields) else begin ListBox1.Items.add(''); ListBox1.Items.add('_________ Índice Secundário __________'); Listbox1.Items.Add(Table1.IndexDefs.Items[I].Name); end; end; end; abraço
  2. para usar os botões que voce colocou procedure TForm1.BitBtn1Click(Sender: TObject); begin Query1.Next; end; procedure TForm1.BitBtn2Click(Sender: TObject); begin Query1.Prior; end; Substitua a query pelo nome da sua tabela ou pelo no da query que esta usando um exemplo usando cadstro de clientes e um cadastro de veiculos ( seria a mesma coisa que cadastro de imovel e cadastro de fotos ) Tem que fazer um relacionamento entre tabelas ( 1 para N ) Na query veiculos ( Query1 ) SELECT Clientes.COD, Clientes.NOME, Veiculos.MARCA, Veiculos.MODELO, Veiculos.ANO FROM "CLIENTES.DB" Clientes INNER JOIN "Veiculos.DB" Veiculos ON (Clientes.COD = Veiculos.COD_CLIENTE) Na query Clientes ( Query2 ) SELECT COD, NOME FROM "CLIENTES.DB" Clientes WHERE COD = :CODC Explicação: Na query clientes voce seleciona somente um cliente atraves de seu codigo na query veiculos será selecionado todos os veiculos pertencentes a esse cliente ( dessa maneira a navegação de registros será feita somente em veiculos, mantendo o registro parado na tabela clientes) voce pode aplicar a mesma analogia a sua tabela cadastro de imovel e as fotos desse imovel abraço
  3. Voce teria que ter um arquivo somente com o codigo do imovel e as imagens ( ou endereço das imagens ) e usando o DBNavigator voce consegue dar next ou prior nas imagens ( maneira mais facil ) Isto se chama relacionamento de tabelas 1 para N ( ou seja um registro para N outros de outra tabela ) se voce usar a mesma tabela o campo a ser usado para guardar o caminho das imagens deveria ser um Memo .. daria para navegar nele usando outros recursos abraço OBS: Favor não duplicar Posts
  4. conteudo do arquivo BANCOS.INI 01 - IzaCfc.gdb 02 - IzaCfc - Fera.gdb 03 - IzaCfcEducativa.gdb 05 - IzaCfcBrasil.gdb 07 - IzaCfcBrasil - II.gdb Primeiro voce tem que ler o arquivo passando o numero do banco que quer abrir Este exemplo voce deve modificar para o seu uso procedure TForm1.Button1Click(Sender: TObject); var num, codbanco : integer; Arquivo: TextFile; Line, caminho : string; begin codbanco := strtoint(Edit1.Text); // passar o numero do banco de dados AssignFile(Arquivo, 'C:\BANCOS.INI'); Reset(Arquivo); while not EOF(Arquivo) do begin ReadLn(Arquivo, Line); num := strtoint(copy(line,1,2)); if num = codbanco then begin case num of 1 : caminho := copy(Line,pos('-',line)+1,20); 2 : caminho := copy(Line,pos('-',line)+1,20); 3 : caminho := copy(Line,pos('-',line)+1,20); 5 : caminho := copy(Line,pos('-',line)+1,20); 7 : caminho := copy(Line,pos('-',line)+1,20); end; end; end; showmessage('Banco de Dados = '+ 'c:\'+ caminho); CloseFile(Arquivo); end; Uma vez que voce tem o nome do banco de dados que vai utilizar ( caminho ) , basta passar para a propriedade DataBaseName do componente antes de ativá-lo. abraço
  5. Neste endereço vai encontrar os drives da placa mãe HP Pavilion dv6833us Entertainment Notebook PC http://h10025.www1.hp.com/ewfrf/wc/product...ct=3691785& abraço
  6. Habilite o Mix de Entrada Mestre e desabilite o Mix de Entrada de Linha Em Source utilize a entrada padrão na paleta Output ( saída ) veja se tem alguma outra opçao que não seja autofalantes ( sem a figura não sei te dizer, não tenho ele instalado ) abraço
  7. não consigo ver as figuras dos seus links < A página não pode ser exibida > exatamente e ai neste caso o encoder funciona sem o ruido do mic. entretanto se houver realmente necessidade de usar o mic , vou ver o que encontro. abraço
  8. Veja a resposta do link sobre o assunto: No CD do Windows XP voce não tem os drives que o Notebook precisa, mas tem todos eles no CD do Windows Vista ou do CD da placa mãe. 3 sugestões possiveis: 1 - formate o HD e use o Fdisk para mostrar as partições e tentar instalar o windows XP 2 - use o CD do Vista para inicializar a instalação e depois troque pelo CD do XP 3 - Deixe instalado o Vista e instale depois o XP, voce ficará com 2 sistemas operacionais abraço
  9. Se voce estiver utilizando um componente OLE para isso, não tem como abraço
  10. Distração minha e sua Eder ... o Next tem que ficar dentro do loop, por isso grava apenas o primeiro registro procedure TForm1.XiButton7Click(Sender: TObject); begin while not table2.Eof do begin Table1.Last; Table1.Append; Table1.Edit; Table1.FieldByName('C').Value := Table2.FieldByName('C').Value; Table1.FieldByName('cliente').Value := Table2.FieldByName('cliente').Value; Table1.FieldByName('Cnpj_cpf').Value := Table2.FieldByName('Cnpj_cpf').Value; table1.Post; table2.next;//// tem que ficar dentro do loop end; end; ou ainda assim procedure TForm1.XiButton7Click(Sender: TObject); var i : integer; begin for i := 1 to Table2.RecordCount do begin Table1.Last; Table1.Append; Table1.Edit; Table1.FieldByName('C').Value := Table2.FieldByName('C').Value; Table1.FieldByName('cliente').Value := Table2.FieldByName('cliente').Value; Table1.FieldByName('Cnpj_cpf').Value := Table2.FieldByName('Cnpj_cpf').Value; table1.Post; table2.next; /// tem que ficar dentro do for end; end; abraço
  11. Toda vez que voce pluga o microfone o som será captado atraves dele e saira pela saida output da caixa . experimente tirar o microfone e veja se ocorre a transmissão da musica ... se sim , voce precisará de um microfone com controle de liga desliga .. se não ... experimente usar um cabo para ligar a saida output do som para a entrada do mic ( só que neste teste deixe o volume no minimo e depois va aumentando bem devagar , para não ocorrer distorções) abraço
  12. A maneira que eu conheço para fazer isso é apagar os arquivos de indices .px, .x* e .y* da tabela e recriar os índices novamente. Exemplo: Table1.AddIndex('NomeIndice', 'Campo1:Campo4', [ixUnique, ixCaseInsensitive]); A menos que algum outro colega tenha outra solução. abraço
  13. Usando DateTimePicker até daria para fazer isso que está querendo se desse para saber a posição do mouse dentro do componente .... entretanto existe um componente do pacote RXLIB chamado DateEdit da paleta RX Controls que não tem esse problema e é bem parecido com o DateTimePicker. Caso voce queira usá-lo: Como Instalar os componentes do RXLIB http://www.delphix.org/?q=node/91 Download dos componentes do RXLIB http://br.geocities.com/all_software/download.htm abraço
  14. Jogue o texto do seu contrato em um componente QRMemo que esteja dentro da banda de detalhe, ele fará a quebra de página automática. Veja também no forum outros posts sobre este assunto http://scriptbrasil.com.br/forum/index.php...ite=quickreport abraço
  15. Eder.. tente dessa maneira ... desde que o Table1 e Table2 estejam abertos procedure TForm1.XiButton7Click(Sender: TObject); begin while not table2.Eof do begin Table1.Last; Table1.Append; Table1.Edit; Table1.FieldByName('C').Value := Table2.FieldByName('C').Value; Table1.FieldByName('cliente').Value := Table2.FieldByName('cliente').Value; Table1.FieldByName('Cnpj_cpf').Value := Table2.FieldByName('Cnpj_cpf').Value; table1.Post; end; table2.next; end; ou ainda assim procedure TForm1.XiButton7Click(Sender: TObject); var i : integer; begin for i := 1 to Table2.RecordCount do begin Table1.Last; Table1.Append; Table1.Edit; Table1.FieldByName('C').Value := Table2.FieldByName('C').Value; Table1.FieldByName('cliente').Value := Table2.FieldByName('cliente').Value; Table1.FieldByName('Cnpj_cpf').Value := Table2.FieldByName('Cnpj_cpf').Value; table1.Post; end; table2.next; end; abraço
  16. with datamodule.adoquery do begin sql.text := 'Select cd_cliente,nm_cliente from clientes order by nm_cliente'; open; end; ele funciona corretamente. Só que se eu alterar ele para 'Select * from clientes order by nm_cliente' simplesmente acontece uma exceção dizendo: "Tabela inexistente". Isso não deveria acontecer mas pode ser Bug de versão Tente baixar da Net a versão mysql-5.1.26 ... eu a uso é não tenho este problema abraço
  17. Pelo que eu entendi voce quer um Form que tenha o desenho ( layout ) usado por supermercados quando a atendente está passando o produto pelo código de barras ... é isso ? Se for, voce é quem deverá criar este tipo de janela e implementar em seu sistema. Verifique nestes endereços ... talvez ajude http://blog.dimensaozero.com/2008/02/layou...iscal-paulista/ http://www.bematech.com.br/suporte/dwn_fisc_windows.asp https://www.google.com.br/search?source=hp&ei=ZxACWtf0CoOvwgSrx7iICw&q=layout+nota+fiscal+paulista&o que=layout+nota+fiscal+paulista&gs_l=psy-ab.3...1944.6959.0.8147.27.16.0.0.0.0.955.1461.2-2j6-1.3.0....0...1.1.64.psy-ab..24.2.503...0j0i131k1.0.bs4ugn2zPDo abraço
  18. Eder .... nesta chave de registro ficam listados todos os pacotes de componentes ( terceiros ) que voce instalou no delphi Verifique no delphi na opção de Menu > Component > Install Packages se os componentes do indy aparecem ... se sim e estiverem desmarcados, clique para ativá-los .... eles deverão aparecer novamente na paleta de ferramentas do delphi. outra sugestão é tentar instalar novamente... mas depois de verificar se foram desistalados. abraço
  19. Claro que entenderam a sua pergunta colega.... se não responderam foi porque não sabiam ou não queriam responder Voce tem que aprender a Controlar as exceções ( erros ) do seu sistema exemplo http://www.devmedia.com.br/articles/viewcomp.asp?comp=4793 abraço
  20. Voce só pode fazer isso depois que os campos forem criados exemplo: Criando tabelas Paradox com índices primários e secundários, em Delphi, via programação usando componente Ttable try Table1.Close; Table1.DatabaseName := 'C:\TEMP'; { um alias BDE ou diretório} Table1.TableName := 'func.DB'; { extensão .DB é opcional} Table1.TableType := ttParadox; { deve ser especificado quando se cria uma tabela} { definindo alguns campos} with Table1.FieldDefs do begin Update; {não é necessário, mas...} Clear; { limpa a tabela antiga} { a chave primária deve ser criada com o atributo "required" como true } Add('Codigo', ftInteger, 0, true); Add('Nome', ftString, 60, false); Add('Endereco', ftString, 60, false); Add('Salario', ftFloat, 0, false); Update; end; { adiciona a chave primária e três secundárias} with Table1.IndexDefs do begin Update; {não é necessário, mas...} Clear; {limpa os antigos} { A chave primária Paradox não tem nome.} { Nunca de o mesmo nome do campo ao índice, se fizer isso não poderá usar ixCaseInsensitive } Add('', 'codigo', [ixPrimary]); { A opção ixCaseInsensitive não é valida para chaves primárias} { Nunca crie mais indices do que você precisar. Você poderá fazer isso depois} Add('NomeIDX', 'Nome', [ixCaseInsensitive]); Add('EnderecoIDX', 'Endereco', [ixCaseInsensitive]); { combinando um índice com dois campos: } Add('testeIDX', 'Nome;Endereco', [ixCaseInsensitive]); Update; end; Table1.CreateTable; Table1.Open; Except MessageDlg('Erro na Criação da Tabela ou Índice', mtError, [mbOK],0); end; Sempre abra o arquivo após criá-lo. Se você não for usá-lo, feche-o logo após. Nunca execute um IndexDefs.Update antes de executar o CreateTable e o Open (senão você jogará fora o seu novo specs e pegará o antigo IndexDefs). Dica de http://joabesrr.vilabol.uol.com.br abraço
  21. Voce pode tentar desta maneira procedure TForm1.Button1Click(Sender: TObject); begin DateTimePicker1.SetFocus; keybd_event(VK_LEFT, 0, 0, 0); end; abraço
  22. Verifique a chave de registro HKEY_CURRENT_USER\Software\Borland\Delphi\4.0\History Lists\hIPackgeSearchPath veja se a pasta do indy esta na lista abraço
  23. O FTP Explorer funciona quase que do mesmo modo que o PHP Admin ... a diferença é que o FTP Explorer voce usa na sua máquina e terá acesso a sua pagina na internet O PHP Admin é uma ferramenta de gerenciamento que é usada dentro da própria página da internet ( servidor de hospedagem ) Tutorial do FTP Explorer http://www.virtualwebhosting.com.br/downloads.html abraço
  24. voce teria que ter um controle dentro deste evento com varias opções de acionamento exemplo: procedure TForm1.SpeedButton1Click(Sender: TObject); begin showmessage('voce clicou o botao 1'); end; procedure TForm1.SpeedButton2Click(Sender: TObject); begin showmessage('voce clicou o botao 2'); end; procedure TForm1.SpeedButton3Click(Sender: TObject); begin showmessage('voce clicou o botao 3'); end; procedure TForm1.MaskEdit1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); begin if key=VK_F1 then SpeedButton1.click; if key=VK_F2 then SpeedButton2.click; if key=VK_F3 then SpeedButton3.click; end; Seria algo mais ou menos parecido com isto abraço
  25. f_fdatas_cliente.MaskEdit2.OnClick := key=#13 then SpeedButton1.click; para chamar um evento f_fdatas_cliente.MaskEdit2.OnClick(Sender); e no evento OnClick do MaskEdit2 voce pode fazer este teste key=#13 then SpeedButton1.click; abraço
×
×
  • Criar Novo...