Hey Leute,
ich habe ein Programm geschrieben, dass Hexadezimalzahlen in Dezimalzahlen umrechnet.
Aber ein wichtiges Element bekomme ich nicht hin.
Und zwar bräuchte ich ein Art Befehl, der sagt.
Code:
If c = g bis z then
writeln('Fehler')
beginne von vorne.
gibt es so etwas?
Hier mein Code:
Code:
program HexToDez;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
a,b,d: integer;
h,c,y: string;
begin
repeat
writeln('Bitte Hexadezimalzahl eingeben:');
readln(h);
a:= 1;
c:= Upcase(h[a]);
if c='A' then
begin
d:=10;
c:=IntToStr(d);
end;
if c='B' then
begin
d:=11;
c:=IntToStr(d);
end;
if c='C' then
begin
d:=12;
c:=IntToStr(d);
end;
if c='D' then
begin
d:=13;
c:=IntToStr(d);
end;
if c='E' then
begin
d:=14;
c:=IntToStr(d);
end;
if c='F' then
begin
d:=15;
c:=IntToStr(d);
end;
d:=StrToInt(c);
b:=d;
while a < length(h) do
begin
a:=a+1;
c:=upcase(h[a]);
if c='A' then
begin
d:=10;
c:=IntToStr(d);
end;
if c='B' then
begin
d:=11;
c:=IntToStr(d);
end;
if c='C' then
begin
d:=12;
c:=IntToStr(d);
end;
if c='D' then
begin
d:=13;
c:=IntToStr(d);
end;
if c='E' then
begin
d:=14;
c:=IntToStr(d);
end;
if c='F' then
begin
d:=15;
c:=IntToStr(d);
end;
d:=StrToInt(c);
b:=b*16+d;
end;
writeln(b);
writeln('');
writeln('Beenden? [y]');
readln(y);
until y='y';
end.