Форум: "Основная";
Текущий архив: 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