OOP Class14

esse quam videri
Revision as of 16:39, 7 December 2006 by Jeff (talk | contribs) (Final Review)
Jump to: navigation, search


Extra Stuff

File IO

write file

<csharp> string fileName = "test.txt";

           string folderPath = "c:\\user\\";  
           FileStream fs;
           //Make sure the the File exists if not create it if so open it
           if (!(File.Exists(folderPath + fileName)))
           {
               fs = File.Create(folderPath + fileName);
           }
           else
           {
               fs = new FileStream( folderPath + fileName , FileMode.Open, FileAccess.ReadWrite );
           }
           StreamWriter sw = new StreamWriter(fs);       //use streamwriter to write to file
        
           sw.Write("Hello World!!!");
           sw.Close();                                   //close writer
           fs.Close();                                   //close file stream</csharp>

http://iam.colum.edu/oop/gbrowser.php?file=/classsource/class14/hellowrite.cs

read file

<csharp> StreamReader sr = new StreamReader(fs);

           while( sr.Peek() > -1 )
           {
               Console.WriteLine(sr.ReadLine());
           }
           sr.Close();</csharp>

http://iam.colum.edu/oop/gbrowser.php?file=/classsource/class14/echoFile.cs

File Counter

http://iam.colum.edu/oop/classsource/class14/hitCounter.aspx [- source]

Send Mail

<csharp><% @Page Language="C#" %> <% @Import Namespace="System.Web.Mail" %> <%

   //set up some strings for the email
   
   string strTo = "only_a_test@fastmail.fm";
   string strFrom = "jeff@interactive.colum.edu";
   string strSubject = "Hi jeff";
   string strBody = "A real nice body text here";
   
   //Send email
   SmtpMail.SmtpServer = "localhost";
   SmtpMail.Send(strFrom, strTo, strSubject, strBody);

%></csharp> http://iam.colum.edu/oop/classsource/class14/mail.aspx [-source]

Upload a File

http uploader

Add executionTimeout and maxRequestLength to the web.config so that large uploads will not fail.

<xml> <configuration>

   <system.web>
       <httpRuntime
           executionTimeout="1200"
           maxRequestLength="65536"
       />
   </system.web>

</configuration> </xml>

multipart form <csharp> <form enctype="multipart/form-data" runat="server"> <tr>

 <td>Select file to upload:</td>
 <td>
 <input id="myfile" type="file" runat="server"></td>

</tr> <tr>

 <td>
 <input type=button id="btnUploadTheFile" value="Upload" 
       OnServerClick="btnUploadTheFile_Click" runat="server" />
 </td>

</tr> </form> </csharp>

Parse the multipart form and save the file msdn library. System.Web.HtmlInputFile.PostedFile Property

<csharp> void btnUploadTheFile_Click(object Source, EventArgs evArgs) {

   //Path to save file
   string strBaseLocation = "";
   
   if (null != myfile.PostedFile) 
   {
       // Get the HTTP posted file instance (to simplify the code) 
       HttpPostedFile postedfile = myfile.PostedFile; 
       
       // Get the filename 
       string filename = new System.IO.FileInfo(postedfile.FileName).Name; 
       string filesize = postedfile.ContentLength.ToString();
       try 
       {
           myfile.PostedFile.SaveAs(strBaseLocation+filename);
           txtOutput.InnerHtml = "File " + strBaseLocation + filename + " uploaded successfully";
       }
       catch (Exception e) 
       {
               txtOutput.InnerHtml = "Error saving " + strBaseLocation + filename + "

"+ e.ToString();

       }
       
       //Do some other stuff 
       //maybe  like send an email to let admin know file was uploaded
   }

} </csharp>

http://iam.colum.edu/oop/classsource/class14/up.aspx [up.aspx - source] [web.config - source]

Final Review

OOP Final Review

  • Be very familar with c# syntax
    • Basic object types (int, bool, string)
    • Conditional and Branching statements
    • Arrays and ArrayLists
  • Understand Classes and Inhertance.
  • Use some advanced class features such as abstract classes and virual methods that are overridden
  • Understand class relationships
    • Is A
    • Has A
    • Uses A
  • Understand Encapulation, Abstarction and Polymorphism
  • Be able to read and create UML Diagrams
  • Be able to recognize and use simple design patters

The final will be consist of two sections the writtens section and the practical section. The practical section will be open everything excpet open mouth (yes open note open book open web). You will not be ablt to use any of theese resources during the written section.