Fórum Movendo arquivos #457111

01/10/2013

0

Galera alguem me ajuda aqui, ele executa certinho mais na linha do MOveFile, ele não esta movendo o arquivo, o caminho que a edit recebe seria C:\Teste.txt e a edit destino seria C:\Pasta1 , alguém sabe o pq dele não estar movendo o arquivo ? :s

begin
A:=false;
AssignFile(arq, edtRecebeCaminho.Text);

{$I-} // desativa a diretiva de Input
Reset(arq); // [ 3 ] Abre o arquivo texto para leitura
{$I+} // ativa a diretiva de Input
A := true;
while not eof(arq) do
begin

readln(arq, linha); // [ 6 ] Lê uma linha do arquivo
if (copy(linha, 1, 56) = 'ALERTA : Cupom Fiscal já registrado no sistema na linha ') then
begin
end;
end;
if (copy(linha, 1, 56) = 'ALERTA : Cupom Fiscal já registrado no sistema na linha ') then
begin
CloseFile(arq);
MoveFile(Pchar(edtRecebeCaminho.Text),pchar(edtDestino.text));
showmessage('Arquivos Separados');
end;
Lucas Garcia

Lucas Garcia

Responder

Posts

01/10/2013

Marcos Oliveira

Lucas, tenta colocar no destino, o caminho completo do arquivo: Pasta + Nome do arquivo.extensão.

Att,

Marcos
Responder

Gostei + 0

01/10/2013

Lucas Garcia

Não deu certo amigo , :(
Responder

Gostei + 0

01/10/2013

Lucas Garcia

Alguem ? :s
Responder

Gostei + 0

01/10/2013

Marcos Oliveira

Lucas, faça um teste, por favor: Coloque um breakpoint na linha do MoveFile e espere. Depois tente mover o arquivo manualmente.
Se conseguir mover o arquivo, realmente você tem um problema no seu fonte. Se não conseguir mover, o arquivo pode ainda estar aberto.

Att,

Marcos
Responder

Gostei + 0

01/10/2013

Lucas Garcia

Obrigado Marcos, manualmente ele move mesmo, o problema é que eu não consigo ver onde eu errei
Responder

Gostei + 0

01/10/2013

Marcos Oliveira

Lucas, creio que o problema esteja no seu fonte mesmo. Teria como você postar o conteúdo de um arquivo texto seu, para que eu possa analisar?
Responder

Gostei + 0

01/10/2013

Lucas Garcia

O conteúdo do arquivo de texto está assim:
aaa
204
ALERTA: Cupom Fiscal já regis65465rado no sistema na linha
ALERTA: Cupom Fiscal já registrado no sis54545tema na linha
ALERTA: Cupom Fiscal já registrado no sistema na linha

ah intensão é que ele busque somente pela linha correta
Responder

Gostei + 0

01/10/2013

Marcos Oliveira

Lucas, repare o seu fonte e o conteúdo que você me mandou. No seu fonte, após a palava ALERTA, tem um espaço. No conteúdo que você me mandou não tem.
Pode ser esse o problema.

De qualquer forma, fiz algumas modificações no seu fonte, e comigo deu certo.

var
   A: Boolean;
   Arq: TextFile;
   linha: String;
begin
     A:=false;
     AssignFile(arq, edtRecebeCaminho.Text);

     {$I-} // desativa a diretiva de Input
     Reset(arq); // [ 3 ] Abre o arquivo texto para leitura
     {$I+} // ativa a diretiva de Input
     while not eof(arq) do
     begin
          readln(arq, linha); // [ 6 ] Lê uma linha do arquivo
          if (Trim(linha) = 'ALERTA: Cupom Fiscal já registrado no sistema na linha') then
             A := true;
     end;
     CloseFile(arq);
     if A then
     begin
          MoveFile(Pchar(edtRecebeCaminho.Text),pchar(edtDestino.text));
          showmessage('Arquivos Separados');
     end;
end;


Att,

Marcos
Responder

Gostei + 0

01/10/2013

Lucas Garcia

Bom Marcos coloquei o código da sua forma também, e não adiantou, o código está perfeitamente igual ao seu, ele mostra a message avisando que foi separado, entretanto não funciona
Responder

Gostei + 0

01/10/2013

Marcos Oliveira

O que você informa nos campos EdtRecebecaminho e EdtDestino?
Responder

Gostei + 0

01/10/2013

Lucas Garcia

edtRecebeCaminho = S:\Testes\Programa\erros\teste.txt
edtDestino = S:\Testes\Programa\erros\erros103

ele tem um Open dialog em buttons para cada edit, funcionam perfeitamente, e a parte do arquivo txt o usuario inseri sem apagar o restante do caminho
Responder

Gostei + 0

01/10/2013

Marcos Oliveira

Blz. Faça um teste aí: informe no destino o conteúdo abaixo:
edtDestino = S:\Testes\Programa\erros\erros103\teste.txt

Veja se o arquivo será movido.

Att,

Marcos
Responder

Gostei + 0

01/10/2013

Lucas Garcia

Então fiz o teste , e também não foi movido rs , to pensando em ir me benzer porque ta complicado
Responder

Gostei + 0

01/10/2013

Marcos Oliveira

Como você mesmo disse, manualmente, você consegue, certo?
Tente executar seu projeto como administrador, e refaça os testes, inclusive esse último.
Calma que vamos chegar lá!
Responder

Gostei + 0

01/10/2013

Lucas Garcia

Pronto acabei de fazer os testes em usuario administrador, mesmo assim não deu certo, ele só me manda a mensagem mais quando vou verificar o arquivo continua na mesma pasta
Responder

Gostei + 0

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

Aceitar