Die Komponente stammt aus einer Bibliothek und wird nicht mehr weiterentwickelt.
Sie ist Freeware und hier zu finden:
http://4thfebruary.tripod.com/progra...lib/index.html
Ausgangspunkt der Enwicklung war das TTabSet.
Allgemeines zum Source-Code:
Nunja, bei so kleinen Funktionen spare ich mir das Ausrücken.
Größere Funkionen, wie diese hier sind bereist formatiert, aber eben noch nicht alle großen
Delphi-Quellcode:
////////////////////////////////////////////////////////////////////////////////
// Öffnen: Gloable Funktion "Öffnen"
////////////////////////////////////////////////////////////////////////////////
procedure TMainForm.OpenAFile(FileName:
String);
var i, FileSize, FileType: Integer;
var ShortName:
String;
var IsOpen: Boolean;
var MDi: TChild;
Label OpenLabel;
begin
IsOpen := False;
ShortName := ExtractFileName(FileName);
if Self.MDiChildCount < MAX_FILES
then
begin if FileExists(FileName)
then
begin FileSize := GetFileSize(FileName);
if FileSize < MAX_FILE_SIZE
then
begin // Datei ist nicht zu groß...
for i := 0
to Self.MDiChildCount -1
do // Datei bereits geöffnet?
begin if Self.MDiChildren[i].Hint = FileName
then
begin
Self.MDiChildren[i].BringToFront;
Self.MDiChildren[i].WindowState := wsNormal;
IsOpen := True;
Break;
end;
end;
if not IsOpen
then
begin
FileType := IsBinaryFile(FileName);
// Datei-Typ ermitteln
case FileType
of
-2: AddMessage('
Öffnen: "' + ShortName + '
" wird von einem fremden Prozess verwendet.');
0:
begin OpenLabel:
begin // normal öffnen
Inc(ID);
OpenFileList.Add(FileName);
MDi := TChild.Create(Application);
// leeres Fenster erstellen
MDi.Caption := ShortName;
// Dateiname in der Überschrift speichern
MDi.Hint := FileName;
// Pfad im Hint speichern
MDi.Tag := ID;
// ID im Tag speichern
CreateToolButton(
MDi.Caption, ID);
DetectHighlighter(FileName);
// Syntax zuweisen
try
MDi.Editor.Lines.LoadFromFile(FileName);
except
MDi.Close;
AddMessage('
Öffnen: "' + ShortName + '
" konnte nicht geöffnet werden.');
end;
end;
// Openlabel
end;
1:
begin
if Application.MessageBox(
PChar('
Die Datei "' + ShortName + '
" besitzt ein ungültiges Dateiformat.' + br +
'
Möchten Sie die Datei trotzdem öffnen?'), PChar('
Öffnen'), 36) = ID_YES
then
goto OpenLabel;
end;
end;
// Case
end;
// IsOpen
end else AddMessage('
Öffnen: "' + ShortName + '
" ist zu groß. (' + ByteToMB(FileSize) + '
MB)');
end;
end else AddMessage('
Öffnen: Limit geöffneter Dokumente erreicht. "' + ShortName + '
" wurde nicht geöffnet.');
end;
Eine ToDo-Liste gibt es, diese wird jedoch momentan nicht veröffentlicht.
Zitat:
Das ist mir schon klar! Aebr das ist ja verdammt viel dann - Außerdem: Wenn man WinXP laufen lässt hat man locker schon mal 100MB zusammen! Wink
WinXP läuft bereits ab 64 MB.