Einzelnen Beitrag anzeigen

Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#53

Re: Taschenrechner über Tastatur bedienen

  Alt 15. Jan 2007, 20:08
Hallo Stefan,

die Variable easterstring mußt du im private Teil des Formulars unterbringen, damit ihr Inhalt mehrere Aufrufe der FormKeyPress-Routine überlebt. Der Löschbefehl zu Beginn der Routine schadet auch nur, oder?

Probiere es einmal so:

Delphi-Quellcode:
type
  TForm1 = class (TForm)
  ...
  private
    easterstring : string;
  end;

procedure TForm1.FormKeyPress(Sender: TObject; var Key: char);
const
  MAGICTEXT = 'test';
begin
  case key of
    '1' : button1.click;
    ...
    'r' : button23.click;
  else
    easterstring := easterstring + key;
    if (easterstring <> Copy(MAGICTEXT, 1, Length(easterstring)) then
      easterstring := ''
    else
      if (easterstring = MAGICTEXT) then
        begin
          showmessage('hui');
          easterstring := '';
        end;
  end;
end;
Wenn der MAGICTEXT auch Zeichen enthalten soll, die für die Bedienung der Buttons benötigt werden, dann solltest du die Überprüfung aus dem ELSE-Zweig herausnehmen und hinter die CASE-Anweisung verschieben.

Gruß Hawkeye
  Mit Zitat antworten Zitat