Thema: Delphi AutoComplete mit SynEdit

Einzelnen Beitrag anzeigen

Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#6

Re: AutoComplete mit SynEdit

  Alt 26. Mai 2006, 22:23
So, habe es jetzt erstmal gelöst. Vielleicht nicht ganz elegant, aber es funktioniert.

Man füllt eine Datei mit folgenden Inhalt :
Code:
[select | Einfache Select-Anweisung]
select | from ;

[selectw | Select-Anweisung mit Where]
select | 
from | 
where |;

[created | Erstellen einer Datenbank]
create database |;

[createt | Erstellen einer Tabelle]
CREATE TABLE | (

);
Diese Datei speichert man als einfach Textfile ab. Dann lädt man dieses Textfile in die Komponente TSynAutoComplete. Danach wendet man noch den folgenden Code an :

Delphi-Quellcode:
  CompletionCmd.InsertList := fAutoComplete.Completions;
  for counter := 0 to fAutoComplete.CompletionComments.Count - 1 do
  begin
    CompletionCmd.ItemList.Add(fAutoComplete.Completions.Strings[counter] + ' | '
      + fAutoComplete.CompletionComments.Strings[counter]);
  end;
Und dann erzeugt man noch die folgende Procedure :
Delphi-Quellcode:
procedure TMainEditForm.CompletionCmdAfterCodeCompletion(Sender: TObject;
  const Value: String; Shift: TShiftState; Index: Integer; EndToken: Char);
begin
  fAutoComplete.ExecuteCompletion(CompletionCmd.InsertItem(Index),SynEditMemo);
end;
Nun wird der Insert-Wert aus der Komponente TSynCompletionProposol (hier mit CompletionCmd bezeichnet) an die Komponete TSynAutoComplete übergeben und der dazugehörige Code im SynEditMemo eingefügt.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat