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

Вниз

MS Word и буфер обмена   Найти похожие ветки 

 
_Shuler_   (2008-01-13 19:53) [0]

всем хай!!!
вставляю из буфера обмена русский текст  в документ ворда и пояляются какие-то крякозяблики(((.
если вставить в другой текстовый редактор, то все нормально.
но в виндоузовском блокноте теже глюки. Подскажите а чем проблема???
может из-за кодировки???
Подскажите ПЛЗ


 
savyhinst ©   (2008-01-13 19:57) [1]


> может из-за кодировки

Именно из-за неё.


 
Dib@zol ©   (2008-01-13 19:59) [2]

показывай код добавления в буфер.


 
_Shuler_   (2008-01-13 20:02) [3]

Clipboard.AsText := clipboard.AsText+"sdfdg"

а в ворде вот  так просто:
wordApplication1.Selection.Paste;


 
_Shuler_   (2008-01-13 20:03) [4]

но с английсеом все нормально. только русский глючит...


 
{RASkov} ©   (2008-01-13 20:27) [5]

> [4] _Shuler_   (13.01.08 20:03)

Проводи операцию копирование-вставка при русской раскладке...


 
_Shuler_   (2008-01-13 20:30) [6]

хы. действительно работает. Спасибо.
Вот только не пойму: это как считать за глюк или так и должно быть???


 
{RASkov} ©   (2008-01-13 20:36) [7]

фича


 
_Shuler_   (2008-01-13 21:31) [8]

возникла еще проблемка.
после подключения к ворду (раскладка у меня по умолчанию english) перед вставкой не успеваю сменить раскладку(((.
делаю так:  LoadKeyboardLayout( StrCopy(Layout,"00000419"),KLF_ACTIVATE);
как перед вставкой сменить раскладку?


 
_Shuler_   (2008-01-13 21:34) [9]

наверно так бужет корректней: как сменить раскладку именно в ворде???
Спасибо!


 
Anatoly Podgoretsky ©   (2008-01-13 22:00) [10]

> _Shuler_  (13.01.2008 20:30:06)  [6]

Считай за глюк, поскольку ты работаешь по технологие ДОС, а не Windows NT
В буфер надо помещать в Юникоде, а не ANSI


 
_Shuler_   (2008-01-13 22:05) [11]

> Anatoly Podgoretsky ©   (13.01.08 22:00) [10]

  > Считай за глюк, поскольку ты работаешь по технологие ДОС,
  >  а не Windows NTВ буфер надо помещать в Юникоде, а не ANSI

ok.
Подскажите как тогда в Юникоде помещать
или
как сменить раскладку клавы в ворде.
PLZ


 
Anatoly Podgoretsky ©   (2008-01-13 22:47) [12]

Мне лень заниматься экспериментами, попробуй сам переделать эту функцию из генофонда.
procedure TClipboard.SetAsText(const Value: string);
begin
  SetBuffer(CF_TEXT, PChar(Value)^, Length(Value) + 1);
end;


 
_Shuler_   (2008-01-13 23:07) [13]

что-то не получается.(((
>>>SetBuffer(CF_TEXT, PChar(Value)^, Length(Value) + 1);
делфи говорит что не знает такого.


 
Anatoly Podgoretsky ©   (2008-01-13 23:08) [14]

> _Shuler_  (13.01.2008 23:07:13)  [13]

Это текст из модуля ClipBrd остальное сам там посмотришь, или можешь сам все сделать напрямую через WinAPI.


 
{RASkov} ©   (2008-01-13 23:51) [15]

> [13] _Shuler_   (13.01.08 23:07)

Не уверен в правильности("тупая переделка"), но всеж:
procedure SetBuffer(Format: Word; var Buffer; Size: Integer);
var
 Data: THandle;
 DataPtr: Pointer;
begin
 OpenClipboard(0);
 try
   Data := GlobalAlloc(GMEM_MOVEABLE+GMEM_DDESHARE, Size);
   try
     DataPtr := GlobalLock(Data);
     try
       Move(Buffer, DataPtr^, Size);
       SetClipboardData(Format, Data);
     finally
       GlobalUnlock(Data);
     end;
   except
     GlobalFree(Data);
     raise;
   end;
 finally
   CloseClipboard;
 end;
end;

procedure TForm1.Button1Click(Sender: TObject);
const S: PWideChar ="Тест русского текста Test English text Яя";
begin
 SetBuffer(CF_UNICODETEXT, PWideChar(S)^, Length(S)*2+2);
end;

(Для раздумья)


 
_Shuler_   (2008-01-15 21:20) [16]

мда ;жаль.
но что-то я не смог разобраться с этим Unicode(((
мож кто еще поможет.ПЛЗ


 
ketmar ©   (2008-01-15 22:00) [17]

>[16] _Shuler_ (15.01.08 21:20)
>но что-то я не смог разобраться с этим Unicode(((
>мож кто еще поможет.ПЛЗ

запросто. магазин хозтоваров->метла->нет проблем с Unicode.
или учимся искать в интернете и справках, да вдумчво читать найденое.


 
Amoeba ©   (2008-01-15 23:38) [18]

http://www.delphikingdom.com/asp/viewitem.asp?catalogid=780
Тут много чего интересного, особенно в обсуждении. Да и здесь на форуме в конце прошлого года было немало конкретно полезного.


 
_Shuler_   (2008-01-17 11:10) [19]


> {RASkov} ©   (13.01.08 23:51) [15]

Спасибо.
Разобрался:)



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

Форум: "Начинающим";
Текущий архив: 2008.02.10;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.05 c
15-1199317232
Германн
2008-01-03 02:40
2008.02.10
Командировка в Димитровград


15-1199642243
sauron
2008-01-06 20:57
2008.02.10
JAVA софт


15-1199879782
pavel_guzhanov
2008-01-09 14:56
2008.02.10
Минимизировать булеву функцию


1-1194184086
Zakir
2007-11-04 16:48
2008.02.10
Передача данных с помощью сообщений windows


15-1198933079
Tirael
2007-12-29 15:57
2008.02.10
ктонить юзал БП со 120мм вентилятором?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский