Search found 51 matches

by Gukalov
24 Apr 2023 19:08
Forum: Visual Prolog
Topic: The flow pattern '(o,o)' does not exist - I must be blind
Replies: 2
Views: 163

Re: The flow pattern '(o,o)' does not exist - I must be blind

class predicates heal : (string Person, integer Modifier) nondeterm (o, o). Turbo: all the predicates are "nondeterm", no matter an argument is IN or OUT VIP: it need to define determ/nondeterm/procedure... arguments IN/OUT If you don't define, VIP takes the predicate as procedure with ar...
by Gukalov
14 Feb 2023 22:14
Forum: Visual Prolog
Topic: Another feature suggestion
Replies: 4
Views: 342

Re: Another feature suggestion

I have a dream)))
The simplest set/get declaration in class/interface with value settings:

Code: Select all

properties     aProperty : someDomain := someValue.
also declares the corresponding fact without extra words in implement.
by Gukalov
21 Nov 2022 18:04
Forum: Visual Prolog
Topic: SciLexer tab key - line indent vs. tab insert
Replies: 16
Views: 1721

Re: SciLexer tab key - line indent vs. tab insert

You are welcome. Actually, a little trick: sciLexer.pro predicates tryGetKeydownAction : (vpiDomains::keyModifier Modifier, integer VKey) -> runnable Action determ. clauses tryGetKeydownAction(M, K) = Fun() :- assignedKey(M, K, Fun), !. ...... ...... facts assignedKey : (vpiDomains::keyModifier Modi...
by Gukalov
16 Nov 2022 19:14
Forum: Visual Prolog
Topic: SciLexer tab key - line indent vs. tab insert
Replies: 16
Views: 1721

Re: SciLexer tab key - line indent vs. tab insert

Ups... I don't see how to check if the key is assigned((( But I see "ordinary" tab predicate. So, with adding vipTab flag: predicates tryGetKeydownAction : (vpiDomains::keyModifier Modifier, integer VKey) -> runnable Action determ. clauses ... tryGetKeydownAction(c_ShiftCtl, vk_tab) = { :-...
by Gukalov
16 Nov 2022 17:24
Forum: Visual Prolog
Topic: SciLexer tab key - line indent vs. tab insert
Replies: 16
Views: 1721

Re: SciLexer tab key - line indent vs. tab insert

Yes))) If the sciLexerBase::key_tab is assigned they work both - and VIP tab, and command))) predicates tryGetKeydownAction : (vpiDomains::keyModifier Modifier, integer VKey) -> runnable Action determ. clauses ... tryGetKeydownAction(c_Nothing, vk_tab) = tab_vip. % :- *** ... I think *** the best pl...
by Gukalov
14 Nov 2022 17:21
Forum: Visual Prolog
Topic: SciLexer tab key - line indent vs. tab insert
Replies: 16
Views: 1721

Re: SciLexer tab key - line indent vs. tab insert

Code: Select all

sciLexer_ctl:assignCmdKey(sciLexerBase::key_tab, sciLexerBase::key_tab)
Hm... sciLexerBase::key_tab - just Key Tab.
Tab Action search somewhere near sci_selectAll, sci_undo, etc. I hope)))
...pfc\windowsapi\scilexer_api\scilexer_native.cl(94,1)
by Gukalov
14 Nov 2022 15:46
Forum: Visual Prolog
Topic: SciLexer tab key - line indent vs. tab insert
Replies: 16
Views: 1721

Re: SciLexer tab key - line indent vs. tab insert

Our show predicate for the sciLexer makes the following settings: And further this predicate makes: clearCmdKey(key_tab), % handled in onNative to get old Visual Prolog behaviour clearCmdKey(shift+key_tab), % handled in onNative to get old Visual Prolog behaviour So, I would try to add to showListe...
by Gukalov
8 Jul 2022 15:56
Forum: Visual Prolog
Topic: Execute a predicate stored in a clause (or fact)
Replies: 3
Views: 1667

Re: Execute a predicate stored in a clause (or fact)

Don't do it, please!!!
According the sound you can harm and damage an importent VIP Member!!! :shock:
by Gukalov
2 Jul 2022 20:55
Forum: Visual Prolog
Topic: Sort a List of Functors
Replies: 7
Views: 2914

Re: Sort a List of Functors

Thank you for all this "new words". This is interesting. I have "old words" additions: core + predicates compareBF : (Value Left, Value Right, function{Value, ToCompare}) -> compareResult. clauses compareBF(L, R, CF) = compare(tuple(CF(L), L), tuple(CF(R), R)). list + predicates ...
by Gukalov
28 Jun 2022 21:31
Forum: Visual Prolog
Topic: Sort a List of Functors
Replies: 7
Views: 2914

Re: Sort a List of Functors

domains pTerm = p(integer, integer, integer, integer). clauses run() :- T1 = p(6, 3, 1, 3), T2 = p(3, 2, 1, 3), T3 = p(2, 5, 7, 3), L1 = [ T1, T2, T3 ], L2 = [ T2, T1, T3 ], L3 = [ T3, T2, T1 ], L4 = [ T2, T3, T1 ], foreach L in [ L1, L2, L3, L4 ] do Sorted = list::sortBy(compare4, L), console::wri...
by Gukalov
26 Jun 2022 12:32
Forum: Visual Prolog
Topic: Sort a List of Functors
Replies: 7
Views: 2914

Re: Sort a List of Functors

domains pTerm = p(integer, integer, integer, integer). clauses run() :- PTerms = [p(6, 3, 1, 3), p(1, 2, 3, 4), p(3, 2, 1, 0), p(6, 3, 1, 2), p(2, 5, 7, 8)], Count = varM::new(0), ValueN = { (Index, P) = I :- p(A, B, C, D) = P, I = list::nth(Index, [A, B, C, D]), Count:value := Count:value + 1 }, P...
by Gukalov
25 Jun 2022 10:38
Forum: Visual Prolog
Topic: Sort a List of Functors
Replies: 7
Views: 2914

Re: Sort a List of Functors

Generally, define your own COMPARATOR and use list::sortBy/2 or list::sortBy/3.
Usually, it's enough "meaningful" functor and list::sort/1 or list::sort/2.
by Gukalov
11 Apr 2022 16:10
Forum: Visual Prolog
Topic: changing a listBox attribute?
Replies: 5
Views: 5841

Re: changing a listBox attribute?

...for example I have a dlg with a Listbox where multiselect is set to "true" in the properties box... Impossible to change multi-properti after show, but possible to switch listBoxes: implement main open core clauses run() :- Dlg = dialog::new(window::getActiveWindow()), Dlg:setFont(vpi:...
by Gukalov
6 Apr 2022 20:55
Forum: Visual Prolog
Topic: changing a listBox attribute?
Replies: 5
Views: 5841

Re: changing a listBox attribute?

interface listBox %............. %............. %............. predicates setMultiSelect : (boolean MultiSelectIsSet). % @short Specifies whether the list box allows multiple selections. % @exception gui_exception::unableToSetPropertyAfterShow_exception % @end I have no idea what is going on with t...