08. september 2006 - 09:18Der er
3 kommentarer og 1 løsning
TSheelListView - kopier alt incl foldere til FTP (En slags loop)
Hej Jeg benytter er TShellListView samt en idFTP. Jeg skal have alle filer i alle foldere kopieret over på min ftp server. Mit problem er niveauet af foldere og filer - nedestående kode virker jo kun på et niveau. Sagt på en anden måde - hvordan får jeg åbnet alle min "subfolders" og kopieret alle filer i disse foldere - indtil der ikke er flere filer/foldere.
for i := 0 to fileviewIndividual.Items.Count-1 do begin if fileviewIndividual.Folders[i].IsFolder then begin end else
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Du skal lave en rekursiv rutine, dvs. en der kalder sig selv indtil der ikke er flere bib./filer. Hvis du søger efter noget diskscan burde du kunne finde noget kode her på siden.
rekursiv rutimer er ikke noget je ghar rodet med før - jeg fandt følgende, men det hjælper mig ikke rigtigt - har du kendskab til et bedre eksempel ?
if FindFirst(IncludeTrailingBackslash(CPath)+\'*.*\',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 <> \'.\' ) and ( S.Name <> \'..\' ) then begin // Do the stoff here if OkToAddFile(S.FindData.cFileName) then L.AddObject(IncludeTrailingBackslash(CPath)+S.FindData.cFileName,TObject(S.Size)); 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 <> \'.\' ) and ( S.Name <> \'..\' ) then begin ScanFiles(IncludeTrailingBackslash(CPath)+S.Name,Subs,L); ChDir(\'..\'); end; until FindNext(S) <> 0; FindClose(S);
Hej Igen Jeg har lavet nedenstående - men det virker ikke helt efter hensigten - jeg har 2 væsentlige problemer
1. Jeg har ikke den totale "sti" i Srec.Name bør jeg tage den med som en parameter? 2. Når jeg opretter ny folder på ftp, skal jeg skifte "ned" i den og tilbage når jeg er færdig met at kopiere alle filer/foldere ned i denne - hvordan implementerer jeg det ?
function TForm1.fCopyAllFilesInFolder(sRoot : String): boolean; var Srec : TSearchrec; dummy : integer; sdir : string; begin result := false; sdir := trim(sRoot); if sdir = '' then exit; if directoryexists(sRoot) then begin if sdir[length(sdir)] <> '\' then sdir := sdir + '\'; dummy := FindFirst(sdir+'*.*',faAnyfile, SRec); while dummy = 0 do begin if srec.attr = fadirectory then begin ftp.MakeDir(Srec.Name); end else ftp.Put(sRoot, extractFilename(sRoot)); dummy := FindNext(SRec); end; findclose(SRec); end; result := true; // blev det nu også slettet ? end;
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.