Exportar dados de uma query para .txt
No evento on-click do botão coloque o seguinte código:
procedure TFR_EXPORTAR.SpeedButton2Click(Sender: TObject);
var
Texto : TStringList;
Linha : String;
begin
//Atribui à variavel Texto a classe Tstringlist
Texto := TStringList.Create;
//Testa para saber se o diretorio ou arquivo existe, se nao existir ele criará um
if not DirectoryExists(ExtractFileDir(Edit1.Text)) then
if MessageDlg('Diretorio '+ExtractFileDir(Edit1.Text) + ' não existe, deseja cria-lo?', mtConfirmation,mbOKCancel,0) = mrcancel then
exit
else
ForceDirectories(ExtractFileDir(Edit1.Text));
// Ativa a Query Medicos
qryMedicos.Active := true;
// Inicializa a variavel Linha para que possa receber os campos da query
Linha := '';
// Testa para ver se a Query contem algum registro
if qryMedicos.RecordCount = 0 then
begin
ShowMessage('Não existem arquivos a serem exportados!');
Exit;
end;
// Inicializando o progressbar, a propriedade Max ira receber o numero de registros da query
ProgressBar1.Max := qryMedicos.RecordCount;
// Colocando a posição do progress em zero
ProgressBar1.Position := 0;
// Vai para a primeira linha da query, para inicializar o loop
qryMedicos.First;
// Enquanto a Query nao chegar ao final ele vai estar adicionando
// à variavel Linha o conteúdo dela concatenado ao campo da Query
while not qryMedicos.Eof do
begin
Linha := Linha + IntToStr(qryMedicosID.AsInteger)+ ' ';
Linha := linha + IntToStr(qryMedicosCODIGO.AsInteger)+' ';
Linha := Linha + qryMedicosNOME.AsString + ' ';
Linha := Linha + qryMedicosCRM.AsString + ' ';
Linha := Linha + qryMedicosESPECIALIDADE.AsString + ' ';
Linha := Linha + qryMedicosCELULAR.AsString + ' ';
Linha := Linha + qryMedicosTEL_RESIDENCIAL.AsString + ' ';
Linha := Linha + qryMedicosCOMISSAO.AsString + (#13);
qryMedicos.Next;
ProgressBar1.Position := ProgressBar1.Position + 1;
end;
// Adicionando o conteudo da variavel Linha à Varavel Texto(StringList)
Texto.Add(Linha);
// Salvando o Arquivo, onde Edit1.text será o caminho e nome do arquivo com extensão
Texto.SaveToFile(Edit1.Text);
ShowMessage('Arquivo gerado com sucesso!');
ProgressBar1.Position := 0;
DBGrid1.DataSource.DataSet.Close;
end;
// Espero ter ajudado, assim como já tive muita ajuda do site.
// Obrigado por todos que compartilham o conhecimento, somente assim ele se perpetuará.
Assinar:
Postar comentários (Atom)
Política Privacidade adicoaraci suervisores
Política Privacidade A sua privacidade é importante para nós. É política do adicoaraci supervisor respeitar a sua privacidade em relação a q...
-
Usei muito esta função no Clipper e como não a encontrei no Delphi, recriei-a e estou publicando para compartilhar com a comunidade function...
-
Alterar as cores do título de um DBGrid em tempo execução dará mais vida ao seu programa e trará uma aparência mais profissional ao sistema....
-
No evento OnClique de um botão ou menu, etc., colocar o texto abaixo (supondo-se que você tenha setado a propriedade name do form como For...
Nenhum comentário:
Postar um comentário