Einzelnen Beitrag anzeigen

Benutzerbild von erich.wanker
erich.wanker

Registriert seit: 31. Jan 2008
Ort: im schönen Salzburger Land
460 Beiträge
 
Delphi XE4 Professional
 
#2

AW: Ordnerstruktur in Datenbank-Tabelle übertragen inkl. Verweis auf den "Parent"

  Alt 3. Mär 2023, 13:32
ok .. habs zusammengebracht


InsertDirectory('f:\erich\ordnertest',0,true);


Code:
 private
    { Private declarations }
    gl_in_dummy_integer:integer;
    lo_import_current:integer;
    new_inr            :Integer;

    function InsertDirectory(const Name: string; Ziel:Integer; insert:Boolean):Integer;
Delphi-Quellcode:
function TForm1.InsertDirectory(const Name: string; Ziel:Integer; insert:Boolean):Integer;
var
    F :TSearchRec;
    my_file_name :String;

begin

    if FindFirst(Name + '\*', faAnyFile, F) = 0 then begin
        try
            repeat
                //if (F.Attr and faDirectory <> 0) then // - wenn ich NUR Directorys haben will
                //begin
                    if (F.Name <> '.') and (F.Name <> '..') then begin
                        if (NOT insert) then
                        begin
                            //Nur zählen für Abfrage
                            inc(gl_in_dummy_integer);
                        end else begin
                            //Ordner einfügen und INR abspeichern in gl_in_dummy_integer
                            inc(lo_import_current);
                            new_inr := new_inr+1;
                            //create_objects_pas.new_structure( new_inr, Ziel, F.Name, 1, new_inr);
                            memo1.Lines.Append(F.Name +' '+inttostr(Ziel)+' ' +inttostr(new_inr)+' '+Name);

                            //Die INR des neuen Ordners zwischenspeichern damit wir die anderen Sachen da anhängen können!
                            gl_in_dummy_integer := new_inr;
                        end;
                        //showmessage('nr: '+inttostr(gl_in_dummy_integer)+' Ordner: '+Name + '\' + F.Name);
                        InsertDirectory(Name + '\' + F.Name, gl_in_dummy_integer, insert);
                    end;



                //end;
            until FindNext(F) <> 0;
            //RemoveDir(Name);
        finally
            FindClose(F);
        end;
    end;
    result := 0;
end;


Code:
Memo1
test 1    0    1    f:\erich\ordnertest
t1.txt   1    2    f:\erich\ordnertest\test 1
test 2    0    3    f:\erich\ordnertest
t2.txt   3    4    f:\erich\ordnertest\test 2
test 3    3    5    f:\erich\ordnertest\test 2
t3.txt   5    6    f:\erich\ordnertest\test 2\test 3
Erich Wanker - for life:=1971 to lebensende do begin ..
O
/H\
/ \
  Mit Zitat antworten Zitat