| | |
Open Text File And Sort
Please support our C# advertiser: Intel Parallel Studio Home
Thread Solved |
•
•
Join Date: Sep 2007
Posts: 9
Reputation:
Solved Threads: 0
Hi,
I want to open a text file and read the data then sort it via date.
i found some stuff already that helps but im new to this and if anyone point me in the right direction it would be very appreciated.
this sample app here http://www.c-sharpcorner.com/UploadF...mageFiles.aspx
opens the text file exactly how i want it to, i would just like to have the data sorted by date also. And eventually i would like to add color coding to the IP's and 32 digit numbers.
here is a sample of what the text file would look like....
any help is greatly appreciated
I want to open a text file and read the data then sort it via date.
i found some stuff already that helps but im new to this and if anyone point me in the right direction it would be very appreciated.
this sample app here http://www.c-sharpcorner.com/UploadF...mageFiles.aspx
opens the text file exactly how i want it to, i would just like to have the data sorted by date also. And eventually i would like to add color coding to the IP's and 32 digit numbers.
here is a sample of what the text file would look like....
C# Syntax (Toggle Plain Text)
[08.28.2007 00:47:19] PlayerIP: 62.165.245.133 00f55c74a4dd5b5845a9b870edcff175 ServerIP: 202.60.65.6 [08.28.2007 03:02:29] PlayerIP: 62.165.245.133 00f55c74a4dd5b5845a9b870edcff175 ServerIP: 202.60.65.6 [08.28.2007 03:13:04] PlayerIP: 62.165.245.133 00f55c74a4dd5b5845a9b870edcff175 ServerIP: 202.60.65.6 [08.28.2007 06:36:17] PlayerIP: 62.165.245.133 00f55c74a4dd5b5845a9b870edcff175 ServerIP: 202.60.65.6 [08.29.2007 04:11:11] PlayerIP: 62.165.245.133 00f55c74a4dd5b5845a9b870edcff175 ServerIP: 202.60.65.6 [08.29.2007 10:57:30] PlayerIP: 62.165.245.133 00f55c74a4dd5b5845a9b870edcff175 ServerIP: 202.60.65.6 [08.29.2007 13:19:06] PlayerIP: 62.165.245.133 00f55c74a4dd5b5845a9b870edcff175 ServerIP: 195.149.21.127 [08.30.2007 12:45:50] PlayerIP: 62.165.245.133 00f55c74a4dd5b5845a9b870edcff175 ServerIP: 195.149.21.127 [08.31.2007 13:06:59] PlayerIP: 62.165.245.133 00f55c74a4dd5b5845a9b870edcff175 ServerIP: 195.149.21.127 [09.01.2007 12:38:27] PlayerIP: 62.165.245.133 00f55c74a4dd5b5845a9b870edcff175 ServerIP: 195.149.21.127 [09.02.2007 05:58:45] PlayerIP: 62.165.245.133 00f55c74a4dd5b5845a9b870edcff175 ServerIP: 85.25.130.10 [09.02.2007 07:38:52] PlayerIP: 62.165.245.133 00f55c74a4dd5b5845a9b870edcff175 ServerIP: 195.149.21.127 [09.02.2007 11:01:58] PlayerIP: 62.165.245.133 00f55c74a4dd5b5845a9b870edcff175 ServerIP: 195.149.21.127 [09.02.2007 12:44:47] PlayerIP: 62.165.245.133 00f55c74a4dd5b5845a9b870edcff175 ServerIP: 195.149.21.127
any help is greatly appreciated
Last edited by nullified; Sep 13th, 2007 at 12:54 am.
Hi, if every line starts with the date, this should do the trick:
C# Syntax (Toggle Plain Text)
List<string> lines = new List<string>(); using (StreamReader r = new StreamReader(new FileStream(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + @"\data.txt", FileMode.Open))) { string line; while ((line = r.ReadLine()) != null) { lines.Add(line); } } lines.Sort();
•
•
Join Date: Sep 2007
Posts: 9
Reputation:
Solved Threads: 0
where exactly would i add this....im assuming this file somewhere;;;
sorry im very noobish at this....
C# Syntax (Toggle Plain Text)
using System; using System.Drawing; using System.ComponentModel; using System.Windows.Forms; using System.IO; using System.Resources; namespace FileDisplay { //windows_forms inherits from the Form class public class windows_forms : Form //class in System.Windows.Forms { // Container is the class in System.ComponentModel namespace private Container components; //MenuItem is the class in System.Windows.Forms namespace private MenuItem file; private MenuItem openfile; private MenuItem openTextfile; private MenuItem openImagefile; private MenuItem closefile; private MenuItem exit; private MenuItem help; private MenuItem abouthelp; //MainMenu is the class in System.Windows.Forms namespace private MainMenu mainMenu1; //RichTextBox, PictureBox, Panel are the classes in System.Windows.Forms namespace private RichTextBox fileLoadArea; private PictureBox pictureBox1 ; private Panel mainPanel; public windows_forms() //constructor { InitializeComponent(); } private void InitializeComponent() { //initializing the classes this.mainMenu1 = new MainMenu(); this.file = new MenuItem(); this.openfile = new MenuItem(); this.openTextfile = new MenuItem(); this.openImagefile = new MenuItem(); this.closefile = new MenuItem(); this.exit = new MenuItem(); this.help = new MenuItem(); this.abouthelp= new MenuItem(); this.fileLoadArea = new RichTextBox(); this.pictureBox1 = new PictureBox(); this.mainPanel = new Panel(); this.SuspendLayout(); // mainMenu1 this.mainMenu1.MenuItems.AddRange(new MenuItem[] { this.file, this.help }); // file this.file.Index = 0; this.file.MenuItems.AddRange(new MenuItem[] { this.openfile, this.closefile, this.exit }); this.file.Text = "File"; // openfile this.openfile.Index = 0; this.openfile.MenuItems.AddRange(new MenuItem[] { this.openTextfile, this.openImagefile }); this.openfile.Text = "OpenFile"; // openTextfile this.openTextfile.Index = 0; this.openTextfile.Text = "OpenTextFile..."; this.openTextfile.Click += new System.EventHandler(this.onFileOpen); // openImagefile this.openImagefile.Index = 1; this.openImagefile.Text = "&OpenImageFile..."; this.openImagefile.Click += new System.EventHandler(this.onImageOpen); // closefile this.closefile.Index = 1; this.closefile.Text = "CloseFile"; this.closefile.Click += new System.EventHandler(this.onFileClose); // exit this.exit.Index = 2; this.exit.Text = "exit"; this.exit.Click += new System.EventHandler(this.onWindowClose); // help this.help.Index = 1; this.help.MenuItems.AddRange(new MenuItem[] { this.abouthelp }); this.help.Text = "Help"; // abouthelp this.abouthelp.Index = 0; this.abouthelp.Text = "Learning .NET"; // fileLoadArea this.fileLoadArea.Dock = DockStyle.Fill; this.fileLoadArea.Name = "fileLoadArea"; this.fileLoadArea.Size = new Size(600, 400); this.fileLoadArea.Text = ""; // pictureBox1 this.pictureBox1.Location = new Point(32, 40); this.pictureBox1.Name = "pictureBox1"; this.pictureBox1.Size = new Size(600,400); // mainPanel //Control class is in System.Windows.Forms namespace this.mainPanel.Controls.AddRange(new Control[] { this.fileLoadArea, this.pictureBox1 }); this.mainPanel.Dock = DockStyle.Fill; this.mainPanel.Name = "mainPanel"; this.mainPanel.Size = new Size(600, 400); // windows_forms this.ClientSize = new System.Drawing.Size(600, 500); this.Controls.AddRange(new Control[] { this.mainPanel }); this.Menu = this.mainMenu1; this.Name = "windows_forms"; this.Text = "Learning Windows Forms"; mainPanel.Hide(); this.ResumeLayout(); } // Handler for the TextFileOpen command private void onFileOpen (object sender, EventArgs e) { if( pictureBox1 !=null) pictureBox1.Hide(); fileLoadArea.Text =""; mainPanel.Show(); fileLoadArea.Show(); OpenFileDialog openFileDialog1 = new OpenFileDialog(); openFileDialog1.InitialDirectory = "d:\\" ; openFileDialog1.RestoreDirectory = true ; openFileDialog1.Filter = "Text Files (*.txt)|*.txt|Rich Text Format (*.rtf)|*.rtf)|"+ " All Files (*.*)|*.*"; if (openFileDialog1.ShowDialog () == DialogResult.OK) { String fileName = openFileDialog1.FileName; if (fileName.Length != 0) { try { ReadFileInfo(fileName); } catch { MessageBox.Show (String.Format ("{0} is not " + "a valid image file", fileName), "Error", MessageBoxButtons.OK , MessageBoxIcon.Error); } } } } private void ReadFileInfo(String filename) { try { FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read); FileInfo fInfo = new FileInfo(filename); string fext = fInfo.Extension.ToUpper(); if (fext.Equals(".RTF")) fileLoadArea.LoadFile(fs, RichTextBoxStreamType.RichText); else fileLoadArea.LoadFile(fs, RichTextBoxStreamType.PlainText); fs.Close(); } catch(Exception e) { Console.WriteLine("Exception"+e.StackTrace); } } // Handler for the ImageFileOpen command private void onImageOpen (object sender, EventArgs e) { if (fileLoadArea !=null) { fileLoadArea.Hide(); } mainPanel.Show(); OpenFileDialog ofd = new OpenFileDialog (); ofd.Filter = "Image Files (*.bmp)|*.bmp|JPEG Files (*.jpeg)|*.jpeg|"+ " All Files (*.*)|*.*"; if (ofd.ShowDialog () == DialogResult.OK) { String fileName = ofd.FileName; if (fileName.Length != 0) { try { pictureBox1.BackgroundImage = new Bitmap(fileName); pictureBox1.Show(); } catch { MessageBox.Show (String.Format ("{0} is not " + "a valid image file", fileName), "Error", MessageBoxButtons.OK , MessageBoxIcon.Error); } } } } // method to drive the File/Close button private void onFileClose (object sender, System.EventArgs e) { mainPanel.Hide(); } // method to drive the Window/Close button private void onWindowClose (object sender, System.EventArgs e) { // Handler for the Close command Close (); } public static void Main(string[] args) { Application.Run(new windows_forms()); } protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); } } }
sorry im very noobish at this....
Last edited by nullified; Sep 13th, 2007 at 6:52 pm.
I think _r0ckbaer answered you!!
BI Developer | LINKdotNET
B.Sc Computer Science, Helwan University
Technical blog | http://ramymahrous.wordpress.com
LinkedIn | http://www.linkedin.com/in/ramymahrous
B.Sc Computer Science, Helwan University
Technical blog | http://ramymahrous.wordpress.com
LinkedIn | http://www.linkedin.com/in/ramymahrous
>if every line starts with the date
Not entirely sure if that would work all the time, especially seeing as some dates can be written as DD-MM-YYYY or YYYY-MM-DD etc. A cast iron solution would be to convert the date to a date object and use the sort methods associated with that.
Not entirely sure if that would work all the time, especially seeing as some dates can be written as DD-MM-YYYY or YYYY-MM-DD etc. A cast iron solution would be to convert the date to a date object and use the sort methods associated with that.
*Voted best profile in the world*
•
•
Join Date: Sep 2007
Posts: 9
Reputation:
Solved Threads: 0
I am so close its not funny........
ive done what you suggested and when i build the application and try to open a text file it says this is not a valid image.the only message i get in express is;
Field 'FileDisplay.windows_forms.components' is never assigned to, and will always have its default value null
Ill inlcude the code to show you what i have
Thanks again..
ive done what you suggested and when i build the application and try to open a text file it says this is not a valid image.the only message i get in express is;
Field 'FileDisplay.windows_forms.components' is never assigned to, and will always have its default value null
Ill inlcude the code to show you what i have
c# Syntax (Toggle Plain Text)
using System; using System.Drawing; using System.ComponentModel; using System.Windows.Forms; using System.IO; using System.Resources; using System.Collections.Generic; namespace FileDisplay { // create a class to compare lines by date public class LineComparer : IComparer<string> { public int Compare(string s1, string s2) { string dateFormat = "MM.dd.yyyy HH:mm:ss"; DateTime dt1 = DateTime.ParseExact(s1.Substring(1, 19), dateFormat, null); DateTime dt2 = DateTime.ParseExact(s2.Substring(1, 19), dateFormat, null); if (dt1 == dt2) return 0; else if (dt1 < dt2) return -1; else return 1; } } //windows_forms inherits from the Form class public class windows_forms : Form //class in System.Windows.Forms { // Container is the class in System.ComponentModel namespace private Container components; //MenuItem is the class in System.Windows.Forms namespace private MenuItem file; private MenuItem openfile; private MenuItem openTextfile; private MenuItem openImagefile; private MenuItem closefile; private MenuItem exit; private MenuItem help; private MenuItem abouthelp; //MainMenu is the class in System.Windows.Forms namespace private MainMenu mainMenu1; //RichTextBox, PictureBox, Panel are the classes in System.Windows.Forms namespace private RichTextBox fileLoadArea; private PictureBox pictureBox1 ; private Panel mainPanel; public windows_forms() //constructor { InitializeComponent(); } private void InitializeComponent() { //initializing the classes this.mainMenu1 = new MainMenu(); this.file = new MenuItem(); this.openfile = new MenuItem(); this.openTextfile = new MenuItem(); this.openImagefile = new MenuItem(); this.closefile = new MenuItem(); this.exit = new MenuItem(); this.help = new MenuItem(); this.abouthelp= new MenuItem(); this.fileLoadArea = new RichTextBox(); this.pictureBox1 = new PictureBox(); this.mainPanel = new Panel(); this.SuspendLayout(); // mainMenu1 this.mainMenu1.MenuItems.AddRange(new MenuItem[] { this.file, this.help }); // file this.file.Index = 0; this.file.MenuItems.AddRange(new MenuItem[] { this.openfile, this.closefile, this.exit }); this.file.Text = "File"; // openfile this.openfile.Index = 0; this.openfile.MenuItems.AddRange(new MenuItem[] { this.openTextfile, this.openImagefile }); this.openfile.Text = "OpenFile"; // openTextfile this.openTextfile.Index = 0; this.openTextfile.Text = "OpenTextFile..."; this.openTextfile.Click += new System.EventHandler(this.onFileOpen); // openImagefile this.openImagefile.Index = 1; this.openImagefile.Text = "&OpenImageFile..."; this.openImagefile.Click += new System.EventHandler(this.onImageOpen); // closefile this.closefile.Index = 1; this.closefile.Text = "CloseFile"; this.closefile.Click += new System.EventHandler(this.onFileClose); // exit this.exit.Index = 2; this.exit.Text = "exit"; this.exit.Click += new System.EventHandler(this.onWindowClose); // help this.help.Index = 1; this.help.MenuItems.AddRange(new MenuItem[] { this.abouthelp }); this.help.Text = "Help"; // abouthelp this.abouthelp.Index = 0; this.abouthelp.Text = "Learning .NET"; // fileLoadArea this.fileLoadArea.Dock = DockStyle.Fill; this.fileLoadArea.Name = "fileLoadArea"; this.fileLoadArea.Size = new Size(600, 400); this.fileLoadArea.Text = ""; // pictureBox1 this.pictureBox1.Location = new Point(32, 40); this.pictureBox1.Name = "pictureBox1"; this.pictureBox1.Size = new Size(600,400); // mainPanel //Control class is in System.Windows.Forms namespace this.mainPanel.Controls.AddRange(new Control[] { this.fileLoadArea, this.pictureBox1 }); this.mainPanel.Dock = DockStyle.Fill; this.mainPanel.Name = "mainPanel"; this.mainPanel.Size = new Size(600, 400); // windows_forms this.ClientSize = new System.Drawing.Size(600, 500); this.Controls.AddRange(new Control[] { this.mainPanel }); this.Menu = this.mainMenu1; this.Name = "windows_forms"; this.Text = "Learning Windows Forms"; mainPanel.Hide(); this.ResumeLayout(); } // Handler for the TextFileOpen command private void onFileOpen (object sender, EventArgs e) { if( pictureBox1 !=null) pictureBox1.Hide(); fileLoadArea.Text =""; mainPanel.Show(); fileLoadArea.Show(); OpenFileDialog openFileDialog1 = new OpenFileDialog(); openFileDialog1.InitialDirectory = "d:\\" ; openFileDialog1.RestoreDirectory = true ; openFileDialog1.Filter = "Text Files (*.txt)|*.txt|Rich Text Format (*.rtf)|*.rtf)|"+ " All Files (*.*)|*.*"; if (openFileDialog1.ShowDialog () == DialogResult.OK) { String fileName = openFileDialog1.FileName; if (fileName.Length != 0) { try { string[] lines = File.ReadAllLines("fileName"); LineComparer comparer = new LineComparer(); Array.Sort(lines, comparer); //ReadFileInfo(fileName); } catch { MessageBox.Show (String.Format ("{0} is not " + "a valid image file", fileName), "Error", MessageBoxButtons.OK , MessageBoxIcon.Error); } } } } private void ReadFileInfo(String filename) { try { FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read); FileInfo fInfo = new FileInfo(filename); string fext = fInfo.Extension.ToUpper(); if (fext.Equals(".RTF")) fileLoadArea.LoadFile(fs, RichTextBoxStreamType.RichText); else fileLoadArea.LoadFile(fs, RichTextBoxStreamType.PlainText); fs.Close(); } catch(Exception e) { Console.WriteLine("Exception"+e.StackTrace); } } // Handler for the ImageFileOpen command private void onImageOpen (object sender, EventArgs e) { if (fileLoadArea !=null) { fileLoadArea.Hide(); } mainPanel.Show(); OpenFileDialog ofd = new OpenFileDialog (); ofd.Filter = "Image Files (*.bmp)|*.bmp|JPEG Files (*.jpeg)|*.jpeg|"+ " All Files (*.*)|*.*"; if (ofd.ShowDialog () == DialogResult.OK) { String fileName = ofd.FileName; if (fileName.Length != 0) { try { pictureBox1.BackgroundImage = new Bitmap(fileName); pictureBox1.Show(); } catch { MessageBox.Show (String.Format ("{0} is not " + "a valid image file", fileName), "Error", MessageBoxButtons.OK , MessageBoxIcon.Error); } } } } // method to drive the File/Close button private void onFileClose (object sender, System.EventArgs e) { mainPanel.Hide(); } // method to drive the Window/Close button private void onWindowClose (object sender, System.EventArgs e) { // Handler for the Close command Close (); } public static void Main(string[] args) { Application.Run(new windows_forms()); } protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); } } }
Thanks again..
![]() |
Similar Threads
- how can we sort data from text file (C++)
- text file strings help (Visual Basic 4 / 5 / 6)
- Open a text file from another project (VB.NET)
- read from database and writing the contents into a text file (C)
- sorting a text file (C++)
- How to delete a row in text file? (Visual Basic 4 / 5 / 6)
- Help Reading Info in Text File Into an Array (C++)
- How to send text to a text file using j2me through http connection? (Java)
Other Threads in the C# Forum
- Previous Thread: Invalid Cursor Position
- Next Thread: Static use
| Thread Tools | Search this Thread |
.net access algorithm animation array barchart bitmap box broadcast c# check checkbox client code combobox control conversion csharp custom database datagrid datagridview dataset datastructure datetime degrees development directrobot display draganddrop drawing encryption enum excel file form format formbox forms function gdi+ hash image index input install java label list listbox mandelbrot math mouseclick mp3 mysql native networking operator packaging path photoshop picturebox pixelinversion post print process programming radians regex remoting richtextbox safari server sleep snooze socket sql statistics stream string table tables tcp text textbox thread time timer treeview update usercontrol usercontrols validation visualstudio webbrowser wfa windows winforms wpf xml






