Einzelnen Beitrag anzeigen

bigg
(Gast)

n/a Beiträge
 
#72

Re: Codepad - Quelltexteditor

  Alt 8. Jul 2005, 15:43
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.
  Mit Zitat antworten Zitat