A help program that uses a disk file to store help information : Stream Read Write « File Stream « C# / C Sharp






A help program that uses a disk file to store help information

A help program that uses a disk file 
   to store help information
  
/*
C# A Beginner's Guide
By Schildt

Publisher: Osborne McGraw-Hill
ISBN: 0072133295
*/

/*   
   Project 11-2   
   
   A help program that uses a disk file 
   to store help information. 
*/   
 
using System; 
using System.IO;  
 
/* The Help class opens a help file, 
   searches for a topic, and then displays 
   the information associated with that topic. */  
class Help { 
  string helpfile; // name of help file 
 
  public Help(string fname) { 
    helpfile = fname; 
  } 
 
  // Display help on a topic. 
  public bool helpon(string what) {  
    StreamReader helpRdr; 
    int ch; 
    string topic, info; 
 
    try { 
      helpRdr = new StreamReader(helpfile); 
    } 
    catch(FileNotFoundException exc) { 
      Console.WriteLine(exc.Message); 
      return false; 
    } 
 
    try { 
      do { 
        // read characters until a # is found 
        ch = helpRdr.Read(); 
 
        // now, see if topics match 
        if(ch == '#') { 
          topic = helpRdr.ReadLine(); 
          if(what == topic) { // found topic 
            do { 
              info = helpRdr.ReadLine(); 
              if(info != null) Console.WriteLine(info); 
            } while((info != null) && (info != "")); 
            helpRdr.Close(); 
            return true; 
          } 
        } 
      } while(ch != -1); 
    } 
    catch(IOException exc) { 
      Console.WriteLine(exc.Message); 
    }  
    helpRdr.Close(); 
    return false; // topic not found 
  }  
  
  // Get a Help topic. 
  public string getSelection() {  
    string topic = ""; 
 
    Console.Write("Enter topic: ");   
    try {   
      topic = Console.ReadLine(); 
    } 
    catch(IOException exc) { 
      Console.WriteLine(exc.Message); 
      return ""; 
    } 
    return topic; 
  } 
}  
  
// Demonstrate the file-based Help system. 
public class FileHelp {   
  public static void Main() {   
    Help hlpobj = new Help("helpfile.txt");  
    string topic; 
 
    Console.WriteLine("Try the help system. " + 
                       "Enter 'stop' to end.");  
    do {  
      topic = hlpobj.getSelection();   
 
      if(!hlpobj.helpon(topic)) 
        Console.WriteLine("Topic not found.\n"); 
 
    } while(topic != "stop"); 
  }  
}

/*
#if
if(condition) statement;
else statement;

#switch
switch(expression) {
  case constant:
    statement sequence  
    break;  
    // ...  
  }  

#for
for(init; condition; iteration) statement;  

#while
while(condition) statement;  

#do
do {  
  statement;  
} while (condition);  

#break
break; or break label;  

#continue
continue; or continue label;  

#goto
goto label;
 
*/
           
         
    
  








Related examples in the same category

1.Use StreamWriter to create a text file
2.Reading from a text file line by line
3.Read data in line by line
4.StreamReader.ReadLine
5.Catch file read exception and retry
6.Construct StreamWriter from FileSream
7.Create a StreamWriter in UTF8 mode
8.StreamReader And Writer
9.illustrates reading and writing text dataillustrates reading and writing text data
10.Asynchronously reads a streamAsynchronously reads a stream
11.The use of a buffered stream to serve as intermediate data holder for another streamThe use of a buffered stream to serve as intermediate data holder for another stream
12.Demonstrates attaching a StreamReader object to a stream
13.Demonstrates attaching a StreamWriter object to a stream
14.A simple key-to-disk utility that demonstrates a StreamWriterA simple key-to-disk utility that 
   demonstrates a StreamWriter
15.Open a file using StreamWriterOpen a file using StreamWriter
16.Try and catch exceptions for StreamWriter
17.Using StreamWriter 3
18.Utility class that provides methods to manipulate stream of data.
19.Reads a stream into a byte array.
20.Copies one stream into another.
21.Copy Stream from fromStream to toStream
22.Enumerate Lines for StreamReader
23.Enumerate non-empty Lines for StreamReader
24.Fifo Stream
25.Read from stream
26.Read from a Stream ensuring all the required data is read.
27.Serializes and object to a stream. It will flush and close the underlying stream.
28.Add OutputStream and InputStream to IDbCommand
29.Read Stream to End
30.Copy Stream and close
31.Stream Converter
32.Buffered InputStream
33.Page Filter Stream
34.Copies an Stream into another Stream.