Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.10.2007, 22:27   #1
experts91
 
Регистрация: 02.10.2007
Сообщений: 4
Вопрос буффер обмена

проблема такова:
Код:
 
procedure TForm1.FormCreate(Sender: TObject);
var
  ok: boolean;
begin
  OK:=false;
  repeat
   button1.Click;
   sleep (500);
  until ok;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  P:= @Buffer;
  if Clipboard.HasFormat(CF_TEXT) then
   begin
    application.ProcessMessages;
    Clipboard.GetTextBuf(P,Sizeof(Buffer));
    if p = '1???' then
     clipboard.Open;
    clipboard.astext:='1000';
    clipboard.Close;
    if p = '2???' then
     clipboard.Open;
    clipboard.astext:='2000';
    clipboard.Close;
   end;
end;

end.
мне нужно, чтобы если в буффере появлялось число, начинающееся на "1" оно автоматически заменялось на "1000" и число, начинающееся на "2" заменялось на "2000". А уменя получилось, что любое число заменяется на "2000". Как быть??...
От модера: используй теги CODE!

Последний раз редактировалось rpy3uH; 07.10.2007 в 15:42.
experts91 вне форума Ответить с цитированием
Старый 06.10.2007, 23:58   #2
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

правильно расставь begin .. end
SkyM@n вне форума Ответить с цитированием
Старый 07.10.2007, 15:47   #3
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

Код:
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  P:= @Buffer;
  if Clipboard.HasFormat(CF_TEXT) then
   begin
    application.ProcessMessages;
    Clipboard.GetTextBuf(P,Sizeof(Buffer));
    if p = '1???' then
     clipboard.Open;
    clipboard.astext:='1000';
    clipboard.Close;
    if p = '2???' then
     clipboard.Open;
    clipboard.astext:='2000';
    clipboard.Close;
   end;
end;
надо так
Код:
    if p[1] = '1' then
     begin
       clipboard.Open;
       clipboard.astext:='1000';
       clipboard.Close;[/B]
      end;
    if p[1] = '2' then
     begin
      clipboard.Open;
      clipboard.astext:='2000';
      clipboard.Close;
     end;
rpy3uH вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как очистить буфер обмена? StasSv Microsoft Office Excel 2 11.08.2008 17:38
Работа с буфером обмена(win) NikLik Общие вопросы Delphi 6 24.06.2008 00:59
Скопировать в буфер обмена Dj_smart JavaScript, Ajax 8 15.05.2008 19:16
Перехват Буффера обмена fediko Win Api 2 02.04.2007 21:52