![]() |
|
|
|
|
#1
|
|||
|
|||
|
Добрый день, у меня возник вопрос, как научить программу различать что находится в буфере обмена?
Например: goo.gl vk.cc 8723938474 B744jfedoijge И что бы она все это могла различать друг от друга, а потом выполнила разные команды? Вот например код, который если в буфере 11 символов, заменит их и выведет кол-во символов (i) Код:
begin
s:=clipboard.AsText;
Clipboard.Open;
i:=Clipboard.GetTextBuf(PChar(s),500);
if i=11 then
begin
Clipboard.SetTextBuf('получилось');
ShowMessage(IntToStr(i));
end;
end.А вот как сделать что бы он распознавал текст и делил их на разные типы, пока придумать не могу. Последний раз редактировалось Admin, 01.04.2018 в 18:42. |
|
#2
|
|||
|
|||
|
неясна постановка задачи.
что программа должна делать? по ключевым словам выполнять разные действия??? Ну тогда типа так можно: Код:
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses Clipbrd;
procedure TForm1.Button1Click(Sender: TObject);
var
s : String;
begin
s := trim(edit1.text);
Clipboard.AsText := s;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
cmd : String;
begin
cmd := Trim(Clipboard.AsText);
if cmd = '' then exit; // no commands
if cmd = 'goo.gl' then ShowMessage('Open GOOGLE!')
else if cmd = 'vk.cc' then ShowMessage('Kontaktil!!!!')
else if cmd = '8723938474' then ShowMessage('Call 8723938474')
else ShowMessage(Format('Unknown command (%s).',[cmd]));
end;
end.Вместо ShowMesage ставишь процедуры, которые выполняют соотв. действия. |
|
#3
|
|||
|
|||
|
Согласен, сформулировал не точно.
Нужно что бы программа работала без формы и могла распознавать ссылки. Код в самой сути написан верно, но надо к примеру goo.gl/blabla(любая сокращенная ссылка через goo.gl) или vk.cc/sokratit(тоже самое) он определял их, и если видел, то выполнял какие-то команды. Т.е. что то попадает в буфер обмена, он заметил, если это телефон - 1 сценарий goo.gl/..... - 2 сценарий и т.п.. Получается еще нужно все в цикл обернуть, что бы программа работала постоянно. Если поможете, буду супер признателен, препод отлично обещал;D |
|
#4
|
||||
|
||||
|
"Регистрируете" свое окно как обозреватель буфера обмена..
Цитата:
|
|
#5
|
|||
|
|||
|
Ох, информации). Спасибо, буду сидеть разбираться;3
|
|
#6
|
|||
|
|||
|
Еще маленький уточняющий, но очень важный вопрос: т.е. без углубленных знаний этот проект реализовать не получиться? Друг подобный код написал на AutoIt за месяц обучения
|