quarta-feira, 29 de abril de 2009

Exportar dados de uma query para .txt

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á.

Nenhum comentário:

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...