AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Codepad - Quelltexteditor
Thema durchsuchen
Ansicht
Themen-Optionen

Codepad - Quelltexteditor

Ein Thema von bigg · begonnen am 18. Apr 2005 · letzter Beitrag vom 31. Aug 2008
 
bigg
(Gast)

n/a Beiträge
 
#11

Re: Codepad - Quelltexteditor

  Alt 8. Jul 2005, 14: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
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz