prompt()

Здесь обсуждается всё, что касается макросов.
User avatar
Raistlin
Posts: 750
Joined: Wed 16 Mar, 2005 16:01
Has thanked: 3 times
Been thanked: 1 time

Re: prompt()

Post by Raistlin »

Latest post of the previous page:

Это как? Если надо различить пустое значение и Esc? То есть, по сути, Enter и Esc?
Magically yours
Raistlin
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Re: prompt()

Post by zg »

Raistlin wrote:Это как? Если надо различить пустое значение и Esc? То есть, по сути, Enter и Esc?
у символа 65536 возможных значений. я думаю, влезет :roll:
User avatar
Raistlin
Posts: 750
Joined: Wed 16 Mar, 2005 16:01
Has thanked: 3 times
Been thanked: 1 time

Re: prompt()

Post by Raistlin »

Не понимаю все равно. У меня значение по умолчанию - пустое. Нажимается или Esc, или Enter. И как различать?
Magically yours
Raistlin
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Re: prompt()

Post by HaRT »

Raistlin wrote:И как различать?
Очевидно, zg имел в виду не то, как это можно использовать сейчас в макросах, а как это можно малой кровью реализовать в Фаре.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
Raistlin
Posts: 750
Joined: Wed 16 Mar, 2005 16:01
Has thanked: 3 times
Been thanked: 1 time

Re: prompt()

Post by Raistlin »

Гм. А возвращать 0 - это большая кровь?
Magically yours
Raistlin
Yegor
Posts: 1326
Joined: Mon 04 Apr, 2005 13:41
Location: San Ramon, CA / Kharkov, UA
Has thanked: 32 times
Been thanked: 61 times

Re: prompt()

Post by Yegor »

Для уже написанных макросов - огромная :)
Мы не можем ждать милостей от Фара, взять их у него — наша задача! (C) Мичурин
User avatar
Raistlin
Posts: 750
Joined: Wed 16 Mar, 2005 16:01
Has thanked: 3 times
Been thanked: 1 time

Re: prompt()

Post by Raistlin »

Хотелось бы услышать разработчиков. Возможна ли вообще эта "малая кровь"? Короче говоря, что-то надо делать, а то такая порнография в логике работы макросов получается - мама не горюй.
Magically yours
Raistlin
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Re: prompt()

Post by Skirda »

macro.cpp::promptFunc()

Code: Select all

  if (GetString(...
  {
   ...
  }
+> else
+>   Result=0;
We are the Borg. You will be assimilated.
So Say We All!
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Re: prompt()

Post by John Doe »

Raistlin wrote:А что тут можно придумать? По идее, надо возвращать и значение, и код ошибки, но это такой глобальный перекрой...
Можно то что предложил выше HaRT, или то что zg.
Лично меня простой 0 устроит, просто надо разжевать в Писании.
HaRT wrote:Очевидно, zg имел в виду не то, как это можно использовать сейчас в макросах, а как это можно малой кровью реализовать в Фаре.
Я так понял что речь именно о макросах.
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Re: prompt()

Post by Skirda »

John Doe wrote:Можно то что предложил выше HaRT.
Кудой? Уже и так перебор с параметрами:

Code: Select all

S=prompt("Title"[,"Prompt"[,flags[, "Src"[, "History"]]]])
We are the Borg. You will be assimilated.
So Say We All!
User avatar
Raistlin
Posts: 750
Joined: Wed 16 Mar, 2005 16:01
Has thanked: 3 times
Been thanked: 1 time

Re: prompt()

Post by Raistlin »

Skirda wrote:
John Doe wrote:Можно то что предложил выше HaRT.
Кудой? Уже и так перебор с параметрами:
Ну, лишних там нет. И я в результате не понял твоей позиции, честно говоря. Ты за status quo?
Magically yours
Raistlin
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Re: prompt()

Post by John Doe »

Skirda wrote:Уже и так перебор с параметрами:
Можно было бы ещё один опциональный, он ведь на практике далеко не всегда нужен.
Но да, многовато конечно, я думаю обойдёмся нулём.
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Re: prompt()

Post by Skirda »

Raistlin wrote:И я в результате не понял твоей позиции, честно говоря. Ты за status quo?
возврата нуля недостаточно?
We are the Borg. You will be assimilated.
So Say We All!
User avatar
Raistlin
Posts: 750
Joined: Wed 16 Mar, 2005 16:01
Has thanked: 3 times
Been thanked: 1 time

Re: prompt()

Post by Raistlin »

Достаточно, конечно. Я просто не понял ответа. :oops:
Magically yours
Raistlin
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Re: prompt()

Post by Skirda »

Я выше привел код, который возвращает 0 или ''
но prompt вернет, только если есть флаг 1

macro:post print("'"+prompt("Foo","prompt",1)+"'")
Enter (при пустой строке): ''
Esc (при пустой строке): '0'

macro:post print("'"+prompt("Foo")+"'")
Enter (при пустой строке): '0'
Esc (при пустой строке): '0'
We are the Borg. You will be assimilated.
So Say We All!
User avatar
Raistlin
Posts: 750
Joined: Wed 16 Mar, 2005 16:01
Has thanked: 3 times
Been thanked: 1 time

Re: prompt()

Post by Raistlin »

А Esc при непустой строке? По-моему, правильнее так:

macro:post print("'"+prompt("Foo","prompt",1)+"'")
Enter (при пустой строке): ''
Esc (при любой строке): '0'

И вообще, нужно ли такое умолчальное поведение без флага 1, когда Enter при пустой строке не возвращает значения, - этим кто-нибудь пользуется?
Magically yours
Raistlin
Post Reply

Return to “Обсуждение макросов”