Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Последние темы форума

Показать новые сообщения »

Почтовая рассылка

Подписчиков: 11679
Последний выпуск: 19.06.2015

GUI-калькулятор на Racket

37K
21 ноября 2012 года
nbit
8 / / 28.10.2011
Приведите пожалуйста пример кода простейшего калькулятора с GUI на Racket'e, достаточно 2 любых операций.
255
21 ноября 2012 года
koodeer
1.2K / / 02.05.2009
Код:
#lang racket
(require racket/class racket/gui/base)

(define frame (new frame% [label "Calculator"]
                   [width 300]
                   [height 200]))

(define field1 (new text-field% [parent frame]
                    [label "Number 1:"]
                    [stretchable-width #f]))

(define operation (new choice% [parent frame]
                       [label "Operation"]
                       [choices '("+" "-" "*")]))

(define field2 (new text-field% [parent frame]
                    [label "Number 2:"]
                    [stretchable-width #f]))

(define result (new message% [parent frame]
                    [label ""]
                    [auto-resize #t]))

(new button% [parent frame]
     [label "Calculate"]
     (callback (lambda (button event)
                 (define n1 (string->number (send field1 get-value)))
                 (define n2 (string->number (send field2 get-value)))
                 (define op (send operation get-selection))
                 (define res (if (= op 0)
                                 (number->string (+ n1 n2))
                                 (if (= op 1)
                                     (number->string (- n1 n2))
                                     (number->string (* n1 n2)))))
                 (send result set-label res))))

(send frame show #t)

ЗЫ: Документация Racket достаточно хорошая, так что за полчаса можно самостоятельно всё найти и сделать.
37K
21 ноября 2012 года
nbit
8 / / 28.10.2011
Спасибо большое!

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог