![]() |
|
|
#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
|
||||
|
||||
![]() "Регистрируете" свое окно как обозреватель буфера обмена..
Цитата:
Грамотно поставленный вопрос содержит не менее 50% ответа. Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть. |
#5
|
|||
|
|||
![]() Ох, информации). Спасибо, буду сидеть разбираться;3
|
#6
|
|||
|
|||
![]() Еще маленький уточняющий, но очень важный вопрос: т.е. без углубленных знаний этот проект реализовать не получиться? Друг подобный код написал на AutoIt за месяц обучения
|