Somario 0 Denunciar post Postado Julho 27, 2011 Bom dia pessoal, Estou gravando em um txt com o resultado de uma consulta no mysql, sendo que só estou conseguindo gravar o primeiro registro. procedure Tfrm_Gera_arquivo_com_notas_de_avaliacao.Button1Click(Sender: TObject); var arquivo: TextFile; begin aux.SQL.Clear; aux.SQL.Add('SELECT * FROM resultados_de_avaliacoes WHERE resultados_de_avaliacoes.data_prova="'+(edit_m_data_prova.Text)+'" AND resultados_de_avaliacoes.ano="'+(list_ano.Text)+'"'); aux.Open; aux.First; while not aux.eof do begin AssignFile(arquivo, 'D:\teste.txt'); Rewrite(arquivo); WriteLn(arquivo, ''+IntToStr(auxcodigo.Value)+';'+(auxdisciplina_01.Value)+';'+(auxnota_disc_01.Value)+';'''); aux.Next; end; CloseFile(arquivo); ShowMessage('Operação realizada com sucesso.'); end; tenho pouco conhecimento em delphi, então desculpe se o codigo não tem nada a ver com o que preciso rsrsrsrs. Compartilhar este post Link para o post Compartilhar em outros sites
Felipe Pierin 0 Denunciar post Postado Julho 27, 2011 Ola Somario, Coloca o seguinte trecho: AssignFile(arquivo, 'D:\teste.txt'); Rewrite(arquivo); Antes do Loop e deve resolver... Abcs, Compartilhar este post Link para o post Compartilhar em outros sites
Somario 0 Denunciar post Postado Julho 27, 2011 Perfeito, funcionou exatamente como precisava, muuuuuuiiiiiiito obrigado para quem precisar ficou assim: procedure Tfrm_Gera_arquivo_com_notas_de_avaliacao.Button1Click(Sender: TObject); var arquivo: TextFile; begin aux.SQL.Clear; aux.SQL.Add('SELECT * FROM resultados_de_avaliacoes WHERE resultados_de_avaliacoes.data_prova="'+(edit_m_data_prova.Text)+'" AND resultados_de_avaliacoes.ano="'+(list_ano.Text)+'" AND resultados_de_avaliacoes.turma="'+(list_turma.Text)+'" AND resultados_de_avaliacoes.turno="'+(list_turno.Text)+'" AND resultados_de_avaliacoes.nivel="'+(list_ensino.Text)+'" AND resultados_de_avaliacoes.opcao="'+(list_opcao.Text)+'"'); aux.Open; aux.First; AssignFile(arquivo, 'D:\'+(auxano.Value)+'-'+(auxturma.Value)+'-'+(auxturno.Value)+'-'+(auxnivel.Value)+'-'+(auxopcao.Value)+'-'+(auxdata_prova.Value)+'.txt'); Rewrite(arquivo); while not aux.eof do begin WriteLn(arquivo, ''+IntToStr(auxcodigo.Value)+';'+(auxdisciplina_01.Value)+';'+(auxnota_disc_01.Value)+';'+(auxdisciplina_02.Value)+';'+(auxnota_disc_02.Value)+';'+(auxdisciplina_03.Value)+';'+(auxnota_disc_03.Value)+';'+(auxdisciplina_04.Value)+';'+(auxnota_disc_04.Value)+';'+(auxdisciplina_05.Value)+';'+(auxnota_disc_05.Value)+';'+(auxdisciplina_06.Value)+';'+(auxnota_disc_06.Value)+';'+(auxdisciplina_07.Value)+';'+(auxnota_disc_07.Value)+';'+(auxdisciplina_08.Value)+';'+(auxnota_disc_08.Value)+';'+(auxdisciplina_09.Value)+';'+(auxnota_disc_09.Value)+';'+(auxdisciplina_10.Value)+';'+(auxnota_disc_10.Value)+';'+(auxdisciplina_11.Value)+';'+(auxnota_disc_11.Value)+';'+(auxdisciplina_12.Value)+';'+(auxnota_disc_12.Value)+';'+(auxdisciplina_13.Value)+';'+(auxnota_disc_13.Value)+';'+(auxdisciplina_14.Value)+';'+(auxnota_disc_14.Value)+';'+(auxdisciplina_15.Value)+';'+(auxnota_disc_15.Value)+';'); aux.Next; end; CloseFile(arquivo); ShowMessage('ARQUIVO GERADO COM SUCESSO!'); end; usando AssignFile(arquivo, 'D:\'+(auxano.Value)+'-'+(auxturma.Value)+'-'+(auxturno.Value)+'-'+(auxnivel.Value)+'-'+(auxopcao.Value)+'-'+(auxdata_prova.Value)+'.txt'); gerei o nome do arquivo que ficou assim: 3-A-MATUTINO-MEDIO-INGLES-16-07-2011.txt usei os dados do combobox que define minha consulta, pois sempre que fizer uma consulta com outra turma e outra data é gerado novo nome o resultado do txt é esse: 200810009;MATEMATICA;4,17;QUIMICA;6,67;FISICA;5,00;BIOLOGIA;6,67;ARTES;5,83;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00; 200810151;MATEMATICA;3,33;QUIMICA;5,00;FISICA;0,83;BIOLOGIA;2,50;ARTES;5,83;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00; 200810055;MATEMATICA;2,50;QUIMICA;5,00;FISICA;3,33;BIOLOGIA;4,17;ARTES;5,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00; 200810278;MATEMATICA;3,33;QUIMICA;3,33;FISICA;5,83;BIOLOGIA;5,83;ARTES;7,50;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00; 200810490;MATEMATICA;1,67;QUIMICA;3,33;FISICA;5,00;BIOLOGIA;5,83;ARTES;6,67;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00; 200910422;MATEMATICA;3,33;QUIMICA;1,67;FISICA;2,50;BIOLOGIA;2,50;ARTES;5,83;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00; 200910028;MATEMATICA;4,17;QUIMICA;3,33;FISICA;2,50;BIOLOGIA;5,83;ARTES;5,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00; 200810015;MATEMATICA;4,17;QUIMICA;5,00;FISICA;8,33;BIOLOGIA;6,67;ARTES;3,33;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00; 201110293;MATEMATICA;5,00;QUIMICA;4,17;FISICA;4,17;BIOLOGIA;4,17;ARTES;7,50;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00; 200910076;MATEMATICA;1,67;QUIMICA;3,33;FISICA;2,50;BIOLOGIA;5,83;ARTES;5,83;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00; 200910402;MATEMATICA;3,33;QUIMICA;0,83;FISICA;5,00;BIOLOGIA;5,00;ARTES;9,17;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00; 200810132;MATEMATICA;3,33;QUIMICA;3,33;FISICA;3,33;BIOLOGIA;3,33;ARTES;5,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00; 200910029;MATEMATICA;5,00;QUIMICA;3,33;FISICA;6,67;BIOLOGIA;7,50;ARTES;7,50;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00; 201110116;MATEMATICA;2,50;QUIMICA;5,00;FISICA;2,50;BIOLOGIA;4,17;ARTES;1,67;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00; 200910358;MATEMATICA;2,50;QUIMICA;2,50;FISICA;3,33;BIOLOGIA;5,00;ARTES;6,67;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00; 200810329;MATEMATICA;2,50;QUIMICA;5,00;FISICA;5,00;BIOLOGIA;5,83;ARTES;4,17;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00;;0,00; nesse exemplo existe a matricula e as notas de 5 das 15 disciplinas possíveis. Compartilhar este post Link para o post Compartilhar em outros sites