btw das is v1.1 // einzige aenderung er rundet auf 1 stelle hinter dem komma auf
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, jpeg, ExtCtrls, StdCtrls, Buttons,math;
type
TForm1 = class(TForm)
Edit1: TEdit;
Label1: TLabel;
RG: TRadioGroup;
Label2: TLabel;
Edit2: TEdit;
BitBtn1: TBitBtn;
Image1: TImage;
Label3: TLabel;
procedure BitBtn1Click(Sender: TObject);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.BitBtn1Click(Sender: TObject);
var wertung,punkte,e,z,zw:extended;
begin
wertung :=strtofloat(edit1.Text);
z:=0;
e:=2.718281828459;
zw:=power(e,(-0.0025*wertung));
if rg.ItemIndex = -1 then
begin
showmessage('Bitte Team auswählen');
exit;
end;
if rg.ItemIndex = 0 then
begin
z:=60;
end
else if rg.ItemIndex = 1 then
begin
z:=80;
end
else
begin
z:=100;
end;
if wertung >1500 then
begin
punkte:= (2894/(1+259*zw))*(z/100) ;
end
else begin
punkte:= (0.206*wertung+99)*(z/100);
end;
punkte:=roundto(punkte,-1);
edit2.Text:= floattostr(punkte);
{*Teamwertung Formel für Arenapunkte
X = Teamwertung, Y = Arenapunkte
Z = 60% für 2v2, 80% für 3v3 und 100% für 5v5
Wenn X>1500: Y = (2894/(1+259*e(-0.0025*X))) *Z%
Sonst: Y = (0.206*X+99) *Z%
*}
end;
procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in['0'..'9',#8]) then key:=#0;
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in['0'..'9',#8]) then key:=#0;
end;
end.