09/13일 작
This commit is contained in:
Binary file not shown.
Binary file not shown.
@@ -1,25 +0,0 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 15
|
||||
VisualStudioVersion = 15.0.27428.2037
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AmkorRestfulService", "AmkorRestfulService\AmkorRestfulService.csproj", "{58CFC90C-5068-46A2-A8DE-0E92EE9E0990}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{58CFC90C-5068-46A2-A8DE-0E92EE9E0990}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{58CFC90C-5068-46A2-A8DE-0E92EE9E0990}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{58CFC90C-5068-46A2-A8DE-0E92EE9E0990}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{58CFC90C-5068-46A2-A8DE-0E92EE9E0990}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {3A5E5D7A-83B2-4903-B79F-0D1966B74E83}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
@@ -1,48 +0,0 @@
|
||||
<?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>{58CFC90C-5068-46A2-A8DE-0E92EE9E0990}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Amkor</RootNamespace>
|
||||
<AssemblyName>AmkorRestfulService</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>..\..\..\DLL\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Class1.cs" />
|
||||
<None Include="CHANGELOG" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
@@ -1,2 +0,0 @@
|
||||
18-05-02 chi 일반상황시 url 조회등의 메세지를 추가함
|
||||
18-04-26 chi gendatatable 작업시에 비어잇는 열은 제외한다
|
||||
@@ -1,539 +0,0 @@
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Text;
|
||||
|
||||
namespace Amkor
|
||||
{
|
||||
public class RestfulService
|
||||
{
|
||||
public class MessageEventArgs : EventArgs
|
||||
{
|
||||
public Boolean isError { get; set; }
|
||||
public string Message { get; set; }
|
||||
public MessageEventArgs(bool iserr_ ,string msg_)
|
||||
{
|
||||
this.isError = iserr_;
|
||||
this.Message = msg_;
|
||||
}
|
||||
}
|
||||
public static event EventHandler<MessageEventArgs> Message;
|
||||
public static void RaiseMessage(Boolean iserr, string msg)
|
||||
{
|
||||
if (Message != null)
|
||||
Message(null, new MessageEventArgs(iserr, msg));
|
||||
}
|
||||
|
||||
public static Boolean isLocalTEST = true;
|
||||
public struct sSearchResult
|
||||
{
|
||||
public Boolean isError { get; set; }
|
||||
public string Value { get; set; }
|
||||
}
|
||||
|
||||
public struct sStripList
|
||||
{
|
||||
public string Magazine;
|
||||
public string StripID;
|
||||
public sStripList(string mz, string strip)
|
||||
{
|
||||
this.Magazine = mz;
|
||||
this.StripID = strip;
|
||||
}
|
||||
}
|
||||
|
||||
public static System.Data.DataTable GetLotListbyLineCode(string LineCode, out string errorMessage)
|
||||
{
|
||||
Boolean isError = false;
|
||||
errorMessage = string.Empty;
|
||||
|
||||
string url = "http://cim_service.amkor.co.kr:8080/ysj/lot_list/line_code/" + LineCode;
|
||||
if (isLocalTEST) url = "http://127.0.0.1/ysj/lot_list/line_code.html?code=" + LineCode;
|
||||
var buffer = GetFromUrl(url, out isError);
|
||||
if (isError)
|
||||
{
|
||||
errorMessage = buffer;
|
||||
return null;
|
||||
}
|
||||
if (buffer.ToLower().StartsWith("fail"))
|
||||
{
|
||||
errorMessage = buffer;
|
||||
return null;
|
||||
}
|
||||
//수신된 데이터 전체를 데이터테이블로 생성한다.
|
||||
buffer = buffer.Replace('\r', '\n').Replace("\n\n", "\n");
|
||||
return _GenerateDataTable(buffer);
|
||||
}
|
||||
|
||||
public static System.Data.DataTable GetLotInfobyMZ(string MZ, out string errorMessage)
|
||||
{
|
||||
errorMessage = string.Empty;
|
||||
string url = "http://cim_service.amkor.co.kr:8080/ysj/strip_map/get_lot_info_by_magazine_id/";
|
||||
if (isLocalTEST) url = "http://127.0.0.1/ysj/strip_map/get_lot_info_by_magazine_id.html?code=";
|
||||
url = url + System.Web.HttpUtility.UrlEncodeUnicode(MZ);
|
||||
Boolean isError;
|
||||
var buffer = GetFromUrl(url, out isError);
|
||||
if (isError)
|
||||
{
|
||||
RaiseMessage(true, "GetLotInfobyMZ Error : " + buffer);
|
||||
errorMessage = buffer;
|
||||
return null;
|
||||
}
|
||||
if (buffer.ToLower().StartsWith("fail"))
|
||||
{
|
||||
errorMessage = buffer;
|
||||
return null;
|
||||
}
|
||||
return _GenerateDataTable(buffer);
|
||||
}
|
||||
|
||||
public static System.Data.DataTable Get_EPC_Code(string barcode, out string errorMessage)
|
||||
{
|
||||
errorMessage = string.Empty;
|
||||
string url = "http://cim_service.amkor.co.kr:8080/ysj/epc/get_epc_code/";
|
||||
//if (isLocalTEST) url = "http://127.0.0.1/ysj/epc/get_epc_code/code=";
|
||||
url = url + System.Web.HttpUtility.UrlEncodeUnicode(barcode);
|
||||
Boolean isError;
|
||||
var buffer = GetFromUrl(url, out isError);
|
||||
if (isError)
|
||||
{
|
||||
RaiseMessage(true, "Get_EPC_Code Error : " + buffer);
|
||||
errorMessage = buffer;
|
||||
return null;
|
||||
}
|
||||
if (buffer.ToLower().StartsWith("fail"))
|
||||
{
|
||||
errorMessage = buffer;
|
||||
return null;
|
||||
}
|
||||
return _GenerateDataTable(buffer);
|
||||
}
|
||||
public static System.Data.DataTable GetLotInfobyStripID(string StripID, out string errorMessage)
|
||||
{
|
||||
errorMessage = string.Empty;
|
||||
string url = "http://cim_service.amkor.co.kr:8080/ysj/strip_map/get_lot_info_by_strip_id/";
|
||||
if (isLocalTEST) url = "http://127.0.0.1/ysj/strip_map/get_lot_info_by_strip_id.html?code=";
|
||||
url = url + System.Web.HttpUtility.UrlEncodeUnicode(StripID);
|
||||
Boolean isError;
|
||||
var buffer = GetFromUrl(url, out isError);
|
||||
if (isError)
|
||||
{
|
||||
RaiseMessage(true, "GetLotInfobyStripID Error : " + buffer);
|
||||
errorMessage = buffer;
|
||||
return null;
|
||||
}
|
||||
if (buffer.ToLower().StartsWith("fail"))
|
||||
{
|
||||
errorMessage = buffer;
|
||||
return null;
|
||||
}
|
||||
return _GenerateDataTable(buffer);
|
||||
}
|
||||
|
||||
|
||||
public static System.Data.DataTable GetLotInfobyALTag(string alTag, out string errorMessage)
|
||||
{
|
||||
errorMessage = string.Empty;
|
||||
string url = "http://cim_service.amkor.co.kr:8080/ysj/lot_info/get_lot_info_by_al_tag/";
|
||||
if (isLocalTEST) url = "http://127.0.0.1/ysj/lot_info/get_lot_info_by_al_tag.html?code=";
|
||||
url = url + System.Web.HttpUtility.UrlEncodeUnicode(alTag);
|
||||
Boolean isError;
|
||||
var buffer = GetFromUrl(url, out isError);
|
||||
if (isError)
|
||||
{
|
||||
RaiseMessage(true, "GetLotInfobyStripID Error : " + buffer);
|
||||
errorMessage = buffer;
|
||||
return null;
|
||||
}
|
||||
if (buffer.ToLower().StartsWith("fail"))
|
||||
{
|
||||
errorMessage = buffer;
|
||||
return null;
|
||||
}
|
||||
return _GenerateDataTable(buffer);
|
||||
}
|
||||
|
||||
public static List<sStripList> GetStripListbyLot(string Lot, out string errorMessage)
|
||||
{
|
||||
errorMessage = string.Empty;
|
||||
string url = "http://cim_service.amkor.co.kr:8080/ysj/strip_map/get_magazine_strip_list_by_lot_id/";
|
||||
if (isLocalTEST) url = "http://127.0.0.1/ysj/strip_map/get_magazine_strip_list_by_lot_id.html?code=";
|
||||
url = url + System.Web.HttpUtility.UrlEncodeUnicode(Lot);
|
||||
Boolean isError;
|
||||
var buffer = GetFromUrl(url, out isError);
|
||||
if (isError)
|
||||
{
|
||||
RaiseMessage(true, "GetStripListbyLot Error : " + buffer);
|
||||
errorMessage = buffer;
|
||||
return null;
|
||||
}
|
||||
if (buffer.ToLower().StartsWith("fail"))
|
||||
{
|
||||
errorMessage = buffer;
|
||||
return null;
|
||||
}
|
||||
buffer = buffer.Replace('\r', '\n').Replace("\n\n", "\n");
|
||||
|
||||
// example
|
||||
// MagazineId + (Tab) + StripId + (CR / LF)
|
||||
// PG 12345; 678 + (Tab) + SEORL36_MGP9805040
|
||||
|
||||
List<sStripList> retval = new List<sStripList>();
|
||||
foreach (string line in buffer.Split('\n'))
|
||||
{
|
||||
if (line.Trim() == "") continue;
|
||||
var tabbuf = line.Split('\t');
|
||||
if (tabbuf.Length == 2) retval.Add(new sStripList(tabbuf[0], tabbuf[1]));
|
||||
else RaiseMessage(true, "GetStripListbyLot Parse Error|" + line + "|Tabbuffer len (2)");
|
||||
}
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
public static List<sStripList> GetStripListbyMZ(string MZ, out string errorMessage)
|
||||
{
|
||||
errorMessage = string.Empty;
|
||||
string url = "http://cim_service.amkor.co.kr:8080/ysj/strip_map/get_strip_list_by_magazine_id/";
|
||||
if (isLocalTEST) url = "http://127.0.0.1/ysj/strip_map/get_strip_list_by_magazine_id.html?code=";
|
||||
|
||||
url = url + System.Web.HttpUtility.UrlEncodeUnicode(MZ);
|
||||
Boolean isError;
|
||||
var buffer = GetFromUrl(url, out isError);
|
||||
if (isError)
|
||||
{
|
||||
RaiseMessage(true, "GetStripListbyMZ Error : " + buffer);
|
||||
errorMessage = buffer;
|
||||
return null;
|
||||
}
|
||||
if (buffer.ToLower().StartsWith("fail"))
|
||||
{
|
||||
errorMessage = buffer;
|
||||
return null;
|
||||
}
|
||||
buffer = buffer.Replace('\r', '\n').Replace("\n\n", "\n");
|
||||
|
||||
// example
|
||||
// MagazineId + (Tab) + StripId + (CR / LF)
|
||||
// PG 12345; 678 + (Tab) + SEORL36_MGP9805040
|
||||
|
||||
List<sStripList> retval = new List<sStripList>();
|
||||
foreach (string line in buffer.Split('\n'))
|
||||
{
|
||||
if (line.Trim() == "") continue;
|
||||
var tabbuf = line.Split('\t');
|
||||
if (tabbuf.Length == 2) retval.Add(new sStripList(tabbuf[0], tabbuf[1]));
|
||||
else RaiseMessage(true, "GetStripListbyMZ Parse Error|" + line + "|Tabbuffer len (2)");
|
||||
}
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
public static sSearchResult FindSMbyLot(string LineCode, string LOT)
|
||||
{
|
||||
sSearchResult retval = new sSearchResult();
|
||||
string outMessage;
|
||||
var dt = GetLotListbyLineCode(LineCode, out outMessage);
|
||||
if (dt == null || dt.Rows.Count < 1)
|
||||
{
|
||||
retval.isError = true;
|
||||
retval.Value = outMessage;
|
||||
return retval;
|
||||
}
|
||||
|
||||
//this
|
||||
string sql = "Lot_No = '" + LOT + "'";
|
||||
var rows = dt.Select(sql);
|
||||
if (rows.Length < 1)
|
||||
{
|
||||
retval.isError = true;
|
||||
retval.Value = "No Lot : " + LOT;
|
||||
return retval;
|
||||
}
|
||||
|
||||
if (rows[0]["strip_Mark"] == null)
|
||||
{
|
||||
retval.isError = true;
|
||||
retval.Value = "Strip_Mark is Null";
|
||||
return retval;
|
||||
}
|
||||
|
||||
retval.isError = false;
|
||||
retval.Value = rows[0]["strip_Mark"].ToString();
|
||||
return retval;
|
||||
}
|
||||
|
||||
public static sSearchResult FindLotbySM(string LineCode, string SM)
|
||||
{
|
||||
sSearchResult retval = new sSearchResult();
|
||||
string outMessage;
|
||||
var dt = GetLotListbyLineCode(LineCode, out outMessage);
|
||||
if (dt == null || dt.Rows.Count < 1)
|
||||
{
|
||||
retval.isError = true;
|
||||
retval.Value = outMessage;
|
||||
return retval;
|
||||
}
|
||||
|
||||
//this
|
||||
string sql = "strip_Mark = '" + SM + "'";
|
||||
var rows = dt.Select(sql);
|
||||
if (rows.Length < 1)
|
||||
{
|
||||
retval.isError = true;
|
||||
retval.Value = "No strip_Mark : " + SM;
|
||||
return retval;
|
||||
}
|
||||
|
||||
if (rows[0]["Lot_No"] == null)
|
||||
{
|
||||
retval.isError = true;
|
||||
retval.Value = "Lot_No is Null";
|
||||
return retval;
|
||||
}
|
||||
|
||||
retval.isError = false;
|
||||
retval.Value = rows[0]["Lot_No"].ToString();
|
||||
return retval;
|
||||
}
|
||||
|
||||
public static Boolean RemoveMZFromLOT(string LOT, string MZ, out string errorMessage)
|
||||
{
|
||||
errorMessage = string.Empty;
|
||||
string url = "http://cim_service.amkor.co.kr:8080/ysj/strip_map/delete_magazine_id_from_lot/";
|
||||
if (isLocalTEST) url = "http://127.0.0.1/ysj/del_magazine.html?code=";
|
||||
url = url + System.Web.HttpUtility.UrlEncodeUnicode(MZ);
|
||||
url = url + "," + System.Web.HttpUtility.UrlEncodeUnicode(LOT);
|
||||
Boolean isError;
|
||||
var buffer = GetFromUrl(url, out isError);
|
||||
if (isError)
|
||||
{
|
||||
RaiseMessage(true, "RemoveMZFromLOT Error : " + buffer);
|
||||
errorMessage = buffer;
|
||||
return false;
|
||||
}
|
||||
if (buffer.ToLower().StartsWith("fail"))
|
||||
{
|
||||
errorMessage = buffer;
|
||||
return false;
|
||||
}
|
||||
buffer = buffer.Replace('\r', '\n').Replace("\n\n", "\n");
|
||||
errorMessage = buffer;
|
||||
return true;
|
||||
}
|
||||
public static Boolean RemoveStripIDFromMZ(string strip, out string errorMessage)
|
||||
{
|
||||
errorMessage = string.Empty;
|
||||
string url = "http://cim_service.amkor.co.kr:8080/ysj/strip_map/del_strip_id/";
|
||||
if (isLocalTEST) url = "http://127.0.0.1/ysj/strip_map/del_strip_id.html?code=";
|
||||
|
||||
url = url + System.Web.HttpUtility.UrlEncodeUnicode(strip);
|
||||
Boolean isError;
|
||||
var buffer = GetFromUrl(url, out isError);
|
||||
if (isError)
|
||||
{
|
||||
RaiseMessage(true, "RemoveStripIDFromMZ Error : " + buffer);
|
||||
errorMessage = buffer;
|
||||
return false;
|
||||
}
|
||||
if (buffer.ToLower().StartsWith("fail"))
|
||||
{
|
||||
errorMessage = buffer;
|
||||
return false;
|
||||
}
|
||||
buffer = buffer.Replace('\r', '\n').Replace("\n\n", "\n");
|
||||
errorMessage = buffer;
|
||||
return true;
|
||||
}
|
||||
public static Boolean ChangeMazineID(string Lot, string Src_MZ, string Des_MZ, out string errorMessage)
|
||||
{
|
||||
//remove
|
||||
if (!RemoveMZFromLOT(Lot, Src_MZ, out errorMessage))
|
||||
{
|
||||
errorMessage = "Remove M/Z Error : " + errorMessage;
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!SetMZtoLot(Lot, Des_MZ, out errorMessage))
|
||||
{
|
||||
errorMessage = "Set M/Z Error : " + errorMessage;
|
||||
return false;
|
||||
}
|
||||
|
||||
errorMessage = string.Empty;
|
||||
return true;
|
||||
}
|
||||
public static Boolean SetMZtoLot(string Lot, string Mz, out string errorMessage)
|
||||
{
|
||||
errorMessage = string.Empty;
|
||||
string url = "http://cim_service.amkor.co.kr:8080/ysj/strip_map/set_magazine_id_to_lot/";
|
||||
if (isLocalTEST) url = "http://127.0.0.1/ysj/strip_map/set_lot_id_by_magazine_id.html?code=";
|
||||
|
||||
url = url + System.Web.HttpUtility.UrlEncodeUnicode(Mz) + "," +
|
||||
System.Web.HttpUtility.UrlEncodeUnicode(Lot);
|
||||
|
||||
Boolean isError;
|
||||
var buffer = GetFromUrl(url, out isError);
|
||||
if (isError)
|
||||
{
|
||||
RaiseMessage(true, "SetMZtoLot Error : " + buffer);
|
||||
errorMessage = buffer;
|
||||
return false;
|
||||
}
|
||||
if (buffer.ToLower().StartsWith("fail"))
|
||||
{
|
||||
errorMessage = buffer;
|
||||
return false;
|
||||
}
|
||||
|
||||
errorMessage = buffer;
|
||||
return true;
|
||||
}
|
||||
public static Boolean SetStripToMZ(string MZ, string strip, out string errorMessage)
|
||||
{
|
||||
errorMessage = string.Empty;
|
||||
string url = "http://cim_service.amkor.co.kr:8080/ysj/strip_map/set_magazine_id_by_strip_id/";
|
||||
if (isLocalTEST) url = "http://127.0.0.1/ysj/strip_map/set_magazine_id_by_strip_id.html?code=";
|
||||
url = url + System.Web.HttpUtility.UrlEncodeUnicode(MZ) + "," +
|
||||
System.Web.HttpUtility.UrlEncodeUnicode(strip);
|
||||
|
||||
Boolean isError;
|
||||
var buffer = GetFromUrl(url, out isError);
|
||||
if (isError)
|
||||
{
|
||||
RaiseMessage(true, "SetStripToMZ Error : " + buffer);
|
||||
errorMessage = buffer;
|
||||
return false;
|
||||
}
|
||||
if (buffer.ToLower().StartsWith("fail"))
|
||||
{
|
||||
errorMessage = buffer;
|
||||
return false;
|
||||
}
|
||||
|
||||
var stripList = _GenerateStripList(buffer);
|
||||
if (stripList.Where(t => t.StripID == strip).Count() > 0)//생성된 목록에서 추가된 stripid가 존재하는지 확인한다.
|
||||
{
|
||||
errorMessage = buffer;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
errorMessage = "Command OK but No Data in Reply";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
#region "utility"
|
||||
|
||||
public static string GetFromUrl(string url, out Boolean isError)
|
||||
{
|
||||
isError = false;
|
||||
string result = "";
|
||||
try
|
||||
{
|
||||
RaiseMessage(false, "GET : " + url);
|
||||
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri(url));
|
||||
request.Timeout = 60000;
|
||||
request.ReadWriteTimeout = 60000;
|
||||
|
||||
request.MaximumAutomaticRedirections = 4;
|
||||
request.MaximumResponseHeadersLength = 4;
|
||||
request.Credentials = CredentialCache.DefaultCredentials;
|
||||
var response = request.GetResponse() as HttpWebResponse;
|
||||
var txtReader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
|
||||
result = txtReader.ReadToEnd();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
isError = true;
|
||||
result = ex.Message.ToString();
|
||||
RaiseMessage(true, "GET-ERROR\n" + result);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public static string Cvt_LotToAltag(string lot)
|
||||
{
|
||||
return "L" + lot + "; ;";
|
||||
}
|
||||
public static string Cvt_AltagToLot(string alTag)
|
||||
{
|
||||
var semi = alTag.IndexOf(';');
|
||||
if (semi < 0) return alTag;
|
||||
return alTag.Substring(1, alTag.Length - semi - 1);
|
||||
}
|
||||
static string _GenerateHexString(string buffer)
|
||||
{
|
||||
System.Text.StringBuilder sb = new StringBuilder();
|
||||
foreach (var c in buffer.ToCharArray())
|
||||
sb.Append(((byte)c).ToString("X2"));
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
|
||||
|
||||
static System.Data.DataTable _GenerateDataTable(string buffer)
|
||||
{
|
||||
//탭으로분리된 데이터를 첫줄을 컬럼으로 사용해서 테이블로 변환한다.
|
||||
System.Data.DataTable dt = new System.Data.DataTable();
|
||||
|
||||
buffer = buffer.Replace('\r', '\n').Replace("\n\n", "\n");
|
||||
var lines = buffer.Split('\n');
|
||||
string[] cols = null;
|
||||
foreach (string line in lines)
|
||||
{
|
||||
if (line.Trim() == "") continue;
|
||||
if (dt.Columns.Count < 1)
|
||||
{
|
||||
//첫줄을 열 제목이된다.
|
||||
cols = line.Split('\t');
|
||||
foreach (var col in cols)
|
||||
{
|
||||
if(col.Trim() != "")
|
||||
dt.Columns.Add(col);
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
//add data;
|
||||
var datas = line.Split('\t');
|
||||
if (cols.Length != datas.Length)
|
||||
{
|
||||
RaiseMessage(true, string.Format("Column Count ({0}), Data Count({1}) != Miss Match", cols.Length, datas.Length));
|
||||
continue;
|
||||
}
|
||||
|
||||
//add data
|
||||
var newdr = dt.NewRow();
|
||||
for (int i = 0; i < cols.Length; i++)
|
||||
{
|
||||
if(cols[i].Trim() != "")
|
||||
newdr[cols[i]] = datas[i];
|
||||
}
|
||||
dt.Rows.Add(newdr);
|
||||
}
|
||||
dt.AcceptChanges();
|
||||
return dt;
|
||||
}
|
||||
|
||||
static List<sStripList> _GenerateStripList(string buffer)
|
||||
{
|
||||
buffer = buffer.Replace('\r', '\n').Replace("\n\n", "\n");
|
||||
List<sStripList> retval = new List<sStripList>();
|
||||
foreach (string line in buffer.Split('\n'))
|
||||
{
|
||||
if (line.Trim() == "") continue;
|
||||
var tabbuf = line.Split('\t');
|
||||
if (tabbuf.Length == 2) retval.Add(new sStripList(tabbuf[0], tabbuf[1]));
|
||||
else RaiseMessage(true, "SetStripToMZ Parse Error|" + line + "|Tabbuffer len (2)");
|
||||
}
|
||||
return retval;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// 어셈블리에 대한 일반 정보는 다음 특성 집합을 통해
|
||||
// 제어됩니다. 어셈블리와 관련된 정보를 수정하려면
|
||||
// 이러한 특성 값을 변경하세요.
|
||||
[assembly: AssemblyTitle("AmkorRestfulService")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("AmkorRestfulService")]
|
||||
[assembly: AssemblyCopyright("Copyright ©Amkor 2018")]
|
||||
[assembly: AssemblyTrademark("EET")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에
|
||||
// 표시되지 않습니다. COM에서 이 어셈블리의 형식에 액세스하려면
|
||||
// 해당 형식에 대해 ComVisible 특성을 true로 설정하세요.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// 이 프로젝트가 COM에 노출되는 경우 다음 GUID는 typelib의 ID를 나타냅니다.
|
||||
[assembly: Guid("58cfc90c-5068-46a2-a8de-0e92ee9e0990")]
|
||||
|
||||
// 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다.
|
||||
//
|
||||
// 주 버전
|
||||
// 부 버전
|
||||
// 빌드 번호
|
||||
// 수정 버전
|
||||
//
|
||||
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호를
|
||||
// 기본값으로 할 수 있습니다.
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("18.05.03.1130")]
|
||||
[assembly: AssemblyFileVersion("18.05.03.1130")]
|
||||
Binary file not shown.
Binary file not shown.
@@ -1 +0,0 @@
|
||||
a753a9217ecdf1f178584818e55b4b5ec9204d0c
|
||||
@@ -1,52 +0,0 @@
|
||||
D:\Amkor\Source\Library\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.csproj.CoreCompileInputs.cache
|
||||
D:\Amkor\Source\Library\AmkorRestfulService\AmkorRestfulService\bin\Debug\AmkorRestfulService.dll
|
||||
D:\Amkor\Source\Library\AmkorRestfulService\AmkorRestfulService\bin\Debug\AmkorRestfulService.pdb
|
||||
D:\Amkor\Source\Library\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.dll
|
||||
D:\Amkor\Source\Library\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.pdb
|
||||
D:\Amkor\Source\DLL\AmkorRestfulService.dll
|
||||
D:\Amkor\Source\DLL\AmkorRestfulService.pdb
|
||||
D:\Tinsky\Visual Studio For Amkor\ManualMapEditor\ManualMapEditor_180426_1000\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.dll
|
||||
D:\Tinsky\Visual Studio For Amkor\ManualMapEditor\ManualMapEditor_180426_1000\DLL\AmkorRestfulService.dll
|
||||
D:\Tinsky\Visual Studio For Amkor\ManualMapEditor\ManualMapEditor_180426_1000\DLL\AmkorRestfulService.pdb
|
||||
D:\Tinsky\Visual Studio For Amkor\ManualMapEditor\ManualMapEditor_180426_1000\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.pdb
|
||||
D:\Tinsky\Visual Studio For Amkor\ManualMapEditor\ManualMapEditor_180509_2300_milk\DLL\AmkorRestfulService.dll
|
||||
D:\Tinsky\Visual Studio For Amkor\ManualMapEditor\ManualMapEditor_180509_2300_milk\DLL\AmkorRestfulService.pdb
|
||||
D:\Tinsky\Visual Studio For Amkor\ManualMapEditor\ManualMapEditor_180509_2300_milk\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.csprojResolveAssemblyReference.cache
|
||||
D:\Tinsky\Visual Studio For Amkor\ManualMapEditor\ManualMapEditor_180509_2300_milk\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.dll
|
||||
D:\Tinsky\Visual Studio For Amkor\ManualMapEditor\ManualMapEditor_180509_2300_milk\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.pdb
|
||||
D:\Tinsky\Visual Studio For Amkor\ManualMapEditor\ManualMapEditor_180510_2300_milk\DLL\AmkorRestfulService.dll
|
||||
D:\Tinsky\Visual Studio For Amkor\ManualMapEditor\ManualMapEditor_180510_2300_milk\DLL\AmkorRestfulService.pdb
|
||||
D:\Tinsky\Visual Studio For Amkor\ManualMapEditor\ManualMapEditor_180510_2300_milk\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.dll
|
||||
D:\Tinsky\Visual Studio For Amkor\ManualMapEditor\ManualMapEditor_180510_2300_milk\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.pdb
|
||||
D:\Tinsky\Visual Studio For Amkor\_Frame\DLL\AmkorRestfulService.dll
|
||||
D:\Tinsky\Visual Studio For Amkor\_Frame\DLL\AmkorRestfulService.pdb
|
||||
D:\Tinsky\Visual Studio For Amkor\_Frame\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.dll
|
||||
D:\Tinsky\Visual Studio For Amkor\_Frame\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.pdb
|
||||
D:\Tinsky\Visual Studio For Amkor\_Frame\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.csprojResolveAssemblyReference.cache
|
||||
D:\Source\GroupWare\DLL\AmkorRestfulService.dll
|
||||
D:\Source\GroupWare\DLL\AmkorRestfulService.pdb
|
||||
D:\Source\GroupWare\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.dll
|
||||
D:\Source\GroupWare\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.pdb
|
||||
D:\Source\GroupWare\EET_GroupWare_180525_1000\DLL\AmkorRestfulService.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180525_1000\DLL\AmkorRestfulService.pdb
|
||||
D:\Source\GroupWare\EET_GroupWare_180525_1000\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180525_1000\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.pdb
|
||||
D:\Source\GroupWare\EET_GroupWare_180525_1800\DLL\AmkorRestfulService.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180525_1800\DLL\AmkorRestfulService.pdb
|
||||
D:\Source\GroupWare\EET_GroupWare_180525_1800\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180525_1800\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.pdb
|
||||
D:\Source\GroupWare\EET_GroupWare_180604_1000\DLL\AmkorRestfulService.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180604_1000\DLL\AmkorRestfulService.pdb
|
||||
D:\Source\GroupWare\EET_GroupWare_180604_1000\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.csprojResolveAssemblyReference.cache
|
||||
D:\Source\GroupWare\EET_GroupWare_180604_1000\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180604_1000\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.pdb
|
||||
D:\Source\GroupWare\EET_GroupWare_180608_1000\DLL\AmkorRestfulService.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180608_1000\DLL\AmkorRestfulService.pdb
|
||||
D:\Source\GroupWare\EET_GroupWare_180608_1000\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.csprojResolveAssemblyReference.cache
|
||||
D:\Source\GroupWare\EET_GroupWare_180608_1000\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180608_1000\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.pdb
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\DLL\AmkorRestfulService.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\DLL\AmkorRestfulService.pdb
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.csprojResolveAssemblyReference.cache
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\AmkorRestfulService\AmkorRestfulService\obj\Debug\AmkorRestfulService.pdb
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1 +0,0 @@
|
||||
18-04-26 chi 프로젝트생성(message 이벤트 추가)
|
||||
@@ -1,52 +1,52 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace StaffLayoutCtl
|
||||
{
|
||||
public partial class grid
|
||||
{
|
||||
public class CGrid
|
||||
{
|
||||
public System.Drawing.RectangleF Rect { get; set; }
|
||||
public int Row { get; set; }
|
||||
public int Col { get; set; }
|
||||
public int IDX { get; set; }
|
||||
public CGrid(int idx_)
|
||||
{
|
||||
this.IDX = idx_;
|
||||
}
|
||||
}
|
||||
public class CItem
|
||||
{
|
||||
public System.Drawing.RectangleF Rect { get; set; }
|
||||
public Boolean Select { get; set; }
|
||||
public int Row { get; set; }
|
||||
public int Col { get; set; }
|
||||
public int ColSpan { get; set; }
|
||||
public int RowSpan { get; set; }
|
||||
public string Text { get; set; }
|
||||
public System.Drawing.Color bgColor { get; set; }
|
||||
public System.Drawing.Color fgColor { get; set; }
|
||||
public CItem()
|
||||
{
|
||||
if (ColSpan == 0) ColSpan = 1;
|
||||
if (RowSpan == 0) RowSpan = 1;
|
||||
bgColor = System.Drawing.Color.White;
|
||||
fgColor = System.Drawing.Color.Black;
|
||||
}
|
||||
public CItem(int r,int c, int rs=1,int cs=1,string text="",int bg=-1,int fg=-1)
|
||||
{
|
||||
this.Row = r;
|
||||
this.Col = c;
|
||||
this.RowSpan = rs;
|
||||
this.ColSpan = cs;
|
||||
this.Text = text;
|
||||
if (bg != -1) this.bgColor = System.Drawing.Color.FromArgb(bg);
|
||||
if (fg != -1) this.fgColor = System.Drawing.Color.FromArgb(fg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace StaffLayoutCtl
|
||||
{
|
||||
public partial class grid
|
||||
{
|
||||
public class CGrid
|
||||
{
|
||||
public System.Drawing.RectangleF Rect { get; set; }
|
||||
public int Row { get; set; }
|
||||
public int Col { get; set; }
|
||||
public int IDX { get; set; }
|
||||
public CGrid(int idx_)
|
||||
{
|
||||
this.IDX = idx_;
|
||||
}
|
||||
}
|
||||
public class CItem
|
||||
{
|
||||
public System.Drawing.RectangleF Rect { get; set; }
|
||||
public Boolean Select { get; set; }
|
||||
public int Row { get; set; }
|
||||
public int Col { get; set; }
|
||||
public int ColSpan { get; set; }
|
||||
public int RowSpan { get; set; }
|
||||
public string Text { get; set; }
|
||||
public System.Drawing.Color bgColor { get; set; }
|
||||
public System.Drawing.Color fgColor { get; set; }
|
||||
public CItem()
|
||||
{
|
||||
if (ColSpan == 0) ColSpan = 1;
|
||||
if (RowSpan == 0) RowSpan = 1;
|
||||
bgColor = System.Drawing.Color.White;
|
||||
fgColor = System.Drawing.Color.Black;
|
||||
}
|
||||
public CItem(int r,int c, int rs=1,int cs=1,string text="",int bg=-1,int fg=-1)
|
||||
{
|
||||
this.Row = r;
|
||||
this.Col = c;
|
||||
this.RowSpan = rs;
|
||||
this.ColSpan = cs;
|
||||
this.Text = text;
|
||||
if (bg != -1) this.bgColor = System.Drawing.Color.FromArgb(bg);
|
||||
if (fg != -1) this.fgColor = System.Drawing.Color.FromArgb(fg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,36 +1,36 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// 어셈블리의 일반 정보는 다음 특성 집합을 통해 제어됩니다.
|
||||
// 어셈블리와 관련된 정보를 수정하려면
|
||||
// 이 특성 값을 변경하십시오.
|
||||
[assembly: AssemblyTitle("StaffLayoutCtl")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("StaffLayoutCtl")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2018")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에
|
||||
// 표시되지 않습니다. COM에서 이 어셈블리의 형식에 액세스하려면
|
||||
// 해당 형식에 대해 ComVisible 특성을 true로 설정하십시오.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// 이 프로젝트가 COM에 노출되는 경우 다음 GUID는 typelib의 ID를 나타냅니다.
|
||||
[assembly: Guid("f2c91e2c-49ab-4997-987a-d7e455279f27")]
|
||||
|
||||
// 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다.
|
||||
//
|
||||
// 주 버전
|
||||
// 부 버전
|
||||
// 빌드 번호
|
||||
// 수정 버전
|
||||
//
|
||||
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 버전이 자동으로
|
||||
// 지정되도록 할 수 있습니다.
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// 어셈블리의 일반 정보는 다음 특성 집합을 통해 제어됩니다.
|
||||
// 어셈블리와 관련된 정보를 수정하려면
|
||||
// 이 특성 값을 변경하십시오.
|
||||
[assembly: AssemblyTitle("StaffLayoutCtl")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("StaffLayoutCtl")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2018")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에
|
||||
// 표시되지 않습니다. COM에서 이 어셈블리의 형식에 액세스하려면
|
||||
// 해당 형식에 대해 ComVisible 특성을 true로 설정하십시오.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// 이 프로젝트가 COM에 노출되는 경우 다음 GUID는 typelib의 ID를 나타냅니다.
|
||||
[assembly: Guid("f2c91e2c-49ab-4997-987a-d7e455279f27")]
|
||||
|
||||
// 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다.
|
||||
//
|
||||
// 주 버전
|
||||
// 부 버전
|
||||
// 빌드 번호
|
||||
// 수정 버전
|
||||
//
|
||||
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 버전이 자동으로
|
||||
// 지정되도록 할 수 있습니다.
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
|
||||
@@ -1,63 +1,63 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="12.0" DefaultTargets="Build" 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>{B832738C-74DD-4CE2-8A29-98D0BCBB9EA4}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>StaffLayoutCtl</RootNamespace>
|
||||
<AssemblyName>StaffLayoutCtl</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="grid.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="grid.Designer.cs">
|
||||
<DependentUpon>grid.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Item.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="12.0" DefaultTargets="Build" 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>{B832738C-74DD-4CE2-8A29-98D0BCBB9EA4}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>StaffLayoutCtl</RootNamespace>
|
||||
<AssemblyName>StaffLayoutCtl</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="grid.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="grid.Designer.cs">
|
||||
<DependentUpon>grid.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Item.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
||||
Binary file not shown.
Binary file not shown.
72
Sub/StaffLayoutCtl/grid.Designer.cs
generated
72
Sub/StaffLayoutCtl/grid.Designer.cs
generated
@@ -1,36 +1,36 @@
|
||||
namespace StaffLayoutCtl
|
||||
{
|
||||
partial class grid
|
||||
{
|
||||
/// <summary>
|
||||
/// 필수 디자이너 변수입니다.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// 사용 중인 모든 리소스를 정리합니다.
|
||||
/// </summary>
|
||||
/// <param name="disposing">관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region 구성 요소 디자이너에서 생성한 코드
|
||||
|
||||
/// <summary>
|
||||
/// 디자이너 지원에 필요한 메서드입니다.
|
||||
/// 이 메서드의 내용을 코드 편집기로 수정하지 마십시오.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
components = new System.ComponentModel.Container();
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
namespace StaffLayoutCtl
|
||||
{
|
||||
partial class grid
|
||||
{
|
||||
/// <summary>
|
||||
/// 필수 디자이너 변수입니다.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// 사용 중인 모든 리소스를 정리합니다.
|
||||
/// </summary>
|
||||
/// <param name="disposing">관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region 구성 요소 디자이너에서 생성한 코드
|
||||
|
||||
/// <summary>
|
||||
/// 디자이너 지원에 필요한 메서드입니다.
|
||||
/// 이 메서드의 내용을 코드 편집기로 수정하지 마십시오.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
components = new System.ComponentModel.Container();
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,336 +1,336 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace StaffLayoutCtl
|
||||
{
|
||||
public partial class grid : Control
|
||||
{
|
||||
|
||||
public Boolean DeveloperMode = true;
|
||||
private Point GridCount = new Point(30, 20);
|
||||
private CGrid[,] gridrect = null;
|
||||
|
||||
public grid()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
// Set Optimized Double Buffer to reduce flickering
|
||||
this.SetStyle(ControlStyles.UserPaint, true);
|
||||
this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);
|
||||
this.SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
|
||||
this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);
|
||||
|
||||
// Redraw when resized
|
||||
this.SetStyle(ControlStyles.ResizeRedraw, true);
|
||||
this.Resize += arLabel_Resize;
|
||||
this.MouseDown += grid_MouseDown;
|
||||
this.MouseMove += grid_MouseMove;
|
||||
this.MouseUp += grid_MouseUp;
|
||||
|
||||
gridrect = new CGrid[GridCount.X, GridCount.Y];
|
||||
}
|
||||
|
||||
void grid_MouseUp(object sender, MouseEventArgs e)
|
||||
{
|
||||
Boolean bOK = false;
|
||||
if(mousedn && mouseDrag && selectindex != -1 && diffrect != RectangleF.Empty)
|
||||
{
|
||||
if(Math.Abs(mousediff.X) >= 10 && Math.Abs(mousediff.Y) >= 10)
|
||||
{
|
||||
//좌측코드가 속한 row,col 값으로 이동한다.
|
||||
for(int i = 0; i<= gridrect.GetUpperBound(0);i++)
|
||||
{
|
||||
for (int j = 0; j <= gridrect.GetUpperBound(1); j++)
|
||||
{
|
||||
var grid = this.gridrect[i, j];
|
||||
if(grid.Rect.Contains( diffrect.Location ))
|
||||
{
|
||||
var item = this.Items[selectindex];
|
||||
item.Row = grid.Row;
|
||||
item.Col = grid.Col;
|
||||
bOK = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (bOK) break;
|
||||
}
|
||||
}
|
||||
}
|
||||
mousedn = false;
|
||||
mouseDrag = false;
|
||||
this.Invalidate();
|
||||
}
|
||||
|
||||
void grid_MouseMove(object sender, MouseEventArgs e)
|
||||
{
|
||||
mousepos = e.Location;
|
||||
if (mousedn) mouseDrag = true;
|
||||
else mouseDrag = false;
|
||||
|
||||
//선택개체 위로 오면 마우스 모양을 변경한다.
|
||||
if (selectindex < 0)
|
||||
{
|
||||
if (this.Cursor != Cursors.Arrow)
|
||||
{
|
||||
this.Cursor = Cursors.Arrow;
|
||||
this.Invalidate();
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
var item = Items[selectindex];
|
||||
|
||||
//중앙부에 있다면 이동형 핸드를
|
||||
//외곽에 있다면 크기 조정용 을 표시한다.
|
||||
|
||||
//크기조정용 영역을 게산한다.
|
||||
RectangleF rectt = new RectangleF(item.Rect.Left, item.Rect.Top - 10, item.Rect.Width, 20);
|
||||
RectangleF rectb = new RectangleF(item.Rect.Left, item.Rect.Bottom - 10, item.Rect.Height, 20);
|
||||
RectangleF rectl = new RectangleF(item.Rect.Left - 10, item.Rect.Top, 20, item.Rect.Height);
|
||||
RectangleF rectr = new RectangleF(item.Rect.Right - 10, item.Rect.Top, 20, item.Rect.Height);
|
||||
|
||||
if (rectt.Contains(e.Location))
|
||||
{
|
||||
if (this.Cursor != Cursors.PanNorth)
|
||||
{
|
||||
this.Cursor = Cursors.PanNorth;
|
||||
this.Invalidate();
|
||||
}
|
||||
}
|
||||
else if (rectb.Contains(e.Location))
|
||||
{
|
||||
if (this.Cursor != Cursors.PanSouth)
|
||||
{
|
||||
this.Cursor = Cursors.PanSouth;
|
||||
this.Invalidate();
|
||||
}
|
||||
}
|
||||
else if (rectl.Contains(e.Location))
|
||||
{
|
||||
if (this.Cursor != Cursors.PanWest)
|
||||
{
|
||||
this.Cursor = Cursors.PanWest;
|
||||
this.Invalidate();
|
||||
}
|
||||
}
|
||||
else if (rectr.Contains(e.Location))
|
||||
{
|
||||
if (this.Cursor != Cursors.PanEast)
|
||||
{
|
||||
this.Cursor = Cursors.PanEast;
|
||||
this.Invalidate();
|
||||
}
|
||||
}
|
||||
else if (item.Rect.Contains(e.Location))
|
||||
{
|
||||
if (this.Cursor != Cursors.Hand)
|
||||
{
|
||||
this.Cursor = Cursors.Hand;
|
||||
this.Invalidate();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (this.Cursor != Cursors.Arrow)
|
||||
{
|
||||
this.Cursor = Cursors.Arrow;
|
||||
this.Invalidate();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (mousedn)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
this.Invalidate(); //화면이 업데이트되도록 함
|
||||
}
|
||||
}
|
||||
|
||||
Boolean mouseDrag = false;
|
||||
Boolean mousedn = false;
|
||||
Point mousednpos = Point.Empty;
|
||||
Point mousepos = Point.Empty;
|
||||
int selectindex = -1;
|
||||
void grid_MouseDown(object sender, MouseEventArgs e)
|
||||
{
|
||||
mousedn = true;
|
||||
//save down point
|
||||
mousednpos = e.Location;
|
||||
|
||||
//선택된 아이템을 찾아야한다.
|
||||
Boolean selected = false;
|
||||
int r = 0;
|
||||
int c = 0;
|
||||
for (int i = 0; i < Items.Count; i++)
|
||||
{
|
||||
var item = Items[i];
|
||||
if (item.Rect.Contains(e.Location))
|
||||
{
|
||||
selectindex = i;
|
||||
selected = true;
|
||||
r = item.Row;
|
||||
c = item.Col;
|
||||
selectRect = item.Rect;
|
||||
//다른 아이템의 선택을 해제한다.
|
||||
Console.WriteLine(string.Format("select item : {0}/{1}", item.Row, item.Col));
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (selected)
|
||||
{
|
||||
foreach (var item in Items)
|
||||
{
|
||||
if (item.Row == r && item.Col == c) item.Select = true;
|
||||
else item.Select = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
selectindex = -1;
|
||||
var selitem = Items.Where(t => t.Select);
|
||||
foreach (var item in selitem)
|
||||
item.Select = false;
|
||||
}
|
||||
Invalidate();
|
||||
}
|
||||
void arLabel_Resize(object sender, EventArgs e)
|
||||
{
|
||||
Make_Grid();
|
||||
Invalidate();
|
||||
}
|
||||
|
||||
Point mousediff = Point.Empty;
|
||||
RectangleF diffrect = RectangleF.Empty;
|
||||
|
||||
protected override void OnPaint(PaintEventArgs pe)
|
||||
{
|
||||
base.OnPaint(pe);
|
||||
Draw_Grid(pe.Graphics);
|
||||
Draw_Item(pe.Graphics);
|
||||
|
||||
if (mouseDrag && mousedn && selectindex != -1 && mousednpos != Point.Empty)
|
||||
{
|
||||
mousediff = new Point(mousepos.X - mousednpos.X, mousepos.Y - mousednpos.Y);
|
||||
|
||||
//이동영역을
|
||||
diffrect = new RectangleF(selectRect.Left + mousediff.X,
|
||||
selectRect.Top + mousediff.Y,
|
||||
selectRect.Width, selectRect.Height);
|
||||
|
||||
using(SolidBrush sb = new SolidBrush(Color.FromArgb(100,Color.Gray)))
|
||||
{
|
||||
pe.Graphics.FillRectangle(sb, diffrect);
|
||||
}
|
||||
|
||||
pe.Graphics.DrawRectangle(Pens.DimGray, diffrect.Left, diffrect.Top, diffrect.Width, diffrect.Height);
|
||||
}
|
||||
Draw_Debug(pe.Graphics);
|
||||
|
||||
}
|
||||
void Draw_Debug(Graphics g)
|
||||
{
|
||||
System.Text.StringBuilder sb = new StringBuilder();
|
||||
sb.AppendLine("diff = " + mousediff.ToString());
|
||||
sb.AppendLine("drag : " + mouseDrag.ToString());
|
||||
sb.AppendLine("mouse down : " + mousedn.ToString() + ", " + mousednpos.ToString());
|
||||
sb.AppendLine("mouse pos : " + this.mousepos.ToString());
|
||||
sb.AppendLine("select index : " + this.selectindex.ToString() + "," + this.selectRect.ToString());
|
||||
sb.AppendLine("sel rect : " + this.selectRect.ToString());
|
||||
sb.AppendLine("diff rect : " + this.diffrect.ToString());
|
||||
sb.AppendLine("cell size : " + cellSize.ToString());
|
||||
using (Font f = new Font("Consolas", 20f))
|
||||
{
|
||||
g.DrawString(sb.ToString(), f, Brushes.Black, 50 - 1, 50 - 1);
|
||||
g.DrawString(sb.ToString(), f, Brushes.Black, 50 - 1, 50 + 1);
|
||||
g.DrawString(sb.ToString(), f, Brushes.Black, 50 + 1, 50 - 1);
|
||||
g.DrawString(sb.ToString(), f, Brushes.Black, 50 + 1, 50 + 1);
|
||||
g.DrawString(sb.ToString(), f, Brushes.Red, 50, 50);
|
||||
}
|
||||
|
||||
}
|
||||
public List<CItem> Items = new List<CItem>();
|
||||
RectangleF selectRect = RectangleF.Empty;
|
||||
SizeF cellSize = SizeF.Empty;
|
||||
void Draw_Item(Graphics g)
|
||||
{
|
||||
if (DeveloperMode)
|
||||
{
|
||||
//demo item
|
||||
Items.Clear();
|
||||
Items.Add(new CItem(r: 1, c: 1, rs: 2, cs: 2, text: "김치균", bg: Color.White.ToArgb()));
|
||||
Items.Add(new CItem(4, 4, 1, 1, "박성민"));
|
||||
Items.Add(new CItem(6, 6, 10, 3, "고진일"));
|
||||
Items.Add(new CItem(7, 7, 2, 2, "테스트"));
|
||||
Items[1].Select = true;
|
||||
}
|
||||
|
||||
int idx = 0;
|
||||
foreach (var item in Items)
|
||||
{
|
||||
float x = item.Col * cellSize.Width;
|
||||
float y = item.Row * cellSize.Height;
|
||||
float w = item.ColSpan * cellSize.Width;
|
||||
float h = item.RowSpan * cellSize.Height;
|
||||
RectangleF rectf = new RectangleF(x, y, w, h);
|
||||
g.FillRectangle(Brushes.Yellow, rectf);
|
||||
item.Rect = rectf;
|
||||
if (item.Select)
|
||||
{
|
||||
g.DrawRectangle(new Pen(Color.Blue, 4f),
|
||||
rectf.Left, rectf.Top, rectf.Width, rectf.Height);
|
||||
|
||||
//크기조정을 위한 좌우 화살표가 필요하다.
|
||||
}
|
||||
|
||||
string data = idx.ToString();
|
||||
if (item.Text != "'") data = item.Text;
|
||||
g.DrawString(data + item.Select.ToString(), this.Font, Brushes.Black, x, y);
|
||||
idx += 1;
|
||||
}
|
||||
}
|
||||
void Make_Grid()
|
||||
{
|
||||
float gw = DisplayRectangle.Width / GridCount.Y;
|
||||
float gh = DisplayRectangle.Height / GridCount.X;
|
||||
cellSize = new SizeF(gw, gh);
|
||||
for (int i = 0; i < GridCount.X; i++)
|
||||
{
|
||||
for (int j = 0; j < GridCount.Y; j++)
|
||||
{
|
||||
int idx = (i * GridCount.Y) + j;
|
||||
RectangleF rect = new RectangleF(j * gw, i * gh, gw, gh); ;
|
||||
this.gridrect[i, j] = new CGrid(idx);
|
||||
this.gridrect[i, j].Rect = rect;
|
||||
this.gridrect[i, j].Row = i;
|
||||
this.gridrect[i, j].Col = j;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Draw_Grid(Graphics g)
|
||||
{
|
||||
if(gridrect[0,0]== null) Make_Grid();
|
||||
|
||||
for (int i = 0; i <= gridrect.GetUpperBound(0); i++)
|
||||
{
|
||||
for (int j = 0; j <= gridrect.GetUpperBound(1); j++)
|
||||
{
|
||||
var grid = this.gridrect[i, j];
|
||||
g.DrawRectangle(Pens.Black, grid.Rect.Left, grid.Rect.Top, grid.Rect.Width, grid.Rect.Height);
|
||||
g.DrawString(grid.IDX.ToString(), this.Font, Brushes.Blue, grid.Rect.Left, grid.Rect.Top);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace StaffLayoutCtl
|
||||
{
|
||||
public partial class grid : Control
|
||||
{
|
||||
|
||||
public Boolean DeveloperMode = true;
|
||||
private Point GridCount = new Point(30, 20);
|
||||
private CGrid[,] gridrect = null;
|
||||
|
||||
public grid()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
// Set Optimized Double Buffer to reduce flickering
|
||||
this.SetStyle(ControlStyles.UserPaint, true);
|
||||
this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);
|
||||
this.SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
|
||||
this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);
|
||||
|
||||
// Redraw when resized
|
||||
this.SetStyle(ControlStyles.ResizeRedraw, true);
|
||||
this.Resize += arLabel_Resize;
|
||||
this.MouseDown += grid_MouseDown;
|
||||
this.MouseMove += grid_MouseMove;
|
||||
this.MouseUp += grid_MouseUp;
|
||||
|
||||
gridrect = new CGrid[GridCount.X, GridCount.Y];
|
||||
}
|
||||
|
||||
void grid_MouseUp(object sender, MouseEventArgs e)
|
||||
{
|
||||
Boolean bOK = false;
|
||||
if(mousedn && mouseDrag && selectindex != -1 && diffrect != RectangleF.Empty)
|
||||
{
|
||||
if(Math.Abs(mousediff.X) >= 10 && Math.Abs(mousediff.Y) >= 10)
|
||||
{
|
||||
//좌측코드가 속한 row,col 값으로 이동한다.
|
||||
for(int i = 0; i<= gridrect.GetUpperBound(0);i++)
|
||||
{
|
||||
for (int j = 0; j <= gridrect.GetUpperBound(1); j++)
|
||||
{
|
||||
var grid = this.gridrect[i, j];
|
||||
if(grid.Rect.Contains( diffrect.Location ))
|
||||
{
|
||||
var item = this.Items[selectindex];
|
||||
item.Row = grid.Row;
|
||||
item.Col = grid.Col;
|
||||
bOK = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (bOK) break;
|
||||
}
|
||||
}
|
||||
}
|
||||
mousedn = false;
|
||||
mouseDrag = false;
|
||||
this.Invalidate();
|
||||
}
|
||||
|
||||
void grid_MouseMove(object sender, MouseEventArgs e)
|
||||
{
|
||||
mousepos = e.Location;
|
||||
if (mousedn) mouseDrag = true;
|
||||
else mouseDrag = false;
|
||||
|
||||
//선택개체 위로 오면 마우스 모양을 변경한다.
|
||||
if (selectindex < 0)
|
||||
{
|
||||
if (this.Cursor != Cursors.Arrow)
|
||||
{
|
||||
this.Cursor = Cursors.Arrow;
|
||||
this.Invalidate();
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
var item = Items[selectindex];
|
||||
|
||||
//중앙부에 있다면 이동형 핸드를
|
||||
//외곽에 있다면 크기 조정용 을 표시한다.
|
||||
|
||||
//크기조정용 영역을 게산한다.
|
||||
RectangleF rectt = new RectangleF(item.Rect.Left, item.Rect.Top - 10, item.Rect.Width, 20);
|
||||
RectangleF rectb = new RectangleF(item.Rect.Left, item.Rect.Bottom - 10, item.Rect.Height, 20);
|
||||
RectangleF rectl = new RectangleF(item.Rect.Left - 10, item.Rect.Top, 20, item.Rect.Height);
|
||||
RectangleF rectr = new RectangleF(item.Rect.Right - 10, item.Rect.Top, 20, item.Rect.Height);
|
||||
|
||||
if (rectt.Contains(e.Location))
|
||||
{
|
||||
if (this.Cursor != Cursors.PanNorth)
|
||||
{
|
||||
this.Cursor = Cursors.PanNorth;
|
||||
this.Invalidate();
|
||||
}
|
||||
}
|
||||
else if (rectb.Contains(e.Location))
|
||||
{
|
||||
if (this.Cursor != Cursors.PanSouth)
|
||||
{
|
||||
this.Cursor = Cursors.PanSouth;
|
||||
this.Invalidate();
|
||||
}
|
||||
}
|
||||
else if (rectl.Contains(e.Location))
|
||||
{
|
||||
if (this.Cursor != Cursors.PanWest)
|
||||
{
|
||||
this.Cursor = Cursors.PanWest;
|
||||
this.Invalidate();
|
||||
}
|
||||
}
|
||||
else if (rectr.Contains(e.Location))
|
||||
{
|
||||
if (this.Cursor != Cursors.PanEast)
|
||||
{
|
||||
this.Cursor = Cursors.PanEast;
|
||||
this.Invalidate();
|
||||
}
|
||||
}
|
||||
else if (item.Rect.Contains(e.Location))
|
||||
{
|
||||
if (this.Cursor != Cursors.Hand)
|
||||
{
|
||||
this.Cursor = Cursors.Hand;
|
||||
this.Invalidate();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (this.Cursor != Cursors.Arrow)
|
||||
{
|
||||
this.Cursor = Cursors.Arrow;
|
||||
this.Invalidate();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (mousedn)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
this.Invalidate(); //화면이 업데이트되도록 함
|
||||
}
|
||||
}
|
||||
|
||||
Boolean mouseDrag = false;
|
||||
Boolean mousedn = false;
|
||||
Point mousednpos = Point.Empty;
|
||||
Point mousepos = Point.Empty;
|
||||
int selectindex = -1;
|
||||
void grid_MouseDown(object sender, MouseEventArgs e)
|
||||
{
|
||||
mousedn = true;
|
||||
//save down point
|
||||
mousednpos = e.Location;
|
||||
|
||||
//선택된 아이템을 찾아야한다.
|
||||
Boolean selected = false;
|
||||
int r = 0;
|
||||
int c = 0;
|
||||
for (int i = 0; i < Items.Count; i++)
|
||||
{
|
||||
var item = Items[i];
|
||||
if (item.Rect.Contains(e.Location))
|
||||
{
|
||||
selectindex = i;
|
||||
selected = true;
|
||||
r = item.Row;
|
||||
c = item.Col;
|
||||
selectRect = item.Rect;
|
||||
//다른 아이템의 선택을 해제한다.
|
||||
Console.WriteLine(string.Format("select item : {0}/{1}", item.Row, item.Col));
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (selected)
|
||||
{
|
||||
foreach (var item in Items)
|
||||
{
|
||||
if (item.Row == r && item.Col == c) item.Select = true;
|
||||
else item.Select = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
selectindex = -1;
|
||||
var selitem = Items.Where(t => t.Select);
|
||||
foreach (var item in selitem)
|
||||
item.Select = false;
|
||||
}
|
||||
Invalidate();
|
||||
}
|
||||
void arLabel_Resize(object sender, EventArgs e)
|
||||
{
|
||||
Make_Grid();
|
||||
Invalidate();
|
||||
}
|
||||
|
||||
Point mousediff = Point.Empty;
|
||||
RectangleF diffrect = RectangleF.Empty;
|
||||
|
||||
protected override void OnPaint(PaintEventArgs pe)
|
||||
{
|
||||
base.OnPaint(pe);
|
||||
Draw_Grid(pe.Graphics);
|
||||
Draw_Item(pe.Graphics);
|
||||
|
||||
if (mouseDrag && mousedn && selectindex != -1 && mousednpos != Point.Empty)
|
||||
{
|
||||
mousediff = new Point(mousepos.X - mousednpos.X, mousepos.Y - mousednpos.Y);
|
||||
|
||||
//이동영역을
|
||||
diffrect = new RectangleF(selectRect.Left + mousediff.X,
|
||||
selectRect.Top + mousediff.Y,
|
||||
selectRect.Width, selectRect.Height);
|
||||
|
||||
using(SolidBrush sb = new SolidBrush(Color.FromArgb(100,Color.Gray)))
|
||||
{
|
||||
pe.Graphics.FillRectangle(sb, diffrect);
|
||||
}
|
||||
|
||||
pe.Graphics.DrawRectangle(Pens.DimGray, diffrect.Left, diffrect.Top, diffrect.Width, diffrect.Height);
|
||||
}
|
||||
Draw_Debug(pe.Graphics);
|
||||
|
||||
}
|
||||
void Draw_Debug(Graphics g)
|
||||
{
|
||||
System.Text.StringBuilder sb = new StringBuilder();
|
||||
sb.AppendLine("diff = " + mousediff.ToString());
|
||||
sb.AppendLine("drag : " + mouseDrag.ToString());
|
||||
sb.AppendLine("mouse down : " + mousedn.ToString() + ", " + mousednpos.ToString());
|
||||
sb.AppendLine("mouse pos : " + this.mousepos.ToString());
|
||||
sb.AppendLine("select index : " + this.selectindex.ToString() + "," + this.selectRect.ToString());
|
||||
sb.AppendLine("sel rect : " + this.selectRect.ToString());
|
||||
sb.AppendLine("diff rect : " + this.diffrect.ToString());
|
||||
sb.AppendLine("cell size : " + cellSize.ToString());
|
||||
using (Font f = new Font("Consolas", 20f))
|
||||
{
|
||||
g.DrawString(sb.ToString(), f, Brushes.Black, 50 - 1, 50 - 1);
|
||||
g.DrawString(sb.ToString(), f, Brushes.Black, 50 - 1, 50 + 1);
|
||||
g.DrawString(sb.ToString(), f, Brushes.Black, 50 + 1, 50 - 1);
|
||||
g.DrawString(sb.ToString(), f, Brushes.Black, 50 + 1, 50 + 1);
|
||||
g.DrawString(sb.ToString(), f, Brushes.Red, 50, 50);
|
||||
}
|
||||
|
||||
}
|
||||
public List<CItem> Items = new List<CItem>();
|
||||
RectangleF selectRect = RectangleF.Empty;
|
||||
SizeF cellSize = SizeF.Empty;
|
||||
void Draw_Item(Graphics g)
|
||||
{
|
||||
if (DeveloperMode)
|
||||
{
|
||||
//demo item
|
||||
Items.Clear();
|
||||
Items.Add(new CItem(r: 1, c: 1, rs: 2, cs: 2, text: "김치균", bg: Color.White.ToArgb()));
|
||||
Items.Add(new CItem(4, 4, 1, 1, "박성민"));
|
||||
Items.Add(new CItem(6, 6, 10, 3, "고진일"));
|
||||
Items.Add(new CItem(7, 7, 2, 2, "테스트"));
|
||||
Items[1].Select = true;
|
||||
}
|
||||
|
||||
int idx = 0;
|
||||
foreach (var item in Items)
|
||||
{
|
||||
float x = item.Col * cellSize.Width;
|
||||
float y = item.Row * cellSize.Height;
|
||||
float w = item.ColSpan * cellSize.Width;
|
||||
float h = item.RowSpan * cellSize.Height;
|
||||
RectangleF rectf = new RectangleF(x, y, w, h);
|
||||
g.FillRectangle(Brushes.Yellow, rectf);
|
||||
item.Rect = rectf;
|
||||
if (item.Select)
|
||||
{
|
||||
g.DrawRectangle(new Pen(Color.Blue, 4f),
|
||||
rectf.Left, rectf.Top, rectf.Width, rectf.Height);
|
||||
|
||||
//크기조정을 위한 좌우 화살표가 필요하다.
|
||||
}
|
||||
|
||||
string data = idx.ToString();
|
||||
if (item.Text != "'") data = item.Text;
|
||||
g.DrawString(data + item.Select.ToString(), this.Font, Brushes.Black, x, y);
|
||||
idx += 1;
|
||||
}
|
||||
}
|
||||
void Make_Grid()
|
||||
{
|
||||
float gw = DisplayRectangle.Width / GridCount.Y;
|
||||
float gh = DisplayRectangle.Height / GridCount.X;
|
||||
cellSize = new SizeF(gw, gh);
|
||||
for (int i = 0; i < GridCount.X; i++)
|
||||
{
|
||||
for (int j = 0; j < GridCount.Y; j++)
|
||||
{
|
||||
int idx = (i * GridCount.Y) + j;
|
||||
RectangleF rect = new RectangleF(j * gw, i * gh, gw, gh); ;
|
||||
this.gridrect[i, j] = new CGrid(idx);
|
||||
this.gridrect[i, j].Rect = rect;
|
||||
this.gridrect[i, j].Row = i;
|
||||
this.gridrect[i, j].Col = j;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Draw_Grid(Graphics g)
|
||||
{
|
||||
if(gridrect[0,0]== null) Make_Grid();
|
||||
|
||||
for (int i = 0; i <= gridrect.GetUpperBound(0); i++)
|
||||
{
|
||||
for (int j = 0; j <= gridrect.GetUpperBound(1); j++)
|
||||
{
|
||||
var grid = this.gridrect[i, j];
|
||||
g.DrawRectangle(Pens.Black, grid.Rect.Left, grid.Rect.Top, grid.Rect.Width, grid.Rect.Height);
|
||||
g.DrawString(grid.IDX.ToString(), this.Font, Brushes.Blue, grid.Rect.Left, grid.Rect.Top);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Binary file not shown.
@@ -1,5 +1,9 @@
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\StaffLayoutCtl\bin\Debug\StaffLayoutCtl.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\StaffLayoutCtl\bin\Debug\StaffLayoutCtl.pdb
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\StaffLayoutCtl\obj\Debug\StaffLayoutCtl.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\StaffLayoutCtl\obj\Debug\StaffLayoutCtl.pdb
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\StaffLayoutCtl\obj\Debug\StaffLayoutCtl.csprojResolveAssemblyReference.cache
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\StaffLayoutCtl\bin\Debug\StaffLayoutCtl.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\StaffLayoutCtl\bin\Debug\StaffLayoutCtl.pdb
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\StaffLayoutCtl\obj\Debug\StaffLayoutCtl.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\StaffLayoutCtl\obj\Debug\StaffLayoutCtl.pdb
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\StaffLayoutCtl\obj\Debug\StaffLayoutCtl.csprojResolveAssemblyReference.cache
|
||||
D:\Source\GroupWare\EET_GroupWare_180713_0000\Sub\StaffLayoutCtl\bin\Debug\StaffLayoutCtl.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180713_0000\Sub\StaffLayoutCtl\bin\Debug\StaffLayoutCtl.pdb
|
||||
D:\Source\GroupWare\EET_GroupWare_180713_0000\Sub\StaffLayoutCtl\obj\Debug\StaffLayoutCtl.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180713_0000\Sub\StaffLayoutCtl\obj\Debug\StaffLayoutCtl.pdb
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Submodule Sub/arAdvantech_USB4761 deleted from a98063ae73
Submodule Sub/arCtl deleted from 588da87d19
@@ -1,6 +1,6 @@
|
||||
[.ShellClassInfo]
|
||||
IconResource=C:\WINDOWS\System32\SHELL32.dll,27
|
||||
[ViewState]
|
||||
Mode=
|
||||
Vid=
|
||||
FolderType=Generic
|
||||
[.ShellClassInfo]
|
||||
IconResource=C:\WINDOWS\System32\SHELL32.dll,27
|
||||
[ViewState]
|
||||
Mode=
|
||||
Vid=
|
||||
FolderType=Generic
|
||||
|
||||
124
Sub/test/Form1.Designer.cs
generated
124
Sub/test/Form1.Designer.cs
generated
@@ -1,62 +1,62 @@
|
||||
namespace test
|
||||
{
|
||||
partial class Form1
|
||||
{
|
||||
/// <summary>
|
||||
/// 필수 디자이너 변수입니다.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// 사용 중인 모든 리소스를 정리합니다.
|
||||
/// </summary>
|
||||
/// <param name="disposing">관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form 디자이너에서 생성한 코드
|
||||
|
||||
/// <summary>
|
||||
/// 디자이너 지원에 필요한 메서드입니다.
|
||||
/// 이 메서드의 내용을 코드 편집기로 수정하지 마십시오.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.grid1 = new StaffLayoutCtl.grid();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// grid1
|
||||
//
|
||||
this.grid1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.grid1.Font = new System.Drawing.Font("Consolas", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.grid1.Location = new System.Drawing.Point(0, 0);
|
||||
this.grid1.Name = "grid1";
|
||||
this.grid1.Size = new System.Drawing.Size(884, 561);
|
||||
this.grid1.TabIndex = 0;
|
||||
this.grid1.Text = "grid1";
|
||||
//
|
||||
// Form1
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(884, 561);
|
||||
this.Controls.Add(this.grid1);
|
||||
this.Name = "Form1";
|
||||
this.Text = "Form1";
|
||||
this.Load += new System.EventHandler(this.Form1_Load);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private StaffLayoutCtl.grid grid1;
|
||||
}
|
||||
}
|
||||
|
||||
namespace test
|
||||
{
|
||||
partial class Form1
|
||||
{
|
||||
/// <summary>
|
||||
/// 필수 디자이너 변수입니다.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// 사용 중인 모든 리소스를 정리합니다.
|
||||
/// </summary>
|
||||
/// <param name="disposing">관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form 디자이너에서 생성한 코드
|
||||
|
||||
/// <summary>
|
||||
/// 디자이너 지원에 필요한 메서드입니다.
|
||||
/// 이 메서드의 내용을 코드 편집기로 수정하지 마십시오.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.grid1 = new StaffLayoutCtl.grid();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// grid1
|
||||
//
|
||||
this.grid1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.grid1.Font = new System.Drawing.Font("Consolas", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.grid1.Location = new System.Drawing.Point(0, 0);
|
||||
this.grid1.Name = "grid1";
|
||||
this.grid1.Size = new System.Drawing.Size(884, 561);
|
||||
this.grid1.TabIndex = 0;
|
||||
this.grid1.Text = "grid1";
|
||||
//
|
||||
// Form1
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(884, 561);
|
||||
this.Controls.Add(this.grid1);
|
||||
this.Name = "Form1";
|
||||
this.Text = "Form1";
|
||||
this.Load += new System.EventHandler(this.Form1_Load);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private StaffLayoutCtl.grid grid1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,33 +1,33 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace test
|
||||
{
|
||||
public partial class Form1 : Form
|
||||
{
|
||||
public Form1()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void Form1_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
grid1.DeveloperMode = false;
|
||||
var Item = this.grid1.Items;
|
||||
Item.Clear();
|
||||
Item.Add(new StaffLayoutCtl.grid.CItem(r: 1, c: 1, rs: 2, cs: 2, text: "김치균", bg: Color.White.ToArgb()));
|
||||
Item.Add(new StaffLayoutCtl.grid.CItem(4, 4, 1, 1, "박성민"));
|
||||
Item.Add(new StaffLayoutCtl.grid.CItem(6, 6, 10, 3, "고진일"));
|
||||
Item.Add(new StaffLayoutCtl.grid.CItem(7, 7, 2, 2, "테스트"));
|
||||
Item[1].Select = true;
|
||||
this.grid1.Invalidate();
|
||||
}
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace test
|
||||
{
|
||||
public partial class Form1 : Form
|
||||
{
|
||||
public Form1()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void Form1_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
grid1.DeveloperMode = false;
|
||||
var Item = this.grid1.Items;
|
||||
Item.Clear();
|
||||
Item.Add(new StaffLayoutCtl.grid.CItem(r: 1, c: 1, rs: 2, cs: 2, text: "김치균", bg: Color.White.ToArgb()));
|
||||
Item.Add(new StaffLayoutCtl.grid.CItem(4, 4, 1, 1, "박성민"));
|
||||
Item.Add(new StaffLayoutCtl.grid.CItem(6, 6, 10, 3, "고진일"));
|
||||
Item.Add(new StaffLayoutCtl.grid.CItem(7, 7, 2, 2, "테스트"));
|
||||
Item[1].Select = true;
|
||||
this.grid1.Invalidate();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,120 +1,120 @@
|
||||
<?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>
|
||||
<?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>
|
||||
</root>
|
||||
@@ -1,21 +1,21 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace test
|
||||
{
|
||||
static class Program
|
||||
{
|
||||
/// <summary>
|
||||
/// 해당 응용 프로그램의 주 진입점입니다.
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
static void Main()
|
||||
{
|
||||
Application.EnableVisualStyles();
|
||||
Application.SetCompatibleTextRenderingDefault(false);
|
||||
Application.Run(new Form1());
|
||||
}
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace test
|
||||
{
|
||||
static class Program
|
||||
{
|
||||
/// <summary>
|
||||
/// 해당 응용 프로그램의 주 진입점입니다.
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
static void Main()
|
||||
{
|
||||
Application.EnableVisualStyles();
|
||||
Application.SetCompatibleTextRenderingDefault(false);
|
||||
Application.Run(new Form1());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,36 +1,36 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// 어셈블리의 일반 정보는 다음 특성 집합을 통해 제어됩니다.
|
||||
// 어셈블리와 관련된 정보를 수정하려면
|
||||
// 이 특성 값을 변경하십시오.
|
||||
[assembly: AssemblyTitle("test")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("test")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2018")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에
|
||||
// 표시되지 않습니다. COM에서 이 어셈블리의 형식에 액세스하려면
|
||||
// 해당 형식에 대해 ComVisible 특성을 true로 설정하십시오.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// 이 프로젝트가 COM에 노출되는 경우 다음 GUID는 typelib의 ID를 나타냅니다.
|
||||
[assembly: Guid("ca295492-5476-4c92-a311-d177391d05c9")]
|
||||
|
||||
// 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다.
|
||||
//
|
||||
// 주 버전
|
||||
// 부 버전
|
||||
// 빌드 번호
|
||||
// 수정 버전
|
||||
//
|
||||
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 버전이 자동으로
|
||||
// 지정되도록 할 수 있습니다.
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// 어셈블리의 일반 정보는 다음 특성 집합을 통해 제어됩니다.
|
||||
// 어셈블리와 관련된 정보를 수정하려면
|
||||
// 이 특성 값을 변경하십시오.
|
||||
[assembly: AssemblyTitle("test")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("test")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2018")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에
|
||||
// 표시되지 않습니다. COM에서 이 어셈블리의 형식에 액세스하려면
|
||||
// 해당 형식에 대해 ComVisible 특성을 true로 설정하십시오.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// 이 프로젝트가 COM에 노출되는 경우 다음 GUID는 typelib의 ID를 나타냅니다.
|
||||
[assembly: Guid("ca295492-5476-4c92-a311-d177391d05c9")]
|
||||
|
||||
// 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다.
|
||||
//
|
||||
// 주 버전
|
||||
// 부 버전
|
||||
// 빌드 번호
|
||||
// 수정 버전
|
||||
//
|
||||
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 버전이 자동으로
|
||||
// 지정되도록 할 수 있습니다.
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
|
||||
142
Sub/test/Properties/Resources.Designer.cs
generated
142
Sub/test/Properties/Resources.Designer.cs
generated
@@ -1,71 +1,71 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 이 코드는 도구를 사용하여 생성되었습니다.
|
||||
// 런타임 버전:4.0.30319.42000
|
||||
//
|
||||
// 파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면
|
||||
// 이러한 변경 내용이 손실됩니다.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace test.Properties
|
||||
{
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 지역화된 문자열 등을 찾기 위한 강력한 형식의 리소스 클래스입니다.
|
||||
/// </summary>
|
||||
// 이 클래스는 ResGen 또는 Visual Studio와 같은 도구를 통해 StronglyTypedResourceBuilder
|
||||
// 클래스에서 자동으로 생성되었습니다.
|
||||
// 멤버를 추가하거나 제거하려면 .ResX 파일을 편집한 다음 /str 옵션을 사용하여
|
||||
// ResGen을 다시 실행하거나 VS 프로젝트를 다시 빌드하십시오.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.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 ((resourceMan == null))
|
||||
{
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("test.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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 이 코드는 도구를 사용하여 생성되었습니다.
|
||||
// 런타임 버전:4.0.30319.42000
|
||||
//
|
||||
// 파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면
|
||||
// 이러한 변경 내용이 손실됩니다.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace test.Properties
|
||||
{
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 지역화된 문자열 등을 찾기 위한 강력한 형식의 리소스 클래스입니다.
|
||||
/// </summary>
|
||||
// 이 클래스는 ResGen 또는 Visual Studio와 같은 도구를 통해 StronglyTypedResourceBuilder
|
||||
// 클래스에서 자동으로 생성되었습니다.
|
||||
// 멤버를 추가하거나 제거하려면 .ResX 파일을 편집한 다음 /str 옵션을 사용하여
|
||||
// ResGen을 다시 실행하거나 VS 프로젝트를 다시 빌드하십시오.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.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 ((resourceMan == null))
|
||||
{
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("test.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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,117 +1,117 @@
|
||||
<?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.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: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" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
</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" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
</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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<?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.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: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" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
</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" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
</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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
60
Sub/test/Properties/Settings.Designer.cs
generated
60
Sub/test/Properties/Settings.Designer.cs
generated
@@ -1,30 +1,30 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace test.Properties
|
||||
{
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace test.Properties
|
||||
{
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +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>
|
||||
<?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.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,11 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
|
||||
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
|
||||
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
|
||||
<security>
|
||||
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
|
||||
</requestedPrivileges>
|
||||
</security>
|
||||
</trustInfo>
|
||||
</assembly>
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
|
||||
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
|
||||
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
|
||||
<security>
|
||||
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
|
||||
</requestedPrivileges>
|
||||
</security>
|
||||
</trustInfo>
|
||||
</assembly>
|
||||
|
||||
Binary file not shown.
@@ -1,22 +1,41 @@
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\test\bin\Debug\libxl.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\test\bin\Debug\test.exe
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\test\bin\Debug\test.pdb
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\test\bin\Debug\AmkorRestfulService.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\test\bin\Debug\arControl.Net4.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\test\bin\Debug\GWEE.exe
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\test\bin\Debug\StaffLayoutCtl.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\test\bin\Debug\ArSetting.Net4.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\test\bin\Debug\arINIHelper.Net4.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\test\bin\Debug\ArLog.Net4.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\test\bin\Debug\libxl.net.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\test\bin\Debug\CarlosAg.ExcelXmlWriter.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\test\bin\Debug\GWEE.pdb
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\test\bin\Debug\AmkorRestfulService.pdb
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\test\bin\Debug\arControl.Net4.pdb
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\test\bin\Debug\StaffLayoutCtl.pdb
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\test\obj\Debug\test.csprojResolveAssemblyReference.cache
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\test\obj\Debug\test.Form1.resources
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\test\obj\Debug\test.Properties.Resources.resources
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\test\obj\Debug\test.csproj.GenerateResource.Cache
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\test\obj\Debug\test.exe
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\test\obj\Debug\test.pdb
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\test\bin\Debug\libxl.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\test\bin\Debug\test.exe
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\test\bin\Debug\test.pdb
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\test\bin\Debug\AmkorRestfulService.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\test\bin\Debug\arControl.Net4.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\test\bin\Debug\GWEE.exe
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\test\bin\Debug\StaffLayoutCtl.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\test\bin\Debug\ArSetting.Net4.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\test\bin\Debug\arINIHelper.Net4.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\test\bin\Debug\ArLog.Net4.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\test\bin\Debug\libxl.net.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\test\bin\Debug\CarlosAg.ExcelXmlWriter.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\test\bin\Debug\GWEE.pdb
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\test\bin\Debug\AmkorRestfulService.pdb
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\test\bin\Debug\arControl.Net4.pdb
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\test\bin\Debug\StaffLayoutCtl.pdb
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\test\obj\Debug\test.csprojResolveAssemblyReference.cache
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\test\obj\Debug\test.Form1.resources
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\test\obj\Debug\test.Properties.Resources.resources
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\test\obj\Debug\test.csproj.GenerateResource.Cache
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\test\obj\Debug\test.exe
|
||||
D:\Source\GroupWare\EET_GroupWare_180704_0000\Sub\test\obj\Debug\test.pdb
|
||||
D:\Source\GroupWare\EET_GroupWare_180713_0000\Sub\test\bin\Debug\libxl.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180713_0000\Sub\test\bin\Debug\test.exe
|
||||
D:\Source\GroupWare\EET_GroupWare_180713_0000\Sub\test\bin\Debug\test.pdb
|
||||
D:\Source\GroupWare\EET_GroupWare_180713_0000\Sub\test\bin\Debug\GWEE.exe
|
||||
D:\Source\GroupWare\EET_GroupWare_180713_0000\Sub\test\bin\Debug\StaffLayoutCtl.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180713_0000\Sub\test\bin\Debug\ArSetting.Net4.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180713_0000\Sub\test\bin\Debug\arControl.Net4.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180713_0000\Sub\test\bin\Debug\ArLog.Net4.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180713_0000\Sub\test\bin\Debug\libxl.net.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180713_0000\Sub\test\bin\Debug\CarlosAg.ExcelXmlWriter.dll
|
||||
D:\Source\GroupWare\EET_GroupWare_180713_0000\Sub\test\bin\Debug\GWEE.pdb
|
||||
D:\Source\GroupWare\EET_GroupWare_180713_0000\Sub\test\bin\Debug\StaffLayoutCtl.pdb
|
||||
D:\Source\GroupWare\EET_GroupWare_180713_0000\Sub\test\bin\Debug\arControl.Net4.pdb
|
||||
D:\Source\GroupWare\EET_GroupWare_180713_0000\Sub\test\obj\Debug\test.csprojResolveAssemblyReference.cache
|
||||
D:\Source\GroupWare\EET_GroupWare_180713_0000\Sub\test\obj\Debug\test.Form1.resources
|
||||
D:\Source\GroupWare\EET_GroupWare_180713_0000\Sub\test\obj\Debug\test.Properties.Resources.resources
|
||||
D:\Source\GroupWare\EET_GroupWare_180713_0000\Sub\test\obj\Debug\test.csproj.GenerateResource.Cache
|
||||
D:\Source\GroupWare\EET_GroupWare_180713_0000\Sub\test\obj\Debug\test.exe
|
||||
D:\Source\GroupWare\EET_GroupWare_180713_0000\Sub\test\obj\Debug\test.pdb
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,103 +1,95 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="12.0" DefaultTargets="Build" 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>{BDF730D5-8AC0-4C17-9A85-C93996B4E132}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>test</RootNamespace>
|
||||
<AssemblyName>test</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<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.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Form1.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Form1.Designer.cs">
|
||||
<DependentUpon>Form1.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<EmbeddedResource Include="Form1.resx">
|
||||
<DependentUpon>Form1.cs</DependentUpon>
|
||||
</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>
|
||||
</Compile>
|
||||
<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>
|
||||
<ProjectReference Include="..\..\Project\EETGW.csproj">
|
||||
<Project>{65f3e762-800c-499e-862f-a535642ec59f}</Project>
|
||||
<Name>EETGW</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\AmkorRestfulService\AmkorRestfulService\AmkorRestfulService.csproj">
|
||||
<Project>{58cfc90c-5068-46a2-a8de-0e92ee9e0990}</Project>
|
||||
<Name>AmkorRestfulService</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\arCtl\arControl.csproj">
|
||||
<Project>{f31c242c-1b15-4518-9733-48558499fe4b}</Project>
|
||||
<Name>arControl</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\StaffLayoutCtl\StaffLayoutCtl.csproj">
|
||||
<Project>{b832738c-74dd-4ce2-8a29-98d0bcbb9ea4}</Project>
|
||||
<Name>StaffLayoutCtl</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="12.0" DefaultTargets="Build" 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>{BDF730D5-8AC0-4C17-9A85-C93996B4E132}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>test</RootNamespace>
|
||||
<AssemblyName>test</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<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.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Form1.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Form1.Designer.cs">
|
||||
<DependentUpon>Form1.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<EmbeddedResource Include="Form1.resx">
|
||||
<DependentUpon>Form1.cs</DependentUpon>
|
||||
</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>
|
||||
</Compile>
|
||||
<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>
|
||||
<ProjectReference Include="..\..\Project\EETGW.csproj">
|
||||
<Project>{65f3e762-800c-499e-862f-a535642ec59f}</Project>
|
||||
<Name>EETGW</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\StaffLayoutCtl\StaffLayoutCtl.csproj">
|
||||
<Project>{b832738c-74dd-4ce2-8a29-98d0bcbb9ea4}</Project>
|
||||
<Name>StaffLayoutCtl</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
||||
Reference in New Issue
Block a user