Einsteigerfragen zur PROFAN Programmierung

| Suchen
| Zurück zur Übersicht

Autor | Thema: Ordnerinhalt kopieren
Jan Sostaric
| Datum:11.07.02 13:09 (jan@sostaric.at) |
Hallo Leute! Ich hab endlich mal Zeit gefunden, mich ein bisschen an Profan zu setzen. Ich möchte ein bisschen mit Dateien herumkopieren. Ok, eine einzige Datei kann ich so kopieren: COPY "C:\Datei.dat" > "A:\Datei.dat" Klappt wunderbar! Jetzt möchte ich aber den Ordnerinhalt auslesen und kopieren. Hier hab ich folgendes Beispiel entdeckt: ClearList ChDir "C:\SESAME" AddFiles *"*.*" @ListBox$("Ergebnis",1) Ok, das erzeugt ein Fenster, in dem der ganze Ordnerinhalt aufgelistet ist. Wie kann ich nun den durch AddFiles gefundenen Ordnerinhalt mit dem Copy-Befehl bearbeiten? Hoffe, dass mir da jemand weiterhelfen kann. Liebe Grüße, Jan
Rolf Koch
| Datum:11.07.02 14:21 (webmaster@rokosoft.de) |
Hi Jan, habe mal schnell was geschrieben. Wenn Du 4.5 oder so hast, musste Sachen wie Createbutton umschreiben, oder mal mit der Sharewareversion testen. Meinen Code habe ich nämlich in der 7.0er Form geschrieben, also ohne LET und @ Naja, musst aber noch einiges abfragen, hier nur ein Beispiel:
    'BITTE zum Testen einen vollen Ordner Namens C:\Test
    'und einen leeren Ordner Namens C:\Test2 anlegen
    'In einem richtigen Programm müsste auf Existenz
    'geprüft werden!
    'Aussdem wenn Zielpfad = A:\ ist, so prüfen,
    'ob Diskette drin.

    SETTRUECOLOR 1
    DECLARE ENDE%,zahl%,Quell$,Ziel$
    DECLARE LISTBOX1%,datei$
    DECLARE GROUPBOX1%,v1$,v2$,firstz$
    DECLARE BUTTON1%
    DECLARE BUTTON2%
    WINDOWSTYLE 31
    WINDOW 22,20-333,344
    WINDOWTITLE "Neues Fenster"
    CLS @RGB(212,208,200)
    USEFONT "MS Sans Serif",13,0,0,0,0
    SETDIALOGFONT 1

    ' Hier kann ggf. Ihr Menü hin
    FileMode 0		'NUR LESEN
    LISTBOX1% =CREATE("LISTBOX",%HWND,"",0046,0036,0234,0179)
    GROUPBOX1% =CREATE("GROUPBOX",%HWND,"",0020,0013,0281,0281)
    BUTTON1% =CREATE("BUTTON",%HWND,"Kopieren",0052,0235,0070,0030)
    BUTTON2% =CREATE("BUTTON",%HWND,"Ende",0200,0235,0070,0030)
    DRAWICON "DRUCKER",0137,0234

    'hier Pfadangaben - müssen natürlich existieren!!!!!!!
    Let Quell$="C:\Test\"
    Let Ziel$="C:\Test2\"

    chdir "C:\TEST"
    AddFiles "*.*"
    MoveListToList(listbox1%)
    ClearList

    WHILENOT ENDE%
    WAITINPUT
    zahl%=0
       If @EQU(%KEY,2)
          LET ENDE%= 1
       ELSEIF GETFOCUS(BUTTON1%) 'BUTTON
            Usecursor 2
    	Whilenot equ(zahl%,@GetCount(listbox1%))
               if and(neq$(quell$,"[.]"),neq$(quell$,"[..]"))
                  datei$=@GetString$(listbox1%,zahl%)
                  v1$=quell$;datei$
    	      v2$=ziel$;datei$
                  firstz$=@Mid$(datei$,1,1)
    	      if neq$(firstz$,"[")
                     copy  v1$ > v2$
    	      endif
    	   endif
              inc zahl%
            wend
            usecursor 0
            messagebox("Hinweis","Fertig",64)
       ELSEIF GETFOCUS(BUTTON2%) 'BUTTON
    	Let ENDE%=1
       ENDIF
    WEND
Rolf Koch
| Datum:11.07.02 14:27 (webmaster@rokosoft.de) |
Noch was vergessen: In meinem Beispiel werden nur reine Dateien kopiert. Wenn Du auch noch die Unterordner kopieren willst, musst Du ne zusätzliche Schleife bauen, in welcher nach Firstz$ abgefragt wird. (auch an [.] und [..] denken, das sind ja keine Verzeichnise ;)). Aber dies würde hier den Rahmen sprengen ;) Kuck mal ob Du so zuerst mal recht kommst. Rolf
Jan Sostaric
| Datum: 12.07.02 17:50 (jan@sostaric.at) |
Hallo Rolf! Danke, hat mir sehr weitergeholfen :o) Gruß, Jan

| Zurück zur Übersicht

| Ein kostenloses WebMart Forum WebMart Homepage Tools kostenlos |