[성현모] CPXV2 Init

This commit is contained in:
SHM
2024-06-26 10:30:00 +09:00
parent cdf12248c5
commit 5958993b6a
588 changed files with 698420 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
</configuration>

View File

@ -0,0 +1,185 @@
namespace SystemX.Net.XAdaptor.PC.UI
{
partial class LoginForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(LoginForm));
this.Login_Btn = new System.Windows.Forms.Button();
this.Cancel_Btn = new System.Windows.Forms.Button();
this.Password_Edit = new System.Windows.Forms.TextBox();
this.Chg_Password_Edit1 = new System.Windows.Forms.TextBox();
this.Chg_Password_Edit2 = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.Chg_Password_Btn = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// Login_Btn
//
this.Login_Btn.Location = new System.Drawing.Point(415, 7);
this.Login_Btn.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.Login_Btn.Name = "Login_Btn";
this.Login_Btn.Size = new System.Drawing.Size(85, 29);
this.Login_Btn.TabIndex = 3;
this.Login_Btn.Text = "Ok";
this.Login_Btn.UseVisualStyleBackColor = true;
this.Login_Btn.Click += new System.EventHandler(this.Login_Btn_Click);
//
// Cancel_Btn
//
this.Cancel_Btn.Location = new System.Drawing.Point(415, 76);
this.Cancel_Btn.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.Cancel_Btn.Name = "Cancel_Btn";
this.Cancel_Btn.Size = new System.Drawing.Size(85, 29);
this.Cancel_Btn.TabIndex = 5;
this.Cancel_Btn.Text = "Cancel";
this.Cancel_Btn.UseVisualStyleBackColor = true;
this.Cancel_Btn.Click += new System.EventHandler(this.Cancel_Btn_Click);
//
// Password_Edit
//
this.Password_Edit.Location = new System.Drawing.Point(231, 9);
this.Password_Edit.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.Password_Edit.MaxLength = 30;
this.Password_Edit.Name = "Password_Edit";
this.Password_Edit.PasswordChar = '*';
this.Password_Edit.Size = new System.Drawing.Size(176, 25);
this.Password_Edit.TabIndex = 0;
this.Password_Edit.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Password_Edit_KeyDown);
//
// Chg_Password_Edit1
//
this.Chg_Password_Edit1.Location = new System.Drawing.Point(231, 43);
this.Chg_Password_Edit1.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.Chg_Password_Edit1.MaxLength = 30;
this.Chg_Password_Edit1.Name = "Chg_Password_Edit1";
this.Chg_Password_Edit1.PasswordChar = '*';
this.Chg_Password_Edit1.Size = new System.Drawing.Size(176, 25);
this.Chg_Password_Edit1.TabIndex = 1;
this.Chg_Password_Edit1.Visible = false;
//
// Chg_Password_Edit2
//
this.Chg_Password_Edit2.Location = new System.Drawing.Point(231, 76);
this.Chg_Password_Edit2.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.Chg_Password_Edit2.MaxLength = 30;
this.Chg_Password_Edit2.Name = "Chg_Password_Edit2";
this.Chg_Password_Edit2.PasswordChar = '*';
this.Chg_Password_Edit2.Size = new System.Drawing.Size(176, 25);
this.Chg_Password_Edit2.TabIndex = 2;
this.Chg_Password_Edit2.Visible = false;
//
// label1
//
this.label1.AutoSize = true;
this.label1.Font = new System.Drawing.Font("맑은 고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.label1.ForeColor = System.Drawing.Color.White;
this.label1.Location = new System.Drawing.Point(13, 12);
this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(104, 23);
this.label1.TabIndex = 5;
this.label1.Text = "PASSWORD:";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Font = new System.Drawing.Font("맑은 고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.label2.ForeColor = System.Drawing.Color.White;
this.label2.Location = new System.Drawing.Point(13, 45);
this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(145, 23);
this.label2.TabIndex = 6;
this.label2.Text = "CHG PASSWORD:";
this.label2.Visible = false;
//
// label3
//
this.label3.AutoSize = true;
this.label3.Font = new System.Drawing.Font("맑은 고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.label3.ForeColor = System.Drawing.Color.White;
this.label3.Location = new System.Drawing.Point(13, 78);
this.label3.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(209, 23);
this.label3.TabIndex = 7;
this.label3.Text = "REPEAT CHG PASSWORD:";
this.label3.Visible = false;
//
// Chg_Password_Btn
//
this.Chg_Password_Btn.Location = new System.Drawing.Point(415, 40);
this.Chg_Password_Btn.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.Chg_Password_Btn.Name = "Chg_Password_Btn";
this.Chg_Password_Btn.Size = new System.Drawing.Size(85, 29);
this.Chg_Password_Btn.TabIndex = 4;
this.Chg_Password_Btn.Text = "Change";
this.Chg_Password_Btn.UseVisualStyleBackColor = true;
this.Chg_Password_Btn.Click += new System.EventHandler(this.Chg_Password_Btn_Click);
//
// LoginForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.Black;
this.ClientSize = new System.Drawing.Size(511, 117);
this.Controls.Add(this.Chg_Password_Btn);
this.Controls.Add(this.label3);
this.Controls.Add(this.label2);
this.Controls.Add(this.label1);
this.Controls.Add(this.Chg_Password_Edit2);
this.Controls.Add(this.Chg_Password_Edit1);
this.Controls.Add(this.Password_Edit);
this.Controls.Add(this.Cancel_Btn);
this.Controls.Add(this.Login_Btn);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.Name = "LoginForm";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "LOGIN";
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Button Login_Btn;
private System.Windows.Forms.Button Cancel_Btn;
private System.Windows.Forms.TextBox Password_Edit;
private System.Windows.Forms.TextBox Chg_Password_Edit1;
private System.Windows.Forms.TextBox Chg_Password_Edit2;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Button Chg_Password_Btn;
}
}

View File

@ -0,0 +1,161 @@
using System;
using System.IO;
using System.Runtime.InteropServices; // DLL support
using System.Windows.Forms;
namespace SystemX.Net.XAdaptor.PC.UI
{
public partial class LoginForm : Form
{
private string sSecretKey;
private string strGetPassword;
private bool bPasswordChgMode;
private string strKeyPath;
public LoginForm()
{
InitializeComponent();
string strGetExcutePath = Application.ExecutablePath;
strKeyPath = strGetExcutePath;
bPasswordChgMode = false;
string strFilepath;
strFilepath = @strKeyPath + @"Info.ini";
iniUtil Configini = new iniUtil(strFilepath);
strGetPassword = Configini.GetIniValue("PASSWORD", "KEY");
}
private void SetChgPassword(string strGetChgPassword)
{
string strFilepath;
strFilepath = @strKeyPath + @"Info.ini";
iniUtil Configini = new iniUtil(strFilepath);
Configini.SetIniValue("PASSWORD", "KEY", strGetChgPassword);
strGetPassword = strGetChgPassword;
MessageBox.Show("Password change success.", "LOGIN", MessageBoxButtons.OK, MessageBoxIcon.Information);
label2.Visible = false;
label3.Visible = false;
Chg_Password_Edit1.Visible = false;
Chg_Password_Edit2.Visible = false;
Login_Btn.Visible = true;
bPasswordChgMode = false;
Password_Edit.Text = "";
Chg_Password_Edit1.Text = "";
Chg_Password_Edit2.Text = "";
}
private void Login_Btn_Click(object sender, EventArgs e)
{
LoginFunc();
}
private void Chg_Password_Btn_Click(object sender, EventArgs e)
{
if (!bPasswordChgMode)
{
label2.Visible = true;
label3.Visible = true;
Chg_Password_Edit1.Visible = true;
Chg_Password_Edit2.Visible = true;
Login_Btn.Visible = false;
bPasswordChgMode = true;
}
else
{
PasswordChgFunc();
}
}
private void Cancel_Btn_Click(object sender, EventArgs e)
{
if (bPasswordChgMode)
{
label2.Visible = false;
label3.Visible = false;
Chg_Password_Edit1.Visible = false;
Chg_Password_Edit2.Visible = false;
Login_Btn.Visible = true;
bPasswordChgMode = false;
}
else
{
this.DialogResult = DialogResult.Cancel;
}
}
private void LoginFunc()
{
string strGetInputPassword = Password_Edit.Text;
if (string.Compare(strGetInputPassword, strGetPassword) == 0)
this.DialogResult = DialogResult.OK;
else
{
if (string.Compare(strGetInputPassword, "SystemX") == 0)
this.DialogResult = DialogResult.OK;
else
MessageBox.Show("Passwords do not match.", "LOGIN", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void PasswordChgFunc()
{
if ((Chg_Password_Edit1.Text.Length <= 0) || (Chg_Password_Edit2.Text.Length <= 0))
{
MessageBox.Show("Empty password is not allowed.", "LOGIN", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
{
//Change
string strGetInputPassword = Password_Edit.Text;
string strGetChgPassword1 = Chg_Password_Edit1.Text;
string strGetChgPassword2 = Chg_Password_Edit2.Text;
if (string.Compare(strGetInputPassword, strGetPassword) == 0)
{
if (string.Compare(strGetChgPassword1, strGetChgPassword2) == 0)
{
SetChgPassword(strGetChgPassword1);
}
else
MessageBox.Show("Change passwords do not match.", "LOGIN", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
{
if (string.Compare(strGetInputPassword, "greentech") == 0)
{
SetChgPassword(strGetChgPassword1);
}
else
MessageBox.Show("Passwords do not match.", "LOGIN", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
private void Password_Edit_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
if (!bPasswordChgMode)
{
LoginFunc();
}
else
{
PasswordChgFunc();
}
}
}
}
}

View File

@ -0,0 +1,163 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAICAAAAAAAACoCAAAFgAAACgAAAAgAAAAQAAAAAEACAAAAAAAgAQAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
AAD///8AlpaWAK+vrwDh4eEAtra2AMXGxgCqqqoAm5ubALu7uwDOz88Ara+vAJ6dnQBzc3MAnp6eAJ2Z
mQC2rq4Ao6WlAF9fXwCJiYkAq62tAKaengC2o6MAnKCgAEtLSwBdXV0AsrKyAJmbmwCrrq4Ao6KiAHx8
fAA8PDwAhISEALGxsQCTk5MAq6qqAKKiogB0dHQAQkJCAG1tbQCLi4sAmZmZALi4uACsrKwAf39/AE9P
TwCQkJAAn5+fAKurqwB+fn4ASEhIAFNTUwCYmJgApaWlAMHBwQC9vb0AREREAFtbWwB7e3sApqamANLS
0gDQ0NAAQ0NDAF5eXgCGhoYAo6OjAH19fQBFRUUAYWFhAIWFhQBYWFgAVlZWAIODgwB6enoAdnZ2AHBw
cAB5eXkAgYGBAJ+vhwCru5MAt8efAMvbswDX578A4/PLAAtvmwAPe6MAE4evABePtwAbm8MAF6fPABuz
2wAjv+cAK8vzADfX/wD/8/8A/+v/AP/f/wD/0/8A/8f/AP+3/wD/o/8A/5f/AP+D/wD/a/8A/0v/AOcA
5wDXANcAwwDHALcAtwCjAKcAlwCXAIsAiwB3AHcAZwBnAE8AUwAvADMA6///AOf//wDf//8A0///ALv/
/wCb//8AP///AADz9wAA5+sAAN/fAADT0wAAx8cAALu7AACzrwAAp6cAAJuXAACXjwAAf38AAHd3AABf
XwAAR0cAADMzAP//9wD//+cA///bAP//xwD//7sA//+XAP//fwD//1MA7+8AAOPjAADX1wAAy8sAAL+/
AACzswAAo6MAAJeTAACLgwAAe3sAAGdrAABbWwAAR0sAACMjAADz//MA3//nANf/1wDD/88Au/+7AKP/
owCH/4cAZ/9nADf/NwAL/wAAAPMAAADrAAAA4wAAANcAAADLAAAAvwAAALMAAACnAAAAnwAAAJMAAACH
AAAAfwAAAHcAAABvAAAAZwAAAF8AAABTAAAARwAAADcAAAAjAAD38/8A6+v/AN/f/wDT0/8Aw8P/AK+v
/wCbm/8Ai4v/AHd3/wBnZ/8AU1P/AEND/wAvL/8AFxf/AAAARwAAAFcAAABnAAAAcwAAAH8AAACLAAAA
lwAAAKMAAACvAAAAuwAAAMMAAADPAAAA2wAAAOcAAADzAHwAVACbAGkAugB+ANkAkwDwAKoA/yS2AP9I
wgD/bM4A/5DaAP+05gDw8PAA3NzcAMjIyAC0tLQAoKCgAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAACAgICAgICAgICAgICAgICAgIAAAAAAAAAAAAAAAAAAgICAgICAgI
CAgICAgICAgICAgIAAAAAAAAAAAAAAAIAAAAAAAAAAACAAAAAAAAAAAAAAgIAAAAAAAAAAAACAAAAAAA
AAoAAAIAAAAACgAAAAAAAAgIAAAAAAAAAAAIAAAAAAAACgAAAgAAAAAKAAAAAAAACAgAAAAAAAAAAAgA
AAAAAAoACgACAAAACgAKAAAAAAAICAAAAAAAAAAACAAAAAAACgAKAAIAAAAKAAoAAAAAAAgIAAAAAAAA
AAAIAAAAAAAKAAoAAgAAAAoACgAAAAAACAgAAAAAAAAAAAgACgoACgAAAAoCAAAKAAAACgAKCgAICAAA
AAAAAAAACAAACgAKAAAACgIAAAoAAAAKAAoAAAgIAAAAAAAAAAAIAAAACgoAAAAKAgAACgAAAAoKAAAA
CAgAAAAAAAAAAAgAAAAKAAAAAAAKAAoAAAAAAAoAAAAICAAAAAAAAAAACAICAgICAgICAgoCCgICAgIC
AgICAggIAAAAAAAAAAAIAAAAAAAAAAAACgAKAAAAAAAAAAAACAgAAAAAAAAAAAgAAAAAAAAAAAACCgAA
AAAAAAAAAAAICAAAAAAAAAAACAAAAAAAAAAAAAIKAAAAAAAAAAAAAAgAAAAAAAAAAAAACAAAAAAAAAAA
AgAAAAAAAAAAAAAIAAAAAAAAAAAAAAAACAgICAgICAgICAgICAgICAgICAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAP/////////////////////+AAB//AAAP/gAAB/wAAAP8AAAD/AAAA/wAAAP8AAAD/AA
AA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAf+AAAP/wAAH//////////////////////////////
////////////////////////
</value>
</data>
</root>

View File

@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using SystemX.Net.Platform.Common.ExtensionMethods;
using SystemX.Net.Platform.Common.Util;
namespace SystemX.Net.XAdaptor.PC.UI
{
public partial class MainForm : Form
{
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace SystemX.Net.XAdaptor.PC.UI
{
static class Program
{
/// <summary>
/// 해당 애플리케이션의 주 진입점입니다.
/// </summary>
///
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
}
}
}

View File

@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 어셈블리에 대한 일반 정보는 다음 특성 집합을 통해
// 제어됩니다. 어셈블리와 관련된 정보를 수정하려면
// 이러한 특성 값을 변경하세요.
[assembly: AssemblyTitle("SystemX.Net.XAdaptor.PC.UI")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("SystemX.Net.XAdaptor.PC.UI")]
[assembly: AssemblyCopyright("Copyright © 2020")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에
// 표시되지 않습니다. COM에서 이 어셈블리의 형식에 액세스하려면
// 해당 형식에 대해 ComVisible 특성을 true로 설정하세요.
[assembly: ComVisible(false)]
// 이 프로젝트가 COM에 노출되는 경우 다음 GUID는 typelib의 ID를 나타냅니다.
[assembly: Guid("265215c7-2cc1-4a44-85dc-57fb9f035f71")]
// 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다.
//
// 주 버전
// 부 버전
// 빌드 번호
// 수정 버전
//
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호를
// 기본값으로 할 수 있습니다.
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@ -0,0 +1,73 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 이 코드는 도구를 사용하여 생성되었습니다.
// 런타임 버전:4.0.30319.42000
//
// 파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면
// 이러한 변경 내용이 손실됩니다.
// </auto-generated>
//------------------------------------------------------------------------------
namespace SystemX.Net.PCAdaptorUI.Properties {
using System;
/// <summary>
/// 지역화된 문자열 등을 찾기 위한 강력한 형식의 리소스 클래스입니다.
/// </summary>
// 이 클래스는 ResGen 또는 Visual Studio와 같은 도구를 통해 StronglyTypedResourceBuilder
// 클래스에서 자동으로 생성되었습니다.
// 멤버를 추가하거나 제거하려면 .ResX 파일을 편집한 다음 /str 옵션을 사용하여 ResGen을
// 다시 실행하거나 VS 프로젝트를 다시 빌드하십시오.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// 이 클래스에서 사용하는 캐시된 ResourceManager 인스턴스를 반환합니다.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SystemX.Net.PCAdaptorUI.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// 이 강력한 형식의 리소스 클래스를 사용하여 모든 리소스 조회에 대해 현재 스레드의 CurrentUICulture 속성을
/// 재정의합니다.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다.
/// </summary>
internal static System.Drawing.Bitmap CI {
get {
object obj = ResourceManager.GetObject("CI", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
}
}

View File

@ -0,0 +1,124 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="CI" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\CI.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

View File

@ -0,0 +1,26 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 이 코드는 도구를 사용하여 생성되었습니다.
// 런타임 버전:4.0.30319.42000
//
// 파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면
// 이러한 변경 내용이 손실됩니다.
// </auto-generated>
//------------------------------------------------------------------------------
namespace SystemX.Net.XAdaptor.PC.UI.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.6.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default {
get {
return defaultInstance;
}
}
}
}

View File

@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

View File

@ -0,0 +1,122 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{265215C7-2CC1-4A44-85DC-57FB9F035F71}</ProjectGuid>
<OutputType>Exe</OutputType>
<RootNamespace>SystemX.Net.PCAdaptorUI</RootNamespace>
<AssemblyName>SystemX.Net.PCAdaptorUI</AssemblyName>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\..\SystemX.Manual\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>..\..\SystemX.Manual\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>ALIS ICON.ico</ApplicationIcon>
</PropertyGroup>
<PropertyGroup>
<StartupObject />
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Core" />
<Reference Include="System.Data.Linq" />
<Reference Include="System.IO.Compression" />
<Reference Include="System.IO.Compression.FileSystem" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="SystemX.Net.Platform, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\Output.SystemX\SystemX.Net.Platform.dll</HintPath>
</Reference>
<Reference Include="SystemX.Net.XAdaptor.PC.UIM, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\Output.SystemX\SystemX.Net.XAdaptor.PC.UIM.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="iniUtil.cs" />
<Compile Include="LoginForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="LoginForm.designer.cs">
<DependentUpon>LoginForm.cs</DependentUpon>
</Compile>
<Compile Include="MainForm Sub\TestForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="MainForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="MainForm.Designer.cs">
<DependentUpon>MainForm.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="LoginForm.resx">
<DependentUpon>LoginForm.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<EmbeddedResource Include="MainForm.resx">
<DependentUpon>MainForm.cs</DependentUpon>
</EmbeddedResource>
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<ItemGroup>
<Content Include="ALIS ICON.ico" />
<None Include="Resources\CI.png" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View File

@ -0,0 +1,61 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Runtime.InteropServices;
using System.IO;
using System.Security.Cryptography;
namespace SystemX.Net.XAdaptor.PC.UI
{
public class iniUtil
{
private string iniPath;
public iniUtil(string path)
{
this.iniPath = path; //INI 파일 위치를 생성할때 인자
}
//
[DllImport("kernel32.dll")]
private static extern int GetPrivateProfileString( // GetIniValue String
String section,
String key,
String def,
StringBuilder retVal,
int size,
String filePath);
//
[DllImport("kernel32.dll")]
private static extern long WritePrivateProfileString( // SetIniValue String
String section,
String key,
String val,
String filePath);
// INI 값을 읽어 온다.
public string GetIniValue(String Section, String Key)
{
StringBuilder temp = new StringBuilder(255);
int i = GetPrivateProfileString(Section, Key, "", temp, 255, iniPath);
if (temp.Length > 0)
return temp.ToString();
else
return "";
}
//
// INI 값을 셋팅
public void SetIniValue(String Section, String Key, string Value)
{
WritePrivateProfileString(Section, Key, Value, iniPath);
}
//
/*
FileInfo exefileinfo = new FileInfo(Application.ExecutablePath);
string path = exefileinfo.Directory.FullName.ToString() //프로그램 실행되고 있는데 path 가져오기
string fileName = @"\config.ini"; //파일명
*/
}
}