Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.21;
Скачать: CL | DM;

Вниз

Подскажите с буфером   Найти похожие ветки 

 
beavka ©   (2004-11-05 09:34) [0]

procedure TForm1.Button1Click(Sender: TObject);
begin
edit1.Text:=memo1.lines.Text;
edit1.selectall;
edit1.CopyToClipboard;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  memo1.lines.LoadFromFile("memo.txt");
end;

При этом у меня русские символы, при вставке в другие приложения выглядят не нужным образом.


 
KSergey ©   (2004-11-05 09:45) [1]

> не нужным образом

;))))

Надо перед вставкой включить русскую раскладку. (LoadKeyboardLayout или что-то вроде этого)
В инете можно легко найти пример. Впрчем, вопрос стандартный, может и другое есть решение.


 
ssk ©   (2004-11-05 09:46) [2]

что значит "не нужным образом"?

этот код у меня прекрасно заработал с:

Word
Excel
ICQ
TheBAT!
Блокнот

З.Ы. А зачем копировать в буфер обмена через Edit?


 
KSergey ©   (2004-11-05 09:48) [3]

А вообще ssk ©   безусловно прав: нафиг через Edit копировать??


 
ssk ©   (2004-11-05 09:49) [4]

добавлю к

>KSergey ©   (05.11.04 09:45) [1]
> не нужным образом

;))))

Надо перед вставкой включить русскую раскладку


что во всех вышеуказанных мной приложениях в [2] была установлена английская раскладка.


 
beavka ©   (2004-11-05 09:52) [5]


> KSergey ©   (05.11.04 09:48) [3]
> А вообще ssk ©   безусловно прав: нафиг через Edit копировать??

Можно и не через Edit
В общем, используя функцию: CopyToClipBoard выходит такая фигня(

> KSergey ©   (05.11.04 09:45) [1]
> > не нужным образом
>
> ;))))
>
> Надо перед вставкой включить русскую раскладку. (LoadKeyboardLayout
> или что-то вроде этого)
> В инете можно легко найти пример. Впрчем, вопрос стандартный,
> может и другое есть решение.

А можно немного по подробней как включить русскую раскладку?


 
КаПиБаРа ©   (2004-11-05 09:56) [6]

ssk ©   (05.11.04 9:49) [4]
вышеуказанных мной приложениях в [2] была установлена английская раскладка


У вас какая OS?

beavka ©   (05.11.04 9:34)

REA ©   (24.10.03 09:12)

Из форума (надо в FAQ вынести):

procedure TForm1.Button1Click(Sender: TObject);
const
RusLocale = SUBLANG_DEFAULT shl 10 or LANG_RUSSIAN;
var
Mem: THandle;
P: Pointer;
begin
Clipboard.Open;
Clipboard.AsText := "Русский текст в кодировке ANSI 1251";
Mem := GlobalAlloc(GMEM_MOVEABLE, SizeOf(DWORD));
P := GlobalLock(Mem);
DWORD(P^) := RusLocale;
GlobalUnlock(Mem);
Clipboard.SetAsHandle(CF_LOCALE, Mem);
Clipboard.Close;
end;

const
CODEPAGE = 1251;

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;


 
ssk ©   (2004-11-05 10:00) [7]

>как включить русскую раскладку?

LoadKeyboardLayout("00000409", KLF_ACTIVATE); //  английский
LoadKeyboardLayout("00000419", KLF_ACTIVATE); // русский
LoadKeyboardLayout("00000422", KLF_ACTIVATE); // украинский


попробуй еще установить в свойствах шрифта Charset = ANSI_CHARSET. не уверен, но может поможет. у меня было установлено DEFAULT_CHARSET и все работало.


 
ssk ©   (2004-11-05 10:01) [8]

>КаПиБаРа
У вас какая OS?


Windows 98 SE


 
КаПиБаРа ©   (2004-11-05 10:02) [9]

ssk ©   (05.11.04 10:01) [8]
В 98 такая проблема не существует


 
beavka ©   (2004-11-05 10:07) [10]

У меня вообще ХР, но и в 2000 та же проблема(
Сейчас попробую разобраться с вашими примерами))
Спасибо всем)) Очень отзывчивые люди тут) Приятно)


 
ssk ©   (2004-11-05 10:08) [11]

>КаПиБаРа

понял. просто в 2000 и XP мне пока не приходилось с таким сталкиваться. имеется ввиду проблема текущей ветки.


 
beavka ©   (2004-11-05 10:15) [12]

Огромное спасибо) Все теперь работает.


 
sergey23   (2004-11-05 19:02) [13]

мне похуй.
приветики.


 
Федька23   (2004-11-05 22:31) [14]

to sergey23
И тебе приветики Алёшка



Страницы: 1 вся ветка

Текущий архив: 2004.11.21;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.024 c
1-1099977540
Sidek
2004-11-09 08:19
2004.11.21
Как отобразить только часть bmp файла


14-1099891610
kaZaNoVa
2004-11-08 08:26
2004.11.21
Покупаю принтер, какой взять ?


3-1098430928
Still Swamp
2004-10-22 11:42
2004.11.21
BigInt -> Int64


6-1094665025
Klopan
2004-09-08 21:37
2004.11.21
IRC by TelNet


14-1099666667
quickblack
2004-11-05 17:57
2004.11.21
Как открыт php файл?