| Autor |
Beitrag |
eule
Hält's aus hier
Beiträge: 5
|
Verfasst: 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
      
Beiträge: 2754
SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
|
Verfasst: 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
      
Beiträge: 190
W7
Delphi XE prof
|
Verfasst: 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
      
Beiträge: 740
Win 2k, Win XP Pro
D5 Prof, D6 Ent, D2k5 PE
|
Verfasst: 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 
Hält's aus hier
Beiträge: 5
|
Verfasst: Mi 11.05.05 18:56
Titel: Source Code
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 public 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:=''; if (length(edit1.text)=0) and (a=',') then edit1.text:=edit1.text+'0'; if not ((pos(',',edit1.text)<>0)and (a=',')) then edit1.text:=edit1.text+a; 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 raziel: Delphi-Tags hinzugefügt.
|
|
eule 
Hält's aus hier
Beiträge: 5
|
Verfasst: 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
      
Beiträge: 22
|
Verfasst: 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
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'; |
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 raziel: Delphi-Tags hinzugefügt.
|
|
feivel3333
      
Beiträge: 190
W7
Delphi XE prof
|
Verfasst: 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.
|
|
|