Einzelnen Beitrag anzeigen

Gehstock

Registriert seit: 28. Jan 2006
Ort: Görlitz / Sachsen
489 Beiträge
 
Delphi 2007 Professional
 
#22

Re: Personalausweisnummer generieren

  Alt 24. Jul 2007, 17:27
Ja hatte ich untedessen auch bemerkt mit der 216

Zitat:
Außerdem würde ich beim "case ... of"-Bereich noch ein "else i:=0;" einfügen.
Dann funktioniert der Code bei meinem Personalausweis
Das war der Fehler
Delphi-Quellcode:
procedure TForm7.Button1Click(Sender: TObject);
var
x,y:integer;
i,l:Integer;
begin
i:=0;
l:=0;
for x := 1 to Length(MaskEdit1.Text)do begin
y:=chartoint(MaskEdit1.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
  else
  i:=0;
  end;
   l:=l+strtoint(cut(inttostr(i)));
end;
Edit2.Text:=cut(inttostr(l));
end;


Function TForm7.cut(a:string):string;
begin
      if length(a)>1 then Result:=a[2];
      if length(a)>2 then Result:=a[3]
  else
  Result:=a;
end;

function TForm7.CharToInt(C: Char):integer;
begin
  Result := 0;
  if C = '0then Result := 0;
  if C = '1then Result := 1;
  if C = '2then Result := 2;
  if C = '3then Result := 3;
  if C = '4then Result := 4;
  if C = '5then Result := 5;
  if C = '6then Result := 6;
  if C = '7then Result := 7;
  if C = '8then Result := 8;
  if C = '9then Result := 9;
end;
Danke

@marabu mod war eig net gemeint eher "Pred"
Angehängte Dateien
Dateityp: exe personal_181.exe (168,5 KB, 5x aufgerufen)
Marcel
  Mit Zitat antworten Zitat