Ajuda - Busca - Membros - Calendário
Versão Completa: Sabendo o endereço de internet
Fórum Script Brasil > Programação & Desenvolvimento > Delphi, Kylix
--Anonimo --
É o seguinte, estou fazendo um programa que trabalha com arquivos temporários de internet, os que estão na pasta "C:\Documents and Settings\User1\Configurações locais\Temporary Internet Files".

Mas quando busco os arquivos desta pasta, eles tem nomes diferentes dos nomes mostrados pelo Windows Explorer, e eu preciso identifica-los pelo endereço que representam.

Então eu queria saber como eu obtenho a string do endereço de internet que está associado a esse arquivo, ou pelo menos obter o nome que é mostrado pelo windows explorer.

Veja o nome e endereço dos arquivos temporários -> Vá no Internet Explorer -> menu Ferramentas -> Opções de Internet -> aba Geral -> Histórico de Navegação -> Configurações -> Exibir Arquivos.

Se você's fizerem um teste, vão ver que uma parte dos arquivos é exibida com nome diferente dos retornados pelas funções FindFirst e FindNext do Windows.

Como poderia solucionar isso?

Abraços.
Jhonas
QUOTE

Se você's fizerem um teste, vão ver que uma parte dos arquivos é exibida com nome diferente dos retornados pelas funções FindFirst e FindNext do Windows.
Vejo do jeito como eles estão lá....

QUOTE


Nome:

user-online.png

Propriedades:

images/sb_images/folder_profile_portal/user-online.png

Enedereço na Internet:

http://scriptbrasil.com.br/forum/style_ima...user-online.png



melhor voce postar um exemplo de como voce esta vendo esses arquivos


abraço
--Anonimo --
Bom, Jhonas. Não entendí muito bem o que você disse, mas, aí vai o exemplo:

Tente assistir a um vídeo no YouTube, e depois exiba a pasta de arquivos temporários de internet citada no meu post anterior.

Então você verá que o nome dos arquivos do YouTube será algo como "get_video?video_id=5Bj9BAd2Qpk" certo? E é esse o nome que eu preciso capturar, e se possível capturar também o endereço de internet.

Agora tente clicar com o botão direito em cima desse arquivo e selecione "Copiar". Depois cole ele no desktop. Vai ver que o nome do arquivo vai ser algo como "get_video[7]", o que é diferente do nome exibido dentro da pasta de temporários. O mesmo nome exibido pela busca que estou fazendo. E é do outro nome que eu preciso. Como faço pra capturar esse nome e o endereço?

Abraços.
Jhonas
QUOTE

Então você verá que o nome dos arquivos do YouTube será algo como "get_video?video_id=5Bj9BAd2Qpk" certo? E é esse o nome que eu preciso capturar, e se possível capturar também o endereço de internet.

Agora tente clicar com o botão direito em cima desse arquivo e selecione "Copiar". Depois cole ele no desktop. Vai ver que o nome do arquivo vai ser algo como "get_video[7]", o que é diferente do nome exibido dentro da pasta de temporários.


o nome dos arquivos do YouTube será algo como "get_video?video_id=5Bj9BAd2Qpk" certo?

o nome será um pouco mais extenso do que colocou ... quando voce copia e cola, voce vai ter o nome abreviado

vamos fazer um teste: use este codigo para voce ver se o nome vem completo

use um button e um memo

CODE
function TemAtributo(Attr, Val: Integer): Boolean;
begin
Result := Attr and Val = Val;
end;

procedure ListarArquivos(Diretorio: string; Sub:Boolean);
var
  F: TSearchRec;
  Ret: Integer;
  TempNome: string;
begin
  Ret := FindFirst(Diretorio+'\*.*', faAnyFile, F);
  try
    while Ret = 0 do
    begin
      if TemAtributo(F.Attr, faDirectory) then
      begin
        if (F.Name <> '.') And (F.Name <> '..') then
          if Sub = True then
          begin
            TempNome := Diretorio+'\' + F.Name;
            ListarArquivos(TempNome, True);
          end;
      end
      else
      begin
        Form1.Memo1.Lines.Add(Diretorio+'\'+F.Name);
      end;
        Ret := FindNext(F);
    end;
  finally
  begin
    FindClose(F);
  end;
end;

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
   ListarArquivos('C:\Documents and Settings\User1\Configurações locais\Temporary Internet Files',true);
end;


end.


abraço



--Anonimo --
Primeiro de tudo, você testou esse código e viu o que acontece?

Segundo, os arquivos do youtube não são mostrados por esse código. O porque disso acho que você pode deduzir sozinho.

Terceiro, todos os arquivos foram listados com nome diferente dos mostrados pelo Windows Explorer.

Quarto, abraços.
--Anonimo --
Desculpe, eu to doidão. Os arquivos do YouTube aparecem sim. É que eu esquecí que tinha excluído meus arquivos temporários recentemente.

Mas de qualquer maneira, esse código é praticamente o mesmo que eu estou usando. E eu assistí à um vídeo do YouTube agora e ele é listado como "get_video[x]" apenas, diferentemente do nome do Windows Explorer.

Abraço.
--Anonimo --
Helooo!

Eu to precisando terminar esse programa. E eu sei que isso é possível.

Abraços.
Jhonas
Veja se isto ajuda

http://www.planetadelphi.com.br/ver_artigo.php?id=96

abraço
--Anonimo --
QUOTE

Valeu a tentativa Jhonas, mas não ajudou não. Este código cria o atalho quando você já sabe o endereço, e o que eu quero é descobrir o endereço do arquivo.

Abraços.
Micheus
Vamos ver se damos algum rumo a este tópico.

É improvável que o arquivo na pasta temporária tenha alguma característica diferente de qualquer outro arquivo listado no HD.

Logo, tratando-se fisicamente de uma pasta como outra qualquer, de arquivos como outro qualquer, deve-se pressupor de que haja algum lugar em que permita ao Windows tratar estes arquivos/informações de forma diferente. Se você prestar atenção na pasta Temporary Internet Files\Content.IE5 (ou similar), vai observar que existe um arquivo chamado Index.dat associado a esta pasta (e que não nos é permitido apagá-lo com facilidade).
Com isto em mente, uma busca com relação a este arquivo resulta em artigos interessantes:
- Ver, analisar e apagar conteúdo index.dat
- Index.Dat Files and Primary I.E. Folders
- Reverse Engineering Index.dat

Abraços
Esta é uma versão simplificada de nosso conteúdo principal. Para ver a versão completa com maiores informações, formatação e imagens, por favor clique aqui.
Invision Power Board © 2001-2012 Invision Power Services, Inc.