Einzelnen Beitrag anzeigen

Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.737 Beiträge
 
Delphi 6 Enterprise
 
#20

AW: Frage zum Substring in Delphi

  Alt 10. Dez 2013, 17:55
Das ist aber ein schönes Beispiel, wo man es sich mit einer Schleife und den Funktionen mod und div ersparen kann, mit den vielen Variablen zu arbeiten. Das Folgende ist nur hingetippt und wahrscheinlich nicht so ganz richtig mit den mods und divs, aber das Prinzip sollte so gehen.

Delphi-Quellcode:
var nr:String;
    i:integer;
    temp:integer;
    summe:integer;
    ergebnis:integer; //oder String
begin
nr=EditNr.Text;
if Length(nr)<>8 then
  showmessage('Nicht 8 Zeichen!')
else
  begin
  for i:=1 to 8 do
    begin
    if not IsNumeric(nr[i]) then
      showmessage('Eingabe enthält nicht numerische Zeichen')
    else
      begin
      temp:=StrToInt(nr[i]) ;
      temp:=temp*(2-(i mod 2));
      temp:=(temp mod 10) + (temp div 10);
      summe:=summe+temp;
      end;
    end;
  ergebnis:=(summe mod 10);
  //oder falls als Gesamtstring: ergebnis=nr+IntToStr(summe mod 10);
  end;
end;
Noch besser wäre natürlich die Prüfziffernberechnung in eine eigene Funktion zu packen, die Prüfung, ob die Eingabe brauchbar ist in eine andere, usw.
Ralph

Geändert von Jumpy (10. Dez 2013 um 17:58 Uhr)
  Mit Zitat antworten Zitat