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

Вниз

Копирование в clipboard   Найти похожие ветки 

 
nine_inch_nails   (2004-03-31 10:41) [0]

Всем привет ! :)
Сначала пролог. Есть табличка dbase"ная, несколько полей. В некоторых полях, естественно, русские символы. В БДЕ лэнгдрайвер dbase"a прописан ansi. Всё путем - символы читаемы, все отлично.
И встала проблемка - нужно значения полей вставлять в ворд или  там в эксель.
Теперь собственно промблема:
Естественно все оказалось не так просто -
строка ClipBoard.AsText:=Table1.FieldByName("rus_field").AsString чудесным образом копирует русские символы из поля в буфер обмена, НО! При вставке в ворд вставляются кракозябры! За вчерашние полдня лечения не найдено  %)) Вставка в эксель получается только через спец.вставка->неформатированный текст.
Поделитесь противоядием плиз :)

ЗЫ: Нанять программиста просьба не предлагать!


 
Stas ©   (2004-03-31 10:56) [1]

Dbgrideh


 
Developerr ©   (2004-03-31 11:05) [2]

http://delphibase.endimus.com/?action=viewfunc&topic=sysiface&id=10253


 
nine_inch_nails   (2004-03-31 11:14) [3]

Developerr, ты маг и волшебник! Дай бог тебе жену хорошую! : )))


 
Alex Konshin ©   (2004-03-31 12:24) [4]

Developerr ©   (31.03.04 11:05) [2]
http://delphibase.endimus.com/?action=viewfunc&topic=sysiface&id=10253

У того примера куча недочетов видимых невооруженным взглядом.
Я использую такую функцию, которая раьотает и на W9x, и на NT+:

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;


 
nine_inch_nails   (2004-03-31 16:13) [5]

мой невооруженный глаз ничего такого не увидел... в любом случае, ОГРОМНОЕ спасибо за ответы.. точнее, за внимание и идеи. Всем кто ответил.



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

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

Наверх




Память: 0.48 MB
Время: 0.033 c
3-1079879579
AndreyL
2004-03-21 17:32
2004.04.18
Kak soranit svoju shirinu kolonki DBGrida (posle nastrojki)!


14-1080070794
Добрые пчелы
2004-03-23 22:39
2004.04.18
ИМХО, фраза: "Сайту "Мастера Делфи" нужны рекламодатели"


1-1080930806
hgd
2004-04-02 22:33
2004.04.18
Вопрос про процедуры


14-1079932827
Sphinx
2004-03-22 08:20
2004.04.18
Что такое хорошо и что такое плохо


1-1080806011
Domkrat
2004-04-01 11:53
2004.04.18
Ищу Control