Delphi. Funkcja kodująca do ISO 8859-2

Delphi. Funkcja kodująca do ISO 8859-2
DK
  • Rejestracja:prawie 13 lat
  • Ostatnio:prawie 12 lat
  • 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 ?

edytowany 1x, ostatnio: olesio
Patryk27
Moderator
  • Rejestracja:prawie 18 lat
  • Ostatnio:prawie 2 lata
  • Lokalizacja:Wrocław
  • Postów:13042
0

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


DK
  • Rejestracja:prawie 13 lat
  • Ostatnio:prawie 12 lat
  • Postów:64
0

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

Patryk27
Moderator
  • Rejestracja:prawie 18 lat
  • Ostatnio:prawie 2 lata
  • Lokalizacja:Wrocław
  • Postów:13042
0

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


unikalna_nazwa
  • Rejestracja:ponad 14 lat
  • Ostatnio:prawie 10 lat
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


Pół giga extra na dropboxie? Pół giga extra na dropboxie! Tyle wygrać! >>Klik here<<
edytowany 1x, ostatnio: unikalna_nazwa
DK
  • Rejestracja:prawie 13 lat
  • Ostatnio:prawie 12 lat
  • Postów:64
0

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


Spróbuje z tym OnKeyPres

edytowany 1x, ostatnio: DiKey11
olesio
  • Rejestracja:około 17 lat
  • Ostatnio:około 3 lata
  • 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.


Pozdrawiam.
DK
  • Rejestracja:prawie 13 lat
  • Ostatnio:prawie 12 lat
  • 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:około 17 lat
  • Ostatnio:około 3 lata
  • 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.


Pozdrawiam.
DK
  • Rejestracja:prawie 13 lat
  • Ostatnio:prawie 12 lat
  • 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:około 17 lat
  • Ostatnio:około 3 lata
  • 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.


Pozdrawiam.

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.