Приветствую Вас Гость | RSS

Delphi заготовки

Понедельник, 13.05.2024, 22:46
Главная » 2012 » Май » 5 » Примеры программы на Дельфи для кодировки сообщений через символы мозга
10:15
Примеры программы на Дельфи для кодировки сообщений через символы мозга
Прислали однажды текст написанный на русском но немного закодированный


на входе текст


CПOPУ НET, ФУНКЦИЯ НAПИCAНA ПO ВCEM ПPAВИЛAM И OНA КOPPEКTНO PAБOTAET, НO ВO3НИКAET OДНO "НO" - НO КAКOE ВPEMЯ 3AЙMET
ЧИCTКA HTML-ДOКУMEНTA OT TEГOВ И ПPИ TOM ЧTEНИE OПPEДEЛEННOГO НAБOPA ATPИБУTOВ И3 ЭTИХ TEГOВ? TEM БOЛEE, ЧTO ФУНКЦИЯ НE
ПPEДУCMATPИВAET ЧTEНИЯ ATPИБУTOВ, КCTATИ CКA3ATЬ.
OCTAЛЬНЫE METOДЫ PAБOTЫ C HTML-ДOКУMEНTAMИ, В ПPИНЦИПE TOЖE НEДOCTATOЧНO КOPPEКTНO PAБOTAЛИ C TEMИ ДOКУMEНTAMИ,
КOTOPЫE Я ИM ДAВAЛ НA PA3БOP. В ЧИCЛE ПPOЧИХ НEДOCTATКOВ MOЖНO ВЫДEЛИTЬ CЛEДУЮЩИE:



на выходе

СП0РУ НЕТ ФУНКЦNЯ Н4ПNС4Н4 П0 8СЕМ ПР48NЛ4М N 0Н4 К0РРЕКТН0 Р460Т4ЕТ Н0 80ЗНNК4ЕТ 09Н0 Н0  Н0 К4К0Е 8РЕМЯ З4ЙМЕТ ЧNСТК4 790КУМЕНТ4 0Т ТЕГ08 N ПРN Т0М ЧТЕНNЕ 0ПРЕ9ЕЛЕНН0Г0 Н460Р4 4ТРN6УТ08 NЗ ЭТNХ ТЕГ08 ТЕМ 60ЛЕЕ ЧТ0 ФУНКЦNЯ НЕ ПРЕ9УСМ4ТРN84ЕТ ЧТЕНNЯ 4ТРN6УТ08 КСТ4ТN СК4З4ТЬ0СТ4ЛЬНЫЕ МЕТ09Ы Р460ТЫ С 790КУМЕНТ4МN 8 ПРNНЦNПЕ Т0ЖЕ НЕ90СТ4Т0ЧН0 К0РРЕКТН0 Р460Т4ЛN С ТЕМN 90КУМЕНТ4МN К0Т0РЫЕ Я NМ 9484Л Н4 Р4З60Р 8 ЧNСЛЕ ПР0ЧNХ НЕ90СТ4ТК08 М0ЖН0 8Ы9ЕЛNТЬ СЛЕ9УЮЩNЕ


и обратно

кроме того  заметил что в Delphi 7 при работе в Windows 7 не корректно работает вставка - заместо нормальной вставки выдает не читаемый текст

на сайте программистов нашел функцию для решения этой проблемы



procedure TextToClipboard(const sSrt:string);
var N:Integer; mem:Cardinal; ptr:Pointer;
begin
  with Clipboard do try
    Open;
    if IsClipboardFormatAvailable(CF_UNICODETEXT) then
    begin
      N:=(Length(sSrt)+1)*2;
      mem:=GlobalAlloc(GMEM_MOVEABLE+GMEM_DDESHARE,N);
      ptr:=GlobalLock(mem);
      Move(PWideChar(widestring(sSrt))^, ptr^,N);
      GlobalUnlock(mem);
      SetAsHandle(CF_UNICODETEXT,mem);
    end;
    AsText:=sSrt;
    mem:=GlobalAlloc(GMEM_MOVEABLE+GMEM_DDESHARE,SizeOf(dword));
    ptr:=GlobalLock(mem);
    dword(ptr^):=(SUBLANG_NEUTRAL shl 10) or LANG_RUSSIAN;
    GlobalUnLock(mem);
    SetAsHandle(CF_LOCALE,mem);
  finally Close;
  end;
end;

пример программы /kodirovka_soobshhenija_cherez_simvoly_dlja_mozga.zip




Просмотров: 1274 | Добавил: NetSoftWare | Рейтинг: 4.0/1
Всего комментариев: 1
1 NetSoftWare  
0

Имя *:
Email *:
Код *: