Here is the windows form version
using System;
using System.IO;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace SubStationSignage
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btnFileToProcess_Click(object sender, EventArgs e)
{
openFileDialog1.InitialDirectory = "c:\\";
openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
openFileDialog1.FilterIndex = 0;
openFileDialog1.RestoreDirectory = true;
openFileDialog1.FileName = string.Empty;
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
txtFileToProcess.Text = openFileDialog1.FileName;
}
}
private void btnFileToCreate_Click(object sender, EventArgs e)
{
saveFileDialog1.InitialDirectory = "c:\\";
saveFileDialog1.FileName = string.Empty;
saveFileDialog1.DefaultExt = "txt";
saveFileDialog1.Filter = "txt files (*.txt)|*.txt";
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
txtFileToCreate.Text = saveFileDialog1.FileName;
}
}
private void btnBegin_Click(object sender, EventArgs e)
{
if ((txtFileToProcess.Text != string.Empty) && (System.IO.File.Exists(txtFileToProcess.Text)) && (txtFileToCreate.Text != string.Empty))
{
if (System.IO.File.Exists(txtFileToCreate.Text))
{
System.IO.File.Delete(txtFileToCreate.Text);
}
string FullFile;
string flInput = txtFileToProcess.Text;
string flOutput = txtFileToCreate.Text;
StreamWriter sw = new StreamWriter(flOutput);
SortedDictionary<char, int> Dict = new SortedDictionary<char, int>();
using (StreamReader sr = new StreamReader(flInput))
{
FullFile = sr.ReadToEnd();
}
int tempInt;
foreach (char chr in FullFile.ToCharArray())
{
tempInt = (int)chr;
if
(tempInt < 91 && tempInt > 64
||
tempInt < 123 && tempInt > 96
||
tempInt < 58 && tempInt > 31 //47
)
{
if (Dict.ContainsKey(chr))
Dict[chr] = ++Dict[chr];
else
Dict.Add(chr, 1);
}
}
foreach (KeyValuePair<char, int> kvp in Dict)
{
StringBuilder sb = new StringBuilder();
//sb.Append("\n");
sb.Append("Character: ");
sb.Append(kvp.Key.ToString());
sb.Append(" - [ ");
sb.Append(kvp.Value.ToString());
sb.Append(" ]");
sw.WriteLine(sb);
sw.Flush();
}
sw.Close();
}
}
}
}