Autor Beitrag
eule
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Mi 11.05.05 18:32 
Hallo. Wir haben in der Schule nun auch Delphi5. Erst hatten wir Turbo Pascale. Also wir haben als erstes Projekt nun ein Taschenrechner. Ich habe alle Zahlen, das ',' und delete. Alles erscheint im Edit fel, wenn man auf die Button drückt. Alles gut soweit. Nun hat unser Lehrer gesagt, dass wir nun statt drücken Hotkeys machen sollen. Zuerst habe ich das Editfel gesperrt, damit man da nicht reindrücken kann, da man ja auch Buchstaben reinbekommen kann mit Tastendruck. Dies habe ich hinbekommen, indem ich bei edit1 bei enabled -> false gemacht habe. So nun kann man da nix eintragen.
Man kann ja Hotkeys machen, indem man ein & vor die Zahl im Caption macht!!! So dann ist aba zb. die 1 unterstrichen. Das soll nicht der fall sein. Bitte helft mir ich ahbe keine Idee wie das geht. Aba mir wurde gesagt, das es mit onkeydon funktionieren soll!! Wenn ja wie bekomme das nicht hin...
retnyg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2754

SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
BeitragVerfasst: Mi 11.05.05 18:38 
erklär mal, was genau passieren soll wenn man auf welchen knopf drückt, wenn man in welchen feld ist, und poste am besten den sourcecode, den du schon hast.

_________________
es gibt leute, die sind genetisch nicht zum programmieren geschaffen.
in der regel haben diese leute die regel...
feivel3333
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 190

W7
Delphi XE prof
BeitragVerfasst: Mi 11.05.05 18:38 
Hi,
ich glaube, was du brauchst, ist ein Progrämmchen, dass dir die Tastencodes liefert. Ich habe mal so was programmiert, das könnte ich dir schicken.
Es kann noch viel mehr, aber du musst da drin ja nicht alles aufrufen. Nur das, was du brauchst.
Wenn du die Tastencodes hast, dann kannst du diese im OnKeyDown der Komponenten, die auf deinem Formular liegen, nutzen. Natürlich sollten möglichst alle Komponenten die selbe Methode nutzen, sonst schreibst du dir ja die Finger wund.
Übrigens ist der Progen5 auch in Delphi5 geschrieben.

Gruß, AS

P.S. Vor längerer Zeit, als der Euro eingeführt wurde, habe ich auch mal so einen Rechner programmiert. Wenn er dich interessiert, wie ich es dort veranstaltet habe, kann ich ihn dir ja mal mailen.
Einloggen, um Attachments anzusehen!
GSE
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 740

Win 2k, Win XP Pro
D5 Prof, D6 Ent, D2k5 PE
BeitragVerfasst: Mi 11.05.05 18:40 
schau dir mal das OnKeyPressed Ereignis der Form an
und schalte KeyPreview der Form auf true
(mehr Details siehe Delphi-Hilfe, F1)

mfg
GSE

_________________
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs
and the universe trying to produce bigger and better idiots. So far, the universe is winning. (Richard Cook)
eule Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Mi 11.05.05 18:56 
Titel: Source Code
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
unit Rechner1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Panel1: TPanel;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Button7: TButton;
    Button8: TButton;
    Button9: TButton;
    Button10: TButton;
    Button11: TButton;
    Button12: TButton;
    Button13: TButton;
    Button14: TButton;
    Button15: TButton;
    Button16: TButton;
    Button17: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure Button9Click(Sender: TObject);
    procedure Button10Click(Sender: TObject);
    procedure Button11Click(Sender: TObject);
    procedure Button12Click(Sender: TObject);
    procedure Button13Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  rz:char;
  ltz:boolean;

implementation

{$R *.DFM}

procedure kp(a:char);
begin
    with form1 do begin

    if ltz then begin
    ltz:=false;
    edit1.text:='';
    end;

    if edit1.text='0' then edit1.text:='';        //nur eine null am anfang

    if (length(edit1.text)=0)
    and (a=',') then edit1.text:=edit1.text+'0';  //schreibt eine null vor dem komma

    if not ((pos(',',edit1.text)<>0)and (a=','))
    then edit1.text:=edit1.text+a;                //schreibt nur ein komma und beliebig viele zahlen
    end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
kp('1');
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
kp('2');
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
kp('3');
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
kp('4');
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
kp('5');
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
kp('6');
end;

procedure TForm1.Button7Click(Sender: TObject);
begin
kp('7');
end;

procedure TForm1.Button8Click(Sender: TObject);
begin
kp('8');
end;

procedure TForm1.Button9Click(Sender: TObject);
begin
kp('9');
end;

procedure TForm1.Button10Click(Sender: TObject);
begin
kp('0');
end;

procedure TForm1.Button11Click(Sender: TObject);
begin
kp(',');
end;

procedure TForm1.Button12Click(Sender: TObject);
begin
edit1.clear;
end;

procedure TForm1.Button13Click(Sender: TObject);
begin
rz:='p';
ltz:=true;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
form1.caption:='Eules Taschenrechner';
end;

end.



Also was nun passieren soll ist, dass wenn man eine '1' auf der Tastatur drückt, sie in edit1 erscheint. Aber dieses soll nicht passieren enn man in caption ein & einfügt.

Moderiert von user profile iconraziel: Delphi-Tags hinzugefügt.
eule Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Mi 11.05.05 18:58 
Titel: Datei geht nicht
Die eine Datei die du angehängt hast funktioniert nicht. Habe Delphi7 Home Edition oder so ( 4 free) in der Schule haben wir Delphi 5..
AG
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 22



BeitragVerfasst: Fr 13.05.05 17:29 
erstmal würde ich den Buttons von 1 bis 11 die Beschriftung 1 bis 9, 0, ',' geben, dann kriegen hinterher alle die gleiche Methode

statt

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
procedure TForm1.Button9Click(Sender: TObject);  
begin  
kp('9');  
end;  

procedure TForm1.ButtonClick(Sender: TObject);  
begin  
  kp(TButton(Sender).Caption);  
end;

vorher mußt du allerdings noch kp von char auf string umstellen;
ach ja, und die Version

if (length(edit1.text)=0)
    and (a=',') then edit1.text:=edit1.text+'0';  //schreibt eine null vor


ist etwas sinnlos, kannst ja gleich edit1.text:='0' setzen;

ansonsten funktioniert es doch halbwegs, vorausgesetzt, du hast deinen Knöpfen auch die richtigen Funktionen zugeordnet.

Moderiert von user profile iconraziel: Delphi-Tags hinzugefügt.
feivel3333
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 190

W7
Delphi XE prof
BeitragVerfasst: Fr 13.05.05 19:49 
Bevor du uns allen die Köpfe zum Rauchen bringst, könntest du bitte mal dein gesamtes Projekt als ZIP hier reinposten? Dann muss man sich das nicht alles selbst nachbasteln und kann es leichter debuggen.
Übrigens habe ich auch Delphi 5. Vielleicht läuft es dann sofort bei mir.