Ir para conteúdo
Fórum Script Brasil
  • 0

Criar Arquivo (RESOLVIDO)


Vivendo&Aprendendo

Pergunta

22 respostass a esta questão

Posts Recomendados

  • 0

Olá Alexandre.

Ae vai

procedure TForm1.BitBtn1Click(Sender: TObject);
var
  ArqTxt : TextFile;
  Linha1 : string;
begin
  AssignFile(ArqTxt, 'C:\Meus documentos\TXTITENS.TXT');
  Rewrite(ArqTxt);
  {$I+}
  if (IOResult <> 0) then
       MessageBox(handle,PChar('Houve um erro na criação do Arquivo: TXTITENS.TXT'),'ATENÇÃO',MB_OK or MB_ICONEXCLAMATION)
  else begin
     Query1.Close;
     Query1.Open;
     while not Query1.Eof do begin
        Linha1 := Query1.FieldByName('LAST_NAME').AsString+' '+
                  Query1.FieldByName('FIRST_NAME').AsString+' '+
                  Query1.FieldByName('SS_NUMBER').AsString;
        Writeln(ArqTxt, Linha1);
        Query1.Next;
     end;
     CloseFile(ArqTxt);
  end;
end;

ou se quizer pega o exemplo ae:

http://geocities.yahoo.com.br/pgdelphi/ArquivoTexto.zip

Qualquer dúvida, já sabe! wink.gif

Abs.

Link para o comentário
Compartilhar em outros sites

  • 0

cara

tenho sim, mas agora estou tentando usar o código que passou e não o exemplo e da um erro na linha do código que está selecionada.

procedure TForm1.Button1Click(Sender: TObject);

var

ArqTxt : TextFile;

Linha1 : String;

begin

AssignFile(ArqTxt, 'C:\Meus documentos\TXTITENS.TXT');

Rewrite(ArqTxt); {$I+}

if (IOResult <> 0) then

MessageBox(handle,PChar('Houve um erro na criação do Arquivo: TXTITENS.TXT'),'ATENÇÃO',MB_OK or MB_ICONEXCLAMATION)

else begin

Query1.Close;

Query1.Open;

while not Query1.Eof do begin

Linha1 := Query1.FieldByName('LAST_NAME').AsString+' '+

Query1.FieldByName('FIRST_NAME').AsString+' '+

Query1.FieldByName('SS_NUMBER').AsString;

Writeln(ArqTxt, Linha1);

Query1.Next;

end;

CloseFile(ArqTxt);

end;

end;

Link para o comentário
Compartilhar em outros sites

  • 0

É o seguinte esse ta usando uma tabela do DBDEMOS que já vem com o delphi.

Faz o seguinte, troca tudo aquilo por isso:

procedure TForm1.BitBtn1Click(Sender: TObject);
var
 ArqTxt : TextFile;
 Linha1 : string;
begin
   AssignFile(ArqTxt, 'C:\Meus documentos\TXTITENS.TXT');
   Rewrite(ArqTxt);
   Query1.Close;
   Query1.Open;
   while not Query1.Eof do begin
      Linha1 := Query1.FieldByName('LAST_NAME').AsString+' '+
                Query1.FieldByName('FIRST_NAME').AsString+' '+
                Query1.FieldByName('SS_NUMBER').AsString;
      Writeln(ArqTxt, Linha1);
      Query1.Next;
   end;
   CloseFile(ArqTxt);
end;

falow!!!

Link para o comentário
Compartilhar em outros sites

  • 0

é isso mesmo, pois esse arquivo vai ser convertido para um banco de dados e se tiver bagunçado ele não reconhece, na verdade se eu pegar esse arquivo e converte-lo para xls ele de ficar da mesma forma que esta no txt linha e coluna, código, nome e os campos respectivos cada um em uma coluna.

Vlw

Link para o comentário
Compartilhar em outros sites

  • 0

Olá Alexandre.

Então use esse:

procedure TForm1.BitBtn1Click(Sender: TObject);
var
  ArqTxt : TextFile;
  Linha1, campo1, campo2, campo3, tam1, tam2 : string;
begin
  AssignFile(ArqTxt, 'C:\Meus documentos\TXTITENS.TXT');
  Rewrite(ArqTxt);

  Query1.Close;
  Query1.Open;
  while not Query1.Eof do begin
    campo1 := Query1.FieldByName('LAST_NAME').AsString;
    campo2 := Query1.FieldByName('FIRST_NAME').AsString;
    campo3 := Query1.FieldByName('SS_NUMBER').AsString;
    tam2 := '               ';//tamanho 15 letras (tam.do campo1)
    tam1 := IntToStr(15-length(campo1));
    tam2 := Copy(Tam2,1,StrToInt(Tam1));
    Insert(campo1,tam2,1);
    campo1 := tam2;
    tam2 := '          ';//tamanho 10 letras (tam.do campo2)
    tam1 := IntToStr(10-length(campo2));
    tam2 := Copy(Tam2,1,StrToInt(Tam1));
    Insert(campo2,tam2,1);
    campo2 := tam2;
    Linha1 := campo1+campo2+campo3;
    Writeln(ArqTxt, Linha1);
    Query1.Next;
  end;
  CloseFile(ArqTxt);
end;

Abs. Progr'amador wink.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Ops!

voce falou em ordem, não sei se entendi, mas você gostaria de ordenar os registros tipo assim:

A

B

C

...

ou por numeros? é isso?

Outra coisa, a lista ta saindo em linha, um em baixo do outro certinho???

porque aki saiu certinho um em baixo do outro, tudo em linha.

Se não tiver em linha certinho, observe que eu usei os tamanhos 15 e 10, talvez os seu registro tenho ultrapassado esse numero de caracteres.

Abs.

Link para o comentário
Compartilhar em outros sites

  • 0

Voce pode usar so duas variáveis se quizer:

Nesse exemplo to usando as var. Linha1 e FormaLinha.

procedure TForm1.Button2Click(Sender: TObject);
var
  ArqTxt : TextFile;
  Linha1, FormaLinha, tam1, tam2 : string;
begin
  AssignFile(ArqTxt, 'C:\Meus documentos\TXTITENS.TXT');
  Rewrite(ArqTxt);

  Query1.Close;
  Query1.Open;
  while not Query1.Eof do begin
     FormaLinha := Query1.FieldByName('LAST_NAME').AsString;
     tam2 := '               '; // tamanho 15 letras
     tam1 := IntToStr(15-length(FormaLinha));
     tam2 := Copy(Tam2,1,StrToInt(Tam1));
     Insert(FormaLinha,tam2,1);
     Linha1 := Linha1+tam2;

     FormaLinha := Query1.FieldByName('FIRST_NAME').AsString;
     tam2 := '          '; // tamanho 10 letras
     tam1 := IntToStr(10-length(FormaLinha));
     tam2 := Copy(Tam2,1,StrToInt(Tam1));
     Insert(FormaLinha,tam2,1);
     Linha1 := Linha1+tam2;

     FormaLinha := Query1.FieldByName('SS_NUMBER').AsString;
     Linha1 := Linha1+FormaLinha;
     Writeln(ArqTxt, Linha1);
     Linha1 := '';
     Query1.Next;
  end;
  CloseFile(ArqTxt);
end;

Abs. wink.gif

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...