Advertisement
Guest User

Untitled

a guest
Dec 11th, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
F# 1.81 KB | None | 0 0
  1. namespace HelloFSharp
  2.  
  3. open Xamarin.Forms
  4. open Xamarin.Forms.Xaml
  5. open System.Collections.Generic
  6. open System
  7.  
  8. type operacje=
  9.     |doda = 0
  10.     |odej = 1
  11.     |mnoze = 2
  12.     |dziele = 3
  13.  
  14.  
  15. type MainPage() =
  16.     inherit ContentPage()
  17.  
  18.  
  19.     let stack = StackLayout(VerticalOptions = LayoutOptions.Center)
  20.    
  21.     let wynik = Label(Text="Wynik")
  22.     let entry1 = Entry(Text="Wprowadz dane 1", BackgroundColor = Color.Fuchsia , TextColor = Color.White, Placeholder = "Pierwsza wartosc")
  23.     let entry2 = Entry(Text="Wprowadz dane 2", Placeholder = "Druga wartosc")
  24.     let butt1 = Button(Text="+")
  25.     let butt2 = Button(Text="-")
  26.     let butt3 = Button(Text="*")
  27.     let butt4 = Button(Text="/")
  28.     let licz (o: operacje)=
  29.         let mutable wart1 = 0.0
  30.         wart1 <- (if Double.TryParse(entry1.Text, &wart1) then wart1 else 0.0)
  31.         let mutable wart2 = 0.0
  32.         wart2 <- (if Double.TryParse(entry2.Text, &wart2) then wart2 else 0.0)
  33.         wynik.Text <-
  34.             match o with
  35.             |operacje.doda ->
  36.                 string(wart1 + wart2)
  37.             |operacje.odej ->
  38.                 string(wart1 - wart2)
  39.             |operacje.mnoze ->
  40.                 string(wart1 * wart2)
  41.             |operacje.dziele ->
  42.                 string(wart1 / wart2)
  43.  
  44.  
  45.    
  46.        
  47.  
  48.    
  49.  
  50.  
  51.     do
  52.         butt1.Clicked.Add (fun _ -> licz operacje.doda)
  53.         butt2.Clicked.Add (fun _ -> licz operacje.odej)
  54.         butt3.Clicked.Add (fun _ -> licz operacje.mnoze)
  55.         butt4.Clicked.Add (fun _ -> licz operacje.dziele)
  56.  
  57.         stack.Children.Add entry1
  58.         stack.Children.Add entry2
  59.         stack.Children.Add butt1
  60.         stack.Children.Add butt2
  61.         stack.Children.Add butt3
  62.         stack.Children.Add butt4
  63.         stack.Children.Add wynik
  64.  
  65.  
  66.         base.Content <- stack
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement