Fórum Importar Arquivo Texto #14179

16/01/2010

0

Rodrigo, Estou precisando importar arquivo texto dos boletos pagos do arquivo de retorno da CEF, ou seja: . disponibilizar um TextBox com um botão ao lado pro usuário procurar e abrir o arquivo texto com o retorno da Caixa, após a seleção do arquivo preciso jogar o caminho e o nome do arquivo selecionado no TextBox, em seguida preciso ler o arquivo texto e jogar os títulos num datagrid pra baixá-los automaticamente. Você pode me ajudar? Obrigado, Melk.
Melkcimar Costa

Melkcimar Costa

Responder

Posts

19/01/2010

Rodrigo Mourão

Olá amigo.

Em primeiro lugar precisamos deixar claro que um procedimento deste tipo na web e muito diferente do procedimento em Win32. Para fazer isso será necessário enviar o arquivo para o servidor, ou seja, fazer upload do arquivo para uma pasta com permissão de escrita no seu servidor web.

Feito isso voce passa a trabalhar com o arquivo que foi enviado para o servidor. Então esse Exibir o caminho do arquivo em um textbox, você quer dizer o caminho de onde o arquivo estava na maquina do cliente, correto ? De cabeça realmente não me lembro se isso é possível pois o caminho e fisico, local e aplicacao esta rodando no servidor.

Vou verificar e em breve post aqui uma sugestão.

Att,

Responder

Gostei + 0

22/01/2010

Melkcimar Costa

Rodrigo, o que estou precisando é exatamente o artigo do link abaixo, mas está em VB.Net e não consegui converter pra delphi .net, penso que vc conseguirá facilmente. Estou com urgência de resolver isto. Obrigado, Melk. http://www.macoratti.net/vbn_txt.htm
Responder

Gostei + 0

22/01/2010

Rodrigo Mourão

Olá Amigo,

Quando vi sua mensagem abaixa ja tinha feito a minha rotina. Ve se ela te atende. Esta um pouco diferente da o marcoratti.


Adicionei um FileUpload e Um Botão. No clique do botao coloquei o codigo abaixo.

Uses
System.IO, System.Text;

var
  RealName, ExtFile,
  TempPath, Linha: String;
  FileReader: StreamReader;
begin
   //Verifica se o usuario selecionou algum arquivo
   if FileUpload1.PostedFile.ContentLength <> 0 and FileUpload1.HasFile then
   begin
     //pega nome real do arquivo
     RealName := FileUpload1.FileName;
     //pega extensão do arquivo
     ExtFile  := Path.GetExtension(RealName);
      //verificando se o arquivo escolhido é do tipo TXT
     if not (ExtFile.Equals('.txt',StringComparison.OrdinalIgnoreCase)) then
     begin
       Response.Output.Write('<br />Selecione um arquivo TXT<br />');
     end
     else
     begin
       //Diretorio Temporário no servidor para enviar o arquivo. Tem que ter permissão
       //de escrita neste diretorio
       TempPath := 'C:\temp\'+RealName;
       //Salvando o arquivo no caminho gerado
       FileUpload1.PostedFile.SaveAs(TempPath);
     end;

     //Cria um arquivo em Memoria para poder ler linha a linha
     FileReader := StreamReader.Create(TempPath,Encoding.GetEncoding(1252));

     //Lê Linha a Linha até o fim do arquivo
     while FileReader.Peek <> -1 do
     begin
       //Pega o conteudo da linha
       Linha := FileReader.ReadLine;
       //Verifica se esta vazia
       if Linha.Trim().Length > 0 then
       begin
         //Envia o conteudo para p broswer.
          //Coloque aqui seu código para atender sua necessidade.
         Response.Output.Write(Linha+'<br>');
       end;
     end;
     FileReader.Close;
   end
   else
   begin
    Response.Output.Write('<br />Selecione um arquivo para enviar ao servidor<br />');
   end;
end;


Att,

Responder

Gostei + 0

24/01/2010

Melkcimar Costa

Rodrigo, blz, é isto mesmo, mas o FileUpload que tenho disponivel na ToolBox do Delphi 2005 é o dos controles HTML, até coloquei na página, ele abre o diálogo, mas pelo que vi na internet tem que escrever código pra ele funcionar, aguardo vossa ajuda. Outra coisa, tem como abrir o arquivo texto na máquina cliente gravado em um endereço físico no disco do cliente, sem ter de fazer o upload? Obrigado, Melk.
Responder

Gostei + 0

27/01/2010

Rodrigo Mourão

Olá Amigo, desculpe a demora. Como não tenho o 2005 não pude tentar mas coloque um Fileupload da HTMLControls mesmo. De um clique com o botão direito do Mouse e selecione Run At Server ou algo similar a isso. A partir dai você poderá trabalhar com ele normalmente. Caso não tenho esta opaco me avise. Att,
Responder

Gostei + 0

27/01/2010

Melkcimar Costa

Rodrigo, tive de fazer umas poucas modificações, pra pegar somente o nome do arquivo sem o path, por exemplo, mas deu td certo, muito obrigado.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar