Take this
course

Software Development / Programming Languages

Build A Stock Downloader With C#, Visual Studio And Yahoo

Push Your Programming Skills To A New Level

Description

 Why enroll in this course? Perhaps you have programmed a little. But writing small code samples ultimately leads to limited skills. Creating an application requires the synthesis of many different skills. In this course, you learn how to build a complete, but still understandable, application using Microsoft C#, Visual Studio 2015, and Yahoo. This application has an interface with numerous parts, consists of two forms, and can download stock information from Yahoo. This course, in other words, is for those who want to grow their skills. This course consists of HD video lessons, downloadable zip files of all the project files, and cloneable GitHub files. These are included so you can check your work against ours at each stage of the project. Assuming you complete the course, you'll be done in only two and a half hours, so you'll learn a lot within a relatively short period of time. Let's get coding! 

Full details

Curriculum

  • Introduction
    What we're going to build
    Lesson Objective: Become familiar with the functions of the application Learning Results: 1) Learn how the application can be used to download stock information directly from Yahoo 2) Learn how to open the files or search for file names with certain letters
    2:07
    How To Get All The Project Files From GitHub
    Lesson Objective: Get the project files from GitHub Learning Results: 1) Learn how to clone a repository 2) Learn how to open the solution files from the repository inside Visual Studio GitHub Files: https://github.com/ovnisoftware/YahooFinanceQuoteDownloader
    1:51
  • Create Project And Build the Interface
    Add A Menu Strip
    Lesson Objective: Create a windows form application, and build the menu Learning Results: 1) Create a windows forms project 2) Build a menu with sub menu items 3) Assign meaningful code names to the menu items
    3:00
    Build the Rest of the Interface
    Lesson Objective: Build the rest of the interface Learning Results: 1) Add labels, buttons, and text boxes 2) Add combo boxes, and numeric up and downs 3) Rename the form to frmYahooDownloader
    9:48
    Fill the Controls That Store Lists
    Lesson Objective: Fill the controls that store lists Learning Results: 1) Fill the start from month combo box with Jan,Feb,....,Dec 2) Fill the until month combo box with Jan, Feb,....,Dec 3) Set the max and min values for the starting month day with 1 for the min and 31 for the max 4) Set the max and min values for the stopping month day with 1 for the min and 31 for the max 5) Set the min and max values for the start year with 1900 for min and 2100 for max 6) Set the min and max values for the end year with 1900 for min and 2100 for max
    4:06
  • Writing Code To Make The Application Work
    Declare Fields for Storing Information
    Lesson Objectives: Declare two fields to store information Learning Results: 1) Declare a field to represent the download folder 2) Declare a field to represent the interval of time for controlling downloads
    2:50
    Set The Current Date And Default Display Values
    Lesson Objective: Understand how to write a function to set the current date Learning Results: 1) Write SetCurrentDate() 2) Configure the from month combo box to index 0, which is January 3) Configure the to month combo box to index 0, which is January
    3:17
    Choosing the Download Folder
    Lesson Objective: Understand how to use a folder browser dialog Learning Results: 1) Understand how to place a file browser control 2) Learn how to write code to make the file browser work Challenge: Before watching the next video, can you figure out how to check that the dates entered are sensible? Fo example, the start date should not be later than the end date. You can use DateTime objects constructed from the combo boxes, and numeric up and downs, and then compare them using if/else if.
    3:28
    Verify Date Ranges Are Sensible
    Lesson Objective: Write a method to check date ranges Learning Results: 1) See how to use try/catch to make the application more stable 2) Write a series of if/else blocks to check that the dates chosen are sensible Challenge: Because a user can also enter the save path by typing, can you figure out code to check how to confirm the folder exists? You can use Directory.Exists as a clue. A solution is in the next video.
    5:25
    Checking The Directory Exists And That Ticker Symbols Are Entered
    Lesson Objective: Verify download folder exists and ticker symbols are entered Learning Results: 1) Learn how to use Directory.Exists 2) Learn how to write code to ensure a text box is not empty 3) Understand why it's necessary to do basic error checking
    3:06
    Ensuring That The Ticker Symbols Are Letters And Numbers Only
    Lesson Objectives: Ensure that ticker symbols are all letters and numbers Learning Results: 1) Use DatesVerified values as a condition check in an if statement 2) Write Linq to check that symbols entered are acceptable as ticker symbols
    3:43
    Set the Time Interval For Downloads
    Lesson Objective: Write a function that controls the time interval for downloads Learning Results: 1) Write the code to call and implement SetInterval()
    2:01
    Create The SplitTickers Method
    Lesson Objective: Create a class file, and write a method Learning Results: 1) Create a new class file to store helper methods 2) Create a method called SplitTickers
    3:21
    Create The DownloadSymbolsToCSV Method In Helpers.cs
    Lesson Objective: Create a function that downloads stock information from Yahoo Learning Results: 1) Create a using block so low level resources are properly disposed of 2) Make a web client object and use it 3) Create and use stream writers and stream readers
    5:32
    Build Up The URL And Download The File
    Lesson Objective: Build up the string that is used to download files from Yahoo Learning Results: 1) Use Path.Combine 2) Build a string to represent a Yahoo URL 3) Understand why try/catch is necessary 4) Download a file and check the results
    7:19
    Create Form For Showing Downloaded File List
    Lesson Objective :Create a form that opens after a download completes Learning Results: 1) Create a new form 2) Add a text box for accepting search terms 3) Add a list box that shows file names ending in csv only
    5:37
    Write Code To Initialize The Downloaded File List Form
    Lesson Objective: Populate list box with all the files that end in csv in the download folder Learning Results: 1) Populate the list box 2) Make sure the folder from the main form connects to the folder in the list form
    4:50
    Write Code To Make Files Searchable And Openable
    Lesson Objective: Make the file list searchable Learning Results: 1) Make each file openable in notepad 2) Write code to search through the file lists when there are many
    5:24
  • Adding GetIndices.cs
    Adding GetIndices.cs And Getting The Dow 30
    Lesson Objective: Create a class that stores methods for getting information from other sites Learning Results: 1) Create GetIndices.cs 2) Create a method that downloads symbols that are part of the Dow 30 3) Use HTTP request and response objects Challenge: Create a method that downloads symbols that represent the Nasdaq 100
    7:37
    Get The Nasdaq 100 And SP 100
    Lesson Objective: Add code to download the stocks that define the Nasdaq 100 and the S&P 100 Learning Results: 1) The code for downloading the Nasdaq 100 requires just a small change 2) The code for downloading the S&P 100 requires more careful analysis
    7:43
    Make The Interface Movable By Adding Asynchrony
    Lesson Objective: Use a background worker to make the application not freeze as it downloads many files Learning Results: 1) Move the code after VerifyDates() inside if to a new method called DownLoad() 2) Add a background worker 3) Add code to the background worker do work method 4) Add code to the background worker complete method
    4:59

Skills

  • C#
  • Microsoft Visual Studio
  • Stocks

Similar Courses

More Courses by this Instructor