Delphi. Funkcja kodująca do ISO 8859-2

Delphi. Funkcja kodująca do ISO 8859-2
DK
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 64
0

Cześć, mam funkcje:

Kopiuj
 function WinToIso(S: String): String;
var i: Integer;
begin
  for i := 1 to Length(S) do // WIN -> ISO
    case S[i] of
      Chr(165): S[i] := Chr(161);
      Chr(140): S[i] := Chr(166);
      Chr(143): S[i] := Chr(172);
      Chr(185): S[i] := Chr(177);
      Chr(156): S[i] := Chr(182);
      Chr(159): S[i] := Chr(188);
    end;

  Result := S;
end; 

Jak połączyć ją z SynMemo na aktywnej zakłądce ?

Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
0

W sensie?
Możesz podpiąć się pod zdarzenie OnKeyPress.

DK
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 64
0

chodzi mi, żeby automatycznie podpiąć to pod SynMemo

Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
0

Podepnij się pod zdarzenie OnKeyPress i modyfikuj każdy naciskany klawisz.

unikalna_nazwa
  • Rejestracja: dni
  • Ostatnio: dni
0

ale będziesz miał krzaki na ekranie
lepiej wywołuj tę funkcję tylko przy zapisywaniu i odwrotną do niej przy odczytywaniu
a najlepiej jakbyś po prostu znalazł komponent gdzie możesz ustalić kodowanie

DK
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 64
0

tak i robić cały program od nowa z nowym komponentem ?


Spróbuje z tym OnKeyPres

olesio
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Szczecin
  • Postów: 4191
0

Dokładnie ja bym zrobił tak jak napisał Użytkownik @unikalna_nazwa, a temat przenoszę do Newbie, ponieważ dotyczy podstaw.

DK
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 64
0

Dalej nie działa prawidłowo, gdy wpisuje np "ś" jest ok, ale gdy przesyłam je z Edit do SynMemo jest coś takiego : Treœæ a gdy wpisze jest normalne: TREŚĆ.

olesio
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Szczecin
  • Postów: 4191
0

No bo zmieniłeś znaki w locie pewnie i dlatego tak jest. Zrób jak Ci pisaliśmy, zmieniaj kodowanie przy zapisie oraz odczycie pliku.

DK
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 64
0

aha, tylko, że mi w SynMemo przy wysłaniu tekstu z Edita pokazuje Treœæ zamiast Treść a nie dopiero po zapisie i otworzeniu w przeglądarce

olesio
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Szczecin
  • Postów: 4191
0

Ech, no bo robisz pewnie tę konwersję. Rób ją wtedy kiedy napisaliśmy. Czy taki kod również tak pokaże?

Kopiuj
  TwojEdit.Text := 'Treść';

Bo jeżeli tak to coś masz skopane z Delphi. Bez "ruszania" i "mieszania" funkcjami operującymi na kodach ASCII nie ma prawa coś takiego się zdarzyć. Sprawdziłem.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.