 |
с буфером - Вопросы и ответы, обсуждения - Ваши вопросы по Pascal/Delphi только в данном разделе |
03.08.2011, 21:18
|
#1
|
|
|
|
Разведчик
|
 Регистрация: 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
|
|
|
|
Лейтенант-командор
|
 Регистрация: 12.08.2010
 Сообщений: 727
 Популярность: 30569
 Золото Zhyk.Ru: 1
 Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
|
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.
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Кошельки: 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
|
|
|
|
Разведчик
|
 Регистрация: 01.08.2011
 Сообщений: 1
 Популярность: 11
 Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 2 сообщениях
|
Re: с буфером
а можно чуть покомпактней? я собираюсь сделать чтобы при нажатии на кнопку текст автоматически копировался в буфер, а этих кнопок у меня будет дофеневой фени...
|
|
|
07.08.2011, 21:37
|
#4
|
|
|
|
Разведчик
|
 Регистрация: 10.06.2011
 Сообщений: 18
 Популярность: 59
 Сказал(а) спасибо: 7
Поблагодарили 49 раз(а) в 26 сообщениях
|
Re: с буфером
 |
Цитата: |
 |
|
|
|
|
|
|
|
|
а можно чуть покомпактней? я собираюсь сделать чтобы при нажатии на кнопку текст автоматически копировался в буфер, а этих кнопок у меня будет дофеневой фени...
|
|
 |
|
 |
|
есть один метод, код занимает одну строку, но то, что я предлагаю, не очень разумно!
кинь на форму memo, предварительно поставь значение visible:= false;
пропиши все что тебе надо в memo и в кнопку вставь код:
Код:
Clipboard.SetTextBuf(PChar(memo1.Lines.Text));
итог:
когда скомпилируешь прогу, на форме не будет виден memo и при нажатии на кнопку содержимое невидимого memo (для простых смертных  ) скопируется в буфер
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
|
|
|
07.08.2011, 22:18
|
#5
|
|
|
|
Лейтенант-командор
|
 Регистрация: 12.08.2010
 Сообщений: 727
 Популярность: 30569
 Золото Zhyk.Ru: 1
 Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
|
Re: с буфером
*xalyava*, а зачем ставить невидимый Memo, когда можно создать переменную и она будет выступать тем же самым Memo... Зачем использовать невидимый компонент?
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Кошельки: 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
|
|
|
|
Разведчик
|
 Регистрация: 10.06.2011
 Сообщений: 18
 Популярность: 59
 Сказал(а) спасибо: 7
Поблагодарили 49 раз(а) в 26 сообщениях
|
Re: с буфером
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
|
|
|
07.08.2011, 22:31
|
#7
|
|
|
|
Лейтенант-командор
|
 Регистрация: 12.08.2010
 Сообщений: 727
 Популярность: 30569
 Золото Zhyk.Ru: 1
 Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
|
Re: с буфером
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Кошельки: 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.
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 17:07.
|
 |