⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 askdialog.pro

📁 Visual Prolog的一些学习程序 Visual Prolog7.1的,希望或多或少能帮助到您
💻 PRO
字号:
/*****************************************************************************

                        Copyright (c) Prolog Development Center A/S

******************************************************************************/

implement askDialog
    inherits dialog
    open core, vpiDomains, resourceIdentifiers

constants
    className = "askDialog/askDialog".
    classVersion = "".

clauses
    classInfo(className, classVersion).

clauses
    ask(Init) = Answer :-
        Dialog = askDialog::new(applicationWindow::get()),
        Dialog:setInitString(Init),
        Dialog:show(),
        Answer = Dialog:getAnswer().

clauses
    setInitString(InitString) :-
        edit_ctl:setText(InitString),
        not(InitString = ""),
        !,
        ok_ctl:setEnabled().
    setInitString(_).

clauses
    getAnswer() = Answer :-
        answer(Answer).

clauses
    new(Parent) :-
        dialog::new(Parent),
        generatedInitialize().

facts
    answer : (string Result) determ.

predicates
    onOk : button::clickResponder.
clauses
    onOk(_Source) = button::defaultAction() :-
        assert(answer(edit_ctl:getText())).

predicates
    onEditModified : editControl::modifiedListener.
clauses
    onEditModified(_Source) :-
        ok_ctl:setEnabled(boolean::logicalNot(
            toBoolean(edit_ctl:getText() = ""))).


% This code is maintained by the VDE do not update it manually, 17:27:29-1.11.2004
facts
    ok_ctl : button.
    cancel_ctl : button.
    edit_ctl : editControl.

predicates
    generatedInitialize : ().
clauses
    generatedInitialize():-
        setFont(vpi::fontCreateByName("MS Sans Serif", 8)),
        setText("Ask Dialog"),
        setRect(rct(50,40,229,108)),
        setModal(true),
        setDecoration(titlebar([closebutton()])),
        edit_ctl := editControl::new(This),
        edit_ctl:setText(""),
        edit_ctl:setPosition(8, 20),
        edit_ctl:setWidth(164),
        ok_ctl := button::newOk(This),
        ok_ctl:setText("&OK"),
        ok_ctl:setPosition(68, 48),
        setDefaultButton(ok_ctl),
        ok_ctl:setEnabled(false),
        cancel_ctl := button::newCancel(This),
        cancel_ctl:setText("Cancel"),
        cancel_ctl:setPosition(124, 48),
        PleaseTypeAnAnswer_ctl = textControl::new(This),
        PleaseTypeAnAnswer_ctl:setText("Please type some answer:"),
        PleaseTypeAnAnswer_ctl:setPosition(8, 4),
        PleaseTypeAnAnswer_ctl:setSize(76, 10),
        ok_ctl:setClickResponder(onOk),
        edit_ctl:addModifiedListener(onEditModified).
% end of automatic code
end implement askDialog

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -