نمایش نتایج 1 تا 3 از 3

نام تاپیک: استفاده از واسط کاربری در Lisp

  1. #1

    استفاده از واسط کاربری در Lisp

    به صورت معمول زبان لسپ هیچ اینترفیس گرافیکی در اختیار کاربر نمی گذارد و اکثرا تمام تست ها در محیط کامند اجرا می شود.
    ولی اگر از نرم افزار NewLisp استفاده کنید شما قادر خواهید بود برنامه خود را همانند دیگر برنامه های دسکتاپ نوشته و اجرا کنید.
    من در اینجا قصد آموزش لیسپ را ندارم و فقط قصدم نمایش یک مثال برای کار کردن با لیسپ در محیط گرافیکی است.

    1 - برنامه NewLisp را نصب کنید.
    2-یک تب جدید باز کنید و کدهای زیر را در آن کپی کنید.

    #!/usr/local/bin/newlisp
    ;;;; initialization
    (set-locale "C")
    (load (append (env "NEWLISPDIR") "/guiserver.lsp"))

    (gs:init)

    ;;;; describe the GUI
    (gs:frame 'WidgetsDemo 200 40 640 640 "Widgets Demo")
    (gs:set-grid-layout 'WidgetsDemo 5 1 10 1)

    ;; the monitor area
    (gs:text-area 'MonitorArea 'action-handler)
    (gs:set-editable 'MonitorArea nil)
    (gs:set-background 'MonitorArea 0.5 0.5 0.5)
    (gs:set-font 'MonitorArea "Monospaced" 12 "plain")
    (gs:set-foreground 'MonitorArea 1 1 0.0)

    ;; the button panel
    (gs:panel 'ButtonPanel)
    (gs:set-flow-layout 'ButtonPanel "left" 10 10)
    (gs:set-titled-border 'ButtonPanel "input")
    (gs:button 'TheButton 'button-handler "button")
    (gs:text-field 'TheTextField 'textfield-handler 10)
    (gs:add-to 'ButtonPanel 'TheButton 'TheTextField)

    (gs:panel 'output)
    (gs:set-flow-layout 'output "left" 10 10)
    (gs:set-titled-border 'output "output")
    (gs:text-area 'TheTextArea 'textarea-handler 160 80)
    (gs:set-editable 'TheTextArea nil)
    (gs:add-to 'output 'TheTextArea)


    ;; add all panels to the grid laount in the main frame
    (gs:add-to 'WidgetsDemo 'MonitorArea 'ButtonPanel 'output)

    (gs:set-visible 'WidgetsDemo true)

    (define (button-handler)
    (gs:get-text 'TheTextField 'gettextcallback-handler)
    )

    (define (gettextcallback-handler id text)
    (if text
    (begin
    (set 'msg (my-func (base64-dec text)))
    (gs:append-text 'TheTextArea msg)
    (gs:append-text 'TheTextArea "\n"))
    )
    )

    (define (my-func arr)
    (set 'ee (string "(+ " arr ")"))
    (set 'dq (eval-string ee))
    (string dq)
    )
    ;;;; listen for incoming action requests and dispatch
    (gs:listen)

    ;; eof


    lisp2.png

    3-برنامه را اجرا کنید.
    lisp.png
    تبریک می گویم شما اولین برنامه خود را در زبان NewLisp نوشتید.
    درقسمت ورودی به تعداد دلخواه عددهای خود را وارد کنید.(با اسپیس از هم جدا شوند)
    در قسمت خروجی حاصل جمع آنها را مشاهده خواهید کرد.

    4-برنامه را در محل دلخواه با نام mylisp ذخیره کنید.
    اکنون برای اجرای دوباره آن فقط کافیست در محیط کامند به محل ذخیره خود رفته و دستور زیر را وارد کنید:

    newlisp mylisp.lsp
    آخرین ویرایش به وسیله Omid Salehi : دوشنبه 08 خرداد 1396 در 13:41 عصر

  2. #2
    کاربر دائمی
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    کرمانشاه
    پست
    398

    نقل قول: استفاده از واسط کاربری در Lisp

    سلام آقای صالحی
    میشه لینک دانلود NewLisp رو قرار بدین؟سپاسگزارم

  3. #3
    کاربر دائمی
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    کرمانشاه
    پست
    398

    نقل قول: استفاده از واسط کاربری در Lisp

    ببخشین تو سایت newLisp.org متوجه نمیشم خود محیط گرافیکی نرم افزار که شما ازش اسکرین قرار دادین کدومه

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •