Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.033 c
1-1099605309
ssmaxx
2004-11-05 00:55
2004.11.21
Перемещение по текстовым файлам


8-1093033688
Константинов
2004-08-21 00:28
2004.11.21
Заливка произвольной области Bitmap


1-1100082530
frEEstyler
2004-11-10 13:28
2004.11.21
как передать имя открытого файла программе


14-1099645652
КаПиБаРа
2004-11-05 12:07
2004.11.21
Net Send


6-1095312364
integral9
2004-09-16 09:26
2004.11.21
обработка исключения EidHTTPProtocolException





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский