Entwickler-Ecke
Sonstiges (Delphi) - Prozentrechnung in Delphi
is44c - Mi 30.11.05 17:57
Titel: Prozentrechnung in Delphi
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
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: 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 - 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.
Miri - 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 - Mi 30.11.05 18:33
Beim normalen Taschenrechner wird gerechnet: [8] [*] [7] [%] ([+/-])
Miri - 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 - 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 - 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 - Mi 30.11.05 23:56
Mit nem Taschenrechner :mrgreen:
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!