![]() |
Ordnerstruktur in Datenbank-Tabelle übertragen inkl. Verweis auf den "Parent"
Hallo,
hat jemand eine Idee wie ich eine Ordnerstruktur (oder ein gesamtes Laufwerk) in eine Datenbank-Tabelle einlesen kann UND die 2 Feldwerte "parent_record_number" und "my_record_number" als Zuweisung erzeugen kann? Ich würde gerne folgende Beispiels-Struktur einlesen: c:\test c:\test\unterordner c:\test\eintrag1_txt c:\test\unterordner\eintrag2_txt in der Tabelle sollte nun stehen
Code:
"is_folder" "name" "my_record_number" "parent_record_number" "full_name"
1 test 100 0 c:\test 1 unterordner 101 100 c:\test\unterordner 0 eintrag1_txt 102 100 c:\test\eintrag1_txt 0 eintrag2_txt 103 101 c:\test\unterordner\eintrag2_txt und wenn möglich - will ich dann NUR die Einträge (inkl. Subfolders) vom "c:\test\unterordner" aktualisieren sowas wie: refresh_structure('c:\test\unterordner'); Hat jemand Ideen, Ansätze oder Hiweise wie ich sowas realisieren könnte? Vielen Dank Erich |
AW: Ordnerstruktur in Datenbank-Tabelle übertragen inkl. Verweis auf den "Parent"
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 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz