Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- open System
- open System.Net
- open Microsoft.FSharp.Control.WebExtensions
- open System.Windows.Forms
- let form = new Form()
- let text = new Label()
- let button = new Button()
- let urlList = [ "Microsoft.com", "http://www.microsoft.com/"
- "MSDN", "http://msdn.microsoft.com/"
- "Bing", "http://www.bing.com"
- ]
- let fetchAsync(name, url:string) =
- async {
- try
- let uri = new System.Uri(url)
- let webClient = new WebClient()
- let! html = webClient.AsyncDownloadString(uri)
- text.Text <- String.Format("Read %d characters for %s", html.Length, name)
- with
- | ex -> printfn "%s" (ex.Message);
- }
- let runAll() =
- urlList
- |> Seq.map fetchAsync
- |> Async.Parallel
- |> Async.RunSynchronously
- |> ignore
- form.Width <- 400
- form.Height <- 300
- form.Visible <- true
- form.Text <- "Test download tool"
- text.Width <- 200
- text.Height <- 50
- text.Top <- 0
- text.Left <- 0
- form.Controls.Add(text)
- button.Text <- "click me"
- button.Top <- text.Height
- button.Left <- 0
- button.Click |> Event.add(fun sender -> runAll() |> ignore)
- form.Controls.Add(button)
- [<STAThread>]
- do Application.Run(form)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement