Binarny koder - błąd przy kompilacji: Free Pascal Error Incompatible type for arg no. 3 Go "constant string" expected "char"

Próbowałem napisać binarny koder liczb tylko że wyskakują jakieś błędy przy kompilacji za wszelką pomoc będę wdzięczny

 

uses crt;

var
   caly_tekst, a, b, wyjscie : string;
   pozycja : integer;

function zamien(tekst : string; litera : char; zamiana : char) : string;
begin
   while pos(litera, tekst) > 0 do
   begin
      pozycja := pos(litera, tekst);
      Delete( tekst, pozycja, 1);
      Insert( zamiana, tekst, pozycja);
   end;
 zamien := tekst;
end;

BEGIN
clrscr;
   writeln('Wpisz zdanie do zakodowania: ');
   readln(caly_tekst);
   writeln;

 a:=zamien(caly_tekst, 'a', '00000'); //<- tu występuje błąd
 b:=zamien(a, 'b', '00001');
 wyjscie:=b;
 writeln;
 writeln('Zakodowany tekst: ');
 write(wyjscie);
 readln;
END.
function zamien(tekst : string; litera : char; zamiana : char) : string;

zadeklarowałeś zamiana jako char (znak)

a:=zamien(caly_tekst, 'a', '00000'); //<- tu występuje błąd

a potem przekazujesz string. No tak, to jest nie kompatybilne…

po poprawieniu deklaracji

function zamien(tekst : string; litera : char; zamiana : string) : string;

działa :slight_smile: