Delphi-Quellcode:
procedure TForm7.Button1Click(Sender: TObject);
var
x,y:integer;
i:Integer;
begin
i:=0;
for x := 1 to Length(Edit1.Text) do begin
y:=chartoint(Edit1.Text[x]);
case x of
1:i:=y*7;
2:i:=y*3;
3:i:=y*1;
4:i:=y*7;
5:i:=y*3;
6:i:=y*1;
7:i:=y*7;
8:i:=y*3;
9:i:=y*1;
10:i:=y*7;
//-
// Ausgabeland
//-
14:i:=y*3;
15:i:=y*1;
16:i:=y*7;
17:i:=y*3;
18:i:=y*1;
19:i:=y*7;
20:i:=y*3;
//-
22:i:=y*1;
23:i:=y*7;
24:i:=y*3;
25:i:=y*1;
26:i:=y*7;
27:i:=y*3;
28:i:=y*1;
end;
i:=i+i;// Hier ist der Fehler weiß aber nicht warum er rechnet falsch zusammen
end;
Label1.caption:=InttoStr(i);
Edit2.Text:=Cut(InttoStr(i));
end;
Function TForm7.cut(a:string):string;
begin
if length(a)>1 then begin
Result:=a[2];
end else
Result:=a;
end;
function TForm7.CharToInt(C: Char):integer;
begin
Result := 0;
if C = '0' then Result := 0;
if C = '1' then Result := 1;
if C = '2' then Result := 2;
if C = '3' then Result := 3;
if C = '4' then Result := 4;
if C = '5' then Result := 5;
if C = '6' then Result := 6;
if C = '7' then Result := 7;
if C = '8' then Result := 8;
if C = '9' then Result := 9;
end;
wobei x die Stelle im Maskedit darstellt und y den wert der stelle
aber schon bei der 1. Stelle rechnet er falsch
die 1. Stelle im Maskedit ist z.B. 7
für stelle 1. Steht im Case der Multiplikator 7-> 7*7=49
Raus hat er aber 98
Algo ist hier zu finden