Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Модератор форума: Peter, DEMBEL  
asNotify
mishemДата: Вт, 03 Апреля 2018, 19:53 | Сообщение # 211
Эксперт форума
Кстати как пример монитора мыши.
Прикрепления: tmMouseHook.zip (286.4 Kb)


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеКстати как пример монитора мыши.

Автор - mishem
Дата добавления - 03 Апреля 2018 в 19:53
PeterДата: Вт, 03 Апреля 2018, 20:00 | Сообщение # 212
Админ NeoBook
Цитата mishem ()
2. Все началось с вопроса типа, а что нужно сделать полезное.
3. Разговор был о том, что каким плагином заняться, что бы в процессе работы получить хорошие навыки

А я говорил открытым текстом и не один раз, и, главное, можно было пройти прекрасную "школу" для начинающего плагинотворителя ,но. увы, неинтересно....
Что ж, интерес в этом деле у всех стоИт на первом месте....
:)
Цитата mishem ()
то это как раз тот плагин.

Я так не думаю, но... кто знает... у каждого свой путь...
Цитата mishem ()
что б я тут не писал, толку 0

Аналогично!
:)
Цитата mishem ()
Да, у меня желание получить плагин с монитором переменной(ых), мыши как локального так и глобального, клавиатуры, окна\объекта под мышью, и ...

mishem, у тебя эти желания настолько древние, что сам бы уж давно сделал.
:)


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата mishem ()
2. Все началось с вопроса типа, а что нужно сделать полезное.
3. Разговор был о том, что каким плагином заняться, что бы в процессе работы получить хорошие навыки

А я говорил открытым текстом и не один раз, и, главное, можно было пройти прекрасную "школу" для начинающего плагинотворителя ,но. увы, неинтересно....
Что ж, интерес в этом деле у всех стоИт на первом месте....
:)
Цитата mishem ()
то это как раз тот плагин.

Я так не думаю, но... кто знает... у каждого свой путь...
Цитата mishem ()
что б я тут не писал, толку 0

Аналогично!
:)
Цитата mishem ()
Да, у меня желание получить плагин с монитором переменной(ых), мыши как локального так и глобального, клавиатуры, окна\объекта под мышью, и ...

mishem, у тебя эти желания настолько древние, что сам бы уж давно сделал.
:)

Автор - Peter
Дата добавления - 03 Апреля 2018 в 20:00
mishemДата: Вт, 03 Апреля 2018, 20:53 | Сообщение # 213
Эксперт форума
Цитата Peter ()
что сам бы уж давно сделал.

Ну нету у меня желания изучать. Нету. Лет бы 20 назад хотя бы.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата Peter ()
что сам бы уж давно сделал.

Ну нету у меня желания изучать. Нету. Лет бы 20 назад хотя бы.

Автор - mishem
Дата добавления - 03 Апреля 2018 в 20:53
PeterДата: Вт, 03 Апреля 2018, 23:11 | Сообщение # 214
Админ NeoBook


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение

Автор - Peter
Дата добавления - 03 Апреля 2018 в 23:11
AS3856Дата: Ср, 04 Апреля 2018, 10:10 | Сообщение # 215
Эксперт форума
Мысль возникла интересная - надо б изучить
идея такова - использовать реализовать выполнение строки как кода делфи
- в таком случае упростится выполнение в таймере(ненадо писать длинную обработку строки)
а всего лишь показать пользователю правильность синтаксиса написания кода..
посмотрю на это - возможно тогда реализуются все запрjсы по IFEX
где то я на эту тему компонент видел...

Добавлено (04 Апреля 2018, 10:01)
---------------------------------------------
Нашёл вот на просторах инета

Код
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, PaxCompiler, StdCtrls, PaxProgram;

type
  TForm1= class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    PaxCompiler1: TPaxCompiler;
    PaxPascalLanguage1: TPaxPascalLanguage;
    PaxProgram1: TPaxProgram;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  str:string;
begin
  str:='Say '; // переменная для примера

  paxCompiler1.Reset;  // Готовим PaxCompiler
  paxCompiler1.RegisterLanguage(PaxPascalLanguage1); // Скрипт будет на Паскале

  // Теперь нужно зарегистрировать все процедуры, переменные, функции и т.д. (точнее указатели на них)
  // которые мы будем ипользовать в скрипте
  paxCompiler1.RegisterHeader(0, 'procedure ShowMessage(const Msg: string);',@ShowMessage);
  // Если процедура или функция, то RegisterHeader

  paxCompiler1.RegisterVariable(0,'str:string;',@str);
  // Если переменная, константа то RegisterVariable

  paxCompiler1.AddModule('main',PaxPascalLanguage1.LanguageName);
  // Добовляем новый модуль (название произвольное)

  // и собственно сам код - строка за строкой...
  paxCompiler1.AddCode('main','begin');
  paxCompiler1.AddCode('main',Edit1.Text);
  paxCompiler1.AddCode('main','end.');

  if  paxCompiler1.Compile(paxprogram1) then // компилируем
  begin                    // запускаем!
    PaxProgram1.Run;
  end
  else
    ShowMessage('Error compile');
end;

end.

Сам код простой- но надо поизучать модуль PaxProgram
-возможно что то из этого получится...

Добавлено (04 Апреля 2018, 10:10)
---------------------------------------------
Я так прикидываю в самой NB сделано что то подобное при использовании IFEX
-так может и в этой ситуации попробовать такое же провернуть... проверить надо
-просто сейчас немного некогда к вечеру как освобожусь....

 
СообщениеМысль возникла интересная - надо б изучить
идея такова - использовать реализовать выполнение строки как кода делфи
- в таком случае упростится выполнение в таймере(ненадо писать длинную обработку строки)
а всего лишь показать пользователю правильность синтаксиса написания кода..
посмотрю на это - возможно тогда реализуются все запрjсы по IFEX
где то я на эту тему компонент видел...

Добавлено (04 Апреля 2018, 10:01)
---------------------------------------------
Нашёл вот на просторах инета

Код
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, PaxCompiler, StdCtrls, PaxProgram;

type
  TForm1= class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    PaxCompiler1: TPaxCompiler;
    PaxPascalLanguage1: TPaxPascalLanguage;
    PaxProgram1: TPaxProgram;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  str:string;
begin
  str:='Say '; // переменная для примера

  paxCompiler1.Reset;  // Готовим PaxCompiler
  paxCompiler1.RegisterLanguage(PaxPascalLanguage1); // Скрипт будет на Паскале

  // Теперь нужно зарегистрировать все процедуры, переменные, функции и т.д. (точнее указатели на них)
  // которые мы будем ипользовать в скрипте
  paxCompiler1.RegisterHeader(0, 'procedure ShowMessage(const Msg: string);',@ShowMessage);
  // Если процедура или функция, то RegisterHeader

  paxCompiler1.RegisterVariable(0,'str:string;',@str);
  // Если переменная, константа то RegisterVariable

  paxCompiler1.AddModule('main',PaxPascalLanguage1.LanguageName);
  // Добовляем новый модуль (название произвольное)

  // и собственно сам код - строка за строкой...
  paxCompiler1.AddCode('main','begin');
  paxCompiler1.AddCode('main',Edit1.Text);
  paxCompiler1.AddCode('main','end.');

  if  paxCompiler1.Compile(paxprogram1) then // компилируем
  begin                    // запускаем!
    PaxProgram1.Run;
  end
  else
    ShowMessage('Error compile');
end;

end.

Сам код простой- но надо поизучать модуль PaxProgram
-возможно что то из этого получится...

Добавлено (04 Апреля 2018, 10:10)
---------------------------------------------
Я так прикидываю в самой NB сделано что то подобное при использовании IFEX
-так может и в этой ситуации попробовать такое же провернуть... проверить надо
-просто сейчас немного некогда к вечеру как освобожусь....


Автор - AS3856
Дата добавления - 04 Апреля 2018 в 10:10
PeterДата: Ср, 04 Апреля 2018, 12:56 | Сообщение # 216
Админ NeoBook
Цитата AS3856 ()
идея такова -

Есть у эсперальты подобный плагин.
Если не ошибаюсь, реализовано это дело на компонентах из библиотеки JEDI.
Цитата AS3856 ()
всего лишь показать пользователю правильность синтаксиса написания кода

Ага!
Только код-то будет на Pascal !!!
Совсем мелочь!
:)
Правда, насколько мне известно, в этих компонентах присутствует "защита от дурака", но от изучения языка-то никуда не деться.
Цитата AS3856 ()
Я так прикидываю в самой NB сделано что то подобное при использовании IFEX

Это совершенно разные вещи.
Цитата AS3856 ()
попробовать такое же провернуть.

Почему бы и нет....
;)


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата AS3856 ()
идея такова -

Есть у эсперальты подобный плагин.
Если не ошибаюсь, реализовано это дело на компонентах из библиотеки JEDI.
Цитата AS3856 ()
всего лишь показать пользователю правильность синтаксиса написания кода

Ага!
Только код-то будет на Pascal !!!
Совсем мелочь!
:)
Правда, насколько мне известно, в этих компонентах присутствует "защита от дурака", но от изучения языка-то никуда не деться.
Цитата AS3856 ()
Я так прикидываю в самой NB сделано что то подобное при использовании IFEX

Это совершенно разные вещи.
Цитата AS3856 ()
попробовать такое же провернуть.

Почему бы и нет....
;)

Автор - Peter
Дата добавления - 04 Апреля 2018 в 12:56
AS3856Дата: Ср, 04 Апреля 2018, 17:28 | Сообщение # 217
Эксперт форума
Цитата Peter ()
Если не ошибаюсь, реализовано это дело на компонентах из библиотеки JEDI.

Можно и без сторонних библиотек обойтись, писать допустим в Memo код который необходимо выполнить,
а затем воспользоваться интерпретатором MS ScriptControl в Delphi.
Т.Е. пишем скрипт - и выполняется Почитал проэто всё - вроде могу осилить., т таком случае пользователь сам будет писать все условия какие ему надо , и не требуется выискивать все IF AND и OR.
С этим MS ScriptControl интересная штука_в общем требуется установить- ну это несложно, но при установке и выборе языка там есть и NeoBook ActiveX Library.
Я незнаю - это что - прямо на языке NB можно писать? Тут я непонимаю....
Пётр - может знаешь ты ? может вопрос то легче решится чем тут копья ломаем ?
Хотелось бы задачку то решить ( ну не пролетать жже Мишему :D )
ссылочку глянь -может что то непонятно говорю
http://devdelphi.ru/?p=1205

Добавлено (04 Апреля 2018, 17:28)
---------------------------------------------
Затупил немного , это же есть в NeoBook Help ActiveX - там всё описание.
У меня только один вопрос остаётся - судя по всеме получается можно писать прямо на "NeoBook'e" и выполнять в коде делфи(в данном случае в таймере) - возможно такое ?

 
Сообщение
Цитата Peter ()
Если не ошибаюсь, реализовано это дело на компонентах из библиотеки JEDI.

Можно и без сторонних библиотек обойтись, писать допустим в Memo код который необходимо выполнить,
а затем воспользоваться интерпретатором MS ScriptControl в Delphi.
Т.Е. пишем скрипт - и выполняется Почитал проэто всё - вроде могу осилить., т таком случае пользователь сам будет писать все условия какие ему надо , и не требуется выискивать все IF AND и OR.
С этим MS ScriptControl интересная штука_в общем требуется установить- ну это несложно, но при установке и выборе языка там есть и NeoBook ActiveX Library.
Я незнаю - это что - прямо на языке NB можно писать? Тут я непонимаю....
Пётр - может знаешь ты ? может вопрос то легче решится чем тут копья ломаем ?
Хотелось бы задачку то решить ( ну не пролетать жже Мишему :D )
ссылочку глянь -может что то непонятно говорю
http://devdelphi.ru/?p=1205

Добавлено (04 Апреля 2018, 17:28)
---------------------------------------------
Затупил немного , это же есть в NeoBook Help ActiveX - там всё описание.
У меня только один вопрос остаётся - судя по всеме получается можно писать прямо на "NeoBook'e" и выполнять в коде делфи(в данном случае в таймере) - возможно такое ?


Автор - AS3856
Дата добавления - 04 Апреля 2018 в 17:28
PeterДата: Ср, 04 Апреля 2018, 18:29 | Сообщение # 218
Админ NeoBook
Сначала:
Цитата AS3856 ()
Можно и без сторонних библиотек обойтись

Потом:
Цитата AS3856 ()
в общем требуется установить-


Цитата AS3856 ()
MS ScriptControl в Delph

Я никогда в эти вещи не вникал за ненадобностью.
Про JEDI - интерпретатор знаю по составу библиотеки, и то, что эсперальта вовсю ею пользуется.
Могу только точно сказать, что путь, на котором пользователю придется (а ПРИДЕТСЯ) изучать, по сути, "взрослые" языки программирования, бессмысленен (тогда уж лучше сразу за Delphi приниматься, а не играть в извращения)..
Но, если так хочется попробовать, то - вперед!
:)
Что касаемо:
Цитата AS3856 ()
судя по всеме получается можно писать прямо на "NeoBook'e" и выполнять в коде делфи(в данном случае в таймере) - возможно такое ?

то, технология ActiveX подразумевает внедрение готового кода (объектов) на основе зарегистрированных в системе интерфейсов.
Иными словами, мы можем внедрить, например, в проект Delphi ГОТОВЫЙ NB-проект (соответствующим образом скомпилированный), и взаимодействать с ним через элемент управления ActiveX, точнее - через доступные свойства и методы компонента ActiveX.
Пример такой технологии - необушный броузер.
Кроме того, следует учитывать, что этот (соответствующий) ActiveX должен быть установлен и зарегистрирован на компутере пользователя.
В конечном итоге все это выливается в не очень-то перспективную картину - слишком много хлопот, а ради чего?
;)


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
СообщениеСначала:
Цитата AS3856 ()
Можно и без сторонних библиотек обойтись

Потом:
Цитата AS3856 ()
в общем требуется установить-


Цитата AS3856 ()
MS ScriptControl в Delph

Я никогда в эти вещи не вникал за ненадобностью.
Про JEDI - интерпретатор знаю по составу библиотеки, и то, что эсперальта вовсю ею пользуется.
Могу только точно сказать, что путь, на котором пользователю придется (а ПРИДЕТСЯ) изучать, по сути, "взрослые" языки программирования, бессмысленен (тогда уж лучше сразу за Delphi приниматься, а не играть в извращения)..
Но, если так хочется попробовать, то - вперед!
:)
Что касаемо:
Цитата AS3856 ()
судя по всеме получается можно писать прямо на "NeoBook'e" и выполнять в коде делфи(в данном случае в таймере) - возможно такое ?

то, технология ActiveX подразумевает внедрение готового кода (объектов) на основе зарегистрированных в системе интерфейсов.
Иными словами, мы можем внедрить, например, в проект Delphi ГОТОВЫЙ NB-проект (соответствующим образом скомпилированный), и взаимодействать с ним через элемент управления ActiveX, точнее - через доступные свойства и методы компонента ActiveX.
Пример такой технологии - необушный броузер.
Кроме того, следует учитывать, что этот (соответствующий) ActiveX должен быть установлен и зарегистрирован на компутере пользователя.
В конечном итоге все это выливается в не очень-то перспективную картину - слишком много хлопот, а ради чего?
;)

Автор - Peter
Дата добавления - 04 Апреля 2018 в 18:29
AS3856Дата: Ср, 04 Апреля 2018, 18:55 | Сообщение # 219
Эксперт форума
Цитата Peter ()
Могу только точно сказать, что путь, на котором пользователю придется (а ПРИДЕТСЯ) изучать, по сути, "взрослые" языки программирования, бессмысленен (тогда уж лучше сразу за Delphi приниматься, а не играть в извращения)..
Но, если так хочется попробовать, то - вперед!

Про NB я понял - не лучший вариант.
Про скриптовые языки - так там всё просто
и показать как писать простейшие условия непроблема ( в NB примерно тоже самое- отличий мало(я про свой любимый VBS) :D )
(когда начинал NB учить для меня проблема была заполнить в коде IFEX - не сразу понял что требуется - а схорошим бы примером - так без проблемм)
в общем для начала попробую использовать VBS - есть примеры - если всё пойдёт - замечательно
-нет -попробуючто то другое.
- а потом всё это приспособить в обработке строк...
 
Сообщение
Цитата Peter ()
Могу только точно сказать, что путь, на котором пользователю придется (а ПРИДЕТСЯ) изучать, по сути, "взрослые" языки программирования, бессмысленен (тогда уж лучше сразу за Delphi приниматься, а не играть в извращения)..
Но, если так хочется попробовать, то - вперед!

Про NB я понял - не лучший вариант.
Про скриптовые языки - так там всё просто
и показать как писать простейшие условия непроблема ( в NB примерно тоже самое- отличий мало(я про свой любимый VBS) :D )
(когда начинал NB учить для меня проблема была заполнить в коде IFEX - не сразу понял что требуется - а схорошим бы примером - так без проблемм)
в общем для начала попробую использовать VBS - есть примеры - если всё пойдёт - замечательно
-нет -попробуючто то другое.
- а потом всё это приспособить в обработке строк...

Автор - AS3856
Дата добавления - 04 Апреля 2018 в 18:55
PeterДата: Ср, 04 Апреля 2018, 19:02 | Сообщение # 220
Админ NeoBook
Цитата AS3856 ()
в общем для начала попробую использовать VBS

Смысл?
В NB можно напрямую использовать VBS, а извращяться только ради того, что что-то возможно(!) будет работать независимо от основного кода NB...
Гм....
Из Delphi работать с VBS в то время, когда ВСЕ можно сделать в Delphi и во много раз эффективнее.
Что-то меня начинает клинить.....
%)


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата AS3856 ()
в общем для начала попробую использовать VBS

Смысл?
В NB можно напрямую использовать VBS, а извращяться только ради того, что что-то возможно(!) будет работать независимо от основного кода NB...
Гм....
Из Delphi работать с VBS в то время, когда ВСЕ можно сделать в Delphi и во много раз эффективнее.
Что-то меня начинает клинить.....
%)

Автор - Peter
Дата добавления - 04 Апреля 2018 в 19:02
AS3856Дата: Ср, 04 Апреля 2018, 20:30 | Сообщение # 221
Эксперт форума
Цитата Peter ()
Из Delphi работать с VBS в то время, когда ВСЕ можно сделать в Delphi и во много раз эффективнее.
Что-то меня начинает клинить.....

Мне надо реализовать выполнение кода из строки.
( простейшиее решение или компонент ( paxCompiler он платный) или использовать допустим интерпретатор MS ScriptControl (идёт вместе с Windows)/
Если ты знаешь решение проще буду рад если поделишься таким знанием.
как сделать проще я не знаю к сожалению...
 
Сообщение
Цитата Peter ()
Из Delphi работать с VBS в то время, когда ВСЕ можно сделать в Delphi и во много раз эффективнее.
Что-то меня начинает клинить.....

Мне надо реализовать выполнение кода из строки.
( простейшиее решение или компонент ( paxCompiler он платный) или использовать допустим интерпретатор MS ScriptControl (идёт вместе с Windows)/
Если ты знаешь решение проще буду рад если поделишься таким знанием.
как сделать проще я не знаю к сожалению...

Автор - AS3856
Дата добавления - 04 Апреля 2018 в 20:30
mishemДата: Ср, 04 Апреля 2018, 20:46 | Сообщение # 222
Эксперт форума
AS3856, не в том направлении идете товарисч.

Цитата AS3856 ()
и не требуется выискивать все IF AND и OR.

Ну во первых IF не надо искать, а только AND и OR.

Почитай справку команды IfEx внимательно. Там разбор строки не такой уж и сложный. Опять же, для регулярного выражения. Не знаю, можно в делфи распарсить строку по принципу: символ разделитель может быть или AND или OR?
С помощью регулярки можно.

Строка как выглядит?
(символы) (знак сравнения) (сравниваемые символы)
пробел (оператор AND и OR) пробел
(символы) (знак сравнения) (сравниваемые символы)
и т.д.

Парсим строку по AND и OR и получаем строки аналогичные тем, разбор которых как я понимаю ты уже сделал:
(символы) (знак сравнения) (сравниваемые символы)
(символы) (знак сравнения) (сравниваемые символы)
и т.д.

Разбираешь первую строку, преобразовываешь если надо, делаешь сравнение и получаешь True или False.
Если True, разбираешь следующую. Если False, условие не верно.

1. Первая возможная проблема. AND или OR может находится непосредственно в сравниваемых строках. Для этого в штатной команде IfEx, если строка содержит пробелы она должна быть заключена в кавычки. После закрытия окна помощника они преобразуются в символы [#34]. Естественно при открытии окна, их нужно вернуть в читаемый вид.

Значит что и как ищется при разборе строки?
Или слово\символ, или [#34]что то[#34]. За ними идет оператор сравнения. Если оператора нет, в НБ будет ошибка.
После оператора сравнения опять должны быть слово\символ, или [#34]что то[#34], за которыми следует или AND, или OR окруженные с двух сторон пробелами, или ничего (конец строки). Если следует что то другое , в НБ будет ошибка.

2. Вторая возможная проблема. Операторы сравнения =, <>,>=,<=,>,<.
Принцип тот же самый что и выше.

3. Возможная проблема. Это как бы даже и не проблема, просто не описал выше. Круглые скобки. Принцип тот же как и с кавычками. Только скобок может быть больше. При разборе строки количество открытых и закрытых скобок должно совпадать. После которых должен идти оператор сравнения окруженный пробелами.

Вроде все описал. Надеюсь доходчиво.
Это на первый взгляд кажется сложным разбор такой строки.

Опять. Не надо говорить что писанины много. Я знаю!


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеAS3856, не в том направлении идете товарисч.

Цитата AS3856 ()
и не требуется выискивать все IF AND и OR.

Ну во первых IF не надо искать, а только AND и OR.

Почитай справку команды IfEx внимательно. Там разбор строки не такой уж и сложный. Опять же, для регулярного выражения. Не знаю, можно в делфи распарсить строку по принципу: символ разделитель может быть или AND или OR?
С помощью регулярки можно.

Строка как выглядит?
(символы) (знак сравнения) (сравниваемые символы)
пробел (оператор AND и OR) пробел
(символы) (знак сравнения) (сравниваемые символы)
и т.д.

Парсим строку по AND и OR и получаем строки аналогичные тем, разбор которых как я понимаю ты уже сделал:
(символы) (знак сравнения) (сравниваемые символы)
(символы) (знак сравнения) (сравниваемые символы)
и т.д.

Разбираешь первую строку, преобразовываешь если надо, делаешь сравнение и получаешь True или False.
Если True, разбираешь следующую. Если False, условие не верно.

1. Первая возможная проблема. AND или OR может находится непосредственно в сравниваемых строках. Для этого в штатной команде IfEx, если строка содержит пробелы она должна быть заключена в кавычки. После закрытия окна помощника они преобразуются в символы [#34]. Естественно при открытии окна, их нужно вернуть в читаемый вид.

Значит что и как ищется при разборе строки?
Или слово\символ, или [#34]что то[#34]. За ними идет оператор сравнения. Если оператора нет, в НБ будет ошибка.
После оператора сравнения опять должны быть слово\символ, или [#34]что то[#34], за которыми следует или AND, или OR окруженные с двух сторон пробелами, или ничего (конец строки). Если следует что то другое , в НБ будет ошибка.

2. Вторая возможная проблема. Операторы сравнения =, <>,>=,<=,>,<.
Принцип тот же самый что и выше.

3. Возможная проблема. Это как бы даже и не проблема, просто не описал выше. Круглые скобки. Принцип тот же как и с кавычками. Только скобок может быть больше. При разборе строки количество открытых и закрытых скобок должно совпадать. После которых должен идти оператор сравнения окруженный пробелами.

Вроде все описал. Надеюсь доходчиво.
Это на первый взгляд кажется сложным разбор такой строки.

Опять. Не надо говорить что писанины много. Я знаю!

Автор - mishem
Дата добавления - 04 Апреля 2018 в 20:46
PeterДата: Ср, 04 Апреля 2018, 20:46 | Сообщение # 223
Админ NeoBook
Цитата AS3856 ()
Мне надо реализовать выполнение кода из строки.

Вот потому я сразу и сказал, что для этого и нужен интерпретатор, и заточенный под определенный синтаксис.
Иными словами, нужен свой собственный интерпретатор со своим собственным языком, например, как это сделано в NB.
И работка эта совсем не так проста, как кажется сначала, типа "есть хоть одна буква, значит - строка" и т.д.
Для этого нужно иметь немалый опыт и хороший багаж знаний, т.е. быть настоящим мастером, а не подмастерьем.
Я бы не "подписался", пожалуй...
Цитата AS3856 ()
Если ты знаешь решение проще буду рад если поделишься таким знанием.

Только-что сказал.
Цитата AS3856 ()
как сделать проще я не знаю к сожалению...

А надо ли оно вообще?
:)
Попробуй начать с "малого", изучи регулярки (как пример разбора строк), и наращивай постепенно сложность.
Для Delphi нет ничего невозможного!
Ведь сама NeoBook сделана в Delphi.
;)


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата AS3856 ()
Мне надо реализовать выполнение кода из строки.

Вот потому я сразу и сказал, что для этого и нужен интерпретатор, и заточенный под определенный синтаксис.
Иными словами, нужен свой собственный интерпретатор со своим собственным языком, например, как это сделано в NB.
И работка эта совсем не так проста, как кажется сначала, типа "есть хоть одна буква, значит - строка" и т.д.
Для этого нужно иметь немалый опыт и хороший багаж знаний, т.е. быть настоящим мастером, а не подмастерьем.
Я бы не "подписался", пожалуй...
Цитата AS3856 ()
Если ты знаешь решение проще буду рад если поделишься таким знанием.

Только-что сказал.
Цитата AS3856 ()
как сделать проще я не знаю к сожалению...

А надо ли оно вообще?
:)
Попробуй начать с "малого", изучи регулярки (как пример разбора строк), и наращивай постепенно сложность.
Для Delphi нет ничего невозможного!
Ведь сама NeoBook сделана в Delphi.
;)

Автор - Peter
Дата добавления - 04 Апреля 2018 в 20:46
mishemДата: Ср, 04 Апреля 2018, 21:03 | Сообщение # 224
Эксперт форума
Кстати в нб например сравнение такой строки
" найти символ " или другой символ "
Вызовет ошибку.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеКстати в нб например сравнение такой строки
" найти символ " или другой символ "
Вызовет ошибку.

Автор - mishem
Дата добавления - 04 Апреля 2018 в 21:03
PeterДата: Ср, 04 Апреля 2018, 21:06 | Сообщение # 225
Админ NeoBook
Цитата mishem ()
Кстати в нб например сравнение такой строки
" найти символ " или другой символ "
Вызовет ошибку.

Раз 20 прочел, но ничего не понял....
%)


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата mishem ()
Кстати в нб например сравнение такой строки
" найти символ " или другой символ "
Вызовет ошибку.

Раз 20 прочел, но ничего не понял....
%)

Автор - Peter
Дата добавления - 04 Апреля 2018 в 21:06
mishemДата: Ср, 04 Апреля 2018, 21:11 | Сообщение # 226
Эксперт форума
Что ты не понял? Если в сравниваемой строке будет символ ", то нб выдаст ошибку.

Другими словами такая строка

найти символ " или другой символ = найти символ " или другой символ

Код
IfEx "[#34] найти символ [#34] или другой символ [#34] = [#34] найти символ [#34] или другой символ [#34]"

Else

EndIf


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.


Сообщение отредактировано
mishem - Ср, 04 Апреля 2018, 21:13
 
СообщениеЧто ты не понял? Если в сравниваемой строке будет символ ", то нб выдаст ошибку.

Другими словами такая строка

найти символ " или другой символ = найти символ " или другой символ

Код
IfEx "[#34] найти символ [#34] или другой символ [#34] = [#34] найти символ [#34] или другой символ [#34]"

Else

EndIf

Автор - mishem
Дата добавления - 04 Апреля 2018 в 21:11
AS3856Дата: Ср, 04 Апреля 2018, 21:34 | Сообщение # 227
Эксперт форума
Цитата Peter ()
Попробуй начать с "малого", изучи регулярки (как пример разбора строк), и наращивай постепенно сложность.

тогда можно дальше и не разрабатывать плагин. Пока изучу регулярки(которые изучать мне совсем нет желания) и тд и тп

Цитата Peter ()
Вот потому я сразу и сказал, что для этого и нужен интерпретатор, и заточенный под определенный синтаксис.

вот и хочу использовать интерпретатор VBS - он близок по синтаксису к NB
Цитата mishem ()
Почитай справку команды IfEx внимательно.

Оно мне совсем не нужно
Мне тут совсем не нужен IFEX
А по твоему описанию если писать- там ноги сломаешь -= там одних условий писать если это нашли то так -если это то так -- с ума сойдёшь. ( я прекрасно понимаю что там получится и как)
Ребятушки - нафига выдумывать свой интерпретатор когда можно воспользоваться готовым ?
То что сейчас написано в мониторе строки(так простейшее ) и то занимает(в одном таймере) больше высоты монитора моего(19")(строки уж несчитал) - а если писать свой интерпретатор- так там кода до соседского забора будет.
Получится с интерпретатором VBscript - так хорошо., а нет - значит рано мне писать такие плагины.
 
Сообщение
Цитата Peter ()
Попробуй начать с "малого", изучи регулярки (как пример разбора строк), и наращивай постепенно сложность.

тогда можно дальше и не разрабатывать плагин. Пока изучу регулярки(которые изучать мне совсем нет желания) и тд и тп

Цитата Peter ()
Вот потому я сразу и сказал, что для этого и нужен интерпретатор, и заточенный под определенный синтаксис.

вот и хочу использовать интерпретатор VBS - он близок по синтаксису к NB
Цитата mishem ()
Почитай справку команды IfEx внимательно.

Оно мне совсем не нужно
Мне тут совсем не нужен IFEX
А по твоему описанию если писать- там ноги сломаешь -= там одних условий писать если это нашли то так -если это то так -- с ума сойдёшь. ( я прекрасно понимаю что там получится и как)
Ребятушки - нафига выдумывать свой интерпретатор когда можно воспользоваться готовым ?
То что сейчас написано в мониторе строки(так простейшее ) и то занимает(в одном таймере) больше высоты монитора моего(19")(строки уж несчитал) - а если писать свой интерпретатор- так там кода до соседского забора будет.
Получится с интерпретатором VBscript - так хорошо., а нет - значит рано мне писать такие плагины.

Автор - AS3856
Дата добавления - 04 Апреля 2018 в 21:34
mishemДата: Ср, 04 Апреля 2018, 21:46 | Сообщение # 228
Эксперт форума
Цитата AS3856 ()
А по твоему описанию если писать- там ноги сломаешь -= там одних условий писать если это нашли то так -если это то так -- с ума сойдёшь.

mda

Не. Не будет толку. :(

В делфи воткнуть VBscript ... %)

:'(

Добавлено (04 Апреля 2018, 21:46)
---------------------------------------------
Какой раз уже убеждаюсь. Программистами не становятся. Программистами рождаются.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата AS3856 ()
А по твоему описанию если писать- там ноги сломаешь -= там одних условий писать если это нашли то так -если это то так -- с ума сойдёшь.

mda

Не. Не будет толку. :(

В делфи воткнуть VBscript ... %)

:'(

Добавлено (04 Апреля 2018, 21:46)
---------------------------------------------
Какой раз уже убеждаюсь. Программистами не становятся. Программистами рождаются.


Автор - mishem
Дата добавления - 04 Апреля 2018 в 21:46
PeterДата: Ср, 04 Апреля 2018, 22:25 | Сообщение # 229
Админ NeoBook
Цитата mishem ()
Если в сравниваемой строке будет символ ", то нб выдаст ошибку.

Ошибка вылетает у тебя по другой причине - убери символы кавычек, а ошибка останется.
Попробуй разобраться "почему?"
;)
Кстати, по-русски одно
Цитата mishem ()
найти символ " или другой символ = найти символ " или другой символ

а в коде другое:
Цитата mishem ()
IfEx "[#34] найти символ [#34] или другой символ [#34] = [#34] найти символ [#34] или другой символ [#34]"

Цитата AS3856 ()
вот и хочу использовать интерпретатор VBS

Могу только повторить:
Цитата Peter ()
Смысл?
В NB можно напрямую использовать VBS, а извращяться только ради того, что что-то возможно(!) будет работать независимо от основного кода NB...
Гм....
Из Delphi работать с VBS в то время, когда ВСЕ можно сделать в Delphi и во много раз эффективнее.
Что-то меня начинает клинить.....
%)

Но, дело твое.


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата mishem ()
Если в сравниваемой строке будет символ ", то нб выдаст ошибку.

Ошибка вылетает у тебя по другой причине - убери символы кавычек, а ошибка останется.
Попробуй разобраться "почему?"
;)
Кстати, по-русски одно
Цитата mishem ()
найти символ " или другой символ = найти символ " или другой символ

а в коде другое:
Цитата mishem ()
IfEx "[#34] найти символ [#34] или другой символ [#34] = [#34] найти символ [#34] или другой символ [#34]"

Цитата AS3856 ()
вот и хочу использовать интерпретатор VBS

Могу только повторить:
Цитата Peter ()
Смысл?
В NB можно напрямую использовать VBS, а извращяться только ради того, что что-то возможно(!) будет работать независимо от основного кода NB...
Гм....
Из Delphi работать с VBS в то время, когда ВСЕ можно сделать в Delphi и во много раз эффективнее.
Что-то меня начинает клинить.....
%)

Но, дело твое.

Автор - Peter
Дата добавления - 04 Апреля 2018 в 22:25
mishemДата: Чт, 05 Апреля 2018, 01:16 | Сообщение # 230
Эксперт форума
Цитата Peter ()
Ошибка вылетает у тебя по другой причине - убери символы кавычек, а ошибка останется.

Что значит убери символы кавычек? Если ты их все уберешь, то естественно будет ошибка, так как: "Если элемент сравнения содержит пробелы, то он должен быть заключен в кавычки".

Я говорю о том, что если в середине текста вставить кавычки, НБ будет выдавать ошибку, так как парсит строку до первой следующей кавычки. Если из середины убрать кавычки, то все будет работать правильно.

Т.е. Если в в тексте будут кавычки, их придется заменять например на апострофы.

Я просто пытался понять как идет разбор строки в самой программе. В делфи ж тоже по моему нельзя что бы в строке были кавычки. Кавычками по моему обозначается, что это именно строка, а не например число. Ну или что то в этом духе.

Цитата Peter ()
Попробуй разобраться "почему?"

Че ты мне то загадками говоришь? Видишь что ошибаюсь, говори прямо. А то может быть ты ошибаешься, что я ошибаюсь. ;) Так и будем сидеть до скончания века намекать друг другу кто где ошибается. :D


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата Peter ()
Ошибка вылетает у тебя по другой причине - убери символы кавычек, а ошибка останется.

Что значит убери символы кавычек? Если ты их все уберешь, то естественно будет ошибка, так как: "Если элемент сравнения содержит пробелы, то он должен быть заключен в кавычки".

Я говорю о том, что если в середине текста вставить кавычки, НБ будет выдавать ошибку, так как парсит строку до первой следующей кавычки. Если из середины убрать кавычки, то все будет работать правильно.

Т.е. Если в в тексте будут кавычки, их придется заменять например на апострофы.

Я просто пытался понять как идет разбор строки в самой программе. В делфи ж тоже по моему нельзя что бы в строке были кавычки. Кавычками по моему обозначается, что это именно строка, а не например число. Ну или что то в этом духе.

Цитата Peter ()
Попробуй разобраться "почему?"

Че ты мне то загадками говоришь? Видишь что ошибаюсь, говори прямо. А то может быть ты ошибаешься, что я ошибаюсь. ;) Так и будем сидеть до скончания века намекать друг другу кто где ошибается. :D

Автор - mishem
Дата добавления - 05 Апреля 2018 в 01:16
PeterДата: Чт, 05 Апреля 2018, 01:58 | Сообщение # 231
Админ NeoBook
Цитата mishem ()
Если ты их все уберешь, то естественно будет ошибка,

Не все - крайние, разумеется, нужно оставить (команда это требует), и все-равно будет ошибка.

Цитата mishem ()
Я просто пытался понять как идет разбор строки в самой программе

А я и не пытался никогда.
:)
Цитата mishem ()
В делфи ж тоже по моему нельзя что бы в строке были кавычки.

Отчего же?
Используй кавычки сколько влезет.
:)
В Delphi просто строковый тип (данные, например, текст) в коде заключается в апострофы, но это имеет совершенно другой смысл, в отличие от кавычек в NB.
Цитата mishem ()
Видишь что ошибаюсь, говори прямо.

Сам же процитировал текст (перевод) из справки, и еще спрашивает.
:)

Цитата mishem ()
Т.е. Если в в тексте будут кавычки, их придется заменять например на апострофы

Ничего не поделаешь, увы...
Можно считать, что это - "издержки производства", поскольку кавычки в сриптах NB - служебные символы
В Delphi тоже нельзя в середину строки вставлять апострофы (служебные символы) напрямую, а делать надо так:
'Test' + #39 + 'Test'.

А NB, к сожалению, не идеальна - попадаются иногда и косячки.
В ММВ косяков было во много раз больше, и ничего... никто не умер, и даже не паниковал.
:)


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата mishem ()
Если ты их все уберешь, то естественно будет ошибка,

Не все - крайние, разумеется, нужно оставить (команда это требует), и все-равно будет ошибка.

Цитата mishem ()
Я просто пытался понять как идет разбор строки в самой программе

А я и не пытался никогда.
:)
Цитата mishem ()
В делфи ж тоже по моему нельзя что бы в строке были кавычки.

Отчего же?
Используй кавычки сколько влезет.
:)
В Delphi просто строковый тип (данные, например, текст) в коде заключается в апострофы, но это имеет совершенно другой смысл, в отличие от кавычек в NB.
Цитата mishem ()
Видишь что ошибаюсь, говори прямо.

Сам же процитировал текст (перевод) из справки, и еще спрашивает.
:)

Цитата mishem ()
Т.е. Если в в тексте будут кавычки, их придется заменять например на апострофы

Ничего не поделаешь, увы...
Можно считать, что это - "издержки производства", поскольку кавычки в сриптах NB - служебные символы
В Delphi тоже нельзя в середину строки вставлять апострофы (служебные символы) напрямую, а делать надо так:
'Test' + #39 + 'Test'.

А NB, к сожалению, не идеальна - попадаются иногда и косячки.
В ММВ косяков было во много раз больше, и ничего... никто не умер, и даже не паниковал.
:)

Автор - Peter
Дата добавления - 05 Апреля 2018 в 01:58
mishemДата: Чт, 05 Апреля 2018, 02:34 | Сообщение # 232
Эксперт форума
Цитата Peter ()
и все-равно будет ошибка.

У меня нет ошибки.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата Peter ()
и все-равно будет ошибка.

У меня нет ошибки.

Автор - mishem
Дата добавления - 05 Апреля 2018 в 02:34
AS3856Дата: Чт, 05 Апреля 2018, 10:31 | Сообщение # 233
Эксперт форума
первые опыты с интерпретатором от VBS приносят хорошие результаты
Строка отлично обрабатывается,есть множественность сравнений(можно писать практически любое сравнение,
функция сравнения строк уже готовая в VBS, не требуется писать никаких регулярок :p ,возможность применения конструкции CASE
Могу поставить обработку ошибок(при ошибке пользователя не возникнет исключительных ситуаций)
синтаксис постараюсь упростить максимально...
Экспериментально проект готов, перенести теперь всё в плагин и проверить там
Работы ещё много, придётся многое переделать - но думаю это того стоит
И самое главное - пользователь сам определяет конструкцию - сам пишет что и как сравнивать

Добавлено (05 Апреля 2018, 10:31)
---------------------------------------------
ну и ещё- интерпретатор подключается как компонент делфи( что очень удобно)

 
Сообщениепервые опыты с интерпретатором от VBS приносят хорошие результаты
Строка отлично обрабатывается,есть множественность сравнений(можно писать практически любое сравнение,
функция сравнения строк уже готовая в VBS, не требуется писать никаких регулярок :p ,возможность применения конструкции CASE
Могу поставить обработку ошибок(при ошибке пользователя не возникнет исключительных ситуаций)
синтаксис постараюсь упростить максимально...
Экспериментально проект готов, перенести теперь всё в плагин и проверить там
Работы ещё много, придётся многое переделать - но думаю это того стоит
И самое главное - пользователь сам определяет конструкцию - сам пишет что и как сравнивать

Добавлено (05 Апреля 2018, 10:31)
---------------------------------------------
ну и ещё- интерпретатор подключается как компонент делфи( что очень удобно)


Автор - AS3856
Дата добавления - 05 Апреля 2018 в 10:31
mishemДата: Чт, 05 Апреля 2018, 11:50 | Сообщение # 234
Эксперт форума
Цитата AS3856 ()
не требуется писать никаких регулярок

Я так считаю, Петр конечно может не согласится, но тему регулярных выражений просто необходимо изучать. Регулярка, это просто подстановочные знаки, с помощью которых можно искать разные варианты без использования условий. Модуль, компонент или как там правильно называть, уже содержит в себе все условия.

Я уже говорил, конструкция поиска например файла *.*, это уже регулярное выражение. В ОС заложено куча регулярных выражений.

Не использование регулярных выражений, а написание своих каких то условий, это мартышкин труд. Все давно уже кем то написано. Это все равно, что вместо использования какой то библиотеки винды писать свой код с тем же функционалом.

Языки и приложения которые используют регулярные выражения.



Люди наверно просто дураки, которые используют регулярки. Они просто не умеют сами написать разбор строки.

Естественно регулярки это не панацея.
Естественно ими не стоит злоупотреблять.
Естественно нужно хотя бы получить поверхностное знание.

К слову, я не умею писать регулярные выражения. Правильно писать!
Но что то простенькое, могу накидать.
И это меня избавляет от написания нескольких сот строк. А в делфи я так понимаю, этих строк будет побольше.

Цитата AS3856 ()
интерпретатор подключается как компонент делфи

Загляни вовнутрь, думаю не ошибусь, что там используются регулярные выражения. ;)
Только на языке VBS.

Плохо то, что ты идешь по принципу "лишь бы работало и не важно как". :(

Такой принцип хорош, когда нет альтернативы. А у тебя могучий инструмент в руках, которым нужно научится пользоваться.

Может быть я и ошибаюсь, но по моему все начиналось с того, что что бы написать, что б больше познать.
А по факту получаем, не хочу познавать, лучше я костыль прикручу.

Коснись меня, я не пользовался бы даже регулярками, а составлял условия с отловом всех возможных ошибок, только для того, что бы как следует научится ими пользоваться и развивать логическое мышление.

Но, как говорится, каждому свое.

Цитата AS3856 ()
но думаю это того стоит

Стоит однозначно, но...
Прикрепления: 0440205.png (12.8 Kb)


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата AS3856 ()
не требуется писать никаких регулярок

Я так считаю, Петр конечно может не согласится, но тему регулярных выражений просто необходимо изучать. Регулярка, это просто подстановочные знаки, с помощью которых можно искать разные варианты без использования условий. Модуль, компонент или как там правильно называть, уже содержит в себе все условия.

Я уже говорил, конструкция поиска например файла *.*, это уже регулярное выражение. В ОС заложено куча регулярных выражений.

Не использование регулярных выражений, а написание своих каких то условий, это мартышкин труд. Все давно уже кем то написано. Это все равно, что вместо использования какой то библиотеки винды писать свой код с тем же функционалом.

Языки и приложения которые используют регулярные выражения.



Люди наверно просто дураки, которые используют регулярки. Они просто не умеют сами написать разбор строки.

Естественно регулярки это не панацея.
Естественно ими не стоит злоупотреблять.
Естественно нужно хотя бы получить поверхностное знание.

К слову, я не умею писать регулярные выражения. Правильно писать!
Но что то простенькое, могу накидать.
И это меня избавляет от написания нескольких сот строк. А в делфи я так понимаю, этих строк будет побольше.

Цитата AS3856 ()
интерпретатор подключается как компонент делфи

Загляни вовнутрь, думаю не ошибусь, что там используются регулярные выражения. ;)
Только на языке VBS.

Плохо то, что ты идешь по принципу "лишь бы работало и не важно как". :(

Такой принцип хорош, когда нет альтернативы. А у тебя могучий инструмент в руках, которым нужно научится пользоваться.

Может быть я и ошибаюсь, но по моему все начиналось с того, что что бы написать, что б больше познать.
А по факту получаем, не хочу познавать, лучше я костыль прикручу.

Коснись меня, я не пользовался бы даже регулярками, а составлял условия с отловом всех возможных ошибок, только для того, что бы как следует научится ими пользоваться и развивать логическое мышление.

Но, как говорится, каждому свое.

Цитата AS3856 ()
но думаю это того стоит

Стоит однозначно, но...

Автор - mishem
Дата добавления - 05 Апреля 2018 в 11:50
PeterДата: Чт, 05 Апреля 2018, 14:12 | Сообщение # 235
Админ NeoBook


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение

Автор - Peter
Дата добавления - 05 Апреля 2018 в 14:12
AS3856Дата: Чт, 05 Апреля 2018, 15:15 | Сообщение # 236
Эксперт форума
невижу куда мнен прикрутить эти регулярки 7
для разбора строки ? Так мне не надо разбирать её
-Да - получается костыль - использование интерпретатора от VBS - ну и что ? а регулярки мне тут в чём помогут ?
если ммне интерпретатор нужен..
Причём если использовать только делфи - и в этом случае пришлось бы пользоваться компонентом.,
Что сейчас я компонентом пользуюсь - что другим пришлось бы - какая разница. ?
В делфи полно функций для разбора строк - и наверняка в где то в них используются регулярные выражения, - кто то написал можно готовое взять и использовать, ну и зачем изобретать велосипед который в конечном случае может оказаться самокатом.
 
Сообщениеневижу куда мнен прикрутить эти регулярки 7
для разбора строки ? Так мне не надо разбирать её
-Да - получается костыль - использование интерпретатора от VBS - ну и что ? а регулярки мне тут в чём помогут ?
если ммне интерпретатор нужен..
Причём если использовать только делфи - и в этом случае пришлось бы пользоваться компонентом.,
Что сейчас я компонентом пользуюсь - что другим пришлось бы - какая разница. ?
В делфи полно функций для разбора строк - и наверняка в где то в них используются регулярные выражения, - кто то написал можно готовое взять и использовать, ну и зачем изобретать велосипед который в конечном случае может оказаться самокатом.

Автор - AS3856
Дата добавления - 05 Апреля 2018 в 15:15
PeterДата: Чт, 05 Апреля 2018, 18:04 | Сообщение # 237
Админ NeoBook
Цитата AS3856 ()
Да - получается костыль - использование интерпретатора от VBS

Ну, в общем-то этот самый "костыль" уже применен в NB - функции VBS и JS, и думаю они работают по тому же самому принципу (на том же самом AcriveX).
Но, дело в том, что "на фоне" скриптов NB этот костыль вполне допустим, потому-что необушный интерпретатор тоже можно рассматривать как "костыль", разница только в синтаксисе языка (ну и в объеме доступных функций).
Потому, я бы не стал назвать это костылем в NB.
А вот если VBS применять "внутри" проекта Delphi, то это уже самый настоящий "костыль"., и даже не просто "костыль", а КОСТЫЛИЩЕ!

Цитата AS3856 ()
если ммне интерпретатор нужен..

Смотря для чего.

Цитата AS3856 ()
только делфи - и в этом случае пришлось бы пользоваться компонентом.,

%)
ЗАЧЕМ?!!!!
ВСЕ МОЖНО СДЕЛАТЬ В САМОМ DELPHI!!!
VBS - убожество в сравнение с Delphi!
Сама NB сделана в Delphi, а она далеко не "венец" возможностей языка!
Ни на какие мысли не наводит?
;)

А теперь вернемся к NB....
Цитата Peter ()
В NB можно напрямую использовать VBS, а извращяться только ради того, что что-то возможно(!) будет работать независимо от основного кода NB...

Ну, предположим, запихал ты в плагин VBS-скрипт, что дальше?
КАК ты намерен использовать к примеру скрипт с несколькими условиями, скажем, в мониторе?
;)


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Цитата AS3856 ()
Да - получается костыль - использование интерпретатора от VBS

Ну, в общем-то этот самый "костыль" уже применен в NB - функции VBS и JS, и думаю они работают по тому же самому принципу (на том же самом AcriveX).
Но, дело в том, что "на фоне" скриптов NB этот костыль вполне допустим, потому-что необушный интерпретатор тоже можно рассматривать как "костыль", разница только в синтаксисе языка (ну и в объеме доступных функций).
Потому, я бы не стал назвать это костылем в NB.
А вот если VBS применять "внутри" проекта Delphi, то это уже самый настоящий "костыль"., и даже не просто "костыль", а КОСТЫЛИЩЕ!

Цитата AS3856 ()
если ммне интерпретатор нужен..

Смотря для чего.

Цитата AS3856 ()
только делфи - и в этом случае пришлось бы пользоваться компонентом.,

%)
ЗАЧЕМ?!!!!
ВСЕ МОЖНО СДЕЛАТЬ В САМОМ DELPHI!!!
VBS - убожество в сравнение с Delphi!
Сама NB сделана в Delphi, а она далеко не "венец" возможностей языка!
Ни на какие мысли не наводит?
;)

А теперь вернемся к NB....
Цитата Peter ()
В NB можно напрямую использовать VBS, а извращяться только ради того, что что-то возможно(!) будет работать независимо от основного кода NB...

Ну, предположим, запихал ты в плагин VBS-скрипт, что дальше?
КАК ты намерен использовать к примеру скрипт с несколькими условиями, скажем, в мониторе?
;)

Автор - Peter
Дата добавления - 05 Апреля 2018 в 18:04
mishemДата: Чт, 05 Апреля 2018, 20:04 | Сообщение # 238
Эксперт форума
Цитата AS3856 ()
если мне интерпретатор нужен

Я вот вас слушаю (читаю), причем обоих, и ни как понять не могу, о каком интерпретаторе речь идет? %)

Сам плагин, это и есть интерпретатор. Получение и разбор строки, это обычный анализ строки.

Цитата AS3856 ()
использование интерпретатора от VBS

А вот это, ты один интерпретатор воткнул в другой. Сначала один (VBS) анализирует строку и выполняет код передавая данные другому, который в свою очередь выполняет свой код и передает в прект НБ. %)

Все что нужно, это получить строку из проекта, разобрать ее, проанализировать и если условие верно, запустит подпрограмму.

Ладно. Я в принципе уже давно понял ход мыслей, это так, крик души. :)

Буду ждать результатов.

Добавлено (05 Апреля 2018, 20:04)
---------------------------------------------

Цитата Peter ()
ЗАЧЕМ?!!!!
ВСЕ МОЖНО СДЕЛАТЬ В САМОМ DELPHI!!!

Условий много писать надо...

Он же сказал
Цитата AS3856 ()
там ноги сломаешь -= там одних условий писать если это нашли то так -если это то так -- с ума сойдёшь.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата AS3856 ()
если мне интерпретатор нужен

Я вот вас слушаю (читаю), причем обоих, и ни как понять не могу, о каком интерпретаторе речь идет? %)

Сам плагин, это и есть интерпретатор. Получение и разбор строки, это обычный анализ строки.

Цитата AS3856 ()
использование интерпретатора от VBS

А вот это, ты один интерпретатор воткнул в другой. Сначала один (VBS) анализирует строку и выполняет код передавая данные другому, который в свою очередь выполняет свой код и передает в прект НБ. %)

Все что нужно, это получить строку из проекта, разобрать ее, проанализировать и если условие верно, запустит подпрограмму.

Ладно. Я в принципе уже давно понял ход мыслей, это так, крик души. :)

Буду ждать результатов.

Добавлено (05 Апреля 2018, 20:04)
---------------------------------------------

Цитата Peter ()
ЗАЧЕМ?!!!!
ВСЕ МОЖНО СДЕЛАТЬ В САМОМ DELPHI!!!

Условий много писать надо...

Он же сказал
Цитата AS3856 ()
там ноги сломаешь -= там одних условий писать если это нашли то так -если это то так -- с ума сойдёшь.

Автор - mishem
Дата добавления - 05 Апреля 2018 в 20:04
AS3856Дата: Чт, 05 Апреля 2018, 20:17 | Сообщение # 239
Эксперт форума
Цитата Peter ()


ЗАЧЕМ?!!!!
ВСЕ МОЖНО СДЕЛАТЬ В САМОМ DELPHI!!!

я писал уже выше - если знаешь как сделать - так покажи.
Цитата Peter ()
Из Delphi работать с VBS в то время, когда ВСЕ можно сделать в Delphi и во много раз эффективнее.
Что-то меня начинает клинить.....

но ты продолжаешь клинить\
У вас что - позиция такая ? - лишь бы отрицать ?
если есть Вариант лучше - я согласен рассмотрю и изучу
(регулярки тут как зайцу колесо)
у меня нет компонента другого кроме этого. А критиковать - очень удобная позиция только надо предлагать что то другое - а предложений что то не видно..
 
Сообщение
Цитата Peter ()


ЗАЧЕМ?!!!!
ВСЕ МОЖНО СДЕЛАТЬ В САМОМ DELPHI!!!

я писал уже выше - если знаешь как сделать - так покажи.
Цитата Peter ()
Из Delphi работать с VBS в то время, когда ВСЕ можно сделать в Delphi и во много раз эффективнее.
Что-то меня начинает клинить.....

но ты продолжаешь клинить\
У вас что - позиция такая ? - лишь бы отрицать ?
если есть Вариант лучше - я согласен рассмотрю и изучу
(регулярки тут как зайцу колесо)
у меня нет компонента другого кроме этого. А критиковать - очень удобная позиция только надо предлагать что то другое - а предложений что то не видно..

Автор - AS3856
Дата добавления - 05 Апреля 2018 в 20:17
mishemДата: Чт, 05 Апреля 2018, 21:16 | Сообщение # 240
Эксперт форума
Цитата AS3856 ()
а предложений что то не видно..

http://neobooker.ru/forum/37-3561-77332-16-1522863980

Регулярки предлагались как вариант. Для уменьшения писанины.

Анализ строки можно организовать разными способами.

Вся строка состоит из группы условий разделенных операторами OR или AND.

”Элемент Оператор Элемент” OR ”Элемент Оператор Элемент” AND ”Элемент Оператор Элемент” ...

Что еще подсказать?
Дальше только грамотный разбор строки.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата AS3856 ()
а предложений что то не видно..

http://neobooker.ru/forum/37-3561-77332-16-1522863980

Регулярки предлагались как вариант. Для уменьшения писанины.

Анализ строки можно организовать разными способами.

Вся строка состоит из группы условий разделенных операторами OR или AND.

”Элемент Оператор Элемент” OR ”Элемент Оператор Элемент” AND ”Элемент Оператор Элемент” ...

Что еще подсказать?
Дальше только грамотный разбор строки.

Автор - mishem
Дата добавления - 05 Апреля 2018 в 21:16
Поиск: