Problem: Create an application that will ask the name of an object or material, its voltage and current values then display its electrical resistance.
Solution:
// Learn more about F# at http://fsharp.net //specifies the memory location of the class files //that will be needed in our application open System.Collections.Generic open System open System.Windows.Forms open System.ComponentModel open System.Drawing //creates our controls let resistanceform=new Form(Text="Compute Resistance", Size=new System.Drawing.Size(300, 330),StartPosition=FormStartPosition.CenterScreen,AutoScaleMode=AutoScaleMode.Font) let n1label=new Label(Text="Material:",Location=new System.Drawing.Point(0,20),AutoSize=true) let materialtextbox=new TextBox(Location=new System.Drawing.Point(80, 20)) let n2label=new Label(Text="Current(volts):", Location=new System.Drawing.Point(0,50),AutoSize=true) let currenttextbox=new TextBox(Location=new System.Drawing.Point(80,50)) let n3label=new Label(Text="Voltage(amperes):", Location=new System.Drawing.Point(0, 90),AutoSize=true) let voltstextbox=new TextBox(Location=new System.Drawing.Point(130, 90)) let n4label=new Label(Text="Material:", Location=new System.Drawing.Point(0, 180),AutoSize=true) let materiallabel=new Label(Location=new System.Drawing.Point(130, 180),BorderStyle=BorderStyle.FixedSingle) let n5label=new Label(Text="Resistance(ohms):", Location=new System.Drawing.Point(0, 210),AutoSize=true) let resistancelabel=new Label(Location=new System.Drawing.Point(130, 210),BorderStyle=BorderStyle.FixedSingle) let computebutton=new Button(Text="Compute", Location=new System.Drawing.Point(100, 250)) let exitbutton=new Button(Text="Exit", Location=new System.Drawing.Point(200, 250)) //add the controls into the form resistanceform.Controls.Add(n1label) resistanceform.Controls.Add(materialtextbox) resistanceform.Controls.Add(n2label) resistanceform.Controls.Add(currenttextbox) resistanceform.Controls.Add(n3label) resistanceform.Controls.Add(voltstextbox) resistanceform.Controls.Add(n4label) resistanceform.Controls.Add(materiallabel) resistanceform.Controls.Add(n5label) resistanceform.Controls.Add(resistancelabel) resistanceform.Controls.Add(computebutton) resistanceform.Controls.Add(exitbutton) //when the compute button is clicked computebutton.Click.Add(fun compute-> //assign the data inputted in each control to each corresponding variables //compute the resistance using the formula resistance=voltage divided by current //display the result on outcome on their assigned controls let material=materialtextbox.Text let current=Convert.ToDouble(currenttextbox.Text) let voltage=Convert.ToDouble(voltstextbox.Text) let resistance=voltage/current materiallabel.Text<-material resistancelabel.Text<-Convert.ToString(resistance)) //when the exit button is clicked, close the form exitbutton.Click.Add(fun exit -> resistanceform.Close()) Application.Run(resistanceform)