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

Вниз

Как сделать чтобы при копировании в буфер   Найти похожие ветки 

 
RealRascal ©   (2004-04-11 15:05) [0]

из мемо русские буковки не шкрябались? Пробовал изменять оем конверт, а также ставил чарсет на русский - эффекта ноль - при копировании в другую программу(или, например, сюда, в поле ввода на странице IE) вместо русских буковок - белиберда какая-то...


 
DDA ©   (2004-04-11 15:59) [1]

Проблемы копирования русского текста в clipboard и обратно Автор Игорь Цысь ( Igoreha ),
дата публикации 24 апреля 2003г
«Королевства Delphi»

У многих возникает проблема с копированием русского текста в буфер обмена на ОС Win2000 и WinXP а может и Win9x. Простого и надежного решения данной проблемы найти, к сожалению, не удалось :-(
Представляю модуль который поможет решить проблему копирования русского текста в clipboard и обратно.
Спасибо всем, кто помог решить эту проблему !!!

Нужно просто добавить в проект ...

         
unit RusClipboard;

interface

uses Clipbrd;

type
 TRusClipboard = class(TClipboard)
  private
   procedure SetCodePage(const CodePage: longint);
  public
   procedure Open; override;
   procedure Close; override;
 end;

implementation

uses Windows;

{ TRusClipboard }

procedure TRusClipboard.Close;
begin
 SetCodePage($0419);
 inherited;
end;

procedure TRusClipboard.Open;
begin
 inherited;
 SetCodePage($0419);
end;

procedure TRusClipboard.SetCodePage(const CodePage: longint);
var Data: THandle;
   DataPtr: Pointer;
begin
 // Назначить кодовую страницу для буфера обмена
 Data:= GlobalAlloc(GMEM_MOVEABLE + GMEM_DDESHARE, 4);
 try
   DataPtr := GlobalLock(Data);
   try
     Move(CodePage, DataPtr^, 4);
     SetClipboardData(CF_LOCALE, Data);
    finally
     GlobalUnlock(Data);
   end;
  except
   GlobalFree(Data);
 end;
end;

var FClipboard: TClipboard;
   OldClipboard: TClipboard;

initialization
 // Установить клипборд
 FClipboard:= TRusClipboard.Create;
 OldClipboard:= SetClipboard(FClipboard);
 if OldClipboard <> nil then
   OldClipboard.Free;

end.



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

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

Наверх




Память: 0.47 MB
Время: 0.044 c
1-1082222525
SergP
2004-04-17 21:22
2004.05.02
Помогите все-таки с распаковкой сжатой строки!!!!!


11-1064221574
RA
2003-09-22 13:06
2004.05.02
BitBtn картинка


1-1081879730
HPR
2004-04-13 22:08
2004.05.02
Запись в реестр динамического массива


9-1068791076
IgAn
2003-11-14 09:24
2004.05.02
Алгоритм случайной генерации карты


6-1073307187
The X
2004-01-05 15:53
2004.05.02
Проблема кодировки при отсылке русских СМС с e-mail на телефон