Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Memo-Komponente zum Testen (https://www.delphipraxis.net/52008-memo-komponente-zum-testen.html)

xaromz 22. Aug 2005 16:14


Memo-Komponente zum Testen
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo,

wie ich schonhier erwähnt habe bin ich gerade beim Schreiben einer Memo-Komponente mit einigen Erweiterungen:
  • Unterscheidung zwischen Zeilenwechsel und Absatz
  • Basic-Formatierungen ähnlich wie RTF (fett, kursiv...)
  • Anzeige von Steuerzeichen (ähnlich wie Word)
  • Einbindung von ASpell zur Rechtschreibprüfung
  • Unicode-Support
  • Einfügen/Überschreiben
Ich hab den momentanen Stand mal hochgeladen (ein kleiner Beispieleditor ist auch dabei). Vielleicht kann sich ja mal einer die Komponente anschauen und Fehler finden oder Verbesserungsvorschläge machen (Ein mehrfaches Undo/Redo ist schon in Planung, evtl. auch RTF-Im-/Export).
Zum Laden von Dokumenten greift mein Beispieleditor auf Word zurück (LoadFromMSWord), um z. B. *.doc zu laden (das aber noch ohne Formatierungen). Wer kein Word hat sollte einfach LoadFromFile verwenden. Dann geht aber nur noch *.txt.
Die Nutzung der Komponente ist selbstverständlich auch gestattet.

Damit die Rechtschreibung funktioniert muss Aspell sowie ein oder mehrere Wörterbücher installiert werden. Wie das geht findet man auf der Seite von ASpell.

Ich freue mich auf Rückmeldungen.

Gruß
xaromz

toms 17. Nov 2005 20:11

Re: Memo-Komponente zum Testen
 
Hallo,

Kannst du mal eine EXE Beispiel Programm hochladen, habe grad kein Delphi "zur Hand"

xaromz 17. Nov 2005 20:22

Re: Memo-Komponente zum Testen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

klar doch!

Gruß
xaromz

mimi 19. Nov 2005 18:22

Re: Memo-Komponente zum Testen
 
mein vorschlang währe jetzt(habe es jetzt nicht getestet) sowas änliches wie sysedit... dazu zu packen *G*

xaromz 19. Nov 2005 18:39

Re: Memo-Komponente zum Testen
 
Hallo,
Zitat:

Zitat von mimi
mein vorschlang währe jetzt(habe es jetzt nicht getestet) sowas änliches wie sysedit... dazu zu packen *G*

:gruebel:

Gruß
xaromz

DGL-luke 19. Nov 2005 19:52

Re: Memo-Komponente zum Testen
 
er meint wohl synedit...

also eine highlighter-funktion.

xaromz 19. Nov 2005 21:21

Re: Memo-Komponente zum Testen
 
Hallo,

dachte ich mir schon. Aber dann soll er SynEdit nehmen...
Meine Komponente ist ja nur ein erweitertes Memo mit beschränkten Möglichkeiten zur Textformatierung und Silbentrennung/Rechtschreibprüfung.

Gruß
xaromz

jim_raynor 19. Nov 2005 21:31

Re: Memo-Komponente zum Testen
 
MMh. Kann es sein, dass du in irgendeiner Form Word verwendest? Es öffnet sich nämlich immer ein neuer Prozess. Heisst also die Komponente funktioniert nicht ohne MS-Office?

Das Laden von Dateien dauert verhältnismäßig lange. Vermute mal es hängt mit Word zusammen.

malo 19. Nov 2005 21:44

Re: Memo-Komponente zum Testen
 
Zitat:

Zitat von jim_raynor
Es öffnet sich nämlich immer ein neuer Prozess.

Das ist meistens so, wenn man ein Programm startet :zwinker:

Zitat:

Das Laden von Dateien dauert verhältnismäßig lange. Vermute mal es hängt mit Word zusammen.
Also einen Word-Prozess kann ich bei bestem Willen nicht finden ;)

Daniel B 19. Nov 2005 21:50

Re: Memo-Komponente zum Testen
 
Schau vorher nach ob Eine Office-Anwendung, in Deinem Fall Word geöffnet ist.

Delphi-Quellcode:
function IsOfficeProgActive(sClassName: String): Boolean;
//Aufrufbeispiel
{procedure TForm1.Button1Click(Sender: TObject);
begin
  if IsOfficeProgActive('Word.Application') then
    ShowMessage('Word läuft');
  if IsOfficeProgActive('Excel.Application') then
    ShowMessage('Excel läuft');
  if IsOfficeProgActive('Outlook.Application') then
    ShowMessage('Outlook läuft');
  if IsOfficeProgActive('Access.Application') then
    ShowMessage('Access läuft');
  if IsOfficeProgActive('Powerpoint.Application') then
    ShowMessage('Powerpoint läuft');
end;}
var
  ClassID: TCLSID;
  Unknown: IUnknown;
begin
  try
    ClassID := ProgIDToClassID(sClassName);
    Result := GetActiveObject(ClassID, nil, Unknown) = S_OK;
  except
    Result := False;
  end;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:06 Uhr.
Seite 1 von 2  1 2      

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