Click here to Skip to main content
Click here to Skip to main content
Articles » Languages » C# » Applications » Downloads
 
Add your own
alternative version

CooksMate

, 21 Jan 2008
A simple program to help get the timing of a roast dinner
cooksmate-bin-mono.zip
cooksmate-bin-mono
CooksMate
mono
cooksmate.exe
cooksmate.exe.mdb
cooksmate.sh
log4net.dll
uk.org.aspellclark.common.dll
uk.org.aspellclark.common.gui.dll
cooksmate-bin-net.zip
cooksmate-bin-net
CooksMate
bin
Debug
cooksmate.exe
cooksmate.log
log4net.dll
uk.org.aspellclark.common.dll
uk.org.aspellclark.common.gui.dll
cooksmate-src.zip
cooksmate-src
Common
common.build
Properties
src
main
csharp
NotImplementedDlg.resources
CommonFile
common.file.build
CommonGui
common.gui.build
CooksMate
cooksmate.build
cooksmate.sh
cooksmate_norm.png
DlgAction.resources
DlgEditRecipe.resources
MainForm.resources
libs
mono
log4net.dll
Mono.GetOptions.dll
sqlite-3.5.4.so
net
log4net.dll
Mono.GetOptions.dll
sqlite3.def
sqlite3.dll
/*
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA

 * User: andy
 * Date: 30/07/2006
 * Time: 08:37
 */

using System;
using System.IO;
using System.Collections;
using System.Configuration;

namespace uk.org.aspellclark.common.file
{
    /// <summary>
    ///   <name>AsciiFile</name>
    ///   <namespace>uk.org.aspellclark.common</namespace>
    ///   <version>1.0</version>
    ///   <author>Andy Aspell-Clark</author>
    ///   <description>
    ///   </description>
    ///   <history>
    ///     <historyitem>17 Nov 2004  1.0 ARA  Initial Version.</historyitem>
    ///   </history>
    /// </summary>
    ///
    public class AsciiFile
    {
        /// <summary>
        ///
        /// </summary>
        protected string m_sFilepath;

        /// <summary>
        /// the name of the file to read
        /// </summary>
        protected string m_sFilename;

        /// <summary>
        ///
        /// </summary>
        protected Int64 m_lFileSize;

        /// <summary>
        ///
        /// </summary>
        protected Int64 m_lPosition;

        /// <summary>
        ///
        /// </summary>
        protected FileInfo m_fiFileInfo;

        /// <summary>
        ///
        /// </summary>
        protected FileStream m_fsFileStream;



        #region Properties

        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public string Filename
        {
            get {return m_sFilename; }
            set
            {
                int indexOf = value.LastIndexOf(System.IO.Path.DirectorySeparatorChar);
                if (indexOf == -1)
                {
                    indexOf = value.LastIndexOf(System.IO.Path.DirectorySeparatorChar);
                }
                m_sFilename = value.Substring(indexOf+1);
                m_sFilepath = value.Substring(0 , indexOf+1);
                m_fiFileInfo = new FileInfo(m_sFilepath + m_sFilename);
                m_lFileSize = m_fiFileInfo.Length;
            }
        }

        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public Int64 FileSize
        {
            get {return m_lFileSize; }
        }

        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public Int64 CurrentPosition
        {
            get {return m_lPosition; }
        }

        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public int NumberOfLines
        {
            get
            {
                int iLines = 0;


                return iLines;
            }
        }


        #endregion

    }//class()



    /// <summary>
    ///   <name>AsciiFileReader</name>
    ///   <namespace>uk.org.aspellclark.common</namespace>
    ///   <version>1.0</version>
    ///   <author>Andy Aspell-Clark</author>
    ///   <description>
    ///   </description>
    ///   <history>
    ///     <historyitem>17 Nov 2004  1.0 ARA  Initial Version.</historyitem>
    ///   </history>
    /// </summary>
    public class AsciiFileReader : AsciiFile
    {
        /// <summary>
        ///
        /// </summary>
        protected StreamReader m_srTextStream;

        /// <summary>
        /// reads the first line of the file
        /// </summary>
        /// <returns>a list of the fields in the first line of the file</returns>
        public string FirstLineFromFile
        {
            get
            {
                string sFileLine = null;

                closeFile();
                openFile();
                sFileLine = m_srTextStream.ReadLine();
                if (sFileLine != null)
                {
                    m_lPosition += sFileLine.Length + 2;
                }

                return sFileLine;
            }
        }

        /// <summary>
        /// reads the first line of the file
        /// </summary>
        /// <returns>a list of the fields in the first line of the file</returns>
        public string NextLineFromFile
        {
            get
            {
                string sFileLine = null;
                sFileLine = m_srTextStream.ReadLine();
                if (sFileLine != null)
                {
                    m_lPosition += sFileLine.Length + 2;
                }
                return sFileLine;
            }
        }


        /// <summary>
        /// reads in the next line from the file
        /// </summary>
        /// <returns></returns>
        public string Read()
        {
            return NextLineFromFile.Trim();
        }

        /// <summary>
        /// opens the file ready for reading
        /// </summary>
        public void openFile()
        {
            m_srTextStream = new StreamReader(m_sFilepath + m_sFilename);
        }


        /// <summary>
        ///
        /// </summary>
        public void closeFile()
        {
            m_srTextStream.Close();
        }
    }//class()


    /// <summary>
    ///   <name>AsciiFileWriter</name>
    ///   <namespace>uk.org.aspellclark.common</namespace>
    ///   <version>1.0</version>
    ///   <author>Andy Aspell-Clark</author>
    ///   <description>
    ///   </description>
    ///   <history>
    ///     <historyitem>17 Nov 2004  1.0 ARA  Initial Version.</historyitem>
    ///   </history>
    /// </summary>
    public class AsciiFileWriter : AsciiFile
    {
        /// <summary>
        ///
        /// </summary>
        protected StreamWriter m_swTextStream;


        /// <summary>
        /// writes a text line out to the file and appends a newline to the end of it
        /// </summary>
        /// <param name="psLine"></param>
        public void WriteLine (string psLine)
        {
            m_swTextStream.WriteLine(psLine);
        }
        /// <summary>
        /// writes a text line out to the file
        /// </summary>
        /// <param name="psLine"></param>
        public void Write (string psLine)
        {
            m_swTextStream.Write(psLine);
        }


        /// <summary>
        /// opens the file ready for reading
        /// </summary>
        public void openFile()
        {
            m_swTextStream = new StreamWriter(m_sFilepath + m_sFilename);
        }


        /// <summary>
        ///
        /// </summary>
        public void closeFile()
        {
            m_swTextStream.Close();
        }
    }
}//namespace()

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The GNU General Public License (GPLv3)

About the Author

Andy Aspell-Clark
Software Developer (Senior) Airbus Defense and Space
United Kingdom United Kingdom
No Biography provided
Follow on   Twitter   LinkedIn

| Advertise | Privacy | Mobile
Web04 | 2.8.140718.1 | Last Updated 21 Jan 2008
Article Copyright 2007 by Andy Aspell-Clark
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid