Einzelnen Beitrag anzeigen

Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: mit einem Template das aktuelle Datum auszulesen?

  Alt 20. Feb 2008, 08:40
Du kannst dafür mit dem ToolsAPI ein Keyboard-Binding erstellen. Dann hast Du Zugriff auf den Editor, siehe Programmgerüst (enthält nur das nötigste, ungetestet):
Delphi-Quellcode:
interface
uses ToolsAPI;

procedure Register

implementation

type
  TMeineKeyBoardKlasse = class(TNotifierObject, IOTAKeyboardBinding)
  public
    function GetBindingType: TBindingType;
    function GetDisplayName: string;
    function GetName: string;
    procedure BindKeyboard(const BindingServices:
      IOTAKeyBindingServices);
    procedure KeyLastUpdated(const Context: IOTAKeyContext;
      KeyCode: TShortcut;
      var BindingResult: TKeyBindingResult);
  end;

procedure Register;
begin
  (BorlandIDEServices as IOTAKeyboardServices).
    AddKeyboardBinding(TMeineKeyBoardKlasse.Create);
end;

function TMeineKeyBoardKlasse.GetBindingType: TBindingType;
begin
  (* Nur teilweise Keyboard umbelegen *)
  Result := btPartial;
end;

function TMeineKeyBoardKlasse.GetDisplayName: string;
begin
  (* Anzeige in den Optionen *)
  Result := 'Meine Tastaturbelegung';
end;

function TMeineKeyBoardKlasse.GetName: string;
begin
  Result := 'mein.keyboard'; // muss einmalig sein
end;

procedure TMeineKeyBoardKlasse.BindKeyboard(
  const BindingServices: IOTAKeyBindingServices);
begin
  (* Taste mit Adresse der Funktion hinzufügen *)
  BindingServices.AddKeyBinding([TextToShortCut('Ctrl+Shift+F5')], KeyLastUpdated, nil);
end;

procedure TMeineKeyBoardKlasse.KeyLastUpDated(const Context: IOTAKeyContext;
  KeyCode: TShortcut; var BindingResult: TKeyBindingResult);

var
  iEditPos: IOTAEditPosition;
begin
   BindingResult := krHandled;
   (* Hurrah, das eigenliche Ziel ist erreicht! *)
   iEditPos:= Context.EditBuffer.EditPosition;
   iEditPos.InsertText(FormatDateTime('dd.mm.yyyy - hh:nn', now));
end;
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat