Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ctrl+C >> *(%*^(*&^&^(*%5


HrenovijMaster ©   (2004-12-16 00:53:00) 

Респект Вам !!! при коприовании текста (кирилицы) из Memo а затем вставке в другой редактор - вместо руских букв вывоится совсем другая кдровка !!! как быть? что делать ???


GrayFace   (2004-12-19 10:30:00) [1]

Anatoly Podgoretsky ©   (16.12.04 19:33) [4]
А ты не лезь в прерогатмвы пользоваетеля.

Я бы не сказал, что это прераготивы пользователя. Но с глюками операционки тоже бороться не нужно.


BlackTr   (2004-12-19 00:32:00) [2]

HKLM\SYSTEM\CurrentControlSet\Control\Nls\CodePage
SetValue "1250"="c_1251.nls"
HKLM\SYSTEM\CurrentControlSet\Control\Nls\CodePage
SetValue "1252"="c_1251.nls"

Вроде должно помочь


Kolan   (2004-12-18 15:18:00) [3]


> HrenovijMaster   (16.12.04 19:07) [3]

У меня тоже есть знакомый
- Х..вый повор. На экзамене венегрет кубиками по 5см нарезал :). Сдал
- Х..вый милиционер - торч.
А весь мой факультет - х..вые программисты :)


KSergey   (2004-12-18 11:54:00) [4]

> MBo ©   (17.12.04 09:00) [8]

Благодарю!


Fay   (2004-12-17 09:03:00) [5]

Спасибы


MBo   (2004-12-17 09:00:00) [6]

>KSergey ©   (17.12.04 08:44) [6]
вот процедура Alex Konshin


procedure SetClipboardText( const AText : String );
var len, ulen : Integer;
  hClip : THandle;
  pClip : Pointer;
begin
if Win32Platform=VER_PLATFORM_WIN32_NT then
  begin
    len := Length(AText)+1;
    ulen := len+len;
    hClip := GlobalAlloc(GMEM_MOVEABLE,ulen);
    if hClip=0 then raise Exception.Create(SysErrorMessage(GetLastError))
    else
      try
        pClip := PWideChar(GlobalLock(hClip));
        if pClip=nil then raise Exception.Create(SysErrorMessage(GetLastError))
        else
          begin
            try
              MultiByteToWideChar(CODEPAGE,0,PChar(AText),len,pClip,ulen);
            finally
              GlobalUnlock(hClip);
            end;
            Clipboard.SetAsHandle(CF_UNICODETEXT,hClip);
          end;
      except
        GlobalFree(hClip);
        raise;
      end;
  end
else
  begin
    Clipboard.SetTextBuf(PChar(AText));
    SetClipboardData(CF_LOCALE,LANG_RUSSIAN);
  end;
end;


Fay   (2004-12-17 08:58:00) [7]

2 Anatoly Podgoretsky ©   (16.12.04 19:33) [4]
>> Или вставляй в буфер сведенья о кодировке
Вы не могли бы прокомментировать и/или привести пример кода.
Был бы (думаю, не я один) очень признателен.


KSergey   (2004-12-17 08:44:00) [8]

> [4] Anatoly Podgoretsky ©   (16.12.04 19:33)
> А ты не лезь в прерогатмвы пользоваетеля. Или вставляй в
> буфер сведенья о кодировке, или гони в Юникод.

Прошу прощения, а не подскажете как?


Yanis   (2004-12-16 19:39:00) [9]

Может OEMConvert сработает?


Anatoly Podgoretsky   (2004-12-16 19:33:00) [10]

А ты не лезь в прерогатмвы пользоваетеля. Или вставляй в буфер сведенья о кодировке, или гони в Юникод.


HrenovijMaster   (2004-12-16 19:07:00) [11]

Respect once more !!!!!
2 Walker: da so smenoj rasklaki polu4aetsya ! ))) no 4to zhe delat, programno pereklu4at raskladku kazhdij raz kogda polzovatel copiruet teskt ??? MOshet est sposob menee gemorojnij ???
2 Zacho: mozhno ssil4ki plz !!!!


Zacho   (2004-12-16 04:21:00) [12]

Или использовать не TMemo  а какой-либо unicode-компонент.


Walker   (2004-12-16 04:17:00) [13]

Такая ерунда встречается не только в Memo, а вообще в WindowsXP в том случае, если перед копированием стоит "другая" раскладка

У меня эта проблема решается так: сначала переключаю раскладку клавиатуры на Кириллицу, затем копирую в буфер - и всё нормально


Наверх

Титульная страница Поиск, карта сайта Написать письмо