AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Code-Bibliothek Neuen Beitrag zur Code-Library hinzufügen Delphi AutoComplete für TMemo, TRichEdit uvm.
Thema durchsuchen
Ansicht
Themen-Optionen

AutoComplete für TMemo, TRichEdit uvm.

Ein Thema von Woodman · begonnen am 12. Dez 2008 · letzter Beitrag vom 24. Dez 2009
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.340 Beiträge
 
Delphi 12 Athens
 
#1

Re: AutoComplete für TMemo, TRichEdit uvm.

  Alt 18. Dez 2008, 07:51
Zu dem Memo ... ich hab langsam die Beführchtung,
es reicht, wenn man nur die ActionList auf's Formular zieht.

Bei Memo1 hab ich es mal (so wie bei dir) ins Popupmenü eingebunden, aber in Memo2 nicht und dennoch geht dieses dort jetzt auch.



Du hast 'nen Fehler beim Befüllen der ListBox ... es fehlen viele Wörter.
(siehe Anhang > Unbenannt.png und Unbenannt2.png)

"sch" = 4464 wörter, aber bei dir sind es nur 5
"fra" = 655 wörter und bei dir sind's wieder nur 5

Gut, ich laß auch nicht unendlich viele Wörter in der ListView zu, da die Delphi-Version leider ein "klitzekleines" Geschwindigkeitsproblem hat, wenn sie zu voll wird.

Zitat:
// Wichtig: Parent festlegen, sonst gibt's
// einen Laufzeitfehler
ach ja, weißt du auch warum?

Owner = Besitzer des Komponente und das kann alles (jeder nachkomme von TComponent) und nichts (nil) sein.
es ist nur derjenige, welcher sich um die Freigabe der Komponente kümmert (wenn er selber freigegeben wird), falls niemand anderes die Komponente freigibt,

welches eigentlich auch der Programmierer machen könnte:
Delphi-Quellcode:
procedure TForm1.FormDestroy(Sender: TObject);
begin
  AutoComplete1.Free;
  AutoComplete2.Free;
  AutoComplete3.Free;
end;
PS: drum hab ich als Owner auch die Edit-Komponente gewählt, da die Funktion an diese Komponente gebunden ist.

Parent aber ist die Komponente, auf welcher deine Komponente dargestellt wird ... und wenn da nichts angegeben ist, wo soll die ListView dann hin? (sozusagen ohne Leinwand um sich zu Zeichnen)



hab jetzt auch mal mit 'ner Version einer "unsichtbaren" ListView gespielt (ListView ist zwar noch vorhanden, da über sie die Eingabe läuft, aber so klein, daß man sie nicht sieht)

die Eingabe wurde verbessert und einige Fehler ausgemerzt
  • Entf-Taste wird nun unterstützt
  • das Schreiben geht flüssiger
  • Wörter werden nicht mehr verfällscht
  • man kann jetzt eine StringList für mehrere Komponenten(TAutoComplete) verwenden
    - einfach statt 'ner normalen StringList beim Laden TCommonWordList (oder deren Nachfahren) übergeben
  • statt nur TStringList und Nachkommen wird jetzt alles ab TStrings, als Quelle, unterstützt

[add]
Wenn du von statt TEdit TCustomEdit entgegennimmst, werden mehr Komponenten unterstützt.
TEdit macht nur einige Methoden sichtbar, welche es in TCustomEdit noch nicht sind und falls du dann innerhalb deiner Komponente Probleme hast auf bestimmte Methoden zuzugreifen, dann einfach nach TEdit casten.

[edit]merk grad, hab mir irgendwo 'nen Fehler bei der Positionierung der ListView eingebaut ... muß ich mal nachsehn wo der sich versteckt


Beitrag #17: AutoComplete.7z (742 KB) - Source+Exe
Angehängte Grafiken
Dateityp: png unbenannt2_108.png (67,7 KB, 38x aufgerufen)
Dateityp: png unbenannt_570.png (66,0 KB, 35x aufgerufen)
Dateityp: png demo_110.png (19,9 KB, 47x aufgerufen)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort


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 01:42 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