| Autor |
Beitrag |
is44c
Hält's aus hier
Beiträge: 12
|
Verfasst: Mi 30.11.05 17:57
Ich bin gerade dabei mir einen Taschenrechner zu proggen und nun stehe ich vorn einem neuem Problen! Wie kann ich Prozentrechnung einbauen?
Das soll so gehen wie beim WindowsTR und naja ich habe keien ansatzmöglichkeit
Mein Ziel
Ich will ermittlen können wieviel Prozent 7 von 8 sind (beispiel)
ich bin für alle ideen offen mein Courcecode könnt ihr gerne haben wenn ihr ihn braucht bitte
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: 150: 151: 152: 153: 154: 155: 156: 157: 158: 159: 160: 161: 162: 163: 164: 165: 166: 167: 168: 169: 170: 171: 172: 173: 174: 175: 176: 177: 178: 179: 180: 181: 182: 183: 184: 185: 186: 187: 188: 189: 190: 191: 192: 193: 194: 195: 196: 197: 198: 199: 200: 201: 202: 203: 204: 205: 206: 207: 208: 209: 210: 211: 212: 213: 214: 215: 216: 217: 218: 219: 220: 221: 222: 223: 224: 225: 226: 227: 228: 229: 230: 231: 232: 233: 234: 235: 236: 237: 238: 239: 240: 241: 242: 243: 244: 245: 246: 247: 248: 249: 250: 251: 252: 253: 254: 255: 256: 257: 258: 259: 260: 261: 262: 263: 264: 265: 266: 267: 268: 269: 270:
| unit TRUnit;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Menus;
type TForm1 = class(TForm) txt_eingabe: TEdit; btn_Plus: TButton; btn_Minus: TButton; btn_mal: TButton; btn_Geteilt: TButton; btn_gleich: TButton; lbl_ergebnis: TLabel; btn_ANS: TButton; btn_1: TButton; btn_2: TButton; btn_3: TButton; btn_4: TButton; btn_5: TButton; btn_6: TButton; btn_7: TButton; btn_8: TButton; btn_9: TButton; btn_0: TButton; btn_Komma: TButton; btn_Wurzel: TButton; btn_Close: TButton; btn_ClearALL: TButton; btn_Clear: TButton; Label1: TLabel; btn_Copyright: TButton; btn_Vorzeichen: TButton; procedure btn_PlusClick(Sender: TObject); procedure btn_gleichClick(Sender: TObject); procedure btn_MinusClick(Sender: TObject); procedure btn_malClick(Sender: TObject); procedure btn_GeteiltClick(Sender: TObject); procedure btn_ANSClick(Sender: TObject); procedure btn_1Click(Sender: TObject); procedure btn_2Click(Sender: TObject); procedure btn_3Click(Sender: TObject); procedure btn_4Click(Sender: TObject); procedure btn_5Click(Sender: TObject); procedure btn_6Click(Sender: TObject); procedure btn_7Click(Sender: TObject); procedure btn_8Click(Sender: TObject); procedure btn_9Click(Sender: TObject); procedure btn_0Click(Sender: TObject); procedure btn_KommaClick(Sender: TObject); procedure btn_WurzelClick(Sender: TObject); procedure abfrage(Sender: TObject; var Key: Char); procedure btn_CloseClick(Sender: TObject); procedure btn_ClearALLClick(Sender: TObject); procedure btn_ClearClick(Sender: TObject); procedure btn_CopyrightClick(Sender: TObject); procedure btn_VorzeichenClick(Sender: TObject); private public end;
var Form1: TForm1;
implementation
{$R *.dfm} VAR ANS, Temp, Ergebnis : Real; VAR art : integer;
procedure TForm1.btn_gleichClick(Sender: TObject); begin If art = 1 then begin Ergebnis := Temp + StrToFloat(txt_eingabe.Text); end; If art = 2 then begin Ergebnis := Temp - StrToFloat(txt_eingabe.Text); End; If art = 3 then begin Ergebnis := Temp * StrtoFloat(txt_eingabe.Text); End; If art = 4 then begin if txt_eingabe.Text = InttoStr(0) then ShowMessage('Division durch null ist nicht definiert') Else Ergebnis := Temp / StrtoFloat(txt_eingabe.Text); End; Ans := Ergebnis; lbl_ergebnis.Caption := FloatToStr(Ergebnis); end;
procedure TForm1.btn_PlusClick(Sender: TObject); begin if Length(txt_eingabe.Text)=0 then ShowMessage('Bitte Zahlen eingeben') Else Begin art := 1; Temp := StrtoFloat(txt_eingabe.Text); txt_eingabe.Text := ''; End; end;
procedure TForm1.btn_MinusClick(Sender: TObject); begin if Length(txt_eingabe.Text)=0 then ShowMessage('Bitte Zahlen eingeben') Else Begin art := 2; Temp := StrtoFloat(txt_eingabe.Text); txt_eingabe.Text := ''; End; end;
procedure TForm1.btn_malClick(Sender: TObject); begin if Length(txt_eingabe.Text)=0 then ShowMessage('Bitte Zahlen eingeben') Else Begin art := 3; Temp := StrtoFloat(txt_eingabe.Text); txt_eingabe.Text := ''; End; end;
procedure TForm1.btn_GeteiltClick(Sender: TObject); begin if Length(txt_eingabe.Text)=0 then ShowMessage('Bitte Zahlen eingeben') Else Begin art := 4; Temp := StrtoFloat(txt_eingabe.Text); txt_eingabe.Text := ''; End; end;
procedure TForm1.btn_WurzelClick(Sender: TObject); begin if Length(txt_eingabe.Text)=0 then ShowMessage('Bitte Zahlen eingeben') Else Begin art := 5; Temp := StrtoFloat(txt_eingabe.Text); Ergebnis := sqrt(Temp); ANS := Ergebnis; lbl_ergebnis.Caption := FloattoStr(Ergebnis); End; end;
procedure TForm1.btn_ANSClick(Sender: TObject); begin If ANS = 0 then ShowMessage('ANS enthält kein Ergebnis') Else txt_eingabe.Text := FloattoStr(ANS); end; procedure TForm1.btn_1Click(Sender: TObject); begin txt_eingabe.Text := txt_eingabe.Text +'1'; end;
procedure TForm1.btn_2Click(Sender: TObject); begin txt_eingabe.Text := txt_eingabe.Text +'2'; end;
procedure TForm1.btn_3Click(Sender: TObject); begin txt_eingabe.Text := txt_eingabe.Text +'3'; end;
procedure TForm1.btn_4Click(Sender: TObject); begin txt_eingabe.Text := txt_eingabe.Text +'4'; end;
procedure TForm1.btn_5Click(Sender: TObject); begin txt_eingabe.Text := txt_eingabe.Text +'5'; end;
procedure TForm1.btn_6Click(Sender: TObject); begin txt_eingabe.Text := txt_eingabe.Text +'6'; end;
procedure TForm1.btn_7Click(Sender: TObject); begin txt_eingabe.Text := txt_eingabe.Text +'7'; end;
procedure TForm1.btn_8Click(Sender: TObject); begin txt_eingabe.Text := txt_eingabe.Text +'8'; end;
procedure TForm1.btn_9Click(Sender: TObject); begin txt_eingabe.Text := txt_eingabe.Text +'9'; end;
procedure TForm1.btn_0Click(Sender: TObject); begin txt_eingabe.Text := txt_eingabe.Text +'0'; end;
procedure TForm1.btn_KommaClick(Sender: TObject); begin txt_eingabe.Text := txt_eingabe.Text +','; end;
procedure TForm1.abfrage(Sender: TObject; var Key: Char); begin If Not ((Key >= #48) AND (Key <=#57) OR (Key=#8)) then Key := #0; end;
procedure TForm1.btn_CloseClick(Sender: TObject); begin Close; end;
procedure TForm1.btn_ClearALLClick(Sender: TObject); begin txt_eingabe.Text := ''; ANS := 0; lbl_ergebnis.Caption := ''; end;
procedure TForm1.btn_ClearClick(Sender: TObject); begin txt_eingabe.Text := ''; end;
procedure TForm1.btn_CopyrightClick(Sender: TObject); begin ShowMessage('Julius Saretzki'); end;
procedure TForm1.btn_VorzeichenClick(Sender: TObject); VAR Vorzeichen : Real; begin If Length(txt_eingabe.Text)=0 then ShowMessage('Keine Zahl vorhanden!') Else Vorzeichen := StrToFloat(txt_eingabe.Text); Vorzeichen := Vorzeichen *(-1); Temp := Vorzeichen; txt_eingabe.Text := FloatToStr(Temp); end;
end. |
ich danke euch!
Moderiert von raziel: Code- durch Delphi-Tags ersetzt
|
|
GTA-Place
      

Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: Mi 30.11.05 18:13
Weißt du denn, wie man eine Prozent-Rechung macht?
Wenn man nicht mal das weiß, dann muss man schon ganz anders beim Erklären anfangen.
_________________ "Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
|
|
Miri
      
Beiträge: 657
Delphi 3 Prof., Delphi 2005 PE
|
Verfasst: Mi 30.11.05 18:20
Hmm...wie funktioniert Prozentrechnung denn?!
Ich weiß nich genau, in welcher Reihenfolge man beim Windows-TR das eingeben muss. Aber muss es denn genauso eingegeben werden? Letztenendes überlegst du dir, in welcher Reihenfolge der User die Sachen eingeben soll, z.b. erst die 8, dann Klick aufs % und dann die 7, dann Enter. Also merkste dir erst die Eingabe, die drinsteht wenn Klick auf % ( 8 ), rechnest / 100 und dann * die nächste Eingabe... So wie Prozentrechnung halt immer funktioniert...
|
|
GTA-Place
      

Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: Mi 30.11.05 18:33
Beim normalen Taschenrechner wird gerechnet: [8] [*] [7] [%] ([+/-])
_________________ "Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
|
|
Miri
      
Beiträge: 657
Delphi 3 Prof., Delphi 2005 PE
|
Verfasst: Mi 30.11.05 18:46
Von mir aus... ich brauch sowat nich *g*
Das Prinzip bleibt das gleiche... Eingabe in Variable, andere Eingabe in andere Variable, erste Variable / 100 * zweite Variable...
|
|
is44c 
Hält's aus hier
Beiträge: 12
|
Verfasst: Mi 30.11.05 21:53
Danke jetzt erinnere ich mch wie ich das machen muss.....
is schon nen bissel länger her das ich das hatte! Danke
habs auch schon eingebaut und es klappt!
|
|
Blackheart666
      
Beiträge: 2195
XP
D3Prof, D6Pers.
|
Verfasst: Mi 30.11.05 22:28
Ich kanns Mir nicht ... Prozentrechnung ist in der Vierten Klasse dran, deswegen kann man's schonmal vergessen !?
Wie kommt man ohne dem durchs Leben...
|
|
Miri
      
Beiträge: 657
Delphi 3 Prof., Delphi 2005 PE
|
Verfasst: Mi 30.11.05 23:56
Mit nem Taschenrechner 
|
|