Ir para conteúdo
Fórum Script Brasil

Jhonas

Monitores
  • Total de itens

    9.657
  • Registro em

Tudo que Jhonas postou

  1. Uma das formas de se obter o resultado procedure TForm1.Button1Click(Sender: TObject); var i : integer; EntryNode:IXmlNode; begin XMLDocument1.LoadFromFile('D:\20-03-2017-Copia.xml'); XMLDocument1.Active := True; EntryNode := xmldocument1.DocumentElement; for i := 0 to EntryNode.ChildNodes.Count -1 do memo1.Lines.Add( EntryNode.ChildNodes[i].xml); for i := 0 to memo1.Lines.Count -1 do begin if pos('chNFe',memo1.Lines.Strings[i])>0 then memo2.Lines.add(copy(memo1.lines.Strings[i],8,44)); end; end; Memo2 41170376125244000162550070010199011009987875 41170376125244000162550070010199021007131377 41170376125244000162550070010199031006464116 abraço
  2. eu utilizei um modelo que encontrei mas ele pega apenas a primeira ocorrência da tag. qual é o código que está usando ?
  3. voce esta se referindo a esse link ? http://www.planetadelphi.com.br/dica/5776/progresso-da-transferencia-de-arquivos-com-idftp abraço
  4. voce seguiu as instruções do manual ? http://www.netcombo.com.br/documentos/SAGEMCOM_F@st-3184_WiFi-1374090884627.pdf ou https://www.google.com.br/?gws_rd=ssl#q=modem+sagemcom+net&* abraço
  5. não use WHILE... use o comando FOR abraço
  6. Jhonas

    Conexão estilo p2p

    veja nesse link ....vai encontrar o que esta querendo http://delphi.about.com/library/weekly/aa101105a.htm abraço
  7. dessa maneira voce consegue alterar para uma data e hora escolhida echo off set data=%date% set hora=%time% echo %data% echo %hora% date = 04/03/2017 time 22:01:00 set data=%date% set hora=%time% echo %data% echo %hora% ping localhost -n 120 exit só se voce criar o script da bat antes de executa-lo ... nesse caso voce define qual é a data abraço
  8. veja se esse link te ajuda http://www.invasao.com.br/2011/01/12/aprenda-a-programar-em-bat/ ou tente esse https://www.bing.com/search?FORM=INCOH2&PC=IC04&PTAG=ICO-d8805066&q=comandos+para+criar+uma+bat abraço
  9. echo off set antes=%date% echo 28/02/2017 date set hora=%time% echo 05:00:00,49 time ping localhost -n 120 echo %antes% | date echo %hora% | time exit abraço
  10. não , voce esta querendo fazer algo que não é necessario use uma tabela para os dados da pessoa e use uma tabela para dados do veiculo use um campo comum para as duas tabelas ( Codigo ) tipo numerico vou dar um exemplo bem simples : Tabela Pessoa ------- Tabela Veiculo COD ----- campo relacionado --- COD NOME MARCA RUA MODELO PESSOA ANO CPF PLACA para cada 1 (cod) de pessoa, voce pode ter n (cod) de veiculo usando uma instrução sql ficaria assim select * from tabelaPessoa where cod = 1 no dbgrid vai mostrar todos os registros das 2 tabelas. se tiver mais de um veiculo cadastrado para o codigo 1 na tabela veiculo, então os registros da tabela Pessoa serão mostrados no dbgrid duplicados, mas isso é facil de contornar ....voce pode mostrar os dados da tabela pessoa em DBedits e os dados da tabela veiculo no dbgrid. se voce for iniciante no delphi tem varios links na net que podem te ajudar http://www.planetadelphi.com.br/download/4804/apostila/apostila-de-delphi-7-com-banco-de-dados-firebird https://www.bing.com/search?FORM=INCOH2&PC=IC04&PTAG=ICO-d8805066&q=firebird+delphi+7 abraço
  11. voce precisa fazer o relacionamento entre as tabelas exemplo voce tem que ter um campo comum ( os mesmos nomes ou não, mas do mesmo tipo ) nas duas tabelas quando voce navegar nos registros, o tipo do veiculo muda automaticamente ( desde que voce tenha registrado somente um veiculo - usando Edits) se voce cadastrar mais de um veiculo para a pessoa, entao o modo de mostrar os dados vai ser diferente ( voce vai usar DBgrid ) se tiver dúvidas, veja o ultimo post desse link abraço
  12. primeiro ... campos em tabela que não vão se repetir, voce deve colocar em apenas uma tabela exemplo : Nome, Endereço, TipoPessoa, Rg, Cpf fica em uma tabela no seu caso se a tabela 3 é para : Veículo, Modelo, Ano ... esses dados podem ficar em outra tabela; pois uma pessoa pode ter mais de um veículo agora vamos as respostas as suas duvidas: Se eu usar com comando Sql talvez funcione assim como fiz direto na tabela,mas minha duvida também é na opção edit,com faria um edit usando Sql no Delphi ? uma instrução sql seria tipo : Select * from Tabela seria para voce selecionar todos os registros de uma tabela o comando edit ficaria para o componente de acesso a tabela exemplo: Query1.Edit ou Table1.Edit ou ClientDataSet1.Edit ....etc Ou poderia usar somente SimpleDataSet.Edit; ?? se voce quiser usar esse componente, pode É melhor deixar a tabela sem auto incremento ? se voce não tem experiencia no delphi, é melhor não usar Tira os Campos not null ? sim, pois campos Not Null são campos que ficarão esperando valores Como copiar o valor de tabela_1_id para fk_tabela_2 ? normalmente isso só é usado para gerar tabelas temporárias, pois não teria sentido duplicar valores em tabelas abraço
  13. se voce conseguiu criar o relacionamento entre as suas tabelas, ao clicar no icone ( SQL ) obs: voce vai ver um SQL escrito no icone automaticamente vai ser gerado a instrução sql para voce mas eu não conheço nada de SQL voce vai achar varios links na internet versando sobre esse assunto http://delphiassistance.blogspot.com.br/2008/06/component-query.html https://www.bing.com/search?q=como+usar+o+tquery+delphi&qs=n&form=QBRE&sp=-1&pq=como+usar+o+tquery+&sc=0-19&sk=&cvid=9B78C6B7142B46D1BC7F6DEC9435466D outra coisa que vai ajuda-lo .... va no Menu do delphi em DataBase > Form Wizard isso vai ajuda-lo a criar um pequeno projeto em delphi usando as suas tabelas, sem que voce precise digitar nenhuma linha de código http://www.ebah.com.br/content/ABAAAAOkkAA/manual-delphi?part=19 abraço
  14. ok ... agora vamos ao relacionamento entre as tabelas exemplo veja que o relacionamento é de 1 para N ( muitos ) no seu caso seria de TabAluno para Pagamento .... isso porque um aluno pode ter varios pagamentos para fazer o relacionamento, coloque um componente TQuery da paleta BDE, no form. clique com o botão esquerdo do mouse no componente e selecione a opçao SQLBuilder selecione o DataBase e depois coloque a tabela TabAluno e depois a Tabela Pagamento clique com o mouse no campo Nomealuno da tabela TabAluno, fique segurando e arraste ate o campo Nomealuno da tabela Pagamento obs: marque todos os campos das duas tabelas agora esta criado o relacionamento entre as tabelas clique no icone ( Show and Edit SQL ) e sera criado o comando SQL para a Query exemplo SELECT Alunos.COD FROM "alunos.DB" Alunos INNER JOIN "compras.DB" Compras ON (Alunos.COD = Compras.COD_FORNEC) dessa forma quando pesquisar pelo nome do aluno, vai aparecer no dbgrid todos os pagamentos efetuados ou os pagamentos pendentes, dependendo da clausula WHERE que voce colocar na Select abraço
  15. ok.... vamos começar com as tabelas voce esta colocando tamanho desproporcional ao tipo do campo exemplo Nomealuno --- no max 60 caracteres A(60) Mesreferencia --- no max 3 caracteres A(3) Anoreferencia --- no max 4 caracteres A(4) OBS: o mesmo vale para os outros campos da tabela para campos numericos não use tipo alfanumerico exemplo .... idade A(2) ou N ? voce tem que colocar o que é mais facil usar e não ficar fazendo conversões de tipo no código telefone A(50) ou N ? não vai existir numero de telefone com 50 caracteres e nesse caso voce pode usar mascara para o numero ( componente maskedit ) !\(999\)0000-0000;1;_ ==> mascara para telefone pense na otimização da tabela .... voce pode detonar um programa, se não souber estruturar o seu banco de dados corretamente. depois de corrigir isso, faça o relacionamento entre suas tabelas atraves do campo Nomealuno .... e poste novamente o resultado abraço
  16. primeiro coloque a estrutura de suas tabelas ... nem sempre é necessario criar tabelas diferentes para isso abraço
  17. ok.. acho que agora podemos colocar como resolvido ....rs abraço
  18. sua informação está muito vaga.... o relatório é do QuickReport ou outro ? o seu banco de dados ? a versão do seu delphi ? quanto mais informações voce passar, mais facil será a sua resposta abraço
  19. amigo, gostaria de te ajudar mais... mas como não consigo obter os mesmos resultados que voce, fica muito dificil. pois não sei onde procurar o erro lembrete: estou usando o delphi 7 abraço
  20. amigo, pelo que eu vejo, voce tem pouca experiencia com o delphi ... se voce observar o código completo que te passei, existe um componente DBNavigator que esta linkado ao DataSource da Tabela, que é linkado ao DBGrid se voce deletar qualquer musica pelo DBNavigator, automaticamente a lista é atualizada, portanto, tudo isso que voce está relatando, não acontece aqui comigo se voce pegar exatamente o código que te passei e rodar, vai ver que, o que voce relatou, não acontece ( veja se as musicas não estão corrompidas ) OBS: se voce estiver salvando musicas com tamanho maior que 5 mb na tabela, o campo será truncado, ou seja, a musica não será gravada integralmente, sendo portanto, cortada. se as musicas forem maior que 5 mb então voce deve alterar o tamanho do campo na tabela. abraço.
  21. como eu te disse, aqui não tenho o problema que voce relatou voce terá que pesquisar ai o motivo. obs: a ultima musica pode estar corrompida ... tente trocar abraço
  22. vou te passar o código completo ... aqui esta funcionando normal unit USalvaMP3; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Provider, DB, DBClient, DBTables, StdCtrls, MPlayer, Grids, DBGrids, ExtCtrls, DBCtrls, Gauges, ComCtrls, MMSystem; type TForm1 = class(TForm) Button1: TButton; Query1: TQuery; DataSource1: TDataSource; OpenDialog1: TOpenDialog; MediaPlayer1: TMediaPlayer; Button2: TButton; Query1NOME: TStringField; Query1MP3: TBlobField; DBGrid1: TDBGrid; DBNavigator1: TDBNavigator; Timer1: TTimer; Gauge1: TGauge; TrackBar1: TTrackBar; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure FormActivate(Sender: TObject); procedure DBGrid1CellClick(Column: TColumn); procedure Timer1Timer(Sender: TObject); procedure TrackBar1Change(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; nome_musica : string; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin If opendialog1.Execute Then begin // musica selecionada na pasta nome_musica := opendialog1.filename; // gravar na tabela Query1.Active := false; Query1.Active := true; Query1.Last; Query1.Insert; Query1.Edit; Query1NOME.Value := nome_musica; Query1MP3.LoadFromFile(nome_musica); Query1.Post; showmessage('Musica Salva'); end; end; procedure TForm1.Button2Click(Sender: TObject); begin Query1.Active := false; Query1.Active := true; MediaPlayer1.Close; // tirar a musica da tabela e salvar no disco Query1MP3.SaveToFile('c:\musica.mp3'); // abrir a musica pelo MediaPlayer e tocar MediaPlayer1.FileName := 'c:\musica.mp3'; MediaPlayer1.Open; MediaPlayer1.Play; end; procedure TForm1.FormActivate(Sender: TObject); begin Query1.Active := false; Query1.Active := true; timer1.Enabled := false; TrackBar1Change(sender); end; procedure TForm1.DBGrid1CellClick(Column: TColumn); begin MediaPlayer1.Close; // tirar a musica da tabela e salvar no disco Query1MP3.SaveToFile('c:\musica.mp3'); // abrir a musica pelo MediaPlayer e tocar MediaPlayer1.FileName := 'c:\musica.mp3'; MediaPlayer1.Open; Gauge1.MaxValue := MediaPlayer1.Length; MediaPlayer1.Play; timer1.Enabled := true; end; procedure TForm1.Timer1Timer(Sender: TObject); begin Gauge1.Refresh; if Gauge1.MaxValue <> 0 then Gauge1.Progress := MediaPlayer1.Position; if Gauge1.Progress = Gauge1.MaxValue then begin Gauge1.Progress := 0; MediaPlayer1.Close; Query1.Next; // tirar a musica da tabela e salvar no disco Query1MP3.SaveToFile('c:\musica.mp3'); // abrir a musica pelo MediaPlayer e tocar MediaPlayer1.FileName := 'c:\musica.mp3'; MediaPlayer1.Open; MediaPlayer1.Play; TrackBar1Change(sender); end; if Query1.Eof then begin timer1.Enabled := false; MediaPlayer1.Stop; end; end; procedure TForm1.TrackBar1Change(Sender: TObject); var Count , i : longint; // 4369 begin Count := waveOutGetNumDevs; for i := 0 to Count do begin waveOutSetVolume(i,longint(TrackBar1.position*1369)*65536+longint(TrackBar1.position*1369)); end; end; end. abraço
  23. aqui funciona sem problemas .... inclusive se eu selecionar a ultima musica procedure TForm1.Timer1Timer(Sender: TObject); begin Gauge1.Refresh; if Gauge1.MaxValue <> 0 then Gauge1.Progress := MediaPlayer1.Position; // posição da musica if Gauge1.Progress = Gauge1.MaxValue then begin Gauge1.Progress := 0; MediaPlayer1.Close; Query1.Next; // tirar a musica da tabela e salvar no disco Query1MP3.SaveToFile('c:\musica.mp3'); // abrir a musica pelo MediaPlayer e tocar MediaPlayer1.FileName := 'c:\musica.mp3'; MediaPlayer1.Open; MediaPlayer1.Play; TrackBar1Change(sender); // controle de volume end; if Query1.Eof then begin timer1.Enabled := false; MediaPlayer1.Stop; end; end; abraço
  24. amigo, se voce tem pouca experiencia com o delphi, esse link vai te ajudar muito use o Form Wizard do delphi, vai ajuda-lo a criar forms linkados a banco de dados bem rapido e muito simples de usar http://www.ebah.com.br/content/ABAAAAOkkAA/manual-delphi?part=19 nas paletas do delphi ( Data Access - DataControls - dbExpress - DataSnap - BDE - ADO - Interbase - Zeos Access ) voce vai encontrar componentes para acessar banco de dados tais como: Paradox, Interabase, Firebird, MYSQL, PostGree, Oracle ... etc abraço
  25. E chamo essa procedure em FormCreate,mas não funciona nem um nem outro. engano seu, se colocar em um botão ou outro componente tambem vai funcionar OBS: não use o OnFormCreate para abrir tabelas e sim o OnActive do Form TfdQuery,TfdConnection, qual banco de dados voce esta usando ? todas as informções que voce quer do banco de dados, voce vai obter atraves do componente ClienteDataSet usando TDBEdits linkados ao DataSource ou Edits recebendo os valores dos campos das tabelas ( um pouco mais trabalhoso ) abraço
×
×
  • Criar Novo...