Autor Beitrag
tmkb
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 59



BeitragVerfasst: Fr 28.06.02 13:35 
Hallo,

Habe ein bißchen weiter unten den Threat gesehen wie man von einzelnen Files die Byte Anzahl bekommt. Das ist auch sehr hilfreich doch wie stelle ich es an wenn ich die Gesamt-Größe von kompletten Verzeichnissen mit Inhalt haben will?
Klar es ginge recht umständlich wenn ich von allen Files die in dem Verzeichnis sind die Bytezahl auslese und addiere, aber gibts auch ne Möglichkeit direkt Die Anzahl herauszubekommen, die ein bestimmtes Verzeichnis an Speicher braucht? thx! TMKB
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Fr 28.06.02 13:47 
Hi,

nein die gibt es leider nicht.
Du musst alle Dateigrößen addieren, wenn du unterverzeichnisse mit einbeziehen wills, dann must du das ganze sogar rekursiv machen.
Wenn du mal im Explorer mit Rechst auf einen größeren Ordner klickst und die Eigenschaften anforderst kannst du Windows dabei beobachten wie es die Dateigrößen zusammenzählt.

Gruß
Klabautermann
Pit
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 160



BeitragVerfasst: Fr 28.06.02 13:54 


Zuletzt bearbeitet von Pit am Sa 05.10.02 05:25, insgesamt 1-mal bearbeitet
tmkb Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 59



BeitragVerfasst: Fr 28.06.02 15:15 
thx Pit, die Unit hat mir weitergeholfen!
Weiß zufällig noch jemand wie man den Filter bei dem Opendialog so setzen kann, dass man nur Ordner auswählen kann und keine Dateien? Thx!
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Fr 28.06.02 15:46 
Hi,

ich wüsste nicht wie das mit dem Open-Diolog geht aber vieleicht genügt dir ja der Befeh SelectDirectory.

Gruß
Klabautermann
DeCodeGuru
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1333
Erhaltene Danke: 1

Arch Linux
Eclipse
BeitragVerfasst: Fr 28.06.02 16:24 
Zitat:
Weiß zufällig noch jemand wie man den Filter bei dem Opendialog so setzen kann, dass man nur Ordner auswählen kann und keine Dateien?


Wenn du Delphi 6 benutzt, kannst du die Komponente TShellTreeView (Beispiel). Wenn du kein Delphi6 hast, musst du bzw. kannst du die Win 3.1-Kompos verwenden

_________________
Viele Grüße
Jakob
tmkb Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 59



BeitragVerfasst: Fr 28.06.02 21:57 
Hmm...aber die TreeView funktion ist nicht genau das was ich suche...ich möchte es lieber in einer DialogBox auswählen können...die Opendialog Komponente wäre dafür ideal...gibts da nich ne möglichkeit ein verzeichnis mit opendialog zu bestimmen?thx
cbs
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 207
Erhaltene Danke: 1



BeitragVerfasst: Fr 28.06.02 22:40 
Tag auch

wie Klabautermann schon geschrieben hat, mit SelectDirectory hast du einen auswahl dialog mit dem du ein verzeichniss/laufwerk auswählen kannst.
ausblenden Quelltext
1:
function SelectDirectory(const Caption: string; const Root: WideString; out Directory: string): Boolean; overload;					

Caption: Da gibst du nen kleinen Text an z.B. 'Bitte Verzeichniss wählen'
Root: Da kanst du die Auswahl quasi auf eine verzeichniss beschränken, z.b. 'c:\' würde eben nur laufwerk c: und die unterordner zur auswahl angezeigt werden, soll alles angezeigt werden lässt dus frei (leerstring '')
Directory: hier gibst du eine string variable an in der das vom benutzer ausgewählte verzeichniss geschreiben wird
Result: gibt an ob der benutzer auf ok (true) oder auf abbrechen/schließen (false) geklickt hatt

außerdem mußt du noch die unit FileCtrl einbinden

das findest du alles in der delphi hilfe, unter SelectDirectory findest du noch eine 2. function mit andern params... probier aus welche dir besser gefällt

ich hoffe das ist es was du meintest, probiers mal aus...

gute nacht, cbs
tmkb Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 59



BeitragVerfasst: Fr 05.07.02 22:57 
ähm..und mit welchem befehl ruf ich dann den Dialog auf?
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Sa 06.07.02 12:35 
na genauso wie es oben beschrieben ist:

mit SelectDirectory!!!

Gruß
TINO
tmkb Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 59



BeitragVerfasst: Sa 06.07.02 16:11 
hmmm..da bringt er bei mir, "There is no overloaded version of 'Selectdirectory' that can be called with this these arguments"
..

Ich check grad irgendwie nich wie ich die Function gescheit einbinde..

Kannst du mir kurz sagen wo ich die Zeile reinschreiben muss (function SelectDirectory(const Caption: string; const Root: WideString; out Directory: string): Boolean; overload;) ? bzw wärst du so nett und könntest mir kurz nen fertigen source hinposten, wie es klappt? thx!
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Sa 06.07.02 16:17 
Compiler hat folgendes geschrieben:
There is no overloaded version of 'Selectdirectory' that can be called with this these arguments
Da hast Du dann wohl die Parameter nicht richtig übergeben. In der Delphihilfe und in dem Posting von cbs wird erklärt welche Parameter in welcher Reihenfolge angegeben werden müssen.

Hier mal das Beispiel aus der Delphihilfe:

Zu diesem Beispiel gehören eine Schaltfläche und eine Beschriftung in einem Formular. Wenn der Benutzer auf die Schaltfläche klickt, wird ein Dialogfeld zur Dateiauswahl angezeigt. Als aktuelles Verzeichnis wird C:\MYDIR eingestellt. Der Benutzer kann ein Verzeichnis aus der Liste auswählen oder einen neuen Namen in ein Textfeld eingeben. Bei Eingabe eines neuen Verzeichnisnamens erscheint eine Abfrage, ob das Verzeichnis angelegt werden soll. Wenn der Benutzer JA wählt, wird das Verzeichnis angelegt. Bei Auswahl von Nein wird das Meldungsfeld wieder ausgeblendet, ohne das Verzeichnis anzulegen. Der Name des ausgewählten Verzeichnisses wird als Beschriftungstext angezeigt.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
uses FileCtrl;

const
  SELDIRHELP = 1000;

procedure TForm1.Button1Click(Sender: TObject);
var
  Dir: string;
begin
  Dir := 'C:\MYDIR';
  if SelectDirectory(Dir, [sdAllowCreate, sdPerformCreate, sdPrompt],SELDIRHELP) then
    Label1.Caption := Dir;
end;

Gruß

Moderiert von user profile iconraziel: Code- durch Delphi-Tags ersetzt


Zuletzt bearbeitet von Tino am So 07.07.02 00:52, insgesamt 1-mal bearbeitet
tmkb Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 59



BeitragVerfasst: Sa 06.07.02 16:57 
thx!
XxWichtxX
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Mi 15.01.03 00:36 
thx hast mir auch geholfen :)