@janbit: przecież ten kod nie ma żadnego sensu - brakuje w nim połowy danych...
konwersja : array[AnsiChar] of AnsiChar
Gdzie jest definicja macierzy 255
znaków?
len := Length(Edit1.tekst);
Gdzie jest deklaracja zmiennej len
?
SetLength(tekst_maz, len)
Gdzie jest deklaracja zmiennej tekst_maz
?
for i:=1 to len do
Gdzie jest deklaracja zmiennej i
?
Kod konwertujący kodowanie natywne na mazovię pasowałoby opakować w jakąś funkcję:
function NativeToMazovia(const AValue: AnsiString): AnsiString;
const
MAZOVIA_CHARS: array [AnsiChar] of AnsiChar = ({tu lista znaków odpowiednich dla mazovii});
var
LIndex: Integer;
begin
SetLength(Result, Length(AValue));
for LIndex := 1 to Length(AValue) do
Result[LIndex] := MAZOVIA_CHARS[AValue[LIndex]];
end;
Jeśli potrzebujesz konwertować tylko relatywnie krótkie łańcuchy to możesz skorzystać z pętli for in
:
function NativeToMazovia(const AValue: AnsiString): AnsiString;
const
MAZOVIA_CHARS: array [AnsiChar] of AnsiChar = ({tu zapis znaków odpowiednich dla mazovii});
var
LChar: AnsiChar;
begin
for LChar in AValue do
Result := Result + MAZOVIA_CHARS[LChar];
end;
Nie wiem czy Delphi które posiadasz, obsługuje tę pętlę - sprawdź sobie; No i jeśli łańcuchy znaków natywnie kodowane są w ANSI to możesz po prostu użyć typów String
i Char
.