Kylix

Post Reply
Message
Author
Eremit

Kylix

#1 Post by Eremit »

hallo,
1. wie kann ich ein verzeichnis auflisten und dazu auch noch die dateien anzeigen? das ganze mit kylix, da ich früher viel mit delphi gemacht habe.
2. wie kann ich diesen absolut blöden splash-screen von borland abschalten, der bei jedem start angezeigt wird?

Eremit

e-Man

Re: Kylix

#2 Post by e-Man »

Hallo Eremit,

ich hoffe, daß dir folgendes Codefragment hilft. Habs mal für ein programm geschrieben, das mir für webseiten eine sitemap erstellt (jede beliebige dateiendung). jedenfalls durchläuft es rekursiv ein verzeichnis. kommt aber von delphi 3 o. 4, sollte auch unter kylix funzen, aber ich weiß nicht, wie es sich mit symlinks verhält, bin gerade dabei das prog zu portieren.
die treenodes sind für meine darstellung da, hab eine baumansicht erstellt.

du brauchst eine routine, die sich einen pfad schnappt und alle vorkommenden dateien erkennt (scanDirectory). jeden dateinamen übergibst du an eine funktion processSearchRec, die dann bestimmen kann, was damit passieren soll.

\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
procedure ScanDirectory(Pfad : String; rek : Boolean; trOwner : TTreeNode);
const
Attr = faAnyFile;
var
F : TSearchRec;
Found : Integer;

begin
{schätze, hier sollte besser stehen >Pfad+'/*'< )
Found := FindFirst(Pfad+'\*.*', Attr, F);
while Found = 0 do begin
{Zählt mit, wieviele dateien gefunden wurden}
Inc(datei_c1);
Label5.Caption := IntToStr(datei_c1);
If (f.Name <> '.') and (f.Name <> '..') then
ProcessSearchRec(F, Pfad, trOwner);
Found := FindNext(F);
end;
{ganz wichtig}
FindClose(F);
end;

procedure ProcessSearchRec(SR : TSearchRec; Pfad : String; trOwner : TTreeNode);
var
tn : TTreeNode;
begin
{rekursiv : boolean, gibt an, ob unterverzeichnisse gescannt
werden sollen}
if ((SR.Attr and faDirectory)<>0) and rekursiv then begin
tn := TreeView1.Items.AddChild(trOwner, SR.Name);
tn.Data := Ptr_Ordner;
ScanDirectory(Pfad + '\'+SR.Name, rekursiv, tn);
end else
CheckExtendsion(Pfad + '\'+SR.Name, trOwner);
end;


procedure CheckExtendsion(Datei : String; trOwner : TTreeNode);
var
FileName,
ext : String;
c1, c2 : Integer;
tn : TTreeNode;
begin
FileName := ExtractFileName(Datei);
Ext := '';
for c1 := 1 to Length(FileName) do
if (FileName[c1] = '.') then begin
c2 := c1;
Ext := Copy(FileName, c2+1, Length(FileName) - c2);
end;
{ExtList ist eine Liste mit Erweiterungen
(wer hätte das gedacht?)}
If ExtList.IndexOf(Ext) > -1 then begin
FileName := Copy(Datei, 3, Length(Datei) - 2);
{ist dazu da, msdos pfade in unixpfade zu wandeln}
If CheckBox6.Checked then
for c1 := 1 to Length(Filename) do
If FileName[c1] = '\' then FileName[c1] := '/';
{TreeView}
tn := TreeView1.Items.AddChild(trOwner, ExtractFileName(Datei));
tn.Data := Ptr_Datei;
tn.ImageIndex := Datei_I;
tn.SelectedIndex := Datei_I;
{noch'n dateicounter}
Inc(datei_c2);
Label6.Caption := IntToStr(datei_c2);
end;
end;

\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/

wie du dir dann die dateien anzeigen lässt, muß du selbst wissen.

noch was zum splash screen: entweder a) du kaufst dir die personal edition für ca. 250 DM oder b) zu kaufst die die volle suite für >2500DM oder c) bei borland gibt's eine anleitung, wie man diesen screen anpassen kann. ansonsten ist das halt der preis fürs kostenlose kylix

greetings

User avatar
julius
Posts: 209
Joined: 10. Apr 2001 11:08
Location: Hannover
Contact:

Re: Kylix

#3 Post by julius »

@ e-Man

Hmm, es gibt eine Personal Edition von Kylix für ~250,- DM? Wo haste das denn her? AFAIK gibt es eine Desktop Developer für ~500,- DM und eine Server Developer für >2000,- DM. Oder irre ich mich?
Wenn die Personal Edition existiert, worin bestehen denn da dann die Einschränkungen?

bye
Julius

Leander Hanwald

Re: Kylix

#4 Post by Leander Hanwald »

Die 250 DM Version ist die Open Version samt Handbuch und CD. Es bleiben aber die Open EInschränkungen bestehen.

e-Man

Re: Kylix

#5 Post by e-Man »

Hab ich wohl den Euro-Preis gesehen?

Noch was, falls du (oder jeder andere auch) Interesse habt, ich habe den Krempel jetzt auf Kylix portiert, ist eine hübsche Unit draus geworden. Download ist demnächst möglich bei sourceforge.net.
Wer solange nicht warten möchte, kann sie auch schon vorher bekommen. (Testpersonen gesucht <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">
Meldet euch unter holw@gmx.de.

grüße
e-man

Eremit

Re: Kylix

#6 Post by Eremit »

holla,
ich dachte es würde auch eine einfachere lösung geben. bei delphi selber kann man das doch auch elegant lösen.

danke für die lösung.

Eremit

Post Reply