Avatar billede snowball Novice
27. april 2001 - 16:46 Der er 15 kommentarer og
1 løsning

Find, check og evt. slet

Jeg skal til at lave en lille program som skal løbe ca. 50 foldere igennem (indeholder til sammen over 50000 filer!), finde størrelsen på hver fil og slette den hvis størrelsen er under x antal kb.

Det jeg søger søger er lidt hjælp til hvordan det kan gøre på en let og forholdsvis hurtig måde. Det skal vel foregå i tråde og det har jeg mildest talt ikke ret meget forstand på. Så et lille eksempel på hvordan man søger en række foldere igennem og hvordan man finder størrelsen på de filer der ligger i folderen ville være helt fint :)

Snowball
Avatar billede minijensen1 Nybegynder
27. april 2001 - 17:54 #1
Delphi?!? Ikke lige min kop the, hvad med Visual Basic?
Avatar billede snowball Novice
27. april 2001 - 18:00 #2
Hvis du vil lave hele programmet for 139 point så er det da i orden !? :) Jeg kender bare ikke ret meget til VB og har ikke programmer så jeg kan kopilere VB kode !

Snowball
Avatar billede minijensen1 Nybegynder
27. april 2001 - 18:04 #3
Jeg går igang her lidt senere (jeg skal nemlig lige hjem), og så er jeg forhåbentlig færdig i aften!  :-)
Avatar billede ziron Nybegynder
27. april 2001 - 18:08 #4
Det var da et sjovt antal point du har fundet dig Snowball???

/ZIRON
Avatar billede snowball Novice
27. april 2001 - 18:10 #5
Lyder godt :)

Hvis der bare er 2 edit bokse hvor jeg kan vælge stien og min. filstørrelse og en knap der starter det hele, så er det fint! Evt. også noget status agtigt noget :)

Snowball
Avatar billede minijensen1 Nybegynder
27. april 2001 - 18:13 #6
ziron >> Fordi at så har han et \"rundt\" antal point...  *g*
Avatar billede snowball Novice
27. april 2001 - 18:13 #7
ziron: Ved det, men nu har jeg så\'n et \"pænt afrundet\" antal point ;)

Snwoball
Avatar billede ziron Nybegynder
27. april 2001 - 18:15 #8
kigger lige :-)

/ZIRON
Avatar billede ziron Nybegynder
27. april 2001 - 18:16 #9
jamen hvor er det dog pænt 17800 point he he :-)

/ZIRON
Avatar billede martinlind Nybegynder
27. april 2001 - 19:11 #10
Hvad med sådan :

-------

procedure ScanFiles( const aPath,aMask : String; Subs : Boolean );
VAR
  S  : TSearchRec;
  CPath : String;
begin
  ChDir(aPath);
  GetDir(0,CPath);

  if FindFirst(IncludeTrailingBackslash(CPath)+aMask,faANYFILE,S) = 0 then
  repeat
      if ( S.Attr and faSysFile = 0 ) and ( S.Attr and faDIRECTORY = 0 ) and
        ( S.Attr and faVolumeID = 0 ) and ( S.Name[1] <> \'.\' ) and ( S.Name[1] <> \'..\' ) then
      begin
        // Check fil størelse her og slet hvis nødvendigt
  Fundet fil = IncludeTrailingBackslash(CPath)+S.FindData.cFileName;
      end;
  until FindNext(S) <> 0;
  FindClose(S);

  if Subs and ( FindFirst(\'*.*\',faDIRECTORY,S) = 0 ) then
  repeat
      if ( S.Attr and faDIRECTORY <> 0 ) and ( S.Name[1] <> \'.\' ) and ( S.Name[1] <> \'..\' ) then
      begin
        ScanFiles(IncludeTrailingBackslash(CPath)+S.Name,aMask,Subs);
        ChDir(\'..\');
      end;
  until FindNext(S) <> 0;
  FindClose(S);
end;

Procedure TForm1.Button1.Click( Sender : TObject );
begin
  ScanFiles(\'C:\\TempFiles\',\'*.*\',TRUE); 
end;

-------------------

/Martin
Avatar billede martinlind Nybegynder
27. april 2001 - 19:13 #11
TSearchRec indeholder alle de fil informationer du har brug for og delphi har alle Fil-rutiner, deletefile osv.
Avatar billede snowball Novice
27. april 2001 - 23:23 #12
Så lykkedes det!

Ved brug af Martins rutine og ved lidt hjælp fra http://borrisholt.com kører det som det skal :)

Hvis det har nogens interesse så kan projektet hentes på nedenstående link:

http://home1.inet.tele.dk/j-cgeert/search.zip

Så nu vil jeg ikke håbe minijensen1 er gået i gang med at lave noget !?

Tak for hjælpen !

Snwoball
Avatar billede minijensen1 Nybegynder
27. april 2001 - 23:25 #13
Hihi, jeg var faktisk lige blevet færdig!
http://213.237.78.23/snowball/Project1.exe
Du kan bare hente det og se om det kan bruges til noget!
Avatar billede snowball Novice
27. april 2001 - 23:29 #14
hhmmm...kan ikke hente filen !?

Snowball
Avatar billede martinlind Nybegynder
28. april 2001 - 00:34 #15
Selv tak :-)
Avatar billede ziron Nybegynder
28. april 2001 - 20:59 #16
Snowball >> sidder lige og kigger på dit projekt og tror jeg har fundet en fejl :-(

husk at sætte disse:

TCount := 1;
DCount := 0;

ved goclick....

ellers flot nok det må jeg sku sige...

/ZIRON
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester