Ich bitte um euere Hilfe bei den procedures KeyPress und/oder KeyDown. Ich selber
habe mit diesen noch nie etwas zu tun gehabt. Bei einem meiner Programme würde es
sich als vorteilhaft auswirken wenn man den Fokus statt mit der TAB-Taste mit der
RETURN-Taste bewerkstelligen könnte.
Mein Problem:
Ich habe vier Edit-Boxen die Daten aufnehmen und diese dann in Variablen abgespeichert
werden um später aufgerufen und verwendet zu werden. Der Fokus von Edit1 bis Edit4 wird
per Druck auf die TAB-Taste und anschließender Eingabe verschoben. Das funktioniert so
weit sehr gut. Doch könnte man diese Eigenschaft auf die RETURN-Taste übertragen so
könnte die Eingabe vom Ziffernblock und der RETURN-Taste erheblich ergonomischer
gestaltet werden.
Ich arbeite mit Delphi 5.
Unten folgend der Quelltext für die ursprüngliche Lösung mit der TAB-Taste:
unit Messung;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, ExtCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Edit4: TEdit;
Edit5: TEdit;
Label4: TLabel;
Label5: TLabel;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure Eingabe;
procedure Berechnen;
procedure Ausgabe;
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
AaDO2,Baro,PCO2,PO2,pH: double;
s:string;
implementation
{$R *.DFM}
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Form1.Eingabe;
Form1.Berechnen;
Form1.Ausgabe;
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
Form1.Close;
end;
procedure TForm1.Eingabe;
begin
Baro := StrToFloat(Edit1.Text);
PCO2 := StrToFloat(Edit2.Text);
PO2 := StrToFloat(Edit3.Text);
pH := StrToFloat(Edit5.Text);
end;
procedure TForm1.Berechnen;
begin
AaDO2 := ((Baro - 47) * 0.2093) - (PCO2 / 0.8) - PO2;
end;
procedure TForm1.Ausgabe;
begin
s:='BGA: pH='+FloatToStrF(pH,ffFixed,15,3)+
'; pCO2='+FloatToStrF(pCO2,ffFixed,15,1)+
'; pO2='+FloatToStrF(pO2,ffFixed,15,1)+
'; AaDO2='+FloatToStrF(AaDO2,ffFixed,15,2);
Edit4.Text := s;
Edit4.SelectAll;
Edit4.CopyToClipboard;
end;
end.
Ich bitte euch herzlichst um Hilfe, wie man diesen Schritt mit Hilfe von KeyPress oder
KeyDown lösen könnte. Aber auch für andere Lösungen, falls es welche gäbe, wäre ich
sehr dankbar. Mir fehlen ganz einfach die Kenntnisse.
Im Voraus herzlichen Dank von Georg Arendasy .
habe mit diesen noch nie etwas zu tun gehabt. Bei einem meiner Programme würde es
sich als vorteilhaft auswirken wenn man den Fokus statt mit der TAB-Taste mit der
RETURN-Taste bewerkstelligen könnte.
Mein Problem:
Ich habe vier Edit-Boxen die Daten aufnehmen und diese dann in Variablen abgespeichert
werden um später aufgerufen und verwendet zu werden. Der Fokus von Edit1 bis Edit4 wird
per Druck auf die TAB-Taste und anschließender Eingabe verschoben. Das funktioniert so
weit sehr gut. Doch könnte man diese Eigenschaft auf die RETURN-Taste übertragen so
könnte die Eingabe vom Ziffernblock und der RETURN-Taste erheblich ergonomischer
gestaltet werden.
Ich arbeite mit Delphi 5.
Unten folgend der Quelltext für die ursprüngliche Lösung mit der TAB-Taste:
unit Messung;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, ExtCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Edit4: TEdit;
Edit5: TEdit;
Label4: TLabel;
Label5: TLabel;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure Eingabe;
procedure Berechnen;
procedure Ausgabe;
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
AaDO2,Baro,PCO2,PO2,pH: double;
s:string;
implementation
{$R *.DFM}
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Form1.Eingabe;
Form1.Berechnen;
Form1.Ausgabe;
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
Form1.Close;
end;
procedure TForm1.Eingabe;
begin
Baro := StrToFloat(Edit1.Text);
PCO2 := StrToFloat(Edit2.Text);
PO2 := StrToFloat(Edit3.Text);
pH := StrToFloat(Edit5.Text);
end;
procedure TForm1.Berechnen;
begin
AaDO2 := ((Baro - 47) * 0.2093) - (PCO2 / 0.8) - PO2;
end;
procedure TForm1.Ausgabe;
begin
s:='BGA: pH='+FloatToStrF(pH,ffFixed,15,3)+
'; pCO2='+FloatToStrF(pCO2,ffFixed,15,1)+
'; pO2='+FloatToStrF(pO2,ffFixed,15,1)+
'; AaDO2='+FloatToStrF(AaDO2,ffFixed,15,2);
Edit4.Text := s;
Edit4.SelectAll;
Edit4.CopyToClipboard;
end;
end.
Ich bitte euch herzlichst um Hilfe, wie man diesen Schritt mit Hilfe von KeyPress oder
KeyDown lösen könnte. Aber auch für andere Lösungen, falls es welche gäbe, wäre ich
sehr dankbar. Mir fehlen ganz einfach die Kenntnisse.
Im Voraus herzlichen Dank von Georg Arendasy .
Comment