Mam do napisania program zmieniający liczbe w danym systemie liczbowym na inny system.
Na razie "napisałem" dopiero funkcje zamieniającą z sys. 10 na binarany, ale nie działa, ma problem z funkcją insert.
Błąd który wyskakuje to: " Call for arg no. 2 has to match exactly : got "ShortString expected "WideString" "
Kod programu poniżej.
uses crt;
var a, b, c: byte;
function zamiana_10_2(x:byte):string;
var
n:integer;
m,b:string;
begin
while x<>0 do
begin
n:= x mod 2;
str(n,b);
insert(n,b,0);
x:= x div 2;
end;
end;
begin
clrscr;
WriteLn('Program zamieniajacy z jednego systemu liczbowego na drugi') ;
Write('Podaj system z ktorego chcesz zamienic (2,8,10,16): ');
ReadLn(a);
Write('Podaj system na ktory chcesz zamienic (2,8,10,16): ');
ReadLn(b);
writeln('Wybrales zamiane z systemu ',a,' na system ', b);
readln(c);
writeln(zamiana_10_2(c));
readkey;
end.