Autor Beitrag
Sprint
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 849



BeitragVerfasst: So 06.02.05 14:47 
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

function AnzahlAnDateienInDiesemOrdner(const Pfad: String): Integer;
var
  SR: TSearchRec;
begin

  Result := 0;
  if FindFirst(IncludeTrailingBackslash(Pfad) + '*.*', faAnyFile, SR) = 0 then
  begin
    repeat
      if not ((SR.Attr or faDirectory) = SR.Attr) then
        Inc(Result);
    until FindNext(SR) <> 0;
    FindClose(SR);
  end;

end;

procedure TForm1.Button1Click(Sender: TObject);
var
  Anzahl: Integer;
begin

  Anzahl := AnzahlAnDateienInDiesemOrdner('D:\Programmierung\Delphi\Progs\Bilderverwaltung\Bilder\');
  ShowMessage(IntToStr(Anzahl));

end;

end.

_________________
Ciao, Sprint.
jackie
Hält's aus hier
Beiträge: 9

Win XP
D5 Prof
BeitragVerfasst: So 06.02.05 14:56 
Vielen vielen dank,

wenn ich mir den Code so ansehe, dann ist das eigentlich gar nicht so schwer. So wie es aussieht fehlen mir noch ein paar Basics. Sprint ich danke dir erstmal :D
jackie
Hält's aus hier
Beiträge: 9

Win XP
D5 Prof
BeitragVerfasst: Sa 12.02.05 18:10 
Hi Leute,

ich habe zu diesem Thema nochmal eine Frage.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
 

function AnzahlOrdnerImGrafikOrdner(Const Pfad: String): Integer;
var
  SR: TSearchRec;

  begin
    Result:= 0;
    if FindFirst((Pfad), faDirectory, SR)= 0 then
      begin
       repeat
         if  (faDirectory = SR.Attr) then
          Inc(Result);
       until FindNext(SR) <> 0;
      end;
    end;


Der Ordner der geprüft werden soll hat 2 Unterordner. In dieser Funktion aber ermittelt er mir nur einen. Es sollten aber 2 sein.

Bsp.: c:\Ordner\Ordner1 und Ordner2

Die Funktion gibt immer 1 zurück. Kann mir jemand mal nen Tipp geben?

Moderiert von user profile iconChristian S.: Code- durch Delphi-Tags ersetzt.
Sprint
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 849



BeitragVerfasst: Sa 12.02.05 18:22 
jackie hat folgendes geschrieben:
Der Ordner der geprüft werden soll hat 2 Unterordner. In dieser Funktion aber ermittelt er mir nur einen. Es sollten aber 2 sein.


ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
function AnzahlOrdnerImGrafikOrdner(const Pfad: String): Integer;
var
  SR: TSearchRec;
begin

  Result := 0;
  if FindFirst(IncludeTrailingBackslash(Pfad) + '*.*', faAnyFile, SR) = 0 then
  begin
    repeat
      if (SR.Attr or faDirectory) = SR.Attr then
        if not (SR.Name = String('.')) and not (SR.Name = '..'then
          Inc(Result);
    until FindNext(SR) <> 0;
    FindClose(SR);
  end;

end;

_________________
Ciao, Sprint.