PasteRack.org
Paste # 72152
2017-07-29 04:40:57

Fork as a new paste.

Paste viewed 216 times.


Embed:

GUI for converting Celsius <-> Farenheit

#lang racket

(require racket/gui/base)
; Create a dialog
(define dialog (instantiate dialog% ("Celsius <-> Farenheit")))

; Add a text field to the dialog
(define textField (new text-field% [parent dialog] [label "Enter value"]))

;add label that shows the converted vales
(define output (new message% [parent dialog] [label "output"]))

; Add a horizontal panel to the dialog
(define panel (new horizontal-panel% [parent dialog]
                                     [alignment '(center center)]))

(new button% [parent panel]
     [label "calculate"]
     [callback (lambda (button event)
                 (let ([value (send textField get-value )])
                   (define b (send check get-value))
                   (if (eq? b #f)
                       (send output set-label value)
                       (send output set-label (number->string (+ (/ (* 9 (string->number value)) 5.0) 32)))
                    )
                   ))]
)


(define check (new check-box% [parent panel] [label "farenheit"]))

; Show the dialog
(send dialog show #t)