Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

с буфером

-

Вопросы и ответы, обсуждения

- Ваши вопросы по Pascal/Delphi только в данном разделе

Ответ
 
Опции темы
Старый 03.08.2011, 21:18   #1
 Разведчик
Аватар для Name-3
 
Name-3 никому не известный тип
Регистрация: 01.08.2011
Сообщений: 1
Популярность: 11
Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 2 сообщениях
 
По умолчанию с буфером

здравствуйте! я хочу написать программу для копирования текста, всё копируется, но копируются иероглифы, а нужно чтобы копировался русский текст
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
Clipboard.SetTextBuf(PChar('ВАШ_ТЕКСТ'));

end;

end.
вместо ВАШ_ТЕКСТ вставляются иероглифы... помогите сделать русский язык!
  Ответить с цитированием
Старый 03.08.2011, 22:55   #2
Бандеровец
 Лейтенант-командор
Аватар для VeTaL_UA
 
VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(
Регистрация: 12.08.2010
Сообщений: 727
Популярность: 30569
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
Отправить сообщение для VeTaL_UA с помощью ICQ Отправить сообщение для VeTaL_UA с помощью Skype™
 
По умолчанию Re: с буфером

Просто добавь в свой проект:
Код:
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.
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.

Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.


  Ответить с цитированием
Старый 05.08.2011, 07:51   #3
 Разведчик
Аватар для Name-3
 
Name-3 никому не известный тип
Регистрация: 01.08.2011
Сообщений: 1
Популярность: 11
Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 2 сообщениях
 
По умолчанию Re: с буфером

а можно чуть покомпактней? я собираюсь сделать чтобы при нажатии на кнопку текст автоматически копировался в буфер, а этих кнопок у меня будет дофеневой фени...
  Ответить с цитированием
Старый 07.08.2011, 21:37   #4
 Разведчик
Аватар для *xalyava*
 
*xalyava* на правильном пути
Регистрация: 10.06.2011
Сообщений: 18
Популярность: 59
Сказал(а) спасибо: 7
Поблагодарили 49 раз(а) в 26 сообщениях
 
По умолчанию Re: с буфером

Цитата:
Сообщение от Name-3Посмотреть сообщение
а можно чуть покомпактней? я собираюсь сделать чтобы при нажатии на кнопку текст автоматически копировался в буфер, а этих кнопок у меня будет дофеневой фени...

есть один метод, код занимает одну строку, но то, что я предлагаю, не очень разумно!

кинь на форму memo, предварительно поставь значение visible:= false;

пропиши все что тебе надо в memo и в кнопку вставь код:
Код:
Clipboard.SetTextBuf(PChar(memo1.Lines.Text));
итог:
когда скомпилируешь прогу, на форме не будет виден memo и при нажатии на кнопку содержимое невидимого memo (для простых смертных) скопируется в буфер
________________
Info_akkGG Check
  Ответить с цитированием
Старый 07.08.2011, 22:18   #5
Бандеровец
 Лейтенант-командор
Аватар для VeTaL_UA
 
VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(
Регистрация: 12.08.2010
Сообщений: 727
Популярность: 30569
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
Отправить сообщение для VeTaL_UA с помощью ICQ Отправить сообщение для VeTaL_UA с помощью Skype™
 
По умолчанию Re: с буфером

*xalyava*, а зачем ставить невидимый Memo, когда можно создать переменную
Код:
Memo:TStrings
и она будет выступать тем же самым Memo... Зачем использовать невидимый компонент?
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.

Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.


  Ответить с цитированием
Старый 07.08.2011, 22:25   #6
 Разведчик
Аватар для *xalyava*
 
*xalyava* на правильном пути
Регистрация: 10.06.2011
Сообщений: 18
Популярность: 59
Сказал(а) спасибо: 7
Поблагодарили 49 раз(а) в 26 сообщениях
 
По умолчанию Re: с буфером

Цитата:
Сообщение от VeTaL_UAПосмотреть сообщение
*xalyava*, а зачем ставить невидимый Memo, когда можно создать переменную
Код:
Memo:TStrings
и она будет выступать тем же самым Memo... Зачем использовать невидимый компонент?


ммм.. не знал))

а как будет выглядеть код с этой переменной ?? можно посмотреть ?)
________________
Info_akkGG Check
  Ответить с цитированием
Старый 07.08.2011, 22:31   #7
Бандеровец
 Лейтенант-командор
Аватар для VeTaL_UA
 
VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(
Регистрация: 12.08.2010
Сообщений: 727
Популярность: 30569
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
Отправить сообщение для VeTaL_UA с помощью ICQ Отправить сообщение для VeTaL_UA с помощью Skype™
 
По умолчанию Re: с буфером

Цитата:
Сообщение от *xalyava*Посмотреть сообщение
а как будет выглядеть код с этой переменной ?? можно посмотреть ?)

Код:
var
Memo:TStrings;
begin
Memo.Create;
Memo.Add('Это вместо Memo');
Memo.SaveToFile('Memo.txt');
end;
Работа с TStrings такая же, как и с TStringList
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.

Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.


  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 11:59.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net