Commit 55f095ebfdf6510dda5d210e85ac67e3b342e728

Authored by Warunya Wongsawat
1 parent ab21979a
Exists in master

read foxpro write file .csv

Showing 31 changed files with 907 additions and 0 deletions   Show diff stats
FoxPro/FoxPro.sln 0 → 100644
... ... @@ -0,0 +1,22 @@
  1 +
  2 +Microsoft Visual Studio Solution File, Format Version 12.00
  3 +# Visual Studio Express 2013 for Windows Desktop
  4 +VisualStudioVersion = 12.0.31101.0
  5 +MinimumVisualStudioVersion = 10.0.40219.1
  6 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FoxPro", "FoxPro\FoxPro.csproj", "{55A727FB-C833-43F5-A5DF-29EA7FF725EF}"
  7 +EndProject
  8 +Global
  9 + GlobalSection(SolutionConfigurationPlatforms) = preSolution
  10 + Debug|Any CPU = Debug|Any CPU
  11 + Release|Any CPU = Release|Any CPU
  12 + EndGlobalSection
  13 + GlobalSection(ProjectConfigurationPlatforms) = postSolution
  14 + {55A727FB-C833-43F5-A5DF-29EA7FF725EF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
  15 + {55A727FB-C833-43F5-A5DF-29EA7FF725EF}.Debug|Any CPU.Build.0 = Debug|Any CPU
  16 + {55A727FB-C833-43F5-A5DF-29EA7FF725EF}.Release|Any CPU.ActiveCfg = Release|Any CPU
  17 + {55A727FB-C833-43F5-A5DF-29EA7FF725EF}.Release|Any CPU.Build.0 = Release|Any CPU
  18 + EndGlobalSection
  19 + GlobalSection(SolutionProperties) = preSolution
  20 + HideSolutionNode = FALSE
  21 + EndGlobalSection
  22 +EndGlobal
... ...
FoxPro/FoxPro.v12.suo 0 → 100644
No preview for this file type
FoxPro/FoxPro/App.config 0 → 100644
... ... @@ -0,0 +1,6 @@
  1 +<?xml version="1.0" encoding="utf-8" ?>
  2 +<configuration>
  3 + <startup>
  4 + <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  5 + </startup>
  6 +</configuration>
0 7 \ No newline at end of file
... ...
FoxPro/FoxPro/Form1.Designer.cs 0 → 100644
... ... @@ -0,0 +1,164 @@
  1 +namespace FoxPro
  2 +{
  3 + partial class Form1
  4 + {
  5 + /// <summary>
  6 + /// Required designer variable.
  7 + /// </summary>
  8 + private System.ComponentModel.IContainer components = null;
  9 +
  10 + /// <summary>
  11 + /// Clean up any resources being used.
  12 + /// </summary>
  13 + /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
  14 + protected override void Dispose(bool disposing)
  15 + {
  16 + if (disposing && (components != null))
  17 + {
  18 + components.Dispose();
  19 + }
  20 + base.Dispose(disposing);
  21 + }
  22 +
  23 + #region Windows Form Designer generated code
  24 +
  25 + /// <summary>
  26 + /// Required method for Designer support - do not modify
  27 + /// the contents of this method with the code editor.
  28 + /// </summary>
  29 + private void InitializeComponent()
  30 + {
  31 + this.btnRead = new System.Windows.Forms.Button();
  32 + this.textBox1 = new System.Windows.Forms.TextBox();
  33 + this.btnExecute = new System.Windows.Forms.Button();
  34 + this.listBox1 = new System.Windows.Forms.ListBox();
  35 + this.listBox2 = new System.Windows.Forms.ListBox();
  36 + this.textBox2 = new System.Windows.Forms.TextBox();
  37 + this.label1 = new System.Windows.Forms.Label();
  38 + this.label2 = new System.Windows.Forms.Label();
  39 + this.btnWrite = new System.Windows.Forms.Button();
  40 + this.SuspendLayout();
  41 + //
  42 + // btnRead
  43 + //
  44 + this.btnRead.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
  45 + this.btnRead.Location = new System.Drawing.Point(490, 39);
  46 + this.btnRead.Name = "btnRead";
  47 + this.btnRead.Size = new System.Drawing.Size(75, 23);
  48 + this.btnRead.TabIndex = 0;
  49 + this.btnRead.Text = "Browse";
  50 + this.btnRead.UseVisualStyleBackColor = true;
  51 + this.btnRead.Click += new System.EventHandler(this.button1_Click);
  52 + //
  53 + // textBox1
  54 + //
  55 + this.textBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
  56 + | System.Windows.Forms.AnchorStyles.Left)
  57 + | System.Windows.Forms.AnchorStyles.Right)));
  58 + this.textBox1.Location = new System.Drawing.Point(91, 41);
  59 + this.textBox1.Name = "textBox1";
  60 + this.textBox1.Size = new System.Drawing.Size(393, 20);
  61 + this.textBox1.TabIndex = 1;
  62 + //
  63 + // btnExecute
  64 + //
  65 + this.btnExecute.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
  66 + this.btnExecute.Location = new System.Drawing.Point(579, 100);
  67 + this.btnExecute.Name = "btnExecute";
  68 + this.btnExecute.Size = new System.Drawing.Size(85, 39);
  69 + this.btnExecute.TabIndex = 2;
  70 + this.btnExecute.Text = "Execute";
  71 + this.btnExecute.UseVisualStyleBackColor = true;
  72 + this.btnExecute.Click += new System.EventHandler(this.button2_Click);
  73 + //
  74 + // listBox1
  75 + //
  76 + this.listBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
  77 + | System.Windows.Forms.AnchorStyles.Left)
  78 + | System.Windows.Forms.AnchorStyles.Right)));
  79 + this.listBox1.FormattingEnabled = true;
  80 + this.listBox1.Location = new System.Drawing.Point(12, 145);
  81 + this.listBox1.Name = "listBox1";
  82 + this.listBox1.Size = new System.Drawing.Size(652, 199);
  83 + this.listBox1.TabIndex = 3;
  84 + //
  85 + // listBox2
  86 + //
  87 + this.listBox2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
  88 + | System.Windows.Forms.AnchorStyles.Right)));
  89 + this.listBox2.FormattingEnabled = true;
  90 + this.listBox2.Location = new System.Drawing.Point(12, 356);
  91 + this.listBox2.Name = "listBox2";
  92 + this.listBox2.Size = new System.Drawing.Size(652, 134);
  93 + this.listBox2.TabIndex = 4;
  94 + //
  95 + // textBox2
  96 + //
  97 + this.textBox2.Location = new System.Drawing.Point(91, 102);
  98 + this.textBox2.Name = "textBox2";
  99 + this.textBox2.Size = new System.Drawing.Size(393, 20);
  100 + this.textBox2.TabIndex = 5;
  101 + //
  102 + // label1
  103 + //
  104 + this.label1.AutoSize = true;
  105 + this.label1.Location = new System.Drawing.Point(27, 45);
  106 + this.label1.Name = "label1";
  107 + this.label1.Size = new System.Drawing.Size(58, 13);
  108 + this.label1.TabIndex = 6;
  109 + this.label1.Text = "Path Read";
  110 + //
  111 + // label2
  112 + //
  113 + this.label2.AutoSize = true;
  114 + this.label2.Location = new System.Drawing.Point(27, 105);
  115 + this.label2.Name = "label2";
  116 + this.label2.Size = new System.Drawing.Size(57, 13);
  117 + this.label2.TabIndex = 7;
  118 + this.label2.Text = "Path Write";
  119 + //
  120 + // btnWrite
  121 + //
  122 + this.btnWrite.Location = new System.Drawing.Point(490, 100);
  123 + this.btnWrite.Name = "btnWrite";
  124 + this.btnWrite.Size = new System.Drawing.Size(75, 23);
  125 + this.btnWrite.TabIndex = 8;
  126 + this.btnWrite.Text = "Browse";
  127 + this.btnWrite.UseVisualStyleBackColor = true;
  128 + this.btnWrite.Click += new System.EventHandler(this.btnWrite_Click);
  129 + //
  130 + // Form1
  131 + //
  132 + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
  133 + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
  134 + this.ClientSize = new System.Drawing.Size(676, 517);
  135 + this.Controls.Add(this.btnWrite);
  136 + this.Controls.Add(this.label2);
  137 + this.Controls.Add(this.label1);
  138 + this.Controls.Add(this.textBox2);
  139 + this.Controls.Add(this.listBox2);
  140 + this.Controls.Add(this.listBox1);
  141 + this.Controls.Add(this.btnExecute);
  142 + this.Controls.Add(this.textBox1);
  143 + this.Controls.Add(this.btnRead);
  144 + this.Name = "Form1";
  145 + this.Text = "Form1";
  146 + this.ResumeLayout(false);
  147 + this.PerformLayout();
  148 +
  149 + }
  150 +
  151 + #endregion
  152 +
  153 + private System.Windows.Forms.Button btnRead;
  154 + private System.Windows.Forms.TextBox textBox1;
  155 + private System.Windows.Forms.Button btnExecute;
  156 + private System.Windows.Forms.ListBox listBox1;
  157 + private System.Windows.Forms.ListBox listBox2;
  158 + private System.Windows.Forms.TextBox textBox2;
  159 + private System.Windows.Forms.Label label1;
  160 + private System.Windows.Forms.Label label2;
  161 + private System.Windows.Forms.Button btnWrite;
  162 + }
  163 +}
  164 +
... ...
FoxPro/FoxPro/Form1.cs 0 → 100644
... ... @@ -0,0 +1,189 @@
  1 +using System;
  2 +using System.Collections.Generic;
  3 +using System.ComponentModel;
  4 +using System.Data;
  5 +using System.Data.OleDb;
  6 +using System.Data.SqlClient;
  7 +using System.Drawing;
  8 +using System.IO;
  9 +using System.Linq;
  10 +using System.Text;
  11 +using System.Threading.Tasks;
  12 +using System.Windows.Forms;
  13 +
  14 +namespace FoxPro
  15 +{
  16 + public partial class Form1 : Form
  17 + {
  18 + string pathRead ;
  19 + string pathWrite ;
  20 + List<string> list = new List<string>();
  21 + public Form1()
  22 + {
  23 + InitializeComponent();
  24 + }
  25 +
  26 + private void button1_Click(object sender, EventArgs e)
  27 + {
  28 + // get Path Read
  29 + listBox1.Items.Clear() ;
  30 + string folderPath;
  31 + FolderBrowserDialog folderBrowserDialog1 = new FolderBrowserDialog();
  32 + if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
  33 + {
  34 + folderPath = folderBrowserDialog1.SelectedPath;
  35 + textBox1.Text = folderPath;
  36 + }
  37 + }
  38 + // get Path Write
  39 + private void btnWrite_Click(object sender, EventArgs e)
  40 + {
  41 + listBox2.Items.Clear();
  42 + string folderPath;
  43 + FolderBrowserDialog folderBrowserDialog1 = new FolderBrowserDialog();
  44 + if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
  45 + {
  46 + folderPath = folderBrowserDialog1.SelectedPath;
  47 + textBox2.Text = folderPath;
  48 + }
  49 + }
  50 +
  51 + private void button2_Click(object sender, EventArgs e)
  52 + {
  53 + pathRead = textBox1.Text;
  54 + pathWrite = textBox2.Text;
  55 + string[] nameDir = pathRead.Split(new[] { "\\" }, StringSplitOptions.None);
  56 + int l = nameDir.Length;
  57 + createDir(pathWrite + "\\" + nameDir[l-1]);
  58 + // GetFiles dbf of filePaths
  59 + string[] filePaths = Directory.GetFiles(pathRead, "*.dbf", SearchOption.AllDirectories);
  60 + foreach (string file in filePaths)
  61 + {
  62 + WriteLog(file);
  63 + string path = file.Replace(pathRead,"");
  64 + string[] name = path.Split(new[] { "\\" }, StringSplitOptions.None);
  65 + int length = name.Length;
  66 + path = path.Replace(name[length - 1], "");
  67 + // create path for write file
  68 + createDir(pathWrite + "\\" + nameDir[l - 1] + path);
  69 + // get data of file DBF
  70 + GetData(file, name[length - 1], pathWrite + "\\" + nameDir[l - 1] + path);
  71 + }
  72 + }
  73 +
  74 +
  75 +
  76 +
  77 +
  78 + // สร้าง Directory
  79 + public void createDir(string pathWrite)
  80 + {
  81 + try
  82 + {
  83 + // Determine whether the directory exists.
  84 + if (Directory.Exists(pathWrite))
  85 + {
  86 + return;
  87 + }
  88 + // Try to create the directory.
  89 + DirectoryInfo di = Directory.CreateDirectory(pathWrite);
  90 + WriteLog("The directory was created successfully");
  91 + }
  92 + catch (Exception e)
  93 + {
  94 + WriteLog("The process failed: " + e.ToString());
  95 + }
  96 + finally { }
  97 + }
  98 +
  99 + // ดึงข้อมูลใน DBF
  100 + public void GetData(string path, string fileName, string pathWrite)
  101 + {
  102 + try
  103 + {
  104 + WriteLog("GetData : " + fileName);
  105 + DataTable data = new DataTable();
  106 + OleDbConnection yourConnectionHandler = new OleDbConnection(
  107 + @"Provider=VFPOLEDB.1;Data Source=" + path + "; Persist Security Info=False;");
  108 + string[] table = fileName.Split(new string[] { ".dbf", ".DBF" }, StringSplitOptions.RemoveEmptyEntries);
  109 +
  110 + //Open the connection, and if open successfully, you can try to query it
  111 + yourConnectionHandler.Open();
  112 +
  113 + if (yourConnectionHandler.State == ConnectionState.Open)
  114 + {
  115 + string mySQL = "select * from " + table[0]; // dbf table name
  116 +
  117 + OleDbCommand MyQuery = new OleDbCommand(mySQL, yourConnectionHandler);
  118 + OleDbDataAdapter DA = new OleDbDataAdapter(MyQuery);
  119 +
  120 + DA.Fill(data);
  121 + yourConnectionHandler.Close();
  122 + }
  123 + // write data to flie text
  124 + WriteTable(data, pathWrite, table[0]);
  125 + }
  126 + catch (System.Data.OleDb.OleDbException lolex)
  127 + {
  128 + list.Add(path);
  129 + listBox2.Items.Add(path + "\n");
  130 + WriteLog("###" + lolex.ToString());
  131 + }
  132 + catch (Exception ex)
  133 + {
  134 + list.Add(path);
  135 + listBox2.Items.Add(path + "\n");
  136 + WriteLog("###" + ex.ToString());
  137 + }
  138 + }
  139 +
  140 + // เขียนไฟล์ .txt
  141 + private void WriteTable(DataTable table, string pathWrite, string name)
  142 + {
  143 + bool r = true;
  144 + string lines = "";
  145 + string text = "";
  146 + // Write the string to file text
  147 + StreamWriter file = new StreamWriter(pathWrite + "\\" + name + ".csv", false, Encoding.UTF8);
  148 + WriteLog("Writer : " + pathWrite + "\\" + name + ".csv");
  149 +
  150 + // get Columns name
  151 + foreach (DataColumn col in table.Columns)
  152 + {
  153 + if (!r) lines += ", ";
  154 + lines += col.ToString().Trim();
  155 + r = false;
  156 + }
  157 + file.WriteLine(lines);
  158 + lines = "";
  159 +
  160 + // get data row
  161 + foreach (DataRow row in table.Rows)
  162 + {
  163 + bool firstCol = true;
  164 + foreach (DataColumn col in table.Columns)
  165 + {
  166 + if (!firstCol) text += ", ";
  167 + text += row[col].ToString().Trim();
  168 + firstCol = false;
  169 + }
  170 + file.WriteLine(text);
  171 + text = "";
  172 + }
  173 + file.Close();
  174 + WriteLog("Writer " + name + ".csv Complete");
  175 + }
  176 +
  177 + // WriteLog
  178 + public void WriteLog(string log)
  179 + {
  180 + string timeStamp = DateTime.Now.ToString();
  181 + string writeLog = timeStamp + " : [ " + log + " ]";
  182 + listBox1.Items.Add(writeLog + "\n");
  183 + }
  184 +
  185 +
  186 +
  187 +
  188 + }
  189 +}
... ...
FoxPro/FoxPro/Form1.resx 0 → 100644
... ... @@ -0,0 +1,120 @@
  1 +<?xml version="1.0" encoding="utf-8"?>
  2 +<root>
  3 + <!--
  4 + Microsoft ResX Schema
  5 +
  6 + Version 2.0
  7 +
  8 + The primary goals of this format is to allow a simple XML format
  9 + that is mostly human readable. The generation and parsing of the
  10 + various data types are done through the TypeConverter classes
  11 + associated with the data types.
  12 +
  13 + Example:
  14 +
  15 + ... ado.net/XML headers & schema ...
  16 + <resheader name="resmimetype">text/microsoft-resx</resheader>
  17 + <resheader name="version">2.0</resheader>
  18 + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
  19 + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
  20 + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
  21 + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
  22 + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
  23 + <value>[base64 mime encoded serialized .NET Framework object]</value>
  24 + </data>
  25 + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
  26 + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
  27 + <comment>This is a comment</comment>
  28 + </data>
  29 +
  30 + There are any number of "resheader" rows that contain simple
  31 + name/value pairs.
  32 +
  33 + Each data row contains a name, and value. The row also contains a
  34 + type or mimetype. Type corresponds to a .NET class that support
  35 + text/value conversion through the TypeConverter architecture.
  36 + Classes that don't support this are serialized and stored with the
  37 + mimetype set.
  38 +
  39 + The mimetype is used for serialized objects, and tells the
  40 + ResXResourceReader how to depersist the object. This is currently not
  41 + extensible. For a given mimetype the value must be set accordingly:
  42 +
  43 + Note - application/x-microsoft.net.object.binary.base64 is the format
  44 + that the ResXResourceWriter will generate, however the reader can
  45 + read any of the formats listed below.
  46 +
  47 + mimetype: application/x-microsoft.net.object.binary.base64
  48 + value : The object must be serialized with
  49 + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
  50 + : and then encoded with base64 encoding.
  51 +
  52 + mimetype: application/x-microsoft.net.object.soap.base64
  53 + value : The object must be serialized with
  54 + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
  55 + : and then encoded with base64 encoding.
  56 +
  57 + mimetype: application/x-microsoft.net.object.bytearray.base64
  58 + value : The object must be serialized into a byte array
  59 + : using a System.ComponentModel.TypeConverter
  60 + : and then encoded with base64 encoding.
  61 + -->
  62 + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
  63 + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
  64 + <xsd:element name="root" msdata:IsDataSet="true">
  65 + <xsd:complexType>
  66 + <xsd:choice maxOccurs="unbounded">
  67 + <xsd:element name="metadata">
  68 + <xsd:complexType>
  69 + <xsd:sequence>
  70 + <xsd:element name="value" type="xsd:string" minOccurs="0" />
  71 + </xsd:sequence>
  72 + <xsd:attribute name="name" use="required" type="xsd:string" />
  73 + <xsd:attribute name="type" type="xsd:string" />
  74 + <xsd:attribute name="mimetype" type="xsd:string" />
  75 + <xsd:attribute ref="xml:space" />
  76 + </xsd:complexType>
  77 + </xsd:element>
  78 + <xsd:element name="assembly">
  79 + <xsd:complexType>
  80 + <xsd:attribute name="alias" type="xsd:string" />
  81 + <xsd:attribute name="name" type="xsd:string" />
  82 + </xsd:complexType>
  83 + </xsd:element>
  84 + <xsd:element name="data">
  85 + <xsd:complexType>
  86 + <xsd:sequence>
  87 + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
  88 + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
  89 + </xsd:sequence>
  90 + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
  91 + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
  92 + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
  93 + <xsd:attribute ref="xml:space" />
  94 + </xsd:complexType>
  95 + </xsd:element>
  96 + <xsd:element name="resheader">
  97 + <xsd:complexType>
  98 + <xsd:sequence>
  99 + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
  100 + </xsd:sequence>
  101 + <xsd:attribute name="name" type="xsd:string" use="required" />
  102 + </xsd:complexType>
  103 + </xsd:element>
  104 + </xsd:choice>
  105 + </xsd:complexType>
  106 + </xsd:element>
  107 + </xsd:schema>
  108 + <resheader name="resmimetype">
  109 + <value>text/microsoft-resx</value>
  110 + </resheader>
  111 + <resheader name="version">
  112 + <value>2.0</value>
  113 + </resheader>
  114 + <resheader name="reader">
  115 + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  116 + </resheader>
  117 + <resheader name="writer">
  118 + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  119 + </resheader>
  120 +</root>
0 121 \ No newline at end of file
... ...
FoxPro/FoxPro/FoxPro.csproj 0 → 100644
... ... @@ -0,0 +1,91 @@
  1 +<?xml version="1.0" encoding="utf-8"?>
  2 +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  3 + <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
  4 + <PropertyGroup>
  5 + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
  6 + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
  7 + <ProjectGuid>{55A727FB-C833-43F5-A5DF-29EA7FF725EF}</ProjectGuid>
  8 + <OutputType>WinExe</OutputType>
  9 + <AppDesignerFolder>Properties</AppDesignerFolder>
  10 + <RootNamespace>FoxPro</RootNamespace>
  11 + <AssemblyName>FoxPro</AssemblyName>
  12 + <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
  13 + <FileAlignment>512</FileAlignment>
  14 + </PropertyGroup>
  15 + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
  16 + <PlatformTarget>AnyCPU</PlatformTarget>
  17 + <DebugSymbols>true</DebugSymbols>
  18 + <DebugType>full</DebugType>
  19 + <Optimize>false</Optimize>
  20 + <OutputPath>bin\Debug\</OutputPath>
  21 + <DefineConstants>DEBUG;TRACE</DefineConstants>
  22 + <ErrorReport>prompt</ErrorReport>
  23 + <WarningLevel>4</WarningLevel>
  24 + </PropertyGroup>
  25 + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
  26 + <PlatformTarget>AnyCPU</PlatformTarget>
  27 + <DebugType>pdbonly</DebugType>
  28 + <Optimize>true</Optimize>
  29 + <OutputPath>bin\Release\</OutputPath>
  30 + <DefineConstants>TRACE</DefineConstants>
  31 + <ErrorReport>prompt</ErrorReport>
  32 + <WarningLevel>4</WarningLevel>
  33 + </PropertyGroup>
  34 + <ItemGroup>
  35 + <Reference Include="System" />
  36 + <Reference Include="System.Core" />
  37 + <Reference Include="System.Xml.Linq" />
  38 + <Reference Include="System.Data.DataSetExtensions" />
  39 + <Reference Include="Microsoft.CSharp" />
  40 + <Reference Include="System.Data" />
  41 + <Reference Include="System.Deployment" />
  42 + <Reference Include="System.Drawing" />
  43 + <Reference Include="System.Windows.Forms" />
  44 + <Reference Include="System.Xml" />
  45 + </ItemGroup>
  46 + <ItemGroup>
  47 + <Compile Include="Form1.cs">
  48 + <SubType>Form</SubType>
  49 + </Compile>
  50 + <Compile Include="Form1.Designer.cs">
  51 + <DependentUpon>Form1.cs</DependentUpon>
  52 + </Compile>
  53 + <Compile Include="Program.cs" />
  54 + <Compile Include="Properties\AssemblyInfo.cs" />
  55 + <EmbeddedResource Include="Form1.resx">
  56 + <DependentUpon>Form1.cs</DependentUpon>
  57 + </EmbeddedResource>
  58 + <EmbeddedResource Include="Properties\Resources.resx">
  59 + <Generator>ResXFileCodeGenerator</Generator>
  60 + <LastGenOutput>Resources.Designer.cs</LastGenOutput>
  61 + <SubType>Designer</SubType>
  62 + </EmbeddedResource>
  63 + <Compile Include="Properties\Resources.Designer.cs">
  64 + <AutoGen>True</AutoGen>
  65 + <DependentUpon>Resources.resx</DependentUpon>
  66 + </Compile>
  67 + <None Include="Properties\Settings.settings">
  68 + <Generator>SettingsSingleFileGenerator</Generator>
  69 + <LastGenOutput>Settings.Designer.cs</LastGenOutput>
  70 + </None>
  71 + <Compile Include="Properties\Settings.Designer.cs">
  72 + <AutoGen>True</AutoGen>
  73 + <DependentUpon>Settings.settings</DependentUpon>
  74 + <DesignTimeSharedInput>True</DesignTimeSharedInput>
  75 + </Compile>
  76 + </ItemGroup>
  77 + <ItemGroup>
  78 + <None Include="App.config" />
  79 + </ItemGroup>
  80 + <ItemGroup>
  81 + <WCFMetadata Include="Service References\" />
  82 + </ItemGroup>
  83 + <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
  84 + <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
  85 + Other similar extension points exist, see Microsoft.Common.targets.
  86 + <Target Name="BeforeBuild">
  87 + </Target>
  88 + <Target Name="AfterBuild">
  89 + </Target>
  90 + -->
  91 +</Project>
0 92 \ No newline at end of file
... ...
FoxPro/FoxPro/Program.cs 0 → 100644
... ... @@ -0,0 +1,22 @@
  1 +using System;
  2 +using System.Collections.Generic;
  3 +using System.Linq;
  4 +using System.Threading.Tasks;
  5 +using System.Windows.Forms;
  6 +
  7 +namespace FoxPro
  8 +{
  9 + static class Program
  10 + {
  11 + /// <summary>
  12 + /// The main entry point for the application.
  13 + /// </summary>
  14 + [STAThread]
  15 + static void Main()
  16 + {
  17 + Application.EnableVisualStyles();
  18 + Application.SetCompatibleTextRenderingDefault(false);
  19 + Application.Run(new Form1());
  20 + }
  21 + }
  22 +}
... ...
FoxPro/FoxPro/Properties/AssemblyInfo.cs 0 → 100644
... ... @@ -0,0 +1,36 @@
  1 +using System.Reflection;
  2 +using System.Runtime.CompilerServices;
  3 +using System.Runtime.InteropServices;
  4 +
  5 +// General Information about an assembly is controlled through the following
  6 +// set of attributes. Change these attribute values to modify the information
  7 +// associated with an assembly.
  8 +[assembly: AssemblyTitle("FoxPro")]
  9 +[assembly: AssemblyDescription("")]
  10 +[assembly: AssemblyConfiguration("")]
  11 +[assembly: AssemblyCompany("")]
  12 +[assembly: AssemblyProduct("FoxPro")]
  13 +[assembly: AssemblyCopyright("Copyright © 2016")]
  14 +[assembly: AssemblyTrademark("")]
  15 +[assembly: AssemblyCulture("")]
  16 +
  17 +// Setting ComVisible to false makes the types in this assembly not visible
  18 +// to COM components. If you need to access a type in this assembly from
  19 +// COM, set the ComVisible attribute to true on that type.
  20 +[assembly: ComVisible(false)]
  21 +
  22 +// The following GUID is for the ID of the typelib if this project is exposed to COM
  23 +[assembly: Guid("3ff8c4ef-8e3a-498a-9638-8656ea71516e")]
  24 +
  25 +// Version information for an assembly consists of the following four values:
  26 +//
  27 +// Major Version
  28 +// Minor Version
  29 +// Build Number
  30 +// Revision
  31 +//
  32 +// You can specify all the values or you can default the Build and Revision Numbers
  33 +// by using the '*' as shown below:
  34 +// [assembly: AssemblyVersion("1.0.*")]
  35 +[assembly: AssemblyVersion("1.0.0.0")]
  36 +[assembly: AssemblyFileVersion("1.0.0.0")]
... ...
FoxPro/FoxPro/Properties/Resources.Designer.cs 0 → 100644
... ... @@ -0,0 +1,71 @@
  1 +//------------------------------------------------------------------------------
  2 +// <auto-generated>
  3 +// This code was generated by a tool.
  4 +// Runtime Version:4.0.30319.42000
  5 +//
  6 +// Changes to this file may cause incorrect behavior and will be lost if
  7 +// the code is regenerated.
  8 +// </auto-generated>
  9 +//------------------------------------------------------------------------------
  10 +
  11 +namespace FoxPro.Properties
  12 +{
  13 +
  14 +
  15 + /// <summary>
  16 + /// A strongly-typed resource class, for looking up localized strings, etc.
  17 + /// </summary>
  18 + // This class was auto-generated by the StronglyTypedResourceBuilder
  19 + // class via a tool like ResGen or Visual Studio.
  20 + // To add or remove a member, edit your .ResX file then rerun ResGen
  21 + // with the /str option, or rebuild your VS project.
  22 + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
  23 + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
  24 + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
  25 + internal class Resources
  26 + {
  27 +
  28 + private static global::System.Resources.ResourceManager resourceMan;
  29 +
  30 + private static global::System.Globalization.CultureInfo resourceCulture;
  31 +
  32 + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
  33 + internal Resources()
  34 + {
  35 + }
  36 +
  37 + /// <summary>
  38 + /// Returns the cached ResourceManager instance used by this class.
  39 + /// </summary>
  40 + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
  41 + internal static global::System.Resources.ResourceManager ResourceManager
  42 + {
  43 + get
  44 + {
  45 + if ((resourceMan == null))
  46 + {
  47 + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("FoxPro.Properties.Resources", typeof(Resources).Assembly);
  48 + resourceMan = temp;
  49 + }
  50 + return resourceMan;
  51 + }
  52 + }
  53 +
  54 + /// <summary>
  55 + /// Overrides the current thread's CurrentUICulture property for all
  56 + /// resource lookups using this strongly typed resource class.
  57 + /// </summary>
  58 + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
  59 + internal static global::System.Globalization.CultureInfo Culture
  60 + {
  61 + get
  62 + {
  63 + return resourceCulture;
  64 + }
  65 + set
  66 + {
  67 + resourceCulture = value;
  68 + }
  69 + }
  70 + }
  71 +}
... ...
FoxPro/FoxPro/Properties/Resources.resx 0 → 100644
... ... @@ -0,0 +1,117 @@
  1 +<?xml version="1.0" encoding="utf-8"?>
  2 +<root>
  3 + <!--
  4 + Microsoft ResX Schema
  5 +
  6 + Version 2.0
  7 +
  8 + The primary goals of this format is to allow a simple XML format
  9 + that is mostly human readable. The generation and parsing of the
  10 + various data types are done through the TypeConverter classes
  11 + associated with the data types.
  12 +
  13 + Example:
  14 +
  15 + ... ado.net/XML headers & schema ...
  16 + <resheader name="resmimetype">text/microsoft-resx</resheader>
  17 + <resheader name="version">2.0</resheader>
  18 + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
  19 + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
  20 + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
  21 + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
  22 + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
  23 + <value>[base64 mime encoded serialized .NET Framework object]</value>
  24 + </data>
  25 + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
  26 + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
  27 + <comment>This is a comment</comment>
  28 + </data>
  29 +
  30 + There are any number of "resheader" rows that contain simple
  31 + name/value pairs.
  32 +
  33 + Each data row contains a name, and value. The row also contains a
  34 + type or mimetype. Type corresponds to a .NET class that support
  35 + text/value conversion through the TypeConverter architecture.
  36 + Classes that don't support this are serialized and stored with the
  37 + mimetype set.
  38 +
  39 + The mimetype is used for serialized objects, and tells the
  40 + ResXResourceReader how to depersist the object. This is currently not
  41 + extensible. For a given mimetype the value must be set accordingly:
  42 +
  43 + Note - application/x-microsoft.net.object.binary.base64 is the format
  44 + that the ResXResourceWriter will generate, however the reader can
  45 + read any of the formats listed below.
  46 +
  47 + mimetype: application/x-microsoft.net.object.binary.base64
  48 + value : The object must be serialized with
  49 + : System.Serialization.Formatters.Binary.BinaryFormatter
  50 + : and then encoded with base64 encoding.
  51 +
  52 + mimetype: application/x-microsoft.net.object.soap.base64
  53 + value : The object must be serialized with
  54 + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
  55 + : and then encoded with base64 encoding.
  56 +
  57 + mimetype: application/x-microsoft.net.object.bytearray.base64
  58 + value : The object must be serialized into a byte array
  59 + : using a System.ComponentModel.TypeConverter
  60 + : and then encoded with base64 encoding.
  61 + -->
  62 + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
  63 + <xsd:element name="root" msdata:IsDataSet="true">
  64 + <xsd:complexType>
  65 + <xsd:choice maxOccurs="unbounded">
  66 + <xsd:element name="metadata">
  67 + <xsd:complexType>
  68 + <xsd:sequence>
  69 + <xsd:element name="value" type="xsd:string" minOccurs="0" />
  70 + </xsd:sequence>
  71 + <xsd:attribute name="name" type="xsd:string" />
  72 + <xsd:attribute name="type" type="xsd:string" />
  73 + <xsd:attribute name="mimetype" type="xsd:string" />
  74 + </xsd:complexType>
  75 + </xsd:element>
  76 + <xsd:element name="assembly">
  77 + <xsd:complexType>
  78 + <xsd:attribute name="alias" type="xsd:string" />
  79 + <xsd:attribute name="name" type="xsd:string" />
  80 + </xsd:complexType>
  81 + </xsd:element>
  82 + <xsd:element name="data">
  83 + <xsd:complexType>
  84 + <xsd:sequence>
  85 + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
  86 + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
  87 + </xsd:sequence>
  88 + <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
  89 + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
  90 + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
  91 + </xsd:complexType>
  92 + </xsd:element>
  93 + <xsd:element name="resheader">
  94 + <xsd:complexType>
  95 + <xsd:sequence>
  96 + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
  97 + </xsd:sequence>
  98 + <xsd:attribute name="name" type="xsd:string" use="required" />
  99 + </xsd:complexType>
  100 + </xsd:element>
  101 + </xsd:choice>
  102 + </xsd:complexType>
  103 + </xsd:element>
  104 + </xsd:schema>
  105 + <resheader name="resmimetype">
  106 + <value>text/microsoft-resx</value>
  107 + </resheader>
  108 + <resheader name="version">
  109 + <value>2.0</value>
  110 + </resheader>
  111 + <resheader name="reader">
  112 + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  113 + </resheader>
  114 + <resheader name="writer">
  115 + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  116 + </resheader>
  117 +</root>
0 118 \ No newline at end of file
... ...
FoxPro/FoxPro/Properties/Settings.Designer.cs 0 → 100644
... ... @@ -0,0 +1,30 @@
  1 +//------------------------------------------------------------------------------
  2 +// <auto-generated>
  3 +// This code was generated by a tool.
  4 +// Runtime Version:4.0.30319.42000
  5 +//
  6 +// Changes to this file may cause incorrect behavior and will be lost if
  7 +// the code is regenerated.
  8 +// </auto-generated>
  9 +//------------------------------------------------------------------------------
  10 +
  11 +namespace FoxPro.Properties
  12 +{
  13 +
  14 +
  15 + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
  16 + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
  17 + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
  18 + {
  19 +
  20 + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
  21 +
  22 + public static Settings Default
  23 + {
  24 + get
  25 + {
  26 + return defaultInstance;
  27 + }
  28 + }
  29 + }
  30 +}
... ...
FoxPro/FoxPro/Properties/Settings.settings 0 → 100644
... ... @@ -0,0 +1,7 @@
  1 +<?xml version='1.0' encoding='utf-8'?>
  2 +<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
  3 + <Profiles>
  4 + <Profile Name="(Default)" />
  5 + </Profiles>
  6 + <Settings />
  7 +</SettingsFile>
... ...
FoxPro/FoxPro/bin/Debug/FoxPro.exe 0 → 100644
No preview for this file type
FoxPro/FoxPro/bin/Debug/FoxPro.exe.config 0 → 100644
... ... @@ -0,0 +1,6 @@
  1 +<?xml version="1.0" encoding="utf-8" ?>
  2 +<configuration>
  3 + <startup>
  4 + <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  5 + </startup>
  6 +</configuration>
0 7 \ No newline at end of file
... ...
FoxPro/FoxPro/bin/Debug/FoxPro.pdb 0 → 100644
No preview for this file type
FoxPro/FoxPro/bin/Debug/FoxPro.vshost.exe 0 → 100644
No preview for this file type
FoxPro/FoxPro/bin/Debug/FoxPro.vshost.exe.config 0 → 100644
... ... @@ -0,0 +1,6 @@
  1 +<?xml version="1.0" encoding="utf-8" ?>
  2 +<configuration>
  3 + <startup>
  4 + <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  5 + </startup>
  6 +</configuration>
0 7 \ No newline at end of file
... ...
FoxPro/FoxPro/bin/Debug/FoxPro.vshost.exe.manifest 0 → 100644
... ... @@ -0,0 +1,11 @@
  1 +<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  2 +<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  3 + <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
  4 + <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
  5 + <security>
  6 + <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
  7 + <requestedExecutionLevel level="asInvoker" uiAccess="false"/>
  8 + </requestedPrivileges>
  9 + </security>
  10 + </trustInfo>
  11 +</assembly>
... ...
FoxPro/FoxPro/obj/Debug/DesignTimeResolveAssemblyReferences.cache 0 → 100644
No preview for this file type
FoxPro/FoxPro/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache 0 → 100644
No preview for this file type
FoxPro/FoxPro/obj/Debug/FoxPro.Form1.resources 0 → 100644
No preview for this file type
FoxPro/FoxPro/obj/Debug/FoxPro.Properties.Resources.resources 0 → 100644
No preview for this file type
FoxPro/FoxPro/obj/Debug/FoxPro.csproj.FileListAbsolute.txt 0 → 100644
... ... @@ -0,0 +1,9 @@
  1 +c:\users\admin\documents\visual studio 2013\Projects\FoxPro\FoxPro\bin\Debug\FoxPro.exe.config
  2 +c:\users\admin\documents\visual studio 2013\Projects\FoxPro\FoxPro\bin\Debug\FoxPro.exe
  3 +c:\users\admin\documents\visual studio 2013\Projects\FoxPro\FoxPro\bin\Debug\FoxPro.pdb
  4 +c:\users\admin\documents\visual studio 2013\Projects\FoxPro\FoxPro\obj\Debug\FoxPro.csprojResolveAssemblyReference.cache
  5 +c:\users\admin\documents\visual studio 2013\Projects\FoxPro\FoxPro\obj\Debug\FoxPro.Form1.resources
  6 +c:\users\admin\documents\visual studio 2013\Projects\FoxPro\FoxPro\obj\Debug\FoxPro.Properties.Resources.resources
  7 +c:\users\admin\documents\visual studio 2013\Projects\FoxPro\FoxPro\obj\Debug\FoxPro.csproj.GenerateResource.Cache
  8 +c:\users\admin\documents\visual studio 2013\Projects\FoxPro\FoxPro\obj\Debug\FoxPro.exe
  9 +c:\users\admin\documents\visual studio 2013\Projects\FoxPro\FoxPro\obj\Debug\FoxPro.pdb
... ...
FoxPro/FoxPro/obj/Debug/FoxPro.csproj.GenerateResource.Cache 0 → 100644
No preview for this file type
FoxPro/FoxPro/obj/Debug/FoxPro.csprojResolveAssemblyReference.cache 0 → 100644
No preview for this file type
FoxPro/FoxPro/obj/Debug/FoxPro.exe 0 → 100644
No preview for this file type
FoxPro/FoxPro/obj/Debug/FoxPro.pdb 0 → 100644
No preview for this file type
FoxPro/FoxPro/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs 0 → 100644
FoxPro/FoxPro/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs 0 → 100644
FoxPro/FoxPro/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs 0 → 100644