FileManager_Runtime_1704102200_Net4
1992
DriveInfo/DataSet/ireaDataSet.Designer.vb
generated
Normal file
10
DriveInfo/DataSet/ireaDataSet.xsc
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--<autogenerated>
|
||||
This code was generated by a tool.
|
||||
Changes to this file may cause incorrect behavior and will be lost if
|
||||
the code is regenerated.
|
||||
</autogenerated>-->
|
||||
<DataSetUISetting Version="1.00" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||
<TableUISettings>
|
||||
</TableUISettings>
|
||||
</DataSetUISetting>
|
||||
75
DriveInfo/DataSet/ireaDataSet.xsd
Normal file
@@ -0,0 +1,75 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xs:schema id="ireaDataSet" targetNamespace="http://tempuri.org/ireaDataSet.xsd" xmlns:mstns="http://tempuri.org/ireaDataSet.xsd" xmlns="http://tempuri.org/ireaDataSet.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:msprop="urn:schemas-microsoft-com:xml-msprop" attributeFormDefault="qualified" elementFormDefault="qualified">
|
||||
<xs:annotation>
|
||||
<xs:appinfo source="urn:schemas-microsoft-com:xml-msdatasource">
|
||||
<DataSource DefaultConnectionIndex="0" FunctionsComponentName="QueriesTableAdapter" Modifier="AutoLayout, AnsiClass, Class, Public" SchemaSerializationMode="IncludeSchema" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||
<Connections>
|
||||
<Connection AppSettingsObjectName="Settings" AppSettingsPropertyName="ireaConnectionString" IsAppSettingsProperty="True" Modifier="Assembly" Name="ireaConnectionString (Settings)" PropertyReference="ApplicationSettings.FileManager.Settings.GlobalReference.Default.ireaConnectionString" Provider="System.Data.OleDb">
|
||||
</Connection>
|
||||
</Connections>
|
||||
<Tables>
|
||||
</Tables>
|
||||
<Sources>
|
||||
</Sources>
|
||||
</DataSource>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:element name="ireaDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true" msprop:Generator_UserDSName="ireaDataSet" msprop:Generator_DataSetName="ireaDataSet">
|
||||
<xs:complexType>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element name="FileList" msprop:Generator_UserTableName="FileList" msprop:Generator_RowDeletedName="FileListRowDeleted" msprop:Generator_RowChangedName="FileListRowChanged" msprop:Generator_RowClassName="FileListRow" msprop:Generator_RowChangingName="FileListRowChanging" msprop:Generator_RowEvArgName="FileListRowChangeEvent" msprop:Generator_RowEvHandlerName="FileListRowChangeEventHandler" msprop:Generator_TableClassName="FileListDataTable" msprop:Generator_TableVarName="tableFileList" msprop:Generator_RowDeletingName="FileListRowDeleting" msprop:Generator_TablePropName="FileList">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="경로" msprop:Generator_UserColumnName="경로" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="경로" msprop:Generator_ColumnPropNameInTable="경로Column" msprop:Generator_ColumnVarNameInTable="column경로" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="파일명" msprop:Generator_UserColumnName="파일명" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="파일명" msprop:Generator_ColumnPropNameInTable="파일명Column" msprop:Generator_ColumnVarNameInTable="column파일명" type="xs:string" minOccurs="0" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="SrcList" msprop:Generator_UserTableName="SrcList" msprop:Generator_RowDeletedName="SrcListRowDeleted" msprop:Generator_RowChangedName="SrcListRowChanged" msprop:Generator_RowClassName="SrcListRow" msprop:Generator_RowChangingName="SrcListRowChanging" msprop:Generator_RowEvArgName="SrcListRowChangeEvent" msprop:Generator_RowEvHandlerName="SrcListRowChangeEventHandler" msprop:Generator_TableClassName="SrcListDataTable" msprop:Generator_TableVarName="tableSrcList" msprop:Generator_RowDeletingName="SrcListRowDeleting" msprop:Generator_TablePropName="SrcList">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="목록명" msprop:Generator_UserColumnName="목록명" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="목록명" msprop:Generator_ColumnPropNameInTable="목록명Column" msprop:Generator_ColumnVarNameInTable="column목록명" type="xs:string" minOccurs="0" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="WorkList" msprop:Generator_UserTableName="WorkList" msprop:Generator_RowDeletedName="WorkListRowDeleted" msprop:Generator_RowChangedName="WorkListRowChanged" msprop:Generator_RowClassName="WorkListRow" msprop:Generator_RowChangingName="WorkListRowChanging" msprop:Generator_RowEvArgName="WorkListRowChangeEvent" msprop:Generator_RowEvHandlerName="WorkListRowChangeEventHandler" msprop:Generator_TableClassName="WorkListDataTable" msprop:Generator_TableVarName="tableWorkList" msprop:Generator_RowDeletingName="WorkListRowDeleting" msprop:Generator_TablePropName="WorkList">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="원본경로" msprop:Generator_UserColumnName="원본경로" msprop:nullValue="_empty" msprop:Generator_ColumnVarNameInTable="column원본경로" msprop:Generator_ColumnPropNameInTable="원본경로Column" msprop:Generator_ColumnPropNameInRow="원본경로" type="xs:string" default="" minOccurs="0" />
|
||||
<xs:element name="원본파일명" msprop:Generator_UserColumnName="원본파일명" msprop:nullValue="_empty" msprop:Generator_ColumnVarNameInTable="column원본파일명" msprop:Generator_ColumnPropNameInTable="원본파일명Column" msprop:Generator_ColumnPropNameInRow="원본파일명" type="xs:string" default="" minOccurs="0" />
|
||||
<xs:element name="대상경로" msprop:Generator_UserColumnName="대상경로" msprop:nullValue="_empty" msprop:Generator_ColumnVarNameInTable="column대상경로" msprop:Generator_ColumnPropNameInTable="대상경로Column" msprop:Generator_ColumnPropNameInRow="대상경로" type="xs:string" default="" />
|
||||
<xs:element name="대상파일명" msprop:Generator_UserColumnName="대상파일명" msprop:nullValue="_empty" msprop:Generator_ColumnVarNameInTable="column대상파일명" msprop:Generator_ColumnPropNameInTable="대상파일명Column" msprop:Generator_ColumnPropNameInRow="대상파일명" type="xs:string" default="" />
|
||||
<xs:element name="구분" msprop:Generator_UserColumnName="구분" msprop:nullValue="_empty" msprop:Generator_ColumnVarNameInTable="column구분" msprop:Generator_ColumnPropNameInTable="구분Column" msprop:Generator_ColumnPropNameInRow="구분" type="xs:string" default="" minOccurs="0" />
|
||||
<xs:element name="성공" msprop:Generator_UserColumnName="성공" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="성공" msprop:Generator_ColumnPropNameInTable="성공Column" msprop:Generator_ColumnVarNameInTable="column성공" type="xs:string" default="" minOccurs="0" />
|
||||
<xs:element name="오류" msprop:Generator_UserColumnName="오류" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="오류" msprop:Generator_ColumnPropNameInTable="오류Column" msprop:Generator_ColumnVarNameInTable="column오류" type="xs:string" default="" />
|
||||
<xs:element name="seq" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="1" msprop:Generator_UserColumnName="seq" msprop:Generator_ColumnVarNameInTable="columnseq" msprop:Generator_ColumnPropNameInRow="seq" msprop:Generator_ColumnPropNameInTable="seqColumn" type="xs:int" minOccurs="0" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="subdir" msprop:Generator_UserTableName="subdir" msprop:Generator_RowDeletedName="subdirRowDeleted" msprop:Generator_RowChangedName="subdirRowChanged" msprop:Generator_RowClassName="subdirRow" msprop:Generator_RowChangingName="subdirRowChanging" msprop:Generator_RowEvArgName="subdirRowChangeEvent" msprop:Generator_RowEvHandlerName="subdirRowChangeEventHandler" msprop:Generator_TableClassName="subdirDataTable" msprop:Generator_TableVarName="tablesubdir" msprop:Generator_RowDeletingName="subdirRowDeleting" msprop:Generator_TablePropName="subdir">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="경로명" msprop:Generator_UserColumnName="경로명" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="경로명" msprop:Generator_ColumnPropNameInTable="경로명Column" msprop:Generator_ColumnVarNameInTable="column경로명" default="">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="100" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:unique name="Constraint1" msdata:PrimaryKey="true">
|
||||
<xs:selector xpath=".//mstns:WorkList" />
|
||||
<xs:field xpath="mstns:대상경로" />
|
||||
<xs:field xpath="mstns:대상파일명" />
|
||||
<xs:field xpath="mstns:오류" />
|
||||
</xs:unique>
|
||||
<xs:unique name="subdir_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
|
||||
<xs:selector xpath=".//mstns:subdir" />
|
||||
<xs:field xpath="mstns:경로명" />
|
||||
</xs:unique>
|
||||
</xs:element>
|
||||
</xs:schema>
|
||||
15
DriveInfo/DataSet/ireaDataSet.xss
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--<autogenerated>
|
||||
This code was generated by a tool to store the dataset designer's layout information.
|
||||
Changes to this file may cause incorrect behavior and will be lost if
|
||||
the code is regenerated.
|
||||
</autogenerated>-->
|
||||
<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="-10" ViewPortY="-10" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
|
||||
<Shapes>
|
||||
<Shape ID="DesignTable:subdir" ZOrder="1" X="535" Y="34" Height="48" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="92" />
|
||||
<Shape ID="DesignTable:FileList" ZOrder="4" X="39" Y="26" Height="277" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="273" />
|
||||
<Shape ID="DesignTable:SrcList" ZOrder="3" X="195" Y="26" Height="258" Width="149" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
|
||||
<Shape ID="DesignTable:WorkList" ZOrder="2" X="358" Y="28" Height="296" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="292" />
|
||||
</Shapes>
|
||||
<Connectors />
|
||||
</DiagramLayout>
|
||||
307
DriveInfo/DriveInfo.vbproj
Normal file
@@ -0,0 +1,307 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="12.0">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>9.0.30729</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{FEDED234-344B-4151-BBC5-67F1F5467C18}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<StartupObject>FileManager.My.MyApplication</StartupObject>
|
||||
<RootNamespace>FileManager</RootNamespace>
|
||||
<AssemblyName>FileManager</AssemblyName>
|
||||
<MyType>WindowsForms</MyType>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
<OldToolsVersion>3.5</OldToolsVersion>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<TargetFrameworkProfile />
|
||||
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||
<PublishUrl>D:\Tinsky\Visual Basic For IREA\Runtime\Setup_FileManager_170402_0100\</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Disk</InstallFrom>
|
||||
<UpdateEnabled>false</UpdateEnabled>
|
||||
<UpdateMode>Foreground</UpdateMode>
|
||||
<UpdateInterval>7</UpdateInterval>
|
||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||
<UpdatePeriodically>false</UpdatePeriodically>
|
||||
<UpdateRequired>false</UpdateRequired>
|
||||
<MapFileExtensions>true</MapFileExtensions>
|
||||
<SupportUrl>http://tindevil.com</SupportUrl>
|
||||
<ProductName>파일명관리자</ProductName>
|
||||
<PublisherName>SIMP</PublisherName>
|
||||
<AutorunEnabled>true</AutorunEnabled>
|
||||
<TrustUrlParameters>true</TrustUrlParameters>
|
||||
<ApplicationRevision>2</ApplicationRevision>
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<PublishWizardCompleted>true</PublishWizardCompleted>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
<BootstrapperComponentsLocation>Relative</BootstrapperComponentsLocation>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<DefineDebug>true</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<OutputPath>..\..\Runtime\FileManager\</OutputPath>
|
||||
<DocumentationFile>
|
||||
</DocumentationFile>
|
||||
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022,42353,42354,42355</NoWarn>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<DefineDebug>false</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>..\..\Runtime\FileManager\</OutputPath>
|
||||
<DocumentationFile>
|
||||
</DocumentationFile>
|
||||
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022,42353,42354,42355</NoWarn>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ApplicationIcon>Folder.ico</ApplicationIcon>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<TargetZone>LocalIntranet</TargetZone>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<GenerateManifests>true</GenerateManifests>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ApplicationManifest>My Project\app.manifest</ApplicationManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<SignManifests>false</SignManifests>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ManifestCertificateThumbprint>F2FEEBAFF25D2E024AFE5812C23EFE0EBB084EFC</ManifestCertificateThumbprint>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ManifestKeyFile>DriveInfo_TemporaryKey.pfx</ManifestKeyFile>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="C1.Win.4, Version=4.0.20171.248, Culture=neutral, PublicKeyToken=944ae1ea0e47ca04" />
|
||||
<Reference Include="C1.Win.C1Ribbon.4, Version=4.0.20171.248, Culture=neutral, PublicKeyToken=79882d576c6336da, processorArchitecture=MSIL" />
|
||||
<Reference Include="CommonClassv2">
|
||||
<HintPath>..\CommonClassv2.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="FarPoint.CalcEngine, Version=5.0.3518.2008, Culture=neutral, PublicKeyToken=327c3516b1b18457" />
|
||||
<Reference Include="FarPoint.Excel, Version=5.0.3518.2008, Culture=neutral, PublicKeyToken=327c3516b1b18457" />
|
||||
<Reference Include="FarPoint.PDF, Version=5.0.3518.2008, Culture=neutral, PublicKeyToken=327c3516b1b18457" />
|
||||
<Reference Include="FarPoint.PluginCalendar.WinForms, Version=5.0.3518.2008, Culture=neutral, PublicKeyToken=327c3516b1b18457" />
|
||||
<Reference Include="FarPoint.Win, Version=5.0.3518.2008, Culture=neutral, PublicKeyToken=327c3516b1b18457" />
|
||||
<Reference Include="FarPoint.Win.Chart, Version=5.0.3518.2008, Culture=neutral, PublicKeyToken=327c3516b1b18457" />
|
||||
<Reference Include="FarPoint.Win.Spread, Version=5.0.3518.2008, Culture=neutral, PublicKeyToken=327c3516b1b18457, processorArchitecture=MSIL" />
|
||||
<Reference Include="stdole, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>C:\Windows\assembly\GAC_MSIL\System.Xml\2.0.0.0__b77a5c561934e089\System.Xml.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Import Include="Microsoft.VisualBasic" />
|
||||
<Import Include="System" />
|
||||
<Import Include="System.Collections" />
|
||||
<Import Include="System.Collections.Generic" />
|
||||
<Import Include="System.Drawing" />
|
||||
<Import Include="System.Diagnostics" />
|
||||
<Import Include="System.IO" />
|
||||
<Import Include="System.Windows.Forms" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="DataSet\ireaDataSet.Designer.vb">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>ireaDataSet.xsd</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="fFtpPath.Designer.vb">
|
||||
<DependentUpon>fFtpPath.vb</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="fFtpPath.vb">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="모듈\Job.vb" />
|
||||
<Compile Include="모듈\Mod_Backup.vb" />
|
||||
<Compile Include="모듈\Pub.vb" />
|
||||
<Compile Include="모듈\mod_Delete.vb" />
|
||||
<Compile Include="모듈\Mod_Move.vb" />
|
||||
<Compile Include="입력폼\Form_Status.Designer.vb">
|
||||
<DependentUpon>Form_Status.vb</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="입력폼\Form_Status.vb">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="입력폼\Frm_FileInfo.vb">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="입력폼\Frm_FileInfo.Designer.vb">
|
||||
<DependentUpon>Frm_FileInfo.vb</DependentUpon>
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="입력폼\Frm_DeleteFile.Designer.vb">
|
||||
<DependentUpon>Frm_DeleteFile.vb</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="입력폼\Frm_DeleteFile.vb">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="입력폼\Frm_RenameFile.Designer.vb">
|
||||
<DependentUpon>Frm_RenameFile.vb</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="입력폼\Frm_RenameFile.vb">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="컨트롤\ImpCtl.Designer.vb">
|
||||
<DependentUpon>ImpCtl.vb</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="컨트롤\ImpCtl.vb">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Include="MDiMain.Designer.vb">
|
||||
<DependentUpon>MDiMain.vb</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="MDiMain.vb">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="My Project\AssemblyInfo.vb" />
|
||||
<Compile Include="My Project\Application.Designer.vb">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Application.myapp</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="My Project\Resources.Designer.vb">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="My Project\Settings.Designer.vb">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
<Compile Include="My Project\ApplicationEvents.vb" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="fFtpPath.resx">
|
||||
<DependentUpon>fFtpPath.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="입력폼\Form_Status.resx">
|
||||
<SubType>Designer</SubType>
|
||||
<DependentUpon>Form_Status.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="입력폼\Frm_DeleteFile.resx">
|
||||
<SubType>Designer</SubType>
|
||||
<DependentUpon>Frm_DeleteFile.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="입력폼\Frm_FileInfo.resx">
|
||||
<DependentUpon>Frm_FileInfo.vb</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="컨트롤\ImpCtl.resx">
|
||||
<SubType>Designer</SubType>
|
||||
<DependentUpon>ImpCtl.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="MDiMain.resx">
|
||||
<SubType>Designer</SubType>
|
||||
<DependentUpon>MDiMain.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="My Project\licenses.licx" />
|
||||
<EmbeddedResource Include="My Project\Resources.resx">
|
||||
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
|
||||
<CustomToolNamespace>My.Resources</CustomToolNamespace>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="DriveInfo_TemporaryKey.pfx" />
|
||||
<None Include="My Project\app.manifest" />
|
||||
<None Include="My Project\Application.myapp">
|
||||
<Generator>MyApplicationCodeGenerator</Generator>
|
||||
<LastGenOutput>Application.Designer.vb</LastGenOutput>
|
||||
</None>
|
||||
<None Include="My Project\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Flag 2-64.png.ico" />
|
||||
<Content Include="Folder.ico" />
|
||||
<Content Include="irea.mdb">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="ReadMe.htm" />
|
||||
<Content Include="ReadMe.txt" />
|
||||
<None Include="Resources\opts_16.png" />
|
||||
<None Include="Resources\foldr_16.png" />
|
||||
<None Include="app.config" />
|
||||
<None Include="DataSet\ireaDataSet.xsc">
|
||||
<DependentUpon>ireaDataSet.xsd</DependentUpon>
|
||||
</None>
|
||||
<None Include="DataSet\ireaDataSet.xsd">
|
||||
<Generator>MSDataSetGenerator</Generator>
|
||||
<LastGenOutput>ireaDataSet.Designer.vb</LastGenOutput>
|
||||
<SubType>Designer</SubType>
|
||||
</None>
|
||||
<None Include="DataSet\ireaDataSet.xss">
|
||||
<DependentUpon>ireaDataSet.xsd</DependentUpon>
|
||||
</None>
|
||||
<None Include="Resources\srch_32.png" />
|
||||
<None Include="Resources\splay_32.png" />
|
||||
<None Include="Resources\Accessibility.png" />
|
||||
<None Include="Resources\go_32.png" />
|
||||
<None Include="Resources\save_24.png" />
|
||||
<None Include="Resources\hd_24.png" />
|
||||
<None Include="Resources\play_321.png" />
|
||||
<None Include="Resources\stop_16.png" />
|
||||
<None Include="Resources\impt_32.png" />
|
||||
<None Include="Resources\play_32.png" />
|
||||
<None Include="Resources\opts_24.png" />
|
||||
<None Include="Resources\apps_16.png" />
|
||||
<None Include="Resources\remov_16.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="클래스\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.2.0.SP2">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 2.0 SP2</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\FTP_Client\FTP_Client.csproj">
|
||||
<Project>{9A2A1B46-799E-4D8E-8682-1F82963836A3}</Project>
|
||||
<Name>FTP_Client</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\[NET2]ArinLog\ArinLog.vbproj">
|
||||
<Project>{E9E16A98-8F8D-4848-A27E-4571C184FB1A}</Project>
|
||||
<Name>ArinLog</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\[NET2]ArinSetting\ArinSetting.vbproj">
|
||||
<Project>{631388D0-FADF-4C02-9536-A33E1C40F91D}</Project>
|
||||
<Name>ArinSetting</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" />
|
||||
</Project>
|
||||
BIN
DriveInfo/Flag 2-64.png.ico
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
DriveInfo/Folder.ico
Normal file
|
After Width: | Height: | Size: 158 KiB |
111
DriveInfo/Form1.Designer.vb
generated
Normal file
@@ -0,0 +1,111 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class Form1
|
||||
Inherits System.Windows.Forms.Form
|
||||
|
||||
'Form은 Dispose를 재정의하여 구성 요소 목록을 정리합니다.
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
Try
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
Finally
|
||||
MyBase.Dispose(disposing)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'Windows Form 디자이너에 필요합니다.
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'참고: 다음 프로시저는 Windows Form 디자이너에 필요합니다.
|
||||
'수정하려면 Windows Form 디자이너를 사용하십시오.
|
||||
'코드 편집기를 사용하여 수정하지 마십시오.
|
||||
<System.Diagnostics.DebuggerStepThrough()> _
|
||||
Private Sub InitializeComponent()
|
||||
Me.C1Ribbon1 = New C1.Win.C1Ribbon.C1Ribbon()
|
||||
Me.RibbonApplicationMenu1 = New C1.Win.C1Ribbon.RibbonApplicationMenu()
|
||||
Me.RibbonQat1 = New C1.Win.C1Ribbon.RibbonQat()
|
||||
Me.RibbonConfigToolBar1 = New C1.Win.C1Ribbon.RibbonConfigToolBar()
|
||||
Me.RibbonTopToolBar1 = New C1.Win.C1Ribbon.RibbonTopToolBar()
|
||||
Me.RibbonBottomToolBar1 = New C1.Win.C1Ribbon.RibbonBottomToolBar()
|
||||
Me.RibbonTab1 = New C1.Win.C1Ribbon.RibbonTab()
|
||||
Me.RibbonGroup1 = New C1.Win.C1Ribbon.RibbonGroup()
|
||||
Me.C1StatusBar1 = New C1.Win.C1Ribbon.C1StatusBar()
|
||||
CType(Me.C1Ribbon1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
CType(Me.C1StatusBar1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'C1Ribbon1
|
||||
'
|
||||
Me.C1Ribbon1.ApplicationMenuHolder = Me.RibbonApplicationMenu1
|
||||
Me.C1Ribbon1.BottomToolBarHolder = Me.RibbonBottomToolBar1
|
||||
Me.C1Ribbon1.ConfigToolBarHolder = Me.RibbonConfigToolBar1
|
||||
Me.C1Ribbon1.Location = New System.Drawing.Point(0, 0)
|
||||
Me.C1Ribbon1.Name = "C1Ribbon1"
|
||||
Me.C1Ribbon1.QatHolder = Me.RibbonQat1
|
||||
Me.C1Ribbon1.Size = New System.Drawing.Size(727, 155)
|
||||
Me.C1Ribbon1.Tabs.Add(Me.RibbonTab1)
|
||||
Me.C1Ribbon1.TopToolBarHolder = Me.RibbonTopToolBar1
|
||||
'
|
||||
'RibbonApplicationMenu1
|
||||
'
|
||||
Me.RibbonApplicationMenu1.Name = "RibbonApplicationMenu1"
|
||||
'
|
||||
'RibbonQat1
|
||||
'
|
||||
Me.RibbonQat1.Name = "RibbonQat1"
|
||||
'
|
||||
'RibbonConfigToolBar1
|
||||
'
|
||||
Me.RibbonConfigToolBar1.Name = "RibbonConfigToolBar1"
|
||||
'
|
||||
'RibbonTopToolBar1
|
||||
'
|
||||
Me.RibbonTopToolBar1.Name = "RibbonTopToolBar1"
|
||||
'
|
||||
'RibbonBottomToolBar1
|
||||
'
|
||||
Me.RibbonBottomToolBar1.Name = "RibbonBottomToolBar1"
|
||||
'
|
||||
'RibbonTab1
|
||||
'
|
||||
Me.RibbonTab1.Groups.Add(Me.RibbonGroup1)
|
||||
Me.RibbonTab1.Name = "RibbonTab1"
|
||||
Me.RibbonTab1.Text = "Tab"
|
||||
'
|
||||
'RibbonGroup1
|
||||
'
|
||||
Me.RibbonGroup1.Name = "RibbonGroup1"
|
||||
Me.RibbonGroup1.Text = "Group"
|
||||
'
|
||||
'C1StatusBar1
|
||||
'
|
||||
Me.C1StatusBar1.Location = New System.Drawing.Point(0, 584)
|
||||
Me.C1StatusBar1.Name = "C1StatusBar1"
|
||||
Me.C1StatusBar1.Size = New System.Drawing.Size(727, 22)
|
||||
'
|
||||
'Form1
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 12.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.ClientSize = New System.Drawing.Size(727, 606)
|
||||
Me.Controls.Add(Me.C1StatusBar1)
|
||||
Me.Controls.Add(Me.C1Ribbon1)
|
||||
Me.Name = "Form1"
|
||||
Me.Text = "Form1"
|
||||
CType(Me.C1Ribbon1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
CType(Me.C1StatusBar1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.ResumeLayout(False)
|
||||
Me.PerformLayout()
|
||||
|
||||
End Sub
|
||||
Friend WithEvents C1Ribbon1 As C1.Win.C1Ribbon.C1Ribbon
|
||||
Friend WithEvents RibbonApplicationMenu1 As C1.Win.C1Ribbon.RibbonApplicationMenu
|
||||
Friend WithEvents RibbonBottomToolBar1 As C1.Win.C1Ribbon.RibbonBottomToolBar
|
||||
Friend WithEvents RibbonConfigToolBar1 As C1.Win.C1Ribbon.RibbonConfigToolBar
|
||||
Friend WithEvents RibbonQat1 As C1.Win.C1Ribbon.RibbonQat
|
||||
Friend WithEvents RibbonTab1 As C1.Win.C1Ribbon.RibbonTab
|
||||
Friend WithEvents RibbonGroup1 As C1.Win.C1Ribbon.RibbonGroup
|
||||
Friend WithEvents RibbonTopToolBar1 As C1.Win.C1Ribbon.RibbonTopToolBar
|
||||
Friend WithEvents C1StatusBar1 As C1.Win.C1Ribbon.C1StatusBar
|
||||
End Class
|
||||
120
DriveInfo/Form1.resx
Normal file
@@ -0,0 +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=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>
|
||||
3
DriveInfo/Form1.vb
Normal file
@@ -0,0 +1,3 @@
|
||||
Public Class Form1
|
||||
|
||||
End Class
|
||||
29
DriveInfo/Form2.Designer.vb
generated
Normal file
@@ -0,0 +1,29 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class Form2
|
||||
Inherits System.Windows.Forms.Form
|
||||
|
||||
'Form은 Dispose를 재정의하여 구성 요소 목록을 정리합니다.
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
Try
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
Finally
|
||||
MyBase.Dispose(disposing)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'Windows Form 디자이너에 필요합니다.
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'참고: 다음 프로시저는 Windows Form 디자이너에 필요합니다.
|
||||
'수정하려면 Windows Form 디자이너를 사용하십시오.
|
||||
'코드 편집기를 사용하여 수정하지 마십시오.
|
||||
<System.Diagnostics.DebuggerStepThrough()> _
|
||||
Private Sub InitializeComponent()
|
||||
components = New System.ComponentModel.Container
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.Text = "Form2"
|
||||
End Sub
|
||||
End Class
|
||||
3
DriveInfo/Form2.vb
Normal file
@@ -0,0 +1,3 @@
|
||||
Public Class Form2
|
||||
|
||||
End Class
|
||||
1798
DriveInfo/MDiMain.Designer.vb
generated
Normal file
268
DriveInfo/MDiMain.resx
Normal file
@@ -0,0 +1,268 @@
|
||||
<?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>
|
||||
<metadata name="ToolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>709, 17</value>
|
||||
</metadata>
|
||||
<metadata name="Timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>802, 17</value>
|
||||
</metadata>
|
||||
<metadata name="ToolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>892, 17</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="btAddSubDir.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
|
||||
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABSklEQVQ4T2MYvODuAvb/t+Zx/r86h+v/
|
||||
xRm8/6HCxIPrQI1/HjX+//Ow4f/JyQKkG3B+Oi/cgIM9IqQbcHySIFBz3f8/D6r+72gXJ2zApZk8/89O
|
||||
5ft/EqjxSL/Q/33dIkDN5f//3iv6v75B5v+qGrn/SysV/88vVf4/q0gV08BTQH/+eVgP1FQLxJX//9wr
|
||||
AeK8/3/vZv7/eyf5/9/bcf//3YwA4pD/k3I0MQ041CsMdu7f+6VAjQVAjdlAjalAjQn//92KBmoM+//v
|
||||
RtD/f9f9/nel6WIasLNd4v+WZqn/68DOlf+/pELx/99bMUCN4f+n5mn8n5Cl9b87Q/d/e6r+/+ZEQ8Jh
|
||||
MhvoT5Bz/90I+N+ToUNYAzoA+fPfDX8g9vvfmqxPugHd6bpg/4JwfZwR6Qa0JBn8b4g3/F8Ta/y/MtqE
|
||||
dAPoBBgYACQj2J51/IhpAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="btDeleteSubDir.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6
|
||||
JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABb0lEQVQ4T7WQTSjDYRzHd1XeSu3iglo5
|
||||
IJO8hGQypLHIhMjMJAcOi4R2cXAg5UIOuEgOJCXlROI0b/Pamlp/LVLaBf+4PB9jqLW/seJ7eep5vt/P
|
||||
7/v8VH8iXCfQbQTHDh9XkYmVeURnFcKsh631sBC8HliaCfawtgC9JkS7HtFRAXMTipC3hsJcBiM9oe+c
|
||||
OgKQumxEYwHYmoJMYsiKMOXCpD1sQxWL04jK1HcQw1Zwn8FYfwDqPz9s4YXHBc3FgS8ZsxD1edDX8rvw
|
||||
p9jf9VfOQxjSoUYbYfhGgsZCyElA1sbzoI2F2uxf1r+5BlM+FCXisxjg4uh9uXdpfsjy7A8LvL+DVh2P
|
||||
JUm4S9Px7W1/BRi14dTEIJ8cKEN4eYZBC+iSOU5T49tYDTHelmcgtVUje69DIexuIueqcaZEIXU1gPyk
|
||||
OGlHE4fsdCgApkaQUqNx6zNBulKu6Zds74bzQwXApRPGB+Bw79vwP0ilegWKIwMchCbSyQAAAABJRU5E
|
||||
rkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="src_view1_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="ToolStrip3.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>164, 17</value>
|
||||
</metadata>
|
||||
<metadata name="ToolStrip4.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>273, 17</value>
|
||||
</metadata>
|
||||
<metadata name="DataSet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>382, 17</value>
|
||||
</metadata>
|
||||
<metadata name="ToolStrip5.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>484, 17</value>
|
||||
</metadata>
|
||||
<data name="bt_run.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wwAADsMBx2+oZAAABK1JREFUWEftlXtMlWUcx/lL5eK1GDrD7Ry5HA9wCBA4kbmpRTdjast5QQVLmMBM
|
||||
mogcLhLJ4SIXSZhMzJyxXMwutCxQJCUs04KsPyrnqjWRcetwk8M5x/f99n1ezwxTBnM7x63127573/OO
|
||||
cz6f3+95nheX/+tB68qXKvxwVoW2M2rYHzm32ptU6L+WBNPVRHz7+ULnS3zXqMbwDQOTicE/duKrj32d
|
||||
K3GRXZv78mHp3w9z7z5F4mydn/MkLtT7YLS/GLaRKthuHrRLvI6G9/ydI9HykS8sg6WQLIch2Q5ToowS
|
||||
2ZTYjvoareMlmjlu63A54dWALCTepkQ+JXZRIg51lQGOlTj9vj9s5jLItyoBVFFCyBhhG86EuScZg7+v
|
||||
Q21J0OQl2ptVaG9S4/vTalxuWIiLp3zwzWc+aK33RQt3+LmTfmj+wA9nTvijsVaDL45rIFlLIUvlFChl
|
||||
igApj88MnMQOTmILJV7C0fzgyUmIF4o4VuY+IywDpf/KfqaQa17AsRdw4xUSVMTuBbSA8H2cwF7GwM9p
|
||||
nEQKJxHHSayhxAocygmZWOJSg1qBi10tWY/Yw7W1HmIqudkq+MNi5CUKWJaMBL7F5DKZzG5mJ5NCiW38
|
||||
ziZKrKFENCX0qNgzgYQYt+hWgIFjzFGmhuEmg1jnA0wJAYW8julYAacyBCOBied9LCXW8rdiKLECI116
|
||||
DFwLRElq2PgSrZ8IgWKlY8hCQoC5ucaClY4JBsEYA5YJlu1geS2zmlnJSUVDGl0KiykMQ38uQt9P3jAm
|
||||
h99f4vxJnusBIwUq7GBeZfvmEh3D3rECFqNO5r0AxzEbmX/AkJ9lllFgCQXCKRBIATUF5uJG6yy8mRBx
|
||||
r0QTd7hlIJcCAijAYtT2jpVRp/GzHSwnMqLjseAXOfZoXpczTwG3IrlvQrgEWi6BikswD91ts9Fx3gM5
|
||||
WyPvFWis9VdeIraRLH4xh8lgdlEoldcUJoH3WyHbNjPr2d0rBK66DZYFeNltsBxJeCj/PhC2IT+Yuxdg
|
||||
8Dcv9F6Zjc4L7si+H1zUqWMaDHe8ypOwnf9gkphtTDwTy6xjXuaEVsE6tJKSLxDwHCWepgTBEsESwVIY
|
||||
4TqKatg5T1X3Y4R7Ej4TnV+7ITt+HLioT49oYfo1hkdmNddLJIZ5nnmGWc4sxfD1JbjZGYXRvicJiKJE
|
||||
FCXsYElHuJbPfNj5AsLnEj6H8OmEuyIrTj8+XNSH1Vp0XYrgOkWipz2CWcw8zuiYAEaD3h81MP28iO96
|
||||
LUZ7dXzjBUO2BhGuJdyXcBXh8wn3JHwm4e6ET0Xm5gngouoOBuDEgUDUlgXheHEQ3i3U4Z18HWryglG9
|
||||
NxhVWSGoNISgIj0U5WmhKHkjDNZBAfWlgIpXb8K9CH+E8OmEuxI+BYZNk4A/SBXtWMw94Q3JPJ/weYR7
|
||||
8q03i3APwqcp8AxHwUUZk8Ix+pcX98KjhM9h5zMId7sD3xP7hOPgovISw5WOLaYZhHvcDd/oYLio3Nci
|
||||
eCrceXTd74Knb3ACXJQ40/1X3WD6xfUOfPd6J8FFGbbo0dM2DV2Xp/IN52S4qAxuso6WKbh+7iHARaVv
|
||||
0CvghwL/D5WLy9+IJOaqgQ6mlQAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="btOpenFile.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wwAADsMBx2+oZAAAAi5JREFUOE/FkutL03EchX//QBIZkQRFlogFw8CQ6kWIEaUlFKWGkinlpSATCnGm
|
||||
bWreNuelRjqsTbe2tVnNNEULIdEkQksdJaZmQVEppoZKXvb0cxui3d564Lz5cp7D4cNXWH3VGIojRPO7
|
||||
G8x5Re7I/7UY7u/RMTNudfrnmJG5ES2WqiJshuwsd+zfslarmB4zrYAXvpQzZ0/BdKcAfUUu2ptZaEoy
|
||||
uaWUciM/FTfqklmnYPqbbgl2iDD9UrAn/NV/FNytzOfHZ80S3FSjcLrRUkidMZ+H+lws2myMGjlV6mvc
|
||||
Lr1KhUqKWpHmKtNrcpn8UOacPdQmw2ZSsTAkh+GclX4vvg2mQ99leHOB7nvhJMeGVQtadTYTAwXwUUmt
|
||||
uYiOZqUrtHz66xjoPMF8eygzT4J4Vy0h8XTwxKWzR3cKlaUyvr+VM9yegc2oxDEog95EF9gdJ4KRzHeE
|
||||
MdNykMmGfYzW7EKe5ENksGeJ8wblqgxGe9K4b1DQ1Sou6UsRC85BVzSOF8eYfXaYqab9jNkC+Gr2o/P6
|
||||
WqJCvQnwXePrLFAXSultyeSBoRAGMuGVOPflSWbbjjD1NIjxukBGLBI+6bZjV3oiS9iG/w6veie8qLK8
|
||||
VKxVBdgfnee5NYlWUzwt+jiatTE0VkbzuPwU9cscFbLVEei/JcSNC0JxzhWKZfHkpZ0h/WIEyXFhxIYf
|
||||
4PihPQTvlbBb4oOf9yY2e61nwzoPNnp6rPwHqyxB+AUZYsK/1sMKUAAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="btMakeNewList.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wwAADsMBx2+oZAAAAaVJREFUOE+VkqFyIzEQRPcT/AfnL4gNE2YW1xELug5kDcMi6DoSQUNBsxu47ATN
|
||||
ImiWgYGCgYJhnRlJPmcdk+uqLu969bpHq+0uZSmjf36dttv/U0oZdp9gthGRE0Jk0BCLvfjP31fflp6l
|
||||
jQpZn7DZcfm1+4z5OiC9Z5ykIebRfQ9RmKIsELsgHgBLgHGphjCXAJ0gHhmLtR2HaKM/VHDj1Rlmp9tI
|
||||
WNhYQkoAhQKf3PCu07G9rKmgWJrNVpoKTGBpzccawjKNTjG7713DJcAxpksvJkwNlcbFo8ByzW/nd5A/
|
||||
xDkjhoBgN8Uvv/t5i6nS9BKisDbHgEweSb134EAFTN6CtzWkoVXhUKf52qzS9vQm4wcHXcM7W2B/Ox8H
|
||||
6FEVYPDj5kMQ2CInuT9auJ0r8PPdzDS06hTwVSkxwrApMEcZe28wmUzQ/5qN96/Ssy5Qa07SHMh8g1er
|
||||
FTVkrH8BKcmRxaswDYSb5QM3ZCwvn6M+1HMmIsSDTMLyws7NTp/Plxdv/5o0QBV8hZ/6K3tWadql5e+p
|
||||
tRZmbfQaq58/rsNd130CEfv2E8lIfnsAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="RibbonButton1.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wwAADsMBx2+oZAAAAi5JREFUOE/FkutL03EchX//QBIZkQRFlogFw8CQ6kWIEaUlFKWGkinlpSATCnGm
|
||||
bWreNuelRjqsTbe2tVnNNEULIdEkQksdJaZmQVEppoZKXvb0cxui3d564Lz5cp7D4cNXWH3VGIojRPO7
|
||||
G8x5Re7I/7UY7u/RMTNudfrnmJG5ES2WqiJshuwsd+zfslarmB4zrYAXvpQzZ0/BdKcAfUUu2ptZaEoy
|
||||
uaWUciM/FTfqklmnYPqbbgl2iDD9UrAn/NV/FNytzOfHZ80S3FSjcLrRUkidMZ+H+lws2myMGjlV6mvc
|
||||
Lr1KhUqKWpHmKtNrcpn8UOacPdQmw2ZSsTAkh+GclX4vvg2mQ99leHOB7nvhJMeGVQtadTYTAwXwUUmt
|
||||
uYiOZqUrtHz66xjoPMF8eygzT4J4Vy0h8XTwxKWzR3cKlaUyvr+VM9yegc2oxDEog95EF9gdJ4KRzHeE
|
||||
MdNykMmGfYzW7EKe5ENksGeJ8wblqgxGe9K4b1DQ1Sou6UsRC85BVzSOF8eYfXaYqab9jNkC+Gr2o/P6
|
||||
WqJCvQnwXePrLFAXSultyeSBoRAGMuGVOPflSWbbjjD1NIjxukBGLBI+6bZjV3oiS9iG/w6veie8qLK8
|
||||
VKxVBdgfnee5NYlWUzwt+jiatTE0VkbzuPwU9cscFbLVEei/JcSNC0JxzhWKZfHkpZ0h/WIEyXFhxIYf
|
||||
4PihPQTvlbBb4oOf9yY2e61nwzoPNnp6rPwHqyxB+AUZYsK/1sMKUAAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="RibbonButton10.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wwAADsMBx2+oZAAABLhJREFUWEftV1lTk1cYpu1N/0Evet2LriLu4A4uIKJctDdFRJZilaVsgrJUUgSU
|
||||
RZY0CGEnJAawuOBUZ+yUjp2ptVbqRB1aEQMEKZCEgKy1+PR9Dwl+QErSmdzVZ+aZc07O+z7n+Q7fd86L
|
||||
G4DX3CTgMfF163Ae0t/szUsh1eCWx2LCisXjV3iFJcgI9EP6fl/BtH27kRqwS/DE3p047r8DKXt8kOzn
|
||||
jWPEJN/tSNy9DQm7tiJ+5xbE7diML3w2IdZ7I2K2eSJ66wZEbVmPo5vXwSq/PHjxywU5ePHgLl503HIN
|
||||
SUsjS8PnG9c4NsEGZnV3MHy+Cia1EubzlbA01eDZhTpMtKowdVmD6TYtnn/bTGzB39cuiJY5c7UJ01c0
|
||||
mLjYSPH1Io/zTdpqoXnYGQO87c9v38RQXRmGG87BqKqAWV2JUS2ZaCET36gweVGNmStawb/amub7U5c0
|
||||
mGxtxHhLPUZ5cU2VyGcd1oz0Wu2cgZmfvsdAdQkGa+RkRCEEzI0VsNCujPFukJFJ2g3mFD2trT9OT/2s
|
||||
uRajFGem3TNSHuezDmtGeq5ybIBfuukfb6C/ohADyrP4s6qYBEphrFfArDoHi7qCFqjEeHON4ERL7Xx/
|
||||
TFuFUY0SI43lIn6oVi7yWYc1P9vg4ZyByR+uoU9xBoayPPSXFwiBQRIykhFT3dcYaSjDKBkZY9KC3PLY
|
||||
QgbNtLCRFh6kHeQ8zmcd1oxwxgB/buPftUFfnIWe0mz0yXNgUJzG0/J8DCoLMVRVBGN1Mcx1coww68kQ
|
||||
tTw21ZRgmOY4boDi+ymP81mHNcPXr3TOwNj1VjzJz8CTwpPoOZuJ3iIZDKWn6A55CaOyACZmZaFoeSxF
|
||||
P8X3FX8l8lmHNcPXuTs2wIeN5WozunKO43HuCXSfToM+Lx29BV/CQEakGFLkzlMKjuN4fV6GyGcd1gxz
|
||||
1oDpkhqdsgT8LkvEH1lJ6MpORjcZ0p9JRW9+unWZOTwtyrT25sDzHNedSw9AeZzPOqwZunbFvAEKfcPa
|
||||
XQg+ao30mT1Mi0Znegw6M2Lx6GQcumTx6M5KhD77GHpykudWs2J2dla0vbkpYp7jHtMDPMqME/msw5qh
|
||||
az5yvAMpZKCn5BR+DvLF7SA//HJgD+4c9EdHyF78digA90L3QRcWiPvhgWJRG3isI94L3S/iOkIC8Cvl
|
||||
cT7rsOYhpwzQRaOL+hTtK95alranlsJenI2sGbL6Q8cG+JbTxQSj3ePtf6UUevrWpbAXz2TNkFUfODbA
|
||||
V6wuMQLtnu/YpRT6arn4jVspFucwWfOgUwboftelRqPdx30JbeDt1zdULJjjsRTSOSZrBnu8v8AAhS0t
|
||||
TpOouNDJktAe4OVSsqbUgN3FGVzdPKCD4+Yn3i4lax5Y+Z7jP0EilVaddHzeCvF3KVlTaoB3wO4uJFBd
|
||||
16XIwd0jH7uUrBnk/q7jdyCeikqDVomHqRG4nxTsErIWay42YBdc1apSEzDQWguDqtQlZK3y2EjnDDBE
|
||||
Sb3dC9FUVkdRWX2Uyuojm9aKqvYw1XVcWnF1E0H3O1+xYXTJ8EXDRy2fdvy98xvP5L87L+z04v8b0Au4
|
||||
7H/YC0DBb1q7Av8pmbA4/uXb7+b2D2VadFJ/YJtFAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="NotifyIcon1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>593, 17</value>
|
||||
</metadata>
|
||||
</root>
|
||||
1418
DriveInfo/MDiMain.vb
Normal file
38
DriveInfo/My Project/Application.Designer.vb
generated
Normal file
@@ -0,0 +1,38 @@
|
||||
'------------------------------------------------------------------------------
|
||||
' <auto-generated>
|
||||
' 이 코드는 도구를 사용하여 생성되었습니다.
|
||||
' 런타임 버전:4.0.30319.42000
|
||||
'
|
||||
' 파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면
|
||||
' 이러한 변경 내용이 손실됩니다.
|
||||
' </auto-generated>
|
||||
'------------------------------------------------------------------------------
|
||||
|
||||
Option Strict On
|
||||
Option Explicit On
|
||||
|
||||
|
||||
Namespace My
|
||||
|
||||
'참고: 자동으로 생성되므로 직접 이 파일을 수정하지 마십시오. 변경할 사항이 있거나
|
||||
' 파일에서 빌드 오류가 발생하는 경우 프로젝트 디자이너로
|
||||
' 이동([프로젝트 속성]으로 이동하거나 솔루션 탐색기에서 My Project 노드를
|
||||
' 두 번 클릭)한 다음 [응용 프로그램] 탭에서 변경하십시오.
|
||||
'
|
||||
Partial Friend Class MyApplication
|
||||
|
||||
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
|
||||
Public Sub New()
|
||||
MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows)
|
||||
Me.IsSingleInstance = false
|
||||
Me.EnableVisualStyles = true
|
||||
Me.SaveMySettingsOnExit = false
|
||||
Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses
|
||||
End Sub
|
||||
|
||||
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
|
||||
Protected Overrides Sub OnCreateMainForm()
|
||||
Me.MainForm = Global.FileManager.MDiMain
|
||||
End Sub
|
||||
End Class
|
||||
End Namespace
|
||||
10
DriveInfo/My Project/Application.myapp
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<MyApplicationData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<MySubMain>true</MySubMain>
|
||||
<MainForm>MDiMain</MainForm>
|
||||
<SingleInstance>false</SingleInstance>
|
||||
<ShutdownMode>0</ShutdownMode>
|
||||
<EnableVisualStyles>true</EnableVisualStyles>
|
||||
<AuthenticationMode>0</AuthenticationMode>
|
||||
<SaveMySettingsOnExit>false</SaveMySettingsOnExit>
|
||||
</MyApplicationData>
|
||||
15
DriveInfo/My Project/ApplicationEvents.vb
Normal file
@@ -0,0 +1,15 @@
|
||||
Namespace My
|
||||
|
||||
' MyApplication에 대해 다음 이벤트를 사용할 수 있습니다.
|
||||
'
|
||||
' Startup: 응용 프로그램이 시작되고 시작 폼이 만들어지기 전에 발생합니다.
|
||||
' Shutdown: 모든 응용 프로그램 폼이 닫힌 후에 발생합니다. 이 이벤트는 응용 프로그램이 비정상적으로 종료되는 경우에는 발생하지 않습니다.
|
||||
' UnhandledException: 응용 프로그램에서 처리되지 않은 예외가 발생하는 경우 이 이벤트가 발생합니다.
|
||||
' StartupNextInstance: 단일 인스턴스 응용 프로그램을 시작할 때 해당 응용 프로그램이 이미 활성 상태인 경우 발생합니다.
|
||||
' NetworkAvailabilityChanged: 네트워크가 연결되거나 연결이 끊어질 때 발생합니다.
|
||||
Partial Friend Class MyApplication
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
||||
|
||||
37
DriveInfo/My Project/AssemblyInfo.vb
Normal file
@@ -0,0 +1,37 @@
|
||||
Imports System
|
||||
Imports System.Reflection
|
||||
Imports System.Runtime.InteropServices
|
||||
|
||||
' General Information about an assembly is controlled through the following
|
||||
' set of attributes. Change these attribute values to modify the information
|
||||
' associated with an assembly.
|
||||
|
||||
' Review the values of the assembly attributes
|
||||
|
||||
<Assembly: AssemblyTitle("FileManager")>
|
||||
<Assembly: AssemblyDescription("파일을 일괄로 삭제/이름변경/이동등을 할 수 있습니다.")>
|
||||
<Assembly: AssemblyCompany("SIMP")>
|
||||
<Assembly: AssemblyProduct("번호찰 사진파일 관리프로그램")>
|
||||
<Assembly: AssemblyCopyright("Copyright 2008 Arin")>
|
||||
<Assembly: AssemblyTrademark("ArinWare")>
|
||||
|
||||
<Assembly: CLSCompliant(True)>
|
||||
|
||||
<Assembly: ComVisible(False)>
|
||||
|
||||
'The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
<Assembly: Guid("a97662dd-673f-4bba-b12d-f349de90ea74")>
|
||||
|
||||
' Version information for an assembly consists of the following four values:
|
||||
'
|
||||
' Major Version
|
||||
' Minor Version
|
||||
' Build Number
|
||||
' Revision
|
||||
'
|
||||
' You can specify all the values or you can default the Build and Revision Numbers
|
||||
' by using the '*' as shown below:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("1.2017.0410.2200")>
|
||||
<Assembly: AssemblyFileVersion("1.2017.0410.2200")>
|
||||
213
DriveInfo/My Project/Resources.Designer.vb
generated
Normal file
@@ -0,0 +1,213 @@
|
||||
'------------------------------------------------------------------------------
|
||||
' <auto-generated>
|
||||
' 이 코드는 도구를 사용하여 생성되었습니다.
|
||||
' 런타임 버전:4.0.30319.42000
|
||||
'
|
||||
' 파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면
|
||||
' 이러한 변경 내용이 손실됩니다.
|
||||
' </auto-generated>
|
||||
'------------------------------------------------------------------------------
|
||||
|
||||
Option Strict On
|
||||
Option Explicit On
|
||||
|
||||
Imports System
|
||||
|
||||
Namespace My.Resources
|
||||
|
||||
'이 클래스는 ResGen 또는 Visual Studio와 같은 도구를 통해 StronglyTypedResourceBuilder
|
||||
'클래스에서 자동으로 생성되었습니다.
|
||||
'멤버를 추가하거나 제거하려면 .ResX 파일을 편집한 다음 /str 옵션을 사용하여 ResGen을
|
||||
'다시 실행하거나 VS 프로젝트를 다시 빌드하십시오.
|
||||
'''<summary>
|
||||
''' 지역화된 문자열 등을 찾기 위한 강력한 형식의 리소스 클래스입니다.
|
||||
'''</summary>
|
||||
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0"), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
|
||||
Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _
|
||||
Friend Module Resources
|
||||
|
||||
Private resourceMan As Global.System.Resources.ResourceManager
|
||||
|
||||
Private resourceCulture As Global.System.Globalization.CultureInfo
|
||||
|
||||
'''<summary>
|
||||
''' 이 클래스에서 사용하는 캐시된 ResourceManager 인스턴스를 반환합니다.
|
||||
'''</summary>
|
||||
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||
Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
|
||||
Get
|
||||
If Object.ReferenceEquals(resourceMan, Nothing) Then
|
||||
Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("FileManager.Resources", GetType(Resources).Assembly)
|
||||
resourceMan = temp
|
||||
End If
|
||||
Return resourceMan
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' 이 강력한 형식의 리소스 클래스를 사용하여 모든 리소스 조회에 대한 현재 스레드의 CurrentUICulture
|
||||
''' 속성을 재정의합니다.
|
||||
'''</summary>
|
||||
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||
Friend Property Culture() As Global.System.Globalization.CultureInfo
|
||||
Get
|
||||
Return resourceCulture
|
||||
End Get
|
||||
Set
|
||||
resourceCulture = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property Accessibility() As System.Drawing.Bitmap
|
||||
Get
|
||||
Dim obj As Object = ResourceManager.GetObject("Accessibility", resourceCulture)
|
||||
Return CType(obj,System.Drawing.Bitmap)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property apps_16() As System.Drawing.Bitmap
|
||||
Get
|
||||
Dim obj As Object = ResourceManager.GetObject("apps_16", resourceCulture)
|
||||
Return CType(obj,System.Drawing.Bitmap)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property foldr_16() As System.Drawing.Bitmap
|
||||
Get
|
||||
Dim obj As Object = ResourceManager.GetObject("foldr_16", resourceCulture)
|
||||
Return CType(obj,System.Drawing.Bitmap)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property go_32() As System.Drawing.Bitmap
|
||||
Get
|
||||
Dim obj As Object = ResourceManager.GetObject("go_32", resourceCulture)
|
||||
Return CType(obj,System.Drawing.Bitmap)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property hd_24() As System.Drawing.Bitmap
|
||||
Get
|
||||
Dim obj As Object = ResourceManager.GetObject("hd_24", resourceCulture)
|
||||
Return CType(obj,System.Drawing.Bitmap)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property impt_32() As System.Drawing.Bitmap
|
||||
Get
|
||||
Dim obj As Object = ResourceManager.GetObject("impt_32", resourceCulture)
|
||||
Return CType(obj,System.Drawing.Bitmap)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property opts_16() As System.Drawing.Bitmap
|
||||
Get
|
||||
Dim obj As Object = ResourceManager.GetObject("opts_16", resourceCulture)
|
||||
Return CType(obj,System.Drawing.Bitmap)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property opts_24() As System.Drawing.Bitmap
|
||||
Get
|
||||
Dim obj As Object = ResourceManager.GetObject("opts_24", resourceCulture)
|
||||
Return CType(obj,System.Drawing.Bitmap)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property play_32() As System.Drawing.Bitmap
|
||||
Get
|
||||
Dim obj As Object = ResourceManager.GetObject("play_32", resourceCulture)
|
||||
Return CType(obj,System.Drawing.Bitmap)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property play_321() As System.Drawing.Bitmap
|
||||
Get
|
||||
Dim obj As Object = ResourceManager.GetObject("play_321", resourceCulture)
|
||||
Return CType(obj,System.Drawing.Bitmap)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property remov_16() As System.Drawing.Bitmap
|
||||
Get
|
||||
Dim obj As Object = ResourceManager.GetObject("remov_16", resourceCulture)
|
||||
Return CType(obj,System.Drawing.Bitmap)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property save_24() As System.Drawing.Bitmap
|
||||
Get
|
||||
Dim obj As Object = ResourceManager.GetObject("save_24", resourceCulture)
|
||||
Return CType(obj,System.Drawing.Bitmap)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property splay_32() As System.Drawing.Bitmap
|
||||
Get
|
||||
Dim obj As Object = ResourceManager.GetObject("splay_32", resourceCulture)
|
||||
Return CType(obj,System.Drawing.Bitmap)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property srch_32() As System.Drawing.Bitmap
|
||||
Get
|
||||
Dim obj As Object = ResourceManager.GetObject("srch_32", resourceCulture)
|
||||
Return CType(obj,System.Drawing.Bitmap)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다.
|
||||
'''</summary>
|
||||
Friend ReadOnly Property stop_16() As System.Drawing.Bitmap
|
||||
Get
|
||||
Dim obj As Object = ResourceManager.GetObject("stop_16", resourceCulture)
|
||||
Return CType(obj,System.Drawing.Bitmap)
|
||||
End Get
|
||||
End Property
|
||||
End Module
|
||||
End Namespace
|
||||
166
DriveInfo/My Project/Resources.resx
Normal file
@@ -0,0 +1,166 @@
|
||||
<?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=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>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="go_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\go_32.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="impt_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\impt_32.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="play_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\play_32.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="remov_16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\remov_16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="save_24" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\save_24.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="hd_24" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\hd_24.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="opts_24" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\opts_24.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="play_321" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\play_321.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="srch_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\srch_32.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="foldr_16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\foldr_16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="apps_16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\apps_16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Accessibility" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Accessibility.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="stop_16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\stop_16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="splay_32" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\splay_32.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="opts_16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\opts_16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
</root>
|
||||
71
DriveInfo/My Project/Settings.Designer.vb
generated
Normal file
@@ -0,0 +1,71 @@
|
||||
'------------------------------------------------------------------------------
|
||||
' <auto-generated>
|
||||
' 이 코드는 도구를 사용하여 생성되었습니다.
|
||||
' 런타임 버전:4.0.30319.42000
|
||||
'
|
||||
' 파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면
|
||||
' 이러한 변경 내용이 손실됩니다.
|
||||
' </auto-generated>
|
||||
'------------------------------------------------------------------------------
|
||||
|
||||
Option Strict On
|
||||
Option Explicit On
|
||||
|
||||
|
||||
|
||||
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
|
||||
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0"), _
|
||||
Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||
Partial Friend NotInheritable Class Settings
|
||||
Inherits Global.System.Configuration.ApplicationSettingsBase
|
||||
|
||||
Private Shared defaultInstance As Settings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New Settings()),Settings)
|
||||
|
||||
#Region "My.Settings 자동 저장 기능"
|
||||
#If _MyType = "WindowsForms" Then
|
||||
Private Shared addedHandler As Boolean
|
||||
|
||||
Private Shared addedHandlerLockObject As New Object
|
||||
|
||||
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||
Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs)
|
||||
If My.Application.SaveMySettingsOnExit Then
|
||||
My.Settings.Save()
|
||||
End If
|
||||
End Sub
|
||||
#End If
|
||||
#End Region
|
||||
|
||||
Public Shared ReadOnly Property [Default]() As Settings
|
||||
Get
|
||||
|
||||
#If _MyType = "WindowsForms" Then
|
||||
If Not addedHandler Then
|
||||
SyncLock addedHandlerLockObject
|
||||
If Not addedHandler Then
|
||||
AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
|
||||
addedHandler = True
|
||||
End If
|
||||
End SyncLock
|
||||
End If
|
||||
#End If
|
||||
Return defaultInstance
|
||||
End Get
|
||||
End Property
|
||||
End Class
|
||||
|
||||
Namespace My
|
||||
|
||||
<Global.Microsoft.VisualBasic.HideModuleNameAttribute(), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute()> _
|
||||
Friend Module MySettingsProperty
|
||||
|
||||
<Global.System.ComponentModel.Design.HelpKeywordAttribute("My.Settings")> _
|
||||
Friend ReadOnly Property Settings() As Global.FileManager.Settings
|
||||
Get
|
||||
Return Global.FileManager.Settings.Default
|
||||
End Get
|
||||
End Property
|
||||
End Module
|
||||
End Namespace
|
||||
5
DriveInfo/My Project/Settings.settings
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
|
||||
<Profiles />
|
||||
<Settings />
|
||||
</SettingsFile>
|
||||
70
DriveInfo/My Project/app.manifest
Normal file
@@ -0,0 +1,70 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<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">
|
||||
<!-- UAC 매니페스트 옵션
|
||||
Windows 사용자 계정 컨트롤 수준을 변경하려면
|
||||
requestedExecutionLevel 노드를 다음 중 하나로 바꿉니다.
|
||||
|
||||
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
|
||||
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
|
||||
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
|
||||
|
||||
requestedExecutionLevel 요소를 지정하면 파일 및 레지스트리 가상화를 사용하지 않습니다.
|
||||
이전 버전과의 호환성을 위해 응용 프로그램에 가상화가 필요한 경우
|
||||
이 요소를 제거합니다.
|
||||
-->
|
||||
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
|
||||
</requestedPrivileges>
|
||||
<applicationRequestMinimum>
|
||||
<PermissionSet class="System.Security.PermissionSet" version="1" Unrestricted="true" ID="Custom" SameSite="site" />
|
||||
<defaultAssemblyRequest permissionSetReference="Custom" />
|
||||
</applicationRequestMinimum>
|
||||
</security>
|
||||
</trustInfo>
|
||||
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
|
||||
<application>
|
||||
<!-- 이 응용 프로그램이 테스트되고 함께 작동하도록 설계된 Windows 버전
|
||||
목록입니다. 적절한 요소의 주석 처리를 제거하면 Windows에서
|
||||
호환 가능성이 가장 높은 환경을 자동으로 선택합니다. -->
|
||||
<!-- Windows Vista -->
|
||||
<!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
|
||||
<!-- Windows 7 -->
|
||||
<!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />-->
|
||||
<!-- Windows 8 -->
|
||||
<!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />-->
|
||||
<!-- Windows 8.1 -->
|
||||
<!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />-->
|
||||
<!-- Windows 10 -->
|
||||
<!--<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />-->
|
||||
</application>
|
||||
</compatibility>
|
||||
<!-- 응용 프로그램에서 DPI를 인식하며 높은 DPI에서는 Windows가 자동으로 크기를 조정하지
|
||||
않습니다. WPF(Windows Presentation Foundation) 응용 프로그램은 자동으로 DPI를 인식하며
|
||||
옵트인할 필요가 없습니다. 이 설정으로 옵트인하며 .NET Framework 4.6을 대상으로 하는
|
||||
Windows Forms 응용 프로그램은 app.config에서 'EnableWindowsFormsHighDpiAutoResizing' 설정도 'true'로 지정합니다. -->
|
||||
<!--
|
||||
<application xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<windowsSettings>
|
||||
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
|
||||
</windowsSettings>
|
||||
</application>
|
||||
-->
|
||||
<!-- Windows 공용 컨트롤 및 대화 상자의 테마 사용(Windows XP 이상) -->
|
||||
<!--
|
||||
<dependency>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity
|
||||
type="win32"
|
||||
name="Microsoft.Windows.Common-Controls"
|
||||
version="6.0.0.0"
|
||||
processorArchitecture="*"
|
||||
publicKeyToken="6595b64144ccf1df"
|
||||
language="*"
|
||||
/>
|
||||
</dependentAssembly>
|
||||
</dependency>
|
||||
-->
|
||||
</assembly>
|
||||
3
DriveInfo/My Project/licenses.licx
Normal file
@@ -0,0 +1,3 @@
|
||||
C1.Win.C1Ribbon.C1StatusBar, C1.Win.C1Ribbon.4, Version=4.0.20171.248, Culture=neutral, PublicKeyToken=79882d576c6336da
|
||||
FarPoint.Win.Spread.FpSpread, FarPoint.Win.Spread, Version=5.0.3518.2008, Culture=neutral, PublicKeyToken=327c3516b1b18457
|
||||
C1.Win.C1Ribbon.C1Ribbon, C1.Win.C1Ribbon.4, Version=4.0.20171.248, Culture=neutral, PublicKeyToken=79882d576c6336da
|
||||
3
DriveInfo/My Project/licenses.licx.bak
Normal file
@@ -0,0 +1,3 @@
|
||||
C1.Win.C1Ribbon.C1Ribbon, C1.Win.C1Ribbon.2, Version=2.0.20153.110, Culture=neutral, PublicKeyToken=79882d576c6336da
|
||||
FarPoint.Win.Spread.FpSpread, FarPoint.Win.Spread, Version=5.0.2005.2008, Culture=neutral, PublicKeyToken=327c3516b1b18457
|
||||
C1.Win.C1Ribbon.C1StatusBar, C1.Win.C1Ribbon.2, Version=2.0.20153.110, Culture=neutral, PublicKeyToken=79882d576c6336da
|
||||
BIN
DriveInfo/Resources/Accessibility.png
Normal file
|
After Width: | Height: | Size: 65 KiB |
BIN
DriveInfo/Resources/apps_16.png
Normal file
|
After Width: | Height: | Size: 988 B |
BIN
DriveInfo/Resources/foldr_16.png
Normal file
|
After Width: | Height: | Size: 719 B |
BIN
DriveInfo/Resources/go_32.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
DriveInfo/Resources/hd_24.png
Normal file
|
After Width: | Height: | Size: 849 B |
BIN
DriveInfo/Resources/impt_32.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
DriveInfo/Resources/opts_16.png
Normal file
|
After Width: | Height: | Size: 800 B |
BIN
DriveInfo/Resources/opts_24.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
DriveInfo/Resources/play_32.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
DriveInfo/Resources/play_321.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
DriveInfo/Resources/remov_16.png
Normal file
|
After Width: | Height: | Size: 892 B |
BIN
DriveInfo/Resources/save_24.png
Normal file
|
After Width: | Height: | Size: 874 B |
BIN
DriveInfo/Resources/splay_32.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
DriveInfo/Resources/srch_32.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
DriveInfo/Resources/stop_16.png
Normal file
|
After Width: | Height: | Size: 779 B |
26
DriveInfo/app.config
Normal file
@@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
</configSections>
|
||||
<connectionStrings/>
|
||||
<system.diagnostics>
|
||||
<sources>
|
||||
<!-- 이 섹션은 My.Application.Log의 로깅 구성을 정의합니다. -->
|
||||
<source name="DefaultSource" switchName="DefaultSwitch">
|
||||
<listeners>
|
||||
<add name="FileLog"/>
|
||||
<!-- 아래 섹션의 주석 처리를 제거하여 응용 프로그램 이벤트 로그에 씁니다. -->
|
||||
<!--<add name="EventLog"/>-->
|
||||
</listeners>
|
||||
</source>
|
||||
</sources>
|
||||
<switches>
|
||||
<add name="DefaultSwitch" value="Information"/>
|
||||
</switches>
|
||||
<sharedListeners>
|
||||
<add name="FileLog" type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" initializeData="FileLogWriter"/>
|
||||
<!-- 아래 섹션의 주석 처리를 제거하여 APPLICATION_NAME을 응용 프로그램 이름으로 바꾼 후 응용 프로그램 이벤트 로그에 씁니다. -->
|
||||
<!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> -->
|
||||
</sharedListeners>
|
||||
</system.diagnostics>
|
||||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>
|
||||
301
DriveInfo/fFtpPath.Designer.vb
generated
Normal file
@@ -0,0 +1,301 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class fFtpPath
|
||||
Inherits System.Windows.Forms.Form
|
||||
|
||||
'Form은 Dispose를 재정의하여 구성 요소 목록을 정리합니다.
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
Try
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
Finally
|
||||
MyBase.Dispose(disposing)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'Windows Form 디자이너에 필요합니다.
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'참고: 다음 프로시저는 Windows Form 디자이너에 필요합니다.
|
||||
'수정하려면 Windows Form 디자이너를 사용하십시오.
|
||||
'코드 편집기를 사용하여 수정하지 마십시오.
|
||||
<System.Diagnostics.DebuggerStepThrough()> _
|
||||
Private Sub InitializeComponent()
|
||||
Me.lv_ftpde = New System.Windows.Forms.ListView()
|
||||
Me.columnHeader18 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
|
||||
Me.columnHeader21 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
|
||||
Me.columnHeader19 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
|
||||
Me.columnHeader20 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
|
||||
Me.Panel2 = New System.Windows.Forms.Panel()
|
||||
Me.Panel1 = New System.Windows.Forms.Panel()
|
||||
Me.chk_ftputf8 = New System.Windows.Forms.CheckBox()
|
||||
Me.chk_ftpPassive = New System.Windows.Forms.CheckBox()
|
||||
Me.tb_ftpserver = New System.Windows.Forms.TextBox()
|
||||
Me.tb_ftpport = New System.Windows.Forms.TextBox()
|
||||
Me.Label2 = New System.Windows.Forms.Label()
|
||||
Me.tb_ftppass = New System.Windows.Forms.TextBox()
|
||||
Me.Label3 = New System.Windows.Forms.Label()
|
||||
Me.tb_ftpid = New System.Windows.Forms.TextBox()
|
||||
Me.Label4 = New System.Windows.Forms.Label()
|
||||
Me.Label6 = New System.Windows.Forms.Label()
|
||||
Me.Button2 = New System.Windows.Forms.Button()
|
||||
Me.btFtpSearch = New System.Windows.Forms.Button()
|
||||
Me.tb_ftppath = New System.Windows.Forms.TextBox()
|
||||
Me.Label5 = New System.Windows.Forms.Label()
|
||||
Me.Label1 = New System.Windows.Forms.Label()
|
||||
Me.Panel2.SuspendLayout()
|
||||
Me.Panel1.SuspendLayout()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'lv_ftpde
|
||||
'
|
||||
Me.lv_ftpde.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.columnHeader18, Me.columnHeader21, Me.columnHeader19, Me.columnHeader20})
|
||||
Me.lv_ftpde.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.lv_ftpde.FullRowSelect = True
|
||||
Me.lv_ftpde.GridLines = True
|
||||
Me.lv_ftpde.Location = New System.Drawing.Point(0, 106)
|
||||
Me.lv_ftpde.Name = "lv_ftpde"
|
||||
Me.lv_ftpde.Size = New System.Drawing.Size(542, 410)
|
||||
Me.lv_ftpde.TabIndex = 17
|
||||
Me.lv_ftpde.UseCompatibleStateImageBehavior = False
|
||||
Me.lv_ftpde.View = System.Windows.Forms.View.Details
|
||||
'
|
||||
'columnHeader18
|
||||
'
|
||||
Me.columnHeader18.Text = "FileName"
|
||||
Me.columnHeader18.Width = 207
|
||||
'
|
||||
'columnHeader21
|
||||
'
|
||||
Me.columnHeader21.Text = "Ext"
|
||||
Me.columnHeader21.Width = 69
|
||||
'
|
||||
'columnHeader19
|
||||
'
|
||||
Me.columnHeader19.Text = "Size"
|
||||
Me.columnHeader19.Width = 132
|
||||
'
|
||||
'columnHeader20
|
||||
'
|
||||
Me.columnHeader20.Text = "Time"
|
||||
Me.columnHeader20.Width = 127
|
||||
'
|
||||
'Panel2
|
||||
'
|
||||
Me.Panel2.Controls.Add(Me.Panel1)
|
||||
Me.Panel2.Controls.Add(Me.Button2)
|
||||
Me.Panel2.Controls.Add(Me.btFtpSearch)
|
||||
Me.Panel2.Controls.Add(Me.tb_ftppath)
|
||||
Me.Panel2.Controls.Add(Me.Label5)
|
||||
Me.Panel2.Dock = System.Windows.Forms.DockStyle.Top
|
||||
Me.Panel2.Location = New System.Drawing.Point(0, 0)
|
||||
Me.Panel2.Name = "Panel2"
|
||||
Me.Panel2.Size = New System.Drawing.Size(542, 106)
|
||||
Me.Panel2.TabIndex = 16
|
||||
'
|
||||
'Panel1
|
||||
'
|
||||
Me.Panel1.BackColor = System.Drawing.Color.Gainsboro
|
||||
Me.Panel1.Controls.Add(Me.chk_ftputf8)
|
||||
Me.Panel1.Controls.Add(Me.chk_ftpPassive)
|
||||
Me.Panel1.Controls.Add(Me.tb_ftpserver)
|
||||
Me.Panel1.Controls.Add(Me.tb_ftpport)
|
||||
Me.Panel1.Controls.Add(Me.Label2)
|
||||
Me.Panel1.Controls.Add(Me.tb_ftppass)
|
||||
Me.Panel1.Controls.Add(Me.Label3)
|
||||
Me.Panel1.Controls.Add(Me.tb_ftpid)
|
||||
Me.Panel1.Controls.Add(Me.Label4)
|
||||
Me.Panel1.Controls.Add(Me.Label6)
|
||||
Me.Panel1.Dock = System.Windows.Forms.DockStyle.Top
|
||||
Me.Panel1.Location = New System.Drawing.Point(0, 0)
|
||||
Me.Panel1.Name = "Panel1"
|
||||
Me.Panel1.Size = New System.Drawing.Size(542, 61)
|
||||
Me.Panel1.TabIndex = 8
|
||||
'
|
||||
'chk_ftputf8
|
||||
'
|
||||
Me.chk_ftputf8.AutoSize = True
|
||||
Me.chk_ftputf8.Location = New System.Drawing.Point(12, 34)
|
||||
Me.chk_ftputf8.Name = "chk_ftputf8"
|
||||
Me.chk_ftputf8.Size = New System.Drawing.Size(59, 16)
|
||||
Me.chk_ftputf8.TabIndex = 12
|
||||
Me.chk_ftputf8.Text = "UTF-8"
|
||||
Me.chk_ftputf8.UseVisualStyleBackColor = True
|
||||
'
|
||||
'chk_ftpPassive
|
||||
'
|
||||
Me.chk_ftpPassive.AutoSize = True
|
||||
Me.chk_ftpPassive.Location = New System.Drawing.Point(12, 11)
|
||||
Me.chk_ftpPassive.Name = "chk_ftpPassive"
|
||||
Me.chk_ftpPassive.Size = New System.Drawing.Size(69, 16)
|
||||
Me.chk_ftpPassive.TabIndex = 11
|
||||
Me.chk_ftpPassive.Text = "Passive"
|
||||
Me.chk_ftpPassive.UseVisualStyleBackColor = True
|
||||
'
|
||||
'tb_ftpserver
|
||||
'
|
||||
Me.tb_ftpserver.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
|
||||
Me.tb_ftpserver.Location = New System.Drawing.Point(149, 9)
|
||||
Me.tb_ftpserver.Name = "tb_ftpserver"
|
||||
Me.tb_ftpserver.Size = New System.Drawing.Size(201, 21)
|
||||
Me.tb_ftpserver.TabIndex = 4
|
||||
Me.tb_ftpserver.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
|
||||
'
|
||||
'tb_ftpport
|
||||
'
|
||||
Me.tb_ftpport.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
|
||||
Me.tb_ftpport.Location = New System.Drawing.Point(394, 32)
|
||||
Me.tb_ftpport.Name = "tb_ftpport"
|
||||
Me.tb_ftpport.Size = New System.Drawing.Size(139, 21)
|
||||
Me.tb_ftpport.TabIndex = 10
|
||||
Me.tb_ftpport.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
|
||||
'
|
||||
'Label2
|
||||
'
|
||||
Me.Label2.AutoSize = True
|
||||
Me.Label2.Location = New System.Drawing.Point(87, 13)
|
||||
Me.Label2.Name = "Label2"
|
||||
Me.Label2.Size = New System.Drawing.Size(56, 12)
|
||||
Me.Label2.TabIndex = 3
|
||||
Me.Label2.Text = "Server IP"
|
||||
'
|
||||
'tb_ftppass
|
||||
'
|
||||
Me.tb_ftppass.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
|
||||
Me.tb_ftppass.Location = New System.Drawing.Point(149, 32)
|
||||
Me.tb_ftppass.Name = "tb_ftppass"
|
||||
Me.tb_ftppass.PasswordChar = Global.Microsoft.VisualBasic.ChrW(42)
|
||||
Me.tb_ftppass.Size = New System.Drawing.Size(201, 21)
|
||||
Me.tb_ftppass.TabIndex = 8
|
||||
Me.tb_ftppass.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
|
||||
'
|
||||
'Label3
|
||||
'
|
||||
Me.Label3.AutoSize = True
|
||||
Me.Label3.Location = New System.Drawing.Point(374, 13)
|
||||
Me.Label3.Name = "Label3"
|
||||
Me.Label3.Size = New System.Drawing.Size(16, 12)
|
||||
Me.Label3.TabIndex = 5
|
||||
Me.Label3.Text = "ID"
|
||||
'
|
||||
'tb_ftpid
|
||||
'
|
||||
Me.tb_ftpid.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
|
||||
Me.tb_ftpid.Location = New System.Drawing.Point(394, 9)
|
||||
Me.tb_ftpid.Name = "tb_ftpid"
|
||||
Me.tb_ftpid.Size = New System.Drawing.Size(139, 21)
|
||||
Me.tb_ftpid.TabIndex = 6
|
||||
Me.tb_ftpid.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
|
||||
'
|
||||
'Label4
|
||||
'
|
||||
Me.Label4.AutoSize = True
|
||||
Me.Label4.Location = New System.Drawing.Point(81, 36)
|
||||
Me.Label4.Name = "Label4"
|
||||
Me.Label4.Size = New System.Drawing.Size(62, 12)
|
||||
Me.Label4.TabIndex = 7
|
||||
Me.Label4.Text = "Password"
|
||||
'
|
||||
'Label6
|
||||
'
|
||||
Me.Label6.AutoSize = True
|
||||
Me.Label6.Location = New System.Drawing.Point(363, 36)
|
||||
Me.Label6.Name = "Label6"
|
||||
Me.Label6.Size = New System.Drawing.Size(27, 12)
|
||||
Me.Label6.TabIndex = 9
|
||||
Me.Label6.Text = "Port"
|
||||
'
|
||||
'Button2
|
||||
'
|
||||
Me.Button2.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.Button2.Location = New System.Drawing.Point(456, 68)
|
||||
Me.Button2.Name = "Button2"
|
||||
Me.Button2.Size = New System.Drawing.Size(74, 29)
|
||||
Me.Button2.TabIndex = 7
|
||||
Me.Button2.Text = "선택"
|
||||
Me.Button2.UseVisualStyleBackColor = True
|
||||
'
|
||||
'btFtpSearch
|
||||
'
|
||||
Me.btFtpSearch.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.btFtpSearch.Location = New System.Drawing.Point(391, 68)
|
||||
Me.btFtpSearch.Name = "btFtpSearch"
|
||||
Me.btFtpSearch.Size = New System.Drawing.Size(61, 29)
|
||||
Me.btFtpSearch.TabIndex = 5
|
||||
Me.btFtpSearch.Text = "조회"
|
||||
Me.btFtpSearch.UseVisualStyleBackColor = True
|
||||
'
|
||||
'tb_ftppath
|
||||
'
|
||||
Me.tb_ftppath.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _
|
||||
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.tb_ftppath.Font = New System.Drawing.Font("맑은 고딕", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
|
||||
Me.tb_ftppath.Location = New System.Drawing.Point(79, 68)
|
||||
Me.tb_ftppath.Name = "tb_ftppath"
|
||||
Me.tb_ftppath.Size = New System.Drawing.Size(304, 29)
|
||||
Me.tb_ftppath.TabIndex = 4
|
||||
Me.tb_ftppath.Text = "/"
|
||||
Me.tb_ftppath.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
|
||||
'
|
||||
'Label5
|
||||
'
|
||||
Me.Label5.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
|
||||
Me.Label5.AutoSize = True
|
||||
Me.Label5.Location = New System.Drawing.Point(14, 76)
|
||||
Me.Label5.Name = "Label5"
|
||||
Me.Label5.Size = New System.Drawing.Size(56, 12)
|
||||
Me.Label5.TabIndex = 3
|
||||
Me.Label5.Text = "FTP 경로"
|
||||
'
|
||||
'Label1
|
||||
'
|
||||
Me.Label1.Dock = System.Windows.Forms.DockStyle.Bottom
|
||||
Me.Label1.Location = New System.Drawing.Point(0, 516)
|
||||
Me.Label1.Name = "Label1"
|
||||
Me.Label1.Size = New System.Drawing.Size(542, 46)
|
||||
Me.Label1.TabIndex = 18
|
||||
Me.Label1.Text = "원본으로 사용할 폴더를 선택하세요." & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "폴더를 더블클릭할 경우 서브폴더로 이동됩니다." & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "폴더를 선택했다면 우측 상단의 ""선택""을 클릭하세요"
|
||||
Me.Label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
|
||||
'
|
||||
'fFtpPath
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 12.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.ClientSize = New System.Drawing.Size(542, 562)
|
||||
Me.Controls.Add(Me.lv_ftpde)
|
||||
Me.Controls.Add(Me.Label1)
|
||||
Me.Controls.Add(Me.Panel2)
|
||||
Me.Name = "fFtpPath"
|
||||
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
|
||||
Me.Text = "(원본) FTP 경로 선택"
|
||||
Me.Panel2.ResumeLayout(False)
|
||||
Me.Panel2.PerformLayout()
|
||||
Me.Panel1.ResumeLayout(False)
|
||||
Me.Panel1.PerformLayout()
|
||||
Me.ResumeLayout(False)
|
||||
|
||||
End Sub
|
||||
Private WithEvents lv_ftpde As System.Windows.Forms.ListView
|
||||
Private WithEvents columnHeader18 As System.Windows.Forms.ColumnHeader
|
||||
Private WithEvents columnHeader21 As System.Windows.Forms.ColumnHeader
|
||||
Private WithEvents columnHeader19 As System.Windows.Forms.ColumnHeader
|
||||
Private WithEvents columnHeader20 As System.Windows.Forms.ColumnHeader
|
||||
Friend WithEvents Panel2 As System.Windows.Forms.Panel
|
||||
Friend WithEvents btFtpSearch As System.Windows.Forms.Button
|
||||
Friend WithEvents tb_ftppath As System.Windows.Forms.TextBox
|
||||
Friend WithEvents Label5 As System.Windows.Forms.Label
|
||||
Friend WithEvents Label1 As System.Windows.Forms.Label
|
||||
Friend WithEvents Button2 As System.Windows.Forms.Button
|
||||
Friend WithEvents Panel1 As System.Windows.Forms.Panel
|
||||
Friend WithEvents chk_ftputf8 As System.Windows.Forms.CheckBox
|
||||
Friend WithEvents chk_ftpPassive As System.Windows.Forms.CheckBox
|
||||
Friend WithEvents tb_ftpserver As System.Windows.Forms.TextBox
|
||||
Friend WithEvents tb_ftpport As System.Windows.Forms.TextBox
|
||||
Friend WithEvents Label2 As System.Windows.Forms.Label
|
||||
Friend WithEvents tb_ftppass As System.Windows.Forms.TextBox
|
||||
Friend WithEvents Label3 As System.Windows.Forms.Label
|
||||
Friend WithEvents tb_ftpid As System.Windows.Forms.TextBox
|
||||
Friend WithEvents Label4 As System.Windows.Forms.Label
|
||||
Friend WithEvents Label6 As System.Windows.Forms.Label
|
||||
End Class
|
||||
120
DriveInfo/fFtpPath.resx
Normal file
@@ -0,0 +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>
|
||||
</root>
|
||||
184
DriveInfo/fFtpPath.vb
Normal file
@@ -0,0 +1,184 @@
|
||||
|
||||
Public Class fFtpPath
|
||||
|
||||
Public Selpath As String = ""
|
||||
Private ftpindex As Integer = 0
|
||||
|
||||
Public Sub New(_host As String, _id As String, _pw As String, _port As Integer,
|
||||
_passive As Boolean, _utf8 As Boolean, _
|
||||
_BasePath As String)
|
||||
|
||||
' 이 호출은 디자이너에 필요합니다.
|
||||
InitializeComponent()
|
||||
|
||||
tb_ftpid.Text = _id
|
||||
tb_ftppass.Text = _pw
|
||||
tb_ftpport.Text = _port.ToString()
|
||||
tb_ftpserver.Text = _host
|
||||
chk_ftpPassive.Checked = _passive
|
||||
chk_ftputf8.Checked = _utf8
|
||||
|
||||
If String.IsNullOrEmpty(_BasePath) Then _BasePath = "/"
|
||||
_BasePath = _BasePath.Replace("\\", "\").Replace("//", "/")
|
||||
tb_ftppath.Text = _BasePath
|
||||
|
||||
' InitializeComponent() 호출 뒤에 초기화 코드를 추가하십시오.
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub fFtpPath_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
||||
Me.Text = "(원본)FTP경로선택"
|
||||
Me.Show()
|
||||
My.Application.DoEvents()
|
||||
|
||||
'RefreshFile(tb_ftppath.Text)
|
||||
End Sub
|
||||
|
||||
Private Sub RefreshFile(dir As String)
|
||||
If String.IsNullOrEmpty(dir) Then
|
||||
dir = "/"
|
||||
End If
|
||||
|
||||
btFtpSearch.Enabled = False
|
||||
btFtpSearch.Refresh()
|
||||
tb_ftppath.Text = dir
|
||||
lv_ftpde.Items.Clear()
|
||||
|
||||
'//최상위가 아니라면 상위폴더이동을 추가해준다.
|
||||
If dir <> "/" Then
|
||||
Dim lvitem As ListViewItem = Me.lv_ftpde.Items.Add("..")
|
||||
lvitem.ForeColor = Color.DarkMagenta
|
||||
End If
|
||||
|
||||
'//검출된데이터의 갯수
|
||||
Dim dataCount As UInteger = 0
|
||||
|
||||
'//라이브러리종류별로 데이터를 조회한다.
|
||||
Dim isErr As Boolean = False
|
||||
Dim ErrMsg As String = ""
|
||||
FTP_0.CurrentDirectory = dir
|
||||
|
||||
Dim ftpdir As FTPClients.FTPdirectory
|
||||
|
||||
Try
|
||||
ftpdir = FTP_0.ListDirectoryDetail(dir)
|
||||
For Each info As FTPClients.FTPfileInfo In ftpdir.GetDirectories
|
||||
dataCount += 1
|
||||
Dim lvitem As ListViewItem = Me.lv_ftpde.Items.Add(info.Filename)
|
||||
lvitem.SubItems.Add(info.FileType.ToString())
|
||||
lvitem.SubItems.Add("-")
|
||||
lvitem.SubItems.Add(info.FileDateTime.ToString("yy-MM-dd HH:mm:ss"))
|
||||
lvitem.ForeColor = Color.Blue
|
||||
Next
|
||||
|
||||
For Each info As FTPClients.FTPfileInfo In ftpdir.GetFiles("")
|
||||
dataCount += 1
|
||||
Dim lvitem As ListViewItem = Me.lv_ftpde.Items.Add(info.Filename)
|
||||
lvitem.SubItems.Add(info.FileType.ToString())
|
||||
lvitem.SubItems.Add(info.Size.ToString())
|
||||
lvitem.SubItems.Add(info.FileDateTime.ToString("yy-MM-dd HH:mm:ss"))
|
||||
lvitem.ForeColor = Color.Black
|
||||
Next
|
||||
Catch ex As Exception
|
||||
MsgBox("목록갱신실패" + vbCrLf + ex.Message, MsgBoxStyle.Critical, "확인")
|
||||
End Try
|
||||
|
||||
btFtpSearch.Enabled = True
|
||||
btFtpSearch.Refresh()
|
||||
|
||||
If (dataCount < 1) Then
|
||||
MsgBox(String.Format("경로 : {0}" + vbCrLf + "에서 검색된 파일이 없습니다", dir), MsgBoxStyle.Information, "확인")
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
|
||||
Me.Selpath = tb_ftppath.Text
|
||||
DialogResult = Windows.Forms.DialogResult.OK
|
||||
End Sub
|
||||
|
||||
Private Sub lv_ftpde_MouseDoubleClick(sender As Object, e As MouseEventArgs) Handles lv_ftpde.MouseDoubleClick
|
||||
If lv_ftpde.SelectedItems.Count < 1 Then
|
||||
MsgBox("대상이 선택되지 않았습니다", MsgBoxStyle.Information, "확인")
|
||||
Return
|
||||
End If
|
||||
|
||||
Dim lv As ListViewItem = lv_ftpde.SelectedItems(0)
|
||||
If lv.Text = ".." Then
|
||||
'//상위폴더로이동
|
||||
Dim curpath As String = tb_ftppath.Text
|
||||
If curpath.EndsWith("/") Then curpath = curpath.Substring(0, curpath.Length - 1)
|
||||
curpath = curpath.Replace("//", "/")
|
||||
Dim curs() As String = curpath.Split("/")
|
||||
Dim parentpath As String = ""
|
||||
For i As Integer = 1 To curs.Length - 1
|
||||
If curs(i - 1) = "" Then Continue For
|
||||
parentpath += "/" + curs(i - 1)
|
||||
Next
|
||||
tb_ftppath.Text = parentpath
|
||||
btFtpSearch.PerformClick()
|
||||
Else
|
||||
Dim ftype As String = lv.SubItems(1).Text
|
||||
Select Case ftype
|
||||
Case "Dir", "Directory"
|
||||
Dim newdir As String = tb_ftppath.Text + "/" + lv.Text
|
||||
newdir = newdir.Replace("//", "/")
|
||||
tb_ftppath.Text = newdir
|
||||
btFtpSearch.PerformClick()
|
||||
Case "File"
|
||||
MsgBox("원본폴더를 선택하세요" + vbCrLf + _
|
||||
"선택을 완료하였다면 상단의 '선택' 버튼을 클릭하세요", MsgBoxStyle.Information, "확인")
|
||||
'If MsgBox("파일을 다운로드 하시겠습니까?", MsgBoxStyle.Question Or MsgBoxStyle.YesNo, "확인") = MsgBoxResult.Yes Then
|
||||
' Dim file_local As String = path.GetTempPath + "\" + lv.Text
|
||||
' Dim file_remote As String = tb_ftppath.Text + "/" + lv.Text
|
||||
' file_local = file_local.Replace("\\", "\")
|
||||
' file_remote = file_remote.Replace("//", "/")
|
||||
' FTP.download(file_remote, file_local)
|
||||
|
||||
' If System.IO.File.Exists(file_local) Then
|
||||
' Dim fi As New System.IO.FileInfo(file_local)
|
||||
' Dim fs As Long = Long.Parse(lv.SubItems(2).Text)
|
||||
' If fi.Length <> fs Then
|
||||
' MsgBox("다운로드된 파일의 용량이 일치하지 않습니다", MsgBoxStyle.Critical, "확인")
|
||||
' Return
|
||||
' Else
|
||||
' Dim cmd As String = "explorer " + path.GetTempPath
|
||||
' Shell(cmd, AppWinStyle.NormalFocus)
|
||||
' End If
|
||||
' Else
|
||||
' MsgBox("파일이 다운로드 되지 않았습니다", MsgBoxStyle.Critical, "확인")
|
||||
' End If
|
||||
|
||||
'End If
|
||||
End Select
|
||||
End If
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub btFtpSearch_Click(sender As Object, e As EventArgs) Handles btFtpSearch.Click
|
||||
|
||||
If String.IsNullOrEmpty(tb_ftpserver.Text) Then
|
||||
MsgBox("FTP Server IP는 반드시 입력되어야 합니다", MsgBoxStyle.Critical, "확인")
|
||||
Return
|
||||
End If
|
||||
|
||||
If Not IsNumeric(tb_ftpport.Text) Then
|
||||
MsgBox("FTP Port(기본값=21)가 입력되지 않았습니다", MsgBoxStyle.Critical, "확인")
|
||||
tb_ftpport.Text = "21"
|
||||
Return
|
||||
End If
|
||||
|
||||
If String.IsNullOrEmpty(tb_ftppath.Text) Then
|
||||
tb_ftppath.Text = "/"
|
||||
End If
|
||||
|
||||
FTP_0.host = tb_ftpserver.Text + ":" + tb_ftpport.Text
|
||||
FTP_0.user = tb_ftpid.Text
|
||||
FTP_0.pass = tb_ftppass.Text
|
||||
FTP_0.Passive = chk_ftpPassive.Checked
|
||||
FTP_0.utf8 = chk_ftputf8.Checked
|
||||
|
||||
RefreshFile(tb_ftppath.Text)
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
BIN
DriveInfo/irea.mdb
Normal file
568
DriveInfo/모듈/Job.vb
Normal file
@@ -0,0 +1,568 @@
|
||||
Module Job
|
||||
|
||||
'//작업을 이어서하는 지 플래그
|
||||
Private Bw As System.Threading.Thread
|
||||
|
||||
Structure RunParam
|
||||
Dim StartP As Integer
|
||||
Dim EndP As Integer
|
||||
Dim WorkDir As String
|
||||
Dim Replay As Boolean
|
||||
Dim isCopy As Boolean '//복사작업인가?
|
||||
Dim 원본폴더조합 As Boolean
|
||||
Dim 확장자 As String
|
||||
|
||||
Public ReadOnly Property isFTPWork As Boolean
|
||||
Get
|
||||
If WorkDir.StartsWith("ftp:") Then
|
||||
Return True
|
||||
Else
|
||||
Return False
|
||||
End If
|
||||
End Get
|
||||
End Property
|
||||
End Structure
|
||||
|
||||
Public Function Run(Param As RunParam) As Boolean
|
||||
|
||||
PLog.Add("작업시작", True)
|
||||
|
||||
'//일반 초기화
|
||||
PLog.Add("시스템초기화")
|
||||
Log = New ArrayList()
|
||||
log2 = New ArrayList()
|
||||
Backupfolder1.Clear() '//기존의 백업폴더명을 삭제한다. (새로쓰기위해서)
|
||||
|
||||
'//원본폴더조합기능이 켜져있는경우
|
||||
If Param.원본폴더조합 Then
|
||||
|
||||
MDiMain.MSG("원본폴더조합시작")
|
||||
MDiMain.SubDirListCler() '//기존목록은 초기화한다.
|
||||
|
||||
'//작업순서에 포함시킨다.
|
||||
Dim lv As ListViewItem = MDiMain.lvSchedule.Items.Add("폴더조합")
|
||||
lv.SubItems.Add("원본")
|
||||
lv.SubItems.Add("지정된 목록으로부터 하위폴더명을 추출합니다.")
|
||||
lv.SubItems.Add("대기")
|
||||
lv.SubItems.Add("-")
|
||||
MDiMain.lvSchedule.Refresh()
|
||||
|
||||
MDiMain.Noti("하위폴더조합 실행")
|
||||
|
||||
'//이어하기 작업이 설정되어있다면?
|
||||
Dim 체크섬 As String = ""
|
||||
If Not Prev_file Is Nothing Then
|
||||
체크섬 = FileCheckSum(Prev_file.FullName)
|
||||
End If
|
||||
Dim jobfile As String = String.Format("{0}\{1}_{2}_{3}_{4}_{5}.job", PathJob, Prev_file.Name, Prev_file.Length, Param.StartP, Param.EndP, 체크섬)
|
||||
Dim 폴더조합불러오기성공 As Boolean = False
|
||||
If Param.Replay Then
|
||||
'//원본폴더조합기능은 직접편집이아니고 불러온 파일명과 해당 파일의 크기가 동일한 기록이 있다면 그것을 이용한다
|
||||
If Not Prev_file Is Nothing AndAlso Prev_file.Exists Then
|
||||
If System.IO.File.Exists(jobfile) Then
|
||||
'//동일한 내역을 가진 job 파일이 있으므로 그것을 이용하도록 한다
|
||||
Dim fi As New System.IO.FileInfo(jobfile)
|
||||
If fi.Length > 0 Then
|
||||
Try
|
||||
Dim buffer As String = System.IO.File.ReadAllText(jobfile)
|
||||
For Each line As String In buffer.Split(vbCrLf)
|
||||
If String.IsNullOrEmpty(line) Then Continue For
|
||||
MDiMain.AddSubDirList(line.Trim())
|
||||
Next
|
||||
폴더조합불러오기성공 = True
|
||||
|
||||
'//현재상태
|
||||
lv.SubItems(2).Text = String.Format("{0}건 의 하위폴더가 설정됨", MDiMain.SubDirCount)
|
||||
lv.SubItems(3).Text = "통과"
|
||||
lv.BackColor = Color.LightSkyBlue
|
||||
MDiMain.lvSchedule.Refresh()
|
||||
|
||||
Catch ex As Exception
|
||||
PLog.Add("폴더조합불러오기오류 : " + ex.Message)
|
||||
End Try
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
If Not 폴더조합불러오기성공 Then
|
||||
'//새로 생성한다.
|
||||
|
||||
'//프로그레스바 초기화
|
||||
MDiMain.ProgressSet(Param.EndP, Param.StartP, Param.StartP)
|
||||
|
||||
'//수량 표시
|
||||
MDiMain.ShowCnt1(Param.StartP, Param.EndP)
|
||||
|
||||
Dim rcnt As Integer = Param.EndP - Param.StartP + 1
|
||||
PLog.Add(String.Format("원본폴더 조합기능 시작({0})", rcnt))
|
||||
|
||||
'//현재작업을 저장해준다
|
||||
Dim JobFileBuf As New System.Text.StringBuilder
|
||||
|
||||
For i As Integer = Param.StartP To Param.EndP
|
||||
MDiMain.ProgressVal(i)
|
||||
|
||||
'//작업진행사항을 표시해준다.
|
||||
lv.SubItems(3).Text = String.Format("{0}/{1}", i, Param.EndP)
|
||||
MDiMain.lvSchedule.Refresh()
|
||||
|
||||
Dim subdir As String = MDiMain.srcd_Get_FileList(i, "", Param.확장자).ToString
|
||||
If subdir = "/" OrElse subdir = "\" OrElse subdir.ToLower().IndexOf("err") <> -1 Then Continue For
|
||||
If Not MDiMain.CheckExistSubDir(subdir) Then
|
||||
MDiMain.AddSubDirList(subdir) '//존재하는 항목은 추가되지 않는다.
|
||||
JobFileBuf.AppendLine(subdir)
|
||||
End If
|
||||
Application.DoEvents()
|
||||
Next
|
||||
|
||||
'//현재상태
|
||||
lv.SubItems(3).Text = "완료"
|
||||
lv.BackColor = Color.LightGreen
|
||||
MDiMain.lvSchedule.Refresh()
|
||||
|
||||
'//완료목록을 저장해준다.
|
||||
System.IO.File.WriteAllText(jobfile, JobFileBuf.ToString())
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
'//중간분리자
|
||||
MDiMain.AddScheduleDiv("파일목록 수집")
|
||||
|
||||
'//파일정보수집
|
||||
MDiMain.MSG("파일정보수집")
|
||||
|
||||
'//서브목록이있다면 그것들만 수집힌다.
|
||||
Dim fullsubdir As String
|
||||
Dim 재시도 As Boolean = False
|
||||
retryFileSearch:
|
||||
|
||||
'//폴더내의 파일목록을 수집한다.
|
||||
Dim 수집오류 As Boolean = False
|
||||
If MDiMain.HasSubDir Then '//서브목록이 있다면
|
||||
|
||||
'//프로그레스 설정과 현재 수량 표시
|
||||
MDiMain.ProgressSet(MDiMain.SubDirCount, 0, 0)
|
||||
|
||||
For i As Integer = 1 To MDiMain.SubDirCount
|
||||
MDiMain.ShowCnt1(i, MDiMain.SubDirCount)
|
||||
MDiMain.ProgressVal(i)
|
||||
|
||||
Dim lvSubDir As ListViewItem = MDiMain.list_subdir.Items(i - 1)
|
||||
fullsubdir = CStr(GetWorkDIr() & "\" & lvSubDir.Text).Replace("\\", "\")
|
||||
|
||||
'//대상폴더가 FTP람녀 폴더구분기호를 \ 에서 / 로 변경해야한다.
|
||||
If Param.isFTPWork Then fullsubdir = fullsubdir.Replace("\", "/")
|
||||
|
||||
Dim lvitem As ListViewItem = MDiMain.lvSchedule.Items.Add("검색")
|
||||
lvitem.SubItems.Add(fullsubdir)
|
||||
lvitem.SubItems.Add("파일목록을 작성합니다.")
|
||||
lvitem.SubItems.Add("대기")
|
||||
lvitem.SubItems.Add("-")
|
||||
MDiMain.lvSchedule.Refresh()
|
||||
Application.DoEvents()
|
||||
|
||||
MDiMain.Noti("폴더검색" + vbCrLf + fullsubdir)
|
||||
|
||||
If 재시도 AndAlso lvSubDir.ForeColor <> Color.Red Then
|
||||
'//재시도이므로 처리하지 않는다
|
||||
PLog.Add("재시도작업이므로 확인개체는 처리하지 않습니다(" + lvSubDir.Text + ")")
|
||||
Continue For
|
||||
End If
|
||||
|
||||
'//FTP가 대상일경우에는 별도 처리를 한다.
|
||||
If Param.isFTPWork Then
|
||||
fullsubdir = fullsubdir.Replace("\", "/")
|
||||
Dim ermsg As String = ""
|
||||
Dim fnotfound As Boolean = False
|
||||
Dim filecount As Integer = 0
|
||||
Dim RetryCount As Integer = 0
|
||||
RETRYFTP:
|
||||
RetryCount += 1
|
||||
If Not SearchFTP(Param, lvitem, fullsubdir, ermsg, fnotfound, filecount) Then
|
||||
If Not fnotfound Then
|
||||
'//오류가 발생했다면 3회정도 재시도를 한다.
|
||||
If RetryCount <= MaxRetryCount Then
|
||||
lvitem.ForeColor = Color.DarkMagenta
|
||||
lvitem.SubItems(3).Text = String.Format("{0}/{1}", RetryCount, MaxRetryCount)
|
||||
MDiMain.lvSchedule.Refresh()
|
||||
PLog.Add(String.Format("재시도를 위해서 다음 시간을 기다림 : {0}ms", RetrySleeptime))
|
||||
Threading.Thread.Sleep(RetrySleeptime)
|
||||
Application.DoEvents()
|
||||
GoTo RETRYFTP
|
||||
Else
|
||||
lvitem.ForeColor = Color.White
|
||||
lvitem.BackColor = Color.DarkRed
|
||||
lvitem.SubItems(3).Text = "오류"
|
||||
MDiMain.lvSchedule.Refresh()
|
||||
Application.DoEvents()
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
SearchDir(Param, New DirectoryInfo(fullsubdir))
|
||||
Application.DoEvents()
|
||||
End If
|
||||
|
||||
'//delay
|
||||
Threading.Thread.Sleep(1000)
|
||||
Next
|
||||
Else '//없으면 지정된 목록을 기준으로 잡는다
|
||||
'MsgBox("dirinfo" & New DirectoryInfo(GetWorkDIr).FullName)
|
||||
|
||||
If Param.WorkDir.StartsWith("ftp:/") Then
|
||||
Dim ermsg As String = ""
|
||||
Dim fnotfound As Boolean = False
|
||||
Dim filecount As Integer = 0
|
||||
|
||||
Dim lvitem As ListViewItem = MDiMain.lvSchedule.Items.Add("검색")
|
||||
lvitem.SubItems.Add(Param.WorkDir)
|
||||
lvitem.SubItems.Add("FTP 파일명수집")
|
||||
lvitem.SubItems.Add("대기")
|
||||
lvitem.SubItems.Add("-")
|
||||
|
||||
MDiMain.Noti("폴더검색" + vbCrLf + Param.WorkDir)
|
||||
Application.DoEvents()
|
||||
|
||||
If Not SearchFTP(Param, lvitem, GetWorkDIr, ermsg, fnotfound, filecount) Then
|
||||
MsgBox("FTP경로조회가 실패되었습니다" + vbCrLf + ermsg, MsgBoxStyle.Critical, "확인")
|
||||
Else
|
||||
Log.Add("FTP 파일조회성공 : " + Param.WorkDir + ":" + filecount.ToString())
|
||||
End If
|
||||
Else
|
||||
|
||||
Dim lvitem As ListViewItem = MDiMain.lvSchedule.Items.Add("검색")
|
||||
lvitem.SubItems.Add(Param.WorkDir)
|
||||
lvitem.SubItems.Add("파일명수집")
|
||||
lvitem.SubItems.Add("대기")
|
||||
lvitem.SubItems.Add("-")
|
||||
MDiMain.lvSchedule.Refresh()
|
||||
Application.DoEvents()
|
||||
|
||||
SearchDir(Param, New DirectoryInfo(Param.WorkDir))
|
||||
End If
|
||||
End If
|
||||
|
||||
If 수집오류 Then
|
||||
If MsgBox("파일목록 수집오류가 발생하였습니다 " + vbCrLf + "다시시도 하시겠습니까?", MsgBoxStyle.YesNo Or MsgBoxStyle.Question, "확인") = MsgBoxResult.Yes Then
|
||||
재시도 = True
|
||||
GoTo retryFileSearch
|
||||
Else
|
||||
MsgBox("현재목록을 가지고 진행합니다", MsgBoxStyle.Information, "확인")
|
||||
End If
|
||||
End If
|
||||
|
||||
Addlog2("전체 그림파일 수 : " & MDiMain.DataSet1.FileList.Rows.Count & "개")
|
||||
PLog.Add(String.Format("Total Image Count : {0}", MDiMain.DataSet1.FileList.Rows.Count))
|
||||
|
||||
If MDiMain.DataSet1.FileList.Rows.Count = 0 Then '//목록이 하나도없다
|
||||
MsgBox("지정된 작업폴더내에 가능한 그림파일이 존재하지않습니다" & vbCrLf & "더이상 진행을 할 수 없습니다", MsgBoxStyle.Critical, "확인")
|
||||
Return False
|
||||
End If
|
||||
|
||||
'//중간분리자
|
||||
MDiMain.AddScheduleDiv("원본목록 작성")
|
||||
Application.DoEvents()
|
||||
|
||||
'//원본목록작성
|
||||
MDiMain.MSG("원본목록 작성")
|
||||
Dim SrcTxt As String
|
||||
Dim StartIndex As Integer = getSP()
|
||||
PLog.Add(String.Format("Make SourceList Range {0}~{1}", StartIndex, Ep))
|
||||
MDiMain.Noti("원본목록작성")
|
||||
For i As Integer = StartIndex To Ep
|
||||
MDiMain.ShowCnt1(i, Ep, "원본목록 작성중")
|
||||
SrcTxt = MDiMain.Get_SrcFileList(i + 1)
|
||||
If SrcTxt <> "" AndAlso SrcTxt <> "*" And SrcTxt <> "?" Then
|
||||
MDiMain.DataSet1.SrcList.Rows.Add(New String() {SrcTxt})
|
||||
End If
|
||||
Application.DoEvents()
|
||||
Next
|
||||
Addlog2("원본목록 수 : " & MDiMain.DataSet1.SrcList.Rows.Count & "개")
|
||||
PLog.Add(String.Format("Source List Count ={0}", MDiMain.DataSet1.SrcList.Count))
|
||||
|
||||
|
||||
'//중간분리자
|
||||
MDiMain.AddScheduleDiv("작업목록 작성")
|
||||
Application.DoEvents()
|
||||
|
||||
'//이제 원본목록을 파일목로에서 검색한다. 데이터테이블의 Like 를 이요하면된다.
|
||||
'//그리고 검색된것들은 worklist 로보낸다.
|
||||
MDiMain.Noti("작업목록 작성")
|
||||
If GetrunType() = E_Runtype.Delete Then
|
||||
DeleteFileM(Param)
|
||||
Application.DoEvents()
|
||||
Else
|
||||
MoveFileM(Param)
|
||||
Application.DoEvents()
|
||||
End If
|
||||
|
||||
Addlog2("작업목록 : " & MDiMain.DataSet1.WorkList.Rows.Count & "개")
|
||||
Return True
|
||||
|
||||
End Function
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 지정된 FTP로부터 파일목록을 수신한다
|
||||
''' </summary>
|
||||
''' <param name="Di"></param>
|
||||
''' <remarks></remarks>
|
||||
Public Function SearchFTP(ByRef Param As RunParam, ByRef lvitem As ListViewItem, ByVal Di As String, ByRef erMsg As String, ByRef NotFound As Boolean, ByRef filecnt As Integer) As Boolean
|
||||
|
||||
Di = Di.Replace("ftp:/", "").Replace("//", "/")
|
||||
If Not Di.StartsWith("/") Then Di = "/" + Di
|
||||
If Di.EndsWith("/") Then Di = Di.Substring(0, Di.Length - 1)
|
||||
If Di.IndexOf("-원본") = -1 Then
|
||||
|
||||
PLog.Add(String.Format("FTP 목록조회 : {0}", Di))
|
||||
|
||||
'//FTP캐쉬폴더가 있다면 그것을 사용한다.(우선은 파일목록에대한 작업이다)
|
||||
Dim CacheDirName As String = PathJob + "\" + FTPServer + "\" + Di.Replace("/", "\") + "\summary.txt"
|
||||
CacheDirName = CacheDirName.Replace("\\", "\")
|
||||
|
||||
'//수집된파일목록
|
||||
Dim filelist As New List(Of String)
|
||||
Dim SubDirList As New List(Of String)
|
||||
Dim 이어하기 As Boolean = False
|
||||
|
||||
'//파일목록수집(기존정보의 사용이 허가된 경우 캐쉬파일에서 정보를 읽는다
|
||||
If Param.Replay AndAlso System.IO.File.Exists(CacheDirName) Then
|
||||
Dim SumFile As New ArinSetting.ArinSetting(CacheDirName)
|
||||
Dim 파일목록 As String = SumFile.Data("file", "list")
|
||||
For Each 파일 As String In 파일목록.Split(",")
|
||||
If String.IsNullOrEmpty(파일) Then Continue For
|
||||
If filelist.IndexOf(파일) = -1 Then filelist.Add(파일)
|
||||
Next
|
||||
Application.DoEvents()
|
||||
Dim 하위폴더목록 As String = SumFile.Data("subdir", "list")
|
||||
For Each 파일 As String In 하위폴더목록.Split(",")
|
||||
If String.IsNullOrEmpty(파일) Then Continue For
|
||||
If SubDirList.IndexOf(파일) = -1 Then SubDirList.Add(파일)
|
||||
Next
|
||||
If filelist.Count > 0 Then 이어하기 = True
|
||||
Application.DoEvents()
|
||||
End If
|
||||
|
||||
'//파일목록이 불러와진게 없다면 FTP에서 조회를 시작한다.
|
||||
If filelist.Count < 1 Then
|
||||
|
||||
Dim isErr As Boolean = False
|
||||
Dim ErrMsg As String = ""
|
||||
Dim dirlist As FTPClients.FTPdirectory
|
||||
Try
|
||||
dirlist = FTP_0.ListDirectoryDetail(Di)
|
||||
Catch exw As System.Net.WebException
|
||||
|
||||
If TypeOf (exw.Response) Is System.Net.FtpWebResponse Then
|
||||
|
||||
PLog.Add("FTP목록조회오류(WEBEX) : " + exw.Message, True)
|
||||
Dim ftpdesc As String = CType(exw.Response, System.Net.FtpWebResponse).StatusDescription
|
||||
If ftpdesc.ToLower.IndexOf("directory not found") <> -1 Then
|
||||
PLog.Add("폴더없음 오류코드이므로 정상 처리로 한다", True)
|
||||
NotFound = True
|
||||
erMsg = ftpdesc
|
||||
|
||||
lvitem.SubItems(2).Text = "폴더가 존재하지 않습니다"
|
||||
lvitem.SubItems(3).Text = "완료"
|
||||
lvitem.BackColor = Color.White '//성공했다
|
||||
lvitem.ForeColor = Color.DimGray
|
||||
Return False
|
||||
Else
|
||||
erMsg = exw.Message
|
||||
lvitem.SubItems(2).Text = exw.Message
|
||||
lvitem.SubItems(3).Text = "오류"
|
||||
lvitem.BackColor = Color.Red
|
||||
lvitem.ForeColor = Color.White
|
||||
Return False
|
||||
End If
|
||||
Else
|
||||
PLog.Add("FTP목록조회오류(WEBEX-2) : " + exw.Message, True)
|
||||
erMsg = exw.Message
|
||||
lvitem.SubItems(2).Text = exw.Message
|
||||
lvitem.SubItems(3).Text = "오류"
|
||||
lvitem.BackColor = Color.Red
|
||||
lvitem.ForeColor = Color.White
|
||||
Return False
|
||||
End If
|
||||
|
||||
Catch ex As Exception
|
||||
PLog.Add("FTP목록조회오류(기타) : " + ex.Message, True)
|
||||
erMsg = ex.Message
|
||||
lvitem.SubItems(2).Text = ex.Message
|
||||
lvitem.SubItems(3).Text = "오류"
|
||||
lvitem.BackColor = Color.Red
|
||||
lvitem.ForeColor = Color.White
|
||||
Return False
|
||||
End Try
|
||||
|
||||
Application.DoEvents()
|
||||
|
||||
'//파일목록을 저장해서 캐쉬로사용하도록 한다.
|
||||
Dim sb_FileList As New System.Text.StringBuilder
|
||||
Dim fcnt1 As UInteger = 0
|
||||
For Each info As FTPClients.FTPfileInfo In dirlist.GetFiles(Param.확장자)
|
||||
If info.FileType <> FTPClients.FTPfileInfo.DirectoryEntryTypes.File Then Continue For
|
||||
fcnt1 += 1
|
||||
sb_FileList.Append("," + info.Filename)
|
||||
filelist.Add(info.Filename)
|
||||
'//If filelist.Count Mod 50 = 0 Then
|
||||
Application.DoEvents() '//160831
|
||||
'//End If
|
||||
Next
|
||||
|
||||
''//ftp에러 오류없이 처리되었따
|
||||
'lvitem.ForeColor = Color.Black
|
||||
'lvitem.SubItems(2).Text = fcnt1.ToString()
|
||||
'lvitem.SubItems(3).Text = "완료"
|
||||
'If fcnt1 < 1 Then
|
||||
' lvitem.BackColor = Color.WhiteSmoke '//성공했지만 파일은 없었다
|
||||
'Else
|
||||
' lvitem.BackColor = Color.LightGreen '//성공했다
|
||||
'End If
|
||||
|
||||
'//캐쉬파일을 생성해준다. 160716
|
||||
Dim fiCache As New System.IO.FileInfo(CacheDirName)
|
||||
If Not fiCache.Directory.Exists Then fiCache.Directory.Create()
|
||||
Dim summary As New ArinSetting.ArinSetting(fiCache.FullName)
|
||||
If Not summary.Exist Then summary.CreateFile()
|
||||
summary.Data("file", "count", "") = fcnt1.ToString()
|
||||
summary.Data("file", "list", "") = sb_FileList.ToString()
|
||||
|
||||
Application.DoEvents()
|
||||
Dim foldlist2 As New System.Text.StringBuilder
|
||||
For Each info As FTPClients.FTPfileInfo In dirlist.GetDirectories
|
||||
SubDirList.Add(info.NameOnly)
|
||||
foldlist2.Append("," + info.NameOnly)
|
||||
Next
|
||||
|
||||
'//하위목록도 저장해준다.
|
||||
summary.Data("subdir", "count", "") = SubDirList.Count.ToString()
|
||||
summary.Data("subdir", "list", "") = foldlist2.ToString()
|
||||
summary.Save()
|
||||
Application.DoEvents()
|
||||
End If
|
||||
|
||||
'//수집된 파일목록을 데이터테이블에 기록한다.
|
||||
Dim fcnt As Integer = 0
|
||||
For Each File As String In filelist
|
||||
fcnt += 1
|
||||
MDiMain.MSG(MDiMain.DataSet1.FileList.Rows.Count & "개의 파일정보를 수집했습니다")
|
||||
MDiMain.DataSet1.FileList.Rows.Add(New String() {Di, File})
|
||||
Application.DoEvents()
|
||||
Next
|
||||
filecnt += fcnt
|
||||
lvitem.SubItems(2).Text = String.Format("{0}", fcnt)
|
||||
|
||||
If 이어하기 Then
|
||||
lvitem.SubItems(3).Text = "통과"
|
||||
lvitem.BackColor = Color.LightSkyBlue
|
||||
Else
|
||||
lvitem.SubItems(3).Text = "완료"
|
||||
lvitem.BackColor = Color.LightGreen '//성공했다
|
||||
End If
|
||||
|
||||
If fcnt = 0 Then
|
||||
lvitem.ForeColor = Color.Gray
|
||||
Else
|
||||
lvitem.ForeColor = Color.Black
|
||||
End If
|
||||
|
||||
|
||||
PLog.Add(String.Format("폴더검색결과({0}) 파일={1},폴더={2}", Di, filelist.Count, SubDirList.Count))
|
||||
MDiMain.MSG(MDiMain.DataSet1.FileList.Rows.Count & "개의 파일정보를 수집했습니다")
|
||||
Application.DoEvents()
|
||||
|
||||
'//해당폴더의 서브폴더를 체크하도록 하였다면?
|
||||
If GetSubDir() Then
|
||||
|
||||
'//여기서 폴더정보를 다시 수집한다.
|
||||
For Each DD As String In SubDirList
|
||||
Dim subpath As String = Di + "/" + DD
|
||||
subpath = subpath.Replace("//", "/")
|
||||
subpath = subpath.Replace("\", "/")
|
||||
PLog.Add(String.Format("Entering Subdir : {0}", subpath))
|
||||
|
||||
Dim fnotfound As Boolean
|
||||
Dim filecount As Integer
|
||||
Dim lvitemS As ListViewItem = MDiMain.lvSchedule.Items.Add("검색")
|
||||
lvitemS.SubItems.Add(subpath)
|
||||
lvitemS.SubItems.Add("FTP 파일명수집")
|
||||
lvitemS.SubItems.Add("대기")
|
||||
lvitemS.SubItems.Add("-")
|
||||
MDiMain.lvSchedule.Refresh()
|
||||
Application.DoEvents()
|
||||
|
||||
Dim RetryCount As Integer = 0
|
||||
RETRYFTP:
|
||||
|
||||
If Not SearchFTP(Param, lvitemS, subpath, erMsg, fnotfound, filecount) Then
|
||||
If Not fnotfound Then
|
||||
'//오류가발생했지만 오류내용이 없다는 오류이다.(정상처리해야함)
|
||||
If RetryCount <= MaxRetryCount Then
|
||||
lvitem.ForeColor = Color.DarkMagenta
|
||||
lvitem.SubItems(3).Text = String.Format("{0}/{1}", RetryCount, MaxRetryCount)
|
||||
MDiMain.lvSchedule.Refresh()
|
||||
PLog.Add(String.Format("재시도를 위해서 다음 시간을 기다림 : {0}ms", RetrySleeptime))
|
||||
Threading.Thread.Sleep(RetrySleeptime)
|
||||
Application.DoEvents()
|
||||
GoTo RETRYFTP
|
||||
Else
|
||||
lvitem.ForeColor = Color.White
|
||||
lvitem.BackColor = Color.DarkRed
|
||||
lvitem.SubItems(3).Text = "오류"
|
||||
MDiMain.lvSchedule.Refresh()
|
||||
Application.DoEvents()
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
Else
|
||||
PLog.Add("SearchFTP Skip : " + Di)
|
||||
End If
|
||||
Return True
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 해당디렉토리로부터 파일정보를 수집한다
|
||||
''' </summary>
|
||||
''' <param name="Di"></param>
|
||||
''' <remarks></remarks>
|
||||
Public Function SearchDir(ByRef Param As RunParam, ByVal Di As DirectoryInfo) As Boolean
|
||||
If Di.Exists = False Then
|
||||
PLog.Add("폴더내파일검색 : 폴더없음 : " + Di.FullName, True)
|
||||
Return False
|
||||
End If
|
||||
|
||||
If Di.FullName.IndexOf("-원본") = -1 Then
|
||||
|
||||
PLog.Add("폴더내 파일검색 : " + Di.FullName)
|
||||
|
||||
Try
|
||||
Dim FI() As FileInfo = Di.GetFiles("*." + Param.확장자)
|
||||
For Each F As FileInfo In FI
|
||||
MDiMain.MSG(MDiMain.DataSet1.FileList.Rows.Count & "개의 파일정보를 수집했습니다")
|
||||
MDiMain.DataSet1.FileList.Rows.Add(New String() {F.DirectoryName, F.Name})
|
||||
Application.DoEvents()
|
||||
Next
|
||||
Application.DoEvents()
|
||||
If GetSubDir() Then
|
||||
For Each DD As DirectoryInfo In Di.GetDirectories
|
||||
SearchDir(Param, DD)
|
||||
Next
|
||||
End If
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
MsgBox("폴더정보를 불러오는데 실패했습니다" & vbCrLf & ex.Message.ToString, MsgBoxStyle.Information, "확인")
|
||||
Return False
|
||||
End Try
|
||||
Else
|
||||
PLog.Add("폴더내파일검색 : 원본폴더로인한 통과 : " + Di.FullName, True)
|
||||
Return False
|
||||
End If
|
||||
End Function
|
||||
|
||||
|
||||
End Module
|
||||
182
DriveInfo/모듈/Mod_Backup.vb
Normal file
@@ -0,0 +1,182 @@
|
||||
Imports System.IO
|
||||
'----------------------------------
|
||||
' backup Class
|
||||
'---------------------------------
|
||||
Module Mod_Backup
|
||||
Public Backupfolder1 As New ArrayList
|
||||
|
||||
Private Function ExistBakFolder1(ByVal FolderName As String) As Boolean
|
||||
'//지정된 폴더가 백업된 폴더목록에 존재하는지
|
||||
'addlog("기존백업폴더목록에 저장되어잇는지 : " & Backupfolder.IndexOf(FolderName))
|
||||
If Backupfolder1.IndexOf(FolderName) >= 0 Then Return True
|
||||
If MDiMain.cbBakTarget.SelectedIndex = 0 Then
|
||||
'//백업정책1이 폴더백업이고 하위폴더포함한 백업일경우에는 상위폴더가 백업되어잇는지 찾아야한다.
|
||||
For Each P As String In Backupfolder1 '//백업된 폴더의 모든 폴더명을 루프로돈다.
|
||||
'//백업된 폴더명이 루트라면 지금의 폴더명보다 더 짧을것이다. indexof 로 찾는다.
|
||||
If FolderName.ToUpper.IndexOf(P.ToUpper) >= 0 Then Return True
|
||||
Next
|
||||
End If
|
||||
Return False
|
||||
End Function
|
||||
|
||||
|
||||
Public Sub Check_Backup(ByVal fn As FileInfo, Optional ByVal tag As String = "")
|
||||
Dim BT1 As E_baktype = GetBackType1() '//백업정책의 형태를 가져온다.
|
||||
If BT1 <> E_baktype.none Then
|
||||
If MDiMain.cbBakTarget.SelectedIndex = 0 Then
|
||||
Try
|
||||
BT1WorkFD(BT1, fn, tag & "D") ' & "_FD") '//폴더백업
|
||||
Catch ex As Exception
|
||||
Errlog("BT1WorkFD 정의" & ex.Message.ToString)
|
||||
End Try
|
||||
|
||||
Else
|
||||
Try
|
||||
BT1WorkFL(BT1, fn, tag & "F") ' & "_FL") '//파일백업
|
||||
Catch ex As Exception
|
||||
Errlog("BT1WorkFL 정의" & ex.Message.ToString)
|
||||
End Try
|
||||
|
||||
End If
|
||||
End If
|
||||
|
||||
End Sub
|
||||
Private Sub BT1WorkFL(ByVal bt1 As E_baktype, ByVal fn As FileInfo, ByVal tag As String)
|
||||
Dim NewFn As String
|
||||
Dim NFN As FileInfo
|
||||
Select Case bt1
|
||||
Case E_baktype.none '//아무것도 하지않는다.
|
||||
Case E_baktype.Folder1 '//지정된 1번 폴더에 복사를 해놓는다. 바귄파일의 상위폴더명을 원래폳러명+날짜+태그 로 한다.
|
||||
NewFn = fn.FullName.ToUpper.Replace(GetWorkDIr.ToUpper, GetBakDir1.ToUpper & "\" & tag) '//작업폴더명은 백업폴더명으로 변경
|
||||
NFN = New FileInfo(NewFn)
|
||||
Addlog("B", fn.FullName, NFN.FullName, "파일백업(정책1-사용자지정폴더1)")
|
||||
NFN.Directory.Create() '//디렉토리생성
|
||||
fn.CopyTo(NFN.FullName, True)
|
||||
Case E_baktype.CurrnetFolder '//해당파일이 발견된 폴더의 하위폴더를 생성해서 백업 폴더명은 위에꺼 참고
|
||||
NewFn = fn.DirectoryName & "\BAK_" & tag & "\" & fn.Name '//현재폴더에 태그명으로 폴더를 만들고 그곳에 파일을 저장한다.
|
||||
NFN = New FileInfo(NewFn)
|
||||
Addlog("B", fn.FullName, NFN.FullName, "파일백업(정책1-현재폴더)")
|
||||
NFN.Directory.Create() '//디렉토리생성
|
||||
fn.CopyTo(NFN.FullName, True)
|
||||
Case E_baktype.ParentFolder '//해당파일이 발견된 폴더의 상위폴더를 생성 폳러명 위 참조
|
||||
NewFn = fn.Directory.FullName & tag & "\" & fn.Name '//상위폴더에 생성
|
||||
NFN = New FileInfo(NewFn)
|
||||
Addlog("B", fn.FullName, NFN.FullName, "파일백업(정책1-상위폴더)")
|
||||
NFN.Directory.Create() '//디렉토리생성
|
||||
fn.CopyTo(NFN.FullName, True)
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
Private Sub BT1WorkFD(ByVal bt1 As E_baktype, ByVal fn As FileInfo, ByVal tag As String) '//백업정책1 폴더백업
|
||||
Dim NewFn As String
|
||||
Dim NFN As FileInfo
|
||||
Dim FL() As FileInfo
|
||||
Select Case bt1
|
||||
Case E_baktype.none '//아무것도 하지않는다.
|
||||
Case E_baktype.Folder1 '//지정된 1번 폴더에 복사를 해놓는다. 바귄파일의 상위폴더명을 원래폳러명+날짜+태그 로 한다.
|
||||
'Addlog2("백업사용자폴더1 파일명 : " & fn.FullName & " 태그:" & tag)
|
||||
NewFn = fn.FullName.ToUpper.Replace(GetWorkDIr.ToUpper, GetBakDir1.ToUpper & "\" & tag) '//작업폴더명은 백업폴더명으로 변경
|
||||
NewFn = NewFn.Replace("\\", "\")
|
||||
'Addlog2("백업형태로 변경된 파일명 : " & NewFn)
|
||||
NFN = New FileInfo(NewFn)
|
||||
'//백업된폴더목록에 해당 목록이없으면
|
||||
If ExistBakFolder1(NFN.DirectoryName) = False Then
|
||||
MDiMain.MSG(NFN.DirectoryName & "폴더 백업중...")
|
||||
MDiMain.Refresh()
|
||||
Addlog("B", fn.FullName, NFN.FullName, "폴더백업(정책1-사용자지정폴더1)")
|
||||
'//원본폴더의 모든 내용을 복사해논다.
|
||||
Directory.CreateDirectory(NFN.DirectoryName) '//디렉토리생성
|
||||
FL = New DirectoryInfo(fn.DirectoryName).GetFiles("*.*", SearchOption.AllDirectories) '//파일목록을 가져온다.
|
||||
|
||||
Dim index As Integer = 0
|
||||
Dim endcnt As Integer = FL.Length
|
||||
|
||||
For Each F As FileInfo In FL
|
||||
index += 1
|
||||
MDiMain.ShowCnt2(index, endcnt, "백업")
|
||||
My.Application.DoEvents()
|
||||
Try
|
||||
F.CopyTo(NFN.DirectoryName & "\" & F.Name, True) '//새로운경로로 복사를 한다.
|
||||
Catch ex As System.IO.DirectoryNotFoundException
|
||||
Dim B As New System.IO.FileInfo(NFN.DirectoryName & "\" & F.Name)
|
||||
System.IO.Directory.CreateDirectory(B.DirectoryName)
|
||||
B = Nothing
|
||||
F.CopyTo(NFN.DirectoryName & "\" & F.Name, True) '//새로운경로로 복사를 한다.
|
||||
Catch ex As Exception
|
||||
MsgBox("파일복사오류 : " & vbCrLf & ex.Message, MsgBoxStyle.Critical, "확인")
|
||||
End Try
|
||||
Next
|
||||
Backupfolder1.Add(NFN.DirectoryName)
|
||||
MDiMain.MSG(NFN.DirectoryName & "폴더 백업완료.")
|
||||
MDiMain.Refresh()
|
||||
End If
|
||||
Case E_baktype.CurrnetFolder '//해당파일이 발견된 폴더의 하위폴더를 생성해서 백업 폴더명은 위에꺼 참고
|
||||
NewFn = fn.DirectoryName & "\BAK_" & tag & "\" & fn.Name '//현재폴더에 태그명으로 폴더를 만들고 그곳에 파일을 저장한다.
|
||||
NFN = New FileInfo(NewFn)
|
||||
'//백업된폴더목록에 해당 목록이없으면
|
||||
If ExistBakFolder1(NFN.DirectoryName) = False Then
|
||||
MDiMain.MSG(NFN.DirectoryName & "폴더 백업중...")
|
||||
MDiMain.Refresh()
|
||||
Addlog("B", fn.FullName, NFN.FullName, "폴더백업(정책1-현재폴더)")
|
||||
'//원본폴더의 모든 내용을 복사해논다.
|
||||
Directory.CreateDirectory(NFN.DirectoryName) '//디렉토리생성
|
||||
FL = New DirectoryInfo(fn.DirectoryName).GetFiles("*.*", SearchOption.AllDirectories)
|
||||
|
||||
Dim index As Integer = 0
|
||||
Dim endcnt As Integer = FL.Length
|
||||
|
||||
For Each F As FileInfo In FL
|
||||
index += 1
|
||||
MDiMain.ShowCnt2(index, endcnt, "백업")
|
||||
My.Application.DoEvents()
|
||||
Try
|
||||
F.CopyTo(NFN.DirectoryName & "\" & F.Name, True) '//새로운경로로 복사를 한다.
|
||||
Catch ex As System.IO.DirectoryNotFoundException
|
||||
Dim B As New System.IO.FileInfo(NFN.DirectoryName & "\" & F.Name)
|
||||
System.IO.Directory.CreateDirectory(B.DirectoryName)
|
||||
B = Nothing
|
||||
F.CopyTo(NFN.DirectoryName & "\" & F.Name, True) '//새로운경로로 복사를 한다.
|
||||
Catch ex As Exception
|
||||
MsgBox("파일복사오류 : " & vbCrLf & ex.Message, MsgBoxStyle.Critical, "확인")
|
||||
End Try
|
||||
Next
|
||||
Backupfolder1.Add(NFN.DirectoryName)
|
||||
MDiMain.MSG(NFN.DirectoryName & "폴더 백업완료.")
|
||||
MDiMain.Refresh()
|
||||
End If
|
||||
Case E_baktype.ParentFolder '//해당파일이 발견된 폴더의 상위폴더를 생성 폳러명 위 참조
|
||||
NewFn = fn.Directory.FullName & tag & "\" & fn.Name '//상위폴더에 생성
|
||||
NFN = New FileInfo(NewFn)
|
||||
If ExistBakFolder1(NFN.DirectoryName) = False Then
|
||||
MDiMain.MSG(NFN.DirectoryName & "폴더 백업중...")
|
||||
MDiMain.Refresh()
|
||||
addlog("B", fn.FullName, NFN.FullName, "폴더백업(정책1-상위폴더)")
|
||||
'//원본폴더의 모든 내용을 복사해논다.
|
||||
Directory.CreateDirectory(NFN.DirectoryName) '//디렉토리생성
|
||||
FL = New DirectoryInfo(fn.DirectoryName).GetFiles("*.*", SearchOption.AllDirectories)
|
||||
Dim index As Integer = 0
|
||||
Dim endcnt As Integer = FL.Length
|
||||
For Each F As FileInfo In FL
|
||||
index += 1
|
||||
MDiMain.ShowCnt2(index, endcnt, "백업")
|
||||
My.Application.DoEvents()
|
||||
Try
|
||||
F.CopyTo(NFN.DirectoryName & "\" & F.Name, True) '//새로운경로로 복사를 한다.
|
||||
Catch ex As System.IO.DirectoryNotFoundException
|
||||
Dim B As New System.IO.FileInfo(NFN.DirectoryName & "\" & F.Name)
|
||||
System.IO.Directory.CreateDirectory(B.DirectoryName)
|
||||
B = Nothing
|
||||
F.CopyTo(NFN.DirectoryName & "\" & F.Name, True) '//새로운경로로 복사를 한다.
|
||||
Catch ex As Exception
|
||||
MsgBox("파일복사오류 : " & vbCrLf & ex.Message, MsgBoxStyle.Critical, "확인")
|
||||
End Try
|
||||
Next
|
||||
Backupfolder1.Add(NFN.DirectoryName)
|
||||
MDiMain.MSG(NFN.DirectoryName & "폴더 백업완료.")
|
||||
MDiMain.Refresh()
|
||||
End If
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
|
||||
End Module
|
||||
494
DriveInfo/모듈/Mod_Move.vb
Normal file
@@ -0,0 +1,494 @@
|
||||
Imports System.IO
|
||||
Imports System.Threading
|
||||
Imports System.Text
|
||||
|
||||
Module Mod_Move '//파일이동 모듈파일
|
||||
Public Sub MoveFileM(Param As RunParam) '//파일목록으로부터 삭제대상폴더의 파일을 삭제한다.
|
||||
Dim StrBuff As New StringBuilder
|
||||
Dim WorkDes As String = IIf(GetrunType() = E_Runtype.Move, "이동", "복사")
|
||||
|
||||
'//작업목록을 작성합니다.
|
||||
MDiMain.MSG(WorkDes & "목록 작성중.")
|
||||
|
||||
'//변수목록
|
||||
Dim NR As ireaDataSet.WorkListRow
|
||||
Dim WRow() As ireaDataSet.FileListRow
|
||||
Dim DesDir As DirectoryInfo
|
||||
Dim DesFile As FileInfo
|
||||
Dim SrcOffset As Long = 0 '//원본목록에서의 레코드위치(대상파일을 생성하려면 줄번호를 기억해야한다.)
|
||||
|
||||
Dim index As Integer = 0
|
||||
Dim endcnt As Integer = MDiMain.DataSet1.SrcList.Rows.Count - 1
|
||||
|
||||
If MDiMain.DataSet1.SrcList Is Nothing Then
|
||||
MsgBox("원본목록이 존재하지않습니다." & vbCrLf & "진행할 수 없습니다", MsgBoxStyle.Information, "확인")
|
||||
Return
|
||||
End If
|
||||
|
||||
For Each drs As ireaDataSet.SrcListRow In MDiMain.DataSet1.SrcList.Rows
|
||||
|
||||
If MDiMain.DataSet1.FileList Is Nothing Then
|
||||
MsgBox("파일목록이 존재하지않습니다." & vbCrLf & "진행할 수 없습니다", MsgBoxStyle.Information, "확인")
|
||||
Return
|
||||
End If
|
||||
index += 1
|
||||
MDiMain.ShowCnt1(index, endcnt, "목록작성")
|
||||
Application.DoEvents()
|
||||
|
||||
'//전체목록에서 원본목록 검색
|
||||
Try
|
||||
WRow = MDiMain.DataSet1.FileList.Select("파일명 like '" & drs.목록명.Replace("'", "''") & "'") '//170410 홑따옴표 처리 및 오류처리기능 추가
|
||||
Catch ex As Exception
|
||||
|
||||
'//오류가 발생했으므로 오류로 기록하고 넘긴다.
|
||||
WRow = Nothing
|
||||
NR = MDiMain.DataSet1.WorkList.NewWorkListRow
|
||||
NR.원본경로 = String.Empty
|
||||
NR.원본파일명 = drs.목록명
|
||||
Select Case GetrunType()
|
||||
Case E_Runtype.Copy
|
||||
NR.구분 = "복사"
|
||||
Case E_Runtype.Delete
|
||||
NR.구분 = "삭제"
|
||||
Case E_Runtype.Move
|
||||
NR.구분 = "이동"
|
||||
End Select
|
||||
NR.대상경로 = String.Empty
|
||||
NR.대상파일명 = String.Empty
|
||||
NR.오류 = "파일추출실패:" + ex.Message
|
||||
Try
|
||||
MDiMain.DataSet1.WorkList.Rows.Add(NR)
|
||||
Catch ex2 As Exception '//추가오류는 뻔하다이미 그 파일이 있는경우다.
|
||||
Continue For
|
||||
End Try
|
||||
End Try
|
||||
|
||||
SrcOffset = index + getSP() - 1 '//줄시작값과 현재의 오프셋을 더한다.
|
||||
Dim loopcnt2 As Integer = 0
|
||||
For Each dr As ireaDataSet.FileListRow In WRow
|
||||
|
||||
NR = MDiMain.DataSet1.WorkList.NewWorkListRow
|
||||
NR.원본경로 = dr.경로
|
||||
NR.원본파일명 = dr.파일명
|
||||
Select Case GetrunType()
|
||||
Case E_Runtype.Copy
|
||||
NR.구분 = "복사"
|
||||
Case E_Runtype.Delete
|
||||
NR.구분 = "삭제"
|
||||
Case E_Runtype.Move
|
||||
NR.구분 = "이동"
|
||||
End Select
|
||||
|
||||
loopcnt2 += 1
|
||||
Application.DoEvents()
|
||||
|
||||
'//검색된것들은 이동또는 복사대상이므로 작업목록에 집어넣는다.
|
||||
'//대상파일명을 생성한다.
|
||||
NR.오류 = ""
|
||||
|
||||
Try
|
||||
DesDir = New DirectoryInfo(MDiMain.DESD_GetDesDir(SrcOffset, dr.파일명.Substring(0, dr.파일명.LastIndexOf(".")), GetExtendOnly, dr.경로.Substring(GetWorkDIr.Length)))
|
||||
NR.대상경로 = DesFile.DirectoryName
|
||||
Catch ex As Exception
|
||||
NR.대상경로 = ""
|
||||
NR.오류 += ex.Message
|
||||
End Try
|
||||
|
||||
Try
|
||||
DesFile = New FileInfo(DesDir.FullName & "\" & MDiMain.Desf_Get_FileList(SrcOffset, dr.파일명.Substring(0, dr.파일명.LastIndexOf(".")), GetExtendOnly) & Pub.GetExtendFromMdi.Trim("*"))
|
||||
NR.대상파일명 = DesFile.Name
|
||||
Catch ex As Exception
|
||||
NR.대상파일명 = ""
|
||||
NR.오류 += ex.Message
|
||||
End Try
|
||||
|
||||
If NR.오류 <> "" Then
|
||||
'//이미오류가 발생했다.
|
||||
Try
|
||||
MDiMain.DataSet1.WorkList.Rows.Add(NR)
|
||||
Catch ex As Exception '//추가오류는 뻔하다이미 그 파일이 있는경우다.
|
||||
|
||||
End Try
|
||||
Else
|
||||
If DesFile.Name.IndexOf("*") = -1 AndAlso DesFile.Name.IndexOf("?") = -1 Then
|
||||
|
||||
Try
|
||||
MDiMain.DataSet1.WorkList.Rows.Add(NR)
|
||||
Catch ex As Exception '//추가오류는 뻔하다이미 그 파일이 있는경우다.
|
||||
NR.오류 += ",중복된 대상파일입니다(" & ex.Message.ToString & ")"
|
||||
'MDiMain.DataSet1.WorkList.Rows.Add(NR)
|
||||
makelog2("중복된 대상파일이 생성되었습니다")
|
||||
makelog2(" 원본파일명 : " & NR.원본경로 & "\" & NR.원본파일명)
|
||||
makelog2(" 대상파일명 : " & NR.대상경로 & "\" & NR.대상파일명)
|
||||
'If MsgBox("중복된 대상파일이 확인되었습니다" & vbCrLf & vbCrLf & "계속하시겠습니까?", MsgBoxStyle.Information Or MsgBoxStyle.OkCancel, "확인") <> MsgBoxResult.Ok Then
|
||||
' Return
|
||||
'End If
|
||||
End Try
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
Application.DoEvents()
|
||||
Next
|
||||
Next
|
||||
MDiMain.MSG(WorkDes & "목록 작성완료.")
|
||||
MDiMain.MSG(WorkDes & "연속참조 검사")
|
||||
index = 0
|
||||
Dim Rc As Integer = MDiMain.DataSet1.WorkList.Rows.Count
|
||||
Dim 원본파일명, 원본경로, 대상파일명, 대상경로 As String
|
||||
Dim 시퀀스 As Integer
|
||||
Dim Findrow As Boolean = False
|
||||
Application.DoEvents()
|
||||
For Each dr As ireaDataSet.WorkListRow In MDiMain.DataSet1.WorkList.Rows
|
||||
Findrow = False
|
||||
index += 1
|
||||
MDiMain.ShowCnt1(index, Rc, "연속참조검사")
|
||||
원본파일명 = dr.원본파일명
|
||||
원본경로 = dr.원본경로
|
||||
대상파일명 = dr.대상파일명
|
||||
대상경로 = dr.대상경로
|
||||
시퀀스 = dr.seq
|
||||
|
||||
Application.DoEvents()
|
||||
|
||||
If 원본파일명 <> "" Then
|
||||
Dim dr2() As ireaDataSet.WorkListRow = MDiMain.DataSet1.WorkList.Select("대상파일명='" & 원본파일명 & "' and 대상경로='" & 원본경로 & "' and seq <> " & 시퀀스)
|
||||
For Each Drow2 As ireaDataSet.WorkListRow In dr2
|
||||
Findrow = True
|
||||
Drow2.성공 = "◈"
|
||||
Drow2.오류 = "연속참조오류:" & index
|
||||
Next
|
||||
If Findrow Then
|
||||
dr.성공 = "◈"
|
||||
dr.오류 = "연속참조오류"
|
||||
End If
|
||||
End If
|
||||
|
||||
If 대상파일명 <> "" Then
|
||||
Dim dr2() As ireaDataSet.WorkListRow = MDiMain.DataSet1.WorkList.Select("원본파일명='" & 대상파일명 & "' and 원본경로='" & 대상경로 & "' and seq <> " & 시퀀스)
|
||||
For Each Drow2 As ireaDataSet.WorkListRow In dr2
|
||||
Findrow = True
|
||||
Drow2.성공 = "◈"
|
||||
Drow2.오류 = "연속참조오류:" & index
|
||||
Next
|
||||
If Findrow Then
|
||||
dr.성공 = "◈"
|
||||
dr.오류 = "연속참조오류"
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
|
||||
Application.DoEvents()
|
||||
|
||||
'//오류를 제외한 실제 처리할 내용을 리스트뷰에 넣는다
|
||||
'//작업대상을 지정해준다.
|
||||
Dim 작업갯수 As Integer = 0
|
||||
Dim DRows() As System.Data.DataRow = MDiMain.DataSet1.WorkList.Select("isnull(오류,'')=''")
|
||||
MDiMain.AddScheduleDiv(" " + DRows.Length.ToString() + " 개의 작업대상이 설정되었습니다")
|
||||
|
||||
Dim loopcnt As Integer = 0
|
||||
For Each dr As ireaDataSet.WorkListRow In DRows
|
||||
Dim lvKey As String = dr.대상경로 + "\" + dr.대상파일명
|
||||
|
||||
Dim 원본파일 As String = dr.원본경로 + "\" + dr.원본파일명
|
||||
Dim 대상파일 As String = dr.대상경로 + "\" + dr.대상파일명
|
||||
If Param.isFTPWork Then
|
||||
원본파일 = 원본파일.Replace("\", "/")
|
||||
대상파일 = 대상파일.Replace("\", "/")
|
||||
End If
|
||||
|
||||
loopcnt += 1
|
||||
Application.DoEvents()
|
||||
|
||||
|
||||
'If MDiMain.lvSchedule.Items.IndexOfKey(lvKey) = -1 Then
|
||||
' 작업갯수 += 1
|
||||
' Dim lvSC As ListViewItem = MDiMain.lvSchedule.Items.Add(lvKey, dr.구분, 0)
|
||||
' lvSC.SubItems.Add(원본파일)
|
||||
' lvSC.SubItems.Add(대상파일)
|
||||
' lvSC.SubItems.Add("대기")
|
||||
' lvSC.SubItems.Add(작업갯수.ToString())
|
||||
' lvSC.ForeColor = Color.DarkMagenta
|
||||
|
||||
' '//명령파라미터추가
|
||||
' 'Dim NewCmd As New SJobCommand()
|
||||
' 'Select Case dr.구분
|
||||
' ' Case "복사"
|
||||
' ' NewCmd.Mode = E_Runtype.Copy
|
||||
' ' Case "삭제"
|
||||
' ' NewCmd.Mode = E_Runtype.Delete
|
||||
' ' Case "이동"
|
||||
' ' NewCmd.Mode = E_Runtype.Move
|
||||
' 'End Select
|
||||
' 'NewCmd.SrcDir = dr.원본경로
|
||||
' 'NewCmd.SrcFile = dr.원본파일명
|
||||
' 'NewCmd.DesDir = dr.대상경로
|
||||
' 'NewCmd.DesFile = dr.대상파일명
|
||||
' 'NewCmd.isFTP = Param.isFTPWork
|
||||
' 'lvSC.Tag = NewCmd
|
||||
|
||||
'Else
|
||||
' PLog.Add("중복대상파일:" + lvKey)
|
||||
'End If
|
||||
Next
|
||||
End Sub
|
||||
|
||||
Public Sub MoveFileRMove(winhide As Boolean)
|
||||
Dim SrcFI, DesFi As FileInfo
|
||||
Dim Errcount As Integer = 0
|
||||
|
||||
MDiMain.MSG("파일이동중...")
|
||||
|
||||
Dim index As Integer = 0
|
||||
Dim endcnt As Integer = MDiMain.DataSet1.WorkList.Rows.Count - 1
|
||||
|
||||
If MDiMain.DataSet1.WorkList Is Nothing Then
|
||||
MsgBox("작업파일목록이 존재하지않습니다." & vbCrLf & "진행할 수 없습니다", MsgBoxStyle.Information, "확인")
|
||||
Return
|
||||
End If
|
||||
|
||||
For Each Dr As ireaDataSet.WorkListRow In MDiMain.DataSet1.WorkList.Rows
|
||||
index += 1
|
||||
MDiMain.ShowCnt1(index, endcnt, "파일이동")
|
||||
My.Application.DoEvents()
|
||||
|
||||
If Dr.오류 <> "" Then
|
||||
Errlog("선오류감지되어서 넘어갑니다(" & Dr.오류 & ")")
|
||||
Errcount += 1
|
||||
Else
|
||||
|
||||
Dim 원본파일명 As String = Dr.원본경로 & "\" & Dr.원본파일명
|
||||
Dim 대상파일명 As String = Dr.대상경로 & "\" & Dr.대상파일명
|
||||
|
||||
If Not isFileName(원본파일명) Then
|
||||
Dr.성공 = "X"
|
||||
Dr.오류 = "원본파일명이 올바르지 않습니다:" + 원본파일명
|
||||
ElseIf Not isFileName(대상파일명) Then
|
||||
Dr.성공 = "X"
|
||||
Dr.오류 = "대상파일명이 올바르지 않습니다:" + 대상파일명
|
||||
Else
|
||||
SrcFI = New System.IO.FileInfo(원본파일명)
|
||||
DesFi = New System.IO.FileInfo(대상파일명)
|
||||
|
||||
Try
|
||||
Check_Backup(SrcFI, BakTag)
|
||||
Catch ex As Exception
|
||||
MsgBox("백업정책(Check_Backup이 실패했습니다)" & vbCrLf & "Baktag=" & BakTag & vbCrLf & "오류내용:" & ex.Message.ToString, MsgBoxStyle.Information, "메일보내주세요")
|
||||
End Try
|
||||
Application.DoEvents()
|
||||
|
||||
'//폴더생성시 오류가 발생할수있다.
|
||||
If Not System.IO.Directory.Exists(Dr.대상경로) Then
|
||||
If Not DirCreate(Dr.대상경로) Then
|
||||
Dr.성공 = "X"
|
||||
Dr.오류 = "대상폴더생성실패:" + Dr.대상경로
|
||||
Errcount += 1
|
||||
Continue For
|
||||
End If
|
||||
End If
|
||||
Application.DoEvents()
|
||||
|
||||
Try
|
||||
'//대상파일이존재한다면 넘어가도록 한다.
|
||||
If DesFi.Exists AndAlso DesFi.Length = SrcFI.Length Then
|
||||
Dr.성공 = "△"
|
||||
Dr.오류 = "대상파일존재 넘어감"
|
||||
'DesFi.Delete() '//덮어쓰기이므로 기존파일을 삭제해주심!
|
||||
Else
|
||||
SrcFI.MoveTo(DesFi.FullName) '//실제로 이동한다.
|
||||
Dr.성공 = "O"
|
||||
Dr.오류 = ""
|
||||
End If
|
||||
Catch ex As Exception
|
||||
Dr.성공 = "X"
|
||||
Dr.오류 = "MFRM:" + ex.Message.ToString
|
||||
Errcount += 1
|
||||
End Try
|
||||
Application.DoEvents()
|
||||
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
MDiMain.MSG("파일 [이동] 완료" & IIf(Errcount > 0, "(일부파일에 오류가 발생하였습니다", ""))
|
||||
End Sub
|
||||
|
||||
Public Sub MoveFileRCopy(winhide As Boolean)
|
||||
Dim SrcFI As FileInfo = Nothing
|
||||
Dim DesFi As FileInfo = Nothing
|
||||
|
||||
Dim SrcFIp As String '//ft용 160328
|
||||
Dim Err As Boolean = False
|
||||
Dim isFTP As Boolean = False
|
||||
|
||||
If GetWorkDIr.StartsWith("ftp:/") Then isFTP = True
|
||||
|
||||
MDiMain.MSG("파일복사중...")
|
||||
Application.DoEvents()
|
||||
|
||||
Dim index As Integer = 0
|
||||
Dim endcnt As Integer = MDiMain.DataSet1.WorkList.Rows.Count - 1
|
||||
|
||||
If MDiMain.DataSet1.WorkList Is Nothing Then
|
||||
If winhide Then
|
||||
MDiMain.Noti("MoveFileRCopy" + vbCrLf + "파일목록이 없습니다")
|
||||
Else
|
||||
MsgBox("작업파일목록이 존재하지않습니다." & vbCrLf & "진행할 수 없습니다", MsgBoxStyle.Information, "확인")
|
||||
End If
|
||||
Return
|
||||
End If
|
||||
|
||||
Application.DoEvents()
|
||||
|
||||
For Each Dr As ireaDataSet.WorkListRow In MDiMain.DataSet1.WorkList.Rows
|
||||
index += 1
|
||||
|
||||
Application.DoEvents()
|
||||
|
||||
MDiMain.ShowCnt1(index, endcnt, "파일복사")
|
||||
If Dr.오류 <> "" Then
|
||||
Errlog("선오류감지되어서 넘어갑니다(" & Dr.오류 & ")")
|
||||
Else
|
||||
Dim 원본파일명 As String = Dr.원본경로 & "\" & Dr.원본파일명
|
||||
Dim 대상파일명 As String = Dr.대상경로 & "\" & Dr.대상파일명
|
||||
|
||||
If isFTP Then
|
||||
SrcFIp = 원본파일명.Replace("\", "/")
|
||||
SrcFIp = SrcFIp.Replace("//", "/")
|
||||
Else
|
||||
If isFileName(원본파일명) Then
|
||||
SrcFI = New FileInfo(원본파일명)
|
||||
Else
|
||||
Dr.성공 = "X"
|
||||
Dr.오류 = "원본파일명오류:" + 원본파일명
|
||||
Dr.EndEdit()
|
||||
Continue For
|
||||
End If
|
||||
End If
|
||||
|
||||
If isFileName(대상파일명) Then
|
||||
DesFi = New FileInfo(대상파일명)
|
||||
Else
|
||||
Dr.성공 = "X"
|
||||
Dr.오류 = "대상파일명오류:" + 대상파일명
|
||||
Dr.EndEdit()
|
||||
Continue For
|
||||
End If
|
||||
|
||||
Application.DoEvents()
|
||||
|
||||
'//ftp상태일때는 원본 백업을 하지 않는다.
|
||||
If Not isFTP Then
|
||||
Try
|
||||
Check_Backup(SrcFI, BakTag)
|
||||
Catch ex As Exception
|
||||
PLog.Add(ex.Message, True)
|
||||
If winhide Then
|
||||
MDiMain.Noti("백업정책실패: " + ex.Message)
|
||||
Else
|
||||
MsgBox("백업정책(Check_Backup이 실패했습니다)" & vbCrLf & "Baktag=" & BakTag & vbCrLf & "오류내용:" & ex.Message.ToString, MsgBoxStyle.Information, "메일보내주세요")
|
||||
End If
|
||||
End Try
|
||||
End If
|
||||
|
||||
Application.DoEvents()
|
||||
|
||||
Try
|
||||
If Directory.Exists(DesFi.DirectoryName) = False Then
|
||||
Directory.CreateDirectory(DesFi.DirectoryName) '//대상폴더생성
|
||||
End If
|
||||
Catch ex As Exception
|
||||
|
||||
Dr.성공 = "X"
|
||||
Dr.오류 = "대상폴더생성실패:" + ex.Message
|
||||
Dr.EndEdit()
|
||||
|
||||
Errlog("대상폴더생성실패:" + DesFi.DirectoryName & vbCrLf + ex.Message.ToString)
|
||||
Continue For
|
||||
End Try
|
||||
|
||||
|
||||
If DesFi.Exists Then
|
||||
Dr.성공 = "△"
|
||||
Dr.오류 = "대상파일존재 넘어감"
|
||||
Dr.EndEdit()
|
||||
Else
|
||||
If isFTP Then
|
||||
Dim 재시도횟수 As Integer = 0
|
||||
FTPDOWN:
|
||||
Try
|
||||
FTP_0.Download(SrcFIp, DesFi.FullName, True)
|
||||
If System.IO.File.Exists(DesFi.FullName) Then
|
||||
Dim fi As New System.IO.FileInfo(DesFi.FullName)
|
||||
If fi.Length = 0 Then
|
||||
Dr.성공 = "X"
|
||||
Dr.오류 = "다운로드실패(0byte)"
|
||||
Dr.EndEdit()
|
||||
Else
|
||||
Dr.성공 = "O"
|
||||
Dr.오류 = ""
|
||||
Dr.EndEdit()
|
||||
Continue For
|
||||
End If
|
||||
Else
|
||||
Dr.성공 = "X"
|
||||
Dr.오류 = "다운로드실패(대상파일이없음)"
|
||||
Dr.EndEdit()
|
||||
End If
|
||||
Catch ex As Exception
|
||||
Dr.성공 = "X"
|
||||
Dr.오류 = "다운로드실패(예외:" + ex.Message + ")"
|
||||
Dr.EndEdit()
|
||||
End Try
|
||||
|
||||
Application.DoEvents()
|
||||
|
||||
|
||||
If Dr.성공 = "X" Then
|
||||
'//다운로드실패일때는 대상횟수로 연속 다운로드를 한다
|
||||
If 재시도횟수 < MaxRetryCount Then
|
||||
Dr.성공 = "■"
|
||||
Dr.오류 = String.Format("재시도({0}/{1})", 재시도횟수, MaxRetryCount)
|
||||
Dr.EndEdit()
|
||||
재시도횟수 += 1
|
||||
PLog.Add("재실행으로인한 지연시간")
|
||||
MDiMain.Noti(String.Format("FTP Download 오류(재시도:{0}/{1})" + vbCrLf + SrcFIp, 재시도횟수, MaxRetryCount))
|
||||
Form_Status.Refresh()
|
||||
Threading.Thread.Sleep(2000)
|
||||
GoTo FTPDOWN
|
||||
Else
|
||||
'//아무것도 하지않는다 이것은 오류이다.
|
||||
Err = True
|
||||
Continue For
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
Else
|
||||
|
||||
Try
|
||||
'//일반파일은 기존대로 사용하도록 한다.
|
||||
SrcFI.CopyTo(DesFi.FullName, True)
|
||||
Dr.성공 = "O"
|
||||
Dr.오류 = ""
|
||||
Dr.EndEdit()
|
||||
Catch ex As Exception
|
||||
Err = True
|
||||
Dr.성공 = "X"
|
||||
Dr.오류 = "일반파일복사오류:" + ex.Message.ToString()
|
||||
Dr.EndEdit()
|
||||
Continue For
|
||||
End Try
|
||||
|
||||
End If
|
||||
|
||||
Application.DoEvents()
|
||||
|
||||
End If
|
||||
End If
|
||||
|
||||
Next
|
||||
MDiMain.MSG("파일 [복사] 완료" & IIf(Err, "(일부파일에 오류가 발생하였습니다", ""))
|
||||
MDiMain.Noti("파일(복사)완료")
|
||||
End Sub
|
||||
|
||||
End Module
|
||||
330
DriveInfo/모듈/Pub.vb
Normal file
@@ -0,0 +1,330 @@
|
||||
Imports System.Data
|
||||
|
||||
Module Pub
|
||||
|
||||
Structure Str_Macro
|
||||
Dim FileName As String
|
||||
Dim Desc As String
|
||||
End Structure
|
||||
|
||||
'//일반변수
|
||||
Public PLog As ArinLog.ArinLog
|
||||
|
||||
Public PathTempDown As String
|
||||
Public PathMacro As String
|
||||
Public PathJob As String
|
||||
Public PathList As String
|
||||
|
||||
Public MacroPattern As String = "fileinfo"
|
||||
Public IniFile As String
|
||||
Public Prev_file As System.IO.FileInfo
|
||||
|
||||
Public MaxRetryCount As Integer = 20 '//ftp 재시도 횟수 (10회 재시도 후 실패시에는 우선 넘어간다)
|
||||
Public RetrySleeptime As Integer = 2000
|
||||
|
||||
'//FTP변수
|
||||
Public FTPServer As String = "127.0.0.1"
|
||||
Public FTPID As String = "anonymous"
|
||||
Public FTPPW As String = ""
|
||||
Public FTPPort As Integer = 21
|
||||
Public FTPPath As String = ""
|
||||
Public FTPPassive As Boolean = False
|
||||
Public FTPUTF8 As Boolean = False
|
||||
|
||||
Public Enum EJobCmdType
|
||||
copy = 0
|
||||
move = 1
|
||||
delete = 2
|
||||
End Enum
|
||||
Public Structure SJobCommand
|
||||
Dim Mode As E_Runtype
|
||||
Dim SrcDir As String
|
||||
Dim SrcFile As String
|
||||
Dim DesDir As String
|
||||
Dim DesFile As String
|
||||
Dim isFTP As Boolean
|
||||
End Structure
|
||||
|
||||
Public Function FileCheckSum(fn As String) As String
|
||||
Dim _md5 As System.Security.Cryptography.MD5 = System.Security.Cryptography.MD5.Create()
|
||||
Using stream As System.IO.FileStream = File.OpenRead(fn)
|
||||
Dim checksum() As Byte = _md5.ComputeHash(stream)
|
||||
Return BitConverter.ToString(checksum).Replace("-", String.Empty)
|
||||
End Using
|
||||
Return "CHKERR"
|
||||
End Function
|
||||
|
||||
Public Sub init()
|
||||
|
||||
'//공용로그값
|
||||
PLog = New ArinLog.ArinLog()
|
||||
|
||||
'//공용변수
|
||||
Prev_file = Nothing
|
||||
|
||||
'//기본경로
|
||||
PathMacro = My.Application.Info.DirectoryPath & "\macro\" & MacroPattern
|
||||
PathJob = My.Application.Info.DirectoryPath & "\Job"
|
||||
PathList = My.Application.Info.DirectoryPath & "\List"
|
||||
|
||||
'//작업용폴더확인
|
||||
If Not System.IO.Directory.Exists(PathJob) Then System.IO.Directory.CreateDirectory(PathJob)
|
||||
If Not System.IO.Directory.Exists(PathMacro) Then System.IO.Directory.CreateDirectory(PathMacro)
|
||||
If Not System.IO.Directory.Exists(PathList) Then System.IO.Directory.CreateDirectory(PathList)
|
||||
|
||||
'//파일변수
|
||||
IniFile = My.Application.Info.DirectoryPath & "\macro\" & MacroPattern & "\default.ini"
|
||||
|
||||
End Sub
|
||||
|
||||
'''입력문자열이 파일로 변환되는지?
|
||||
Public Function isFileName(fn As String) As Boolean
|
||||
Try
|
||||
Dim fi As New System.IO.FileInfo(fn)
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Public Function DirCreate(path As String) As Boolean
|
||||
Try
|
||||
System.IO.Directory.CreateDirectory(path)
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
PLog.Add(ArinLog.ArinLog.ETYPE.ERROR, "폴더생성실패(" + path + ") " + ex.Message, True)
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
|
||||
'Public _ParseFormats As String() = { _
|
||||
' "(?<dir>[\-dl])(?<permission>([\-r][\-w][\-xs]){3})\s+\d+\s+\w+\s+\w+\s+(?<size>\d+)\s+(?<timestamp>\w+\s+\d+\s+\d{4})\s+(?<name>.+)", _
|
||||
' "(?<dir>[\-dl])(?<permission>([\-r][\-w][\-xs]){3})\s+\d+\s+\d+\s+(?<size>\d+)\s+(?<timestamp>\w+\s+\d+\s+\d{4})\s+(?<name>.+)", _
|
||||
' "(?<dir>[\-dl])(?<permission>([\-r][\-w][\-xs]){3})\s+\d+\s+\d+\s+(?<size>\d+)\s+(?<timestamp>\w+\s+\d+\s+\d{1,2}:\d{2})\s+(?<name>.+)", _
|
||||
' "(?<dir>[\-dl])(?<permission>([\-r][\-w][\-xs]){3})\s+\d+\s+\w+\s+\w+\s+(?<size>\d+)\s+(?<timestamp>\w+\s+\d+\s+\d{1,2}:\d{2})\s+(?<name>.+)", _
|
||||
' "(?<dir>[\-dl])(?<permission>([\-r][\-w][\-xs]){3})(\s+)(?<size>(\d+))(\s+)(?<ctbit>(\w+\s\w+))(\s+)(?<size2>(\d+))\s+(?<timestamp>\w+\s+\d+\s+\d{2}:\d{2})\s+(?<name>.+)", _
|
||||
' "(?<timestamp>\d{2}\-\d{2}\-\d{2}\s+\d{2}:\d{2}[Aa|Pp][mM])\s+(?<dir>\<\w+\>){0,1}(?<size>\d+){0,1}\s+(?<name>.+)"}
|
||||
|
||||
'Public Function GetMatchingRegex(ByVal line As String) As System.Text.RegularExpressions.Match
|
||||
' Dim rx As System.Text.RegularExpressions.Regex, m As System.Text.RegularExpressions.Match
|
||||
' For i As Integer = 0 To _ParseFormats.Length - 1
|
||||
' rx = New System.Text.RegularExpressions.Regex(_ParseFormats(i))
|
||||
' m = rx.Match(line)
|
||||
' If m.Success Then Return m
|
||||
' Next
|
||||
' Return Nothing
|
||||
'End Function
|
||||
|
||||
'Public Enum SFtpType
|
||||
' Link = 0
|
||||
' File = 1
|
||||
' Dir = 2
|
||||
'End Enum
|
||||
|
||||
'Public Structure SFTPDetail
|
||||
' Dim FileType As SFtpType
|
||||
' Dim FileName As String
|
||||
' Dim Size As Long
|
||||
' Dim Permission As String
|
||||
' Dim TimeStamp As String
|
||||
'End Structure
|
||||
|
||||
'Public Function FtpDirParser(dirList() As String) As List(Of SFTPDetail)
|
||||
' Dim retval As New List(Of SFTPDetail)
|
||||
' For Each line As String In dirList
|
||||
' Dim m As System.Text.RegularExpressions.Match = GetMatchingRegex(line)
|
||||
' If Not m Is Nothing Then
|
||||
|
||||
' Dim newdr As New SFTPDetail
|
||||
|
||||
' Dim name As String = m.Groups("name").Value
|
||||
' Dim perm As String = m.Groups("poermission").Value
|
||||
' Dim _dir As String = m.Groups("dir").Value
|
||||
' newdr.TimeStamp = m.Groups("timestamp").Value
|
||||
|
||||
' Dim filetype As String = ""
|
||||
' Dim size As Long = 0
|
||||
' If _dir.ToLower = "l" Then
|
||||
' filetype = "LINK"
|
||||
' size = 0
|
||||
' newdr.FileType = SFtpType.Link
|
||||
' ElseIf _dir.ToLower = "d" OrElse _dir.ToLower = "<dir>" Then
|
||||
' filetype = "DIR"
|
||||
' size = 0
|
||||
' newdr.FileType = SFtpType.Dir
|
||||
' Else
|
||||
' filetype = "FILE"
|
||||
' size = Long.Parse(m.Groups("size").Value)
|
||||
' newdr.FileType = SFtpType.File
|
||||
' End If
|
||||
|
||||
' newdr.Permission = perm
|
||||
' newdr.FileName = name
|
||||
|
||||
' newdr.Size = size
|
||||
' retval.Add(newdr)
|
||||
' End If
|
||||
' Next
|
||||
' Return retval
|
||||
'End Function
|
||||
|
||||
Public FTP_0 As FTPClients.Client_2
|
||||
|
||||
Public Enum E_DesDirType
|
||||
desPath = 1 '//대상폴더
|
||||
CustomPath = 2 '//조합에의한 폴더
|
||||
End Enum
|
||||
Public Enum E_baktype
|
||||
none = 0
|
||||
Folder1 = 1
|
||||
CurrnetFolder = 2
|
||||
ParentFolder = 3
|
||||
End Enum
|
||||
Structure S_Log
|
||||
Dim Result As Char
|
||||
Dim OrgFile As String
|
||||
Dim DesFile As String
|
||||
Dim Orgpath As String
|
||||
Dim DesPath As String
|
||||
Dim Msg As String
|
||||
End Structure
|
||||
Enum E_Runtype
|
||||
Copy = 0
|
||||
Delete = 1
|
||||
Move = 2
|
||||
End Enum
|
||||
|
||||
Public Log As ArrayList
|
||||
Public log2 As ArrayList
|
||||
Public Fileok As ArrayList '//성공한 파일목록
|
||||
Public Ep As String
|
||||
Public BakTag As String = "-원본(" & Format(Now, "MMdd") & ")" '& "_MOV_D"
|
||||
|
||||
Public Function GetBakDir1() As String
|
||||
Return MDiMain.tb_bakdir1.Text
|
||||
End Function
|
||||
|
||||
Public Function SaveExcelFile(fn As String, dt As DataTable)
|
||||
Dim fp As New FarPoint.Win.Spread.FpSpread()
|
||||
fp.DataSource = dt
|
||||
Return fp.SaveExcel(fn, FarPoint.Excel.ExcelSaveFlags.SaveBothCustomRowAndColumnHeaders)
|
||||
End Function
|
||||
|
||||
|
||||
Public Function GetBackType1() As E_baktype
|
||||
Select Case MDiMain.cbBakType.SelectedIndex
|
||||
Case 0
|
||||
Return E_baktype.none
|
||||
Case 1
|
||||
Return E_baktype.Folder1
|
||||
Case 2
|
||||
Return E_baktype.CurrnetFolder
|
||||
Case 3
|
||||
Return E_baktype.ParentFolder
|
||||
End Select
|
||||
'If MDiMain.btBakNo.Pressed Then
|
||||
' Return E_baktype.none
|
||||
'ElseIf MDiMain.btBakSrc.Pressed Then
|
||||
' Return E_baktype.CurrnetFolder
|
||||
'ElseIf MDiMain.btBakUpDir.Pressed Then
|
||||
' Return E_baktype.ParentFolder
|
||||
'Else
|
||||
' Return E_baktype.Folder1
|
||||
'End If
|
||||
End Function
|
||||
|
||||
Public Function GetrunType() As E_Runtype
|
||||
If MDiMain.btDel.Pressed Then
|
||||
Return 1
|
||||
ElseIf MDiMain.btMove.Pressed Then
|
||||
Return 2
|
||||
Else
|
||||
Return 0
|
||||
End If
|
||||
End Function
|
||||
Public Function GetWorkDIr() As String
|
||||
Try
|
||||
Return CStr(MDiMain.tb_workdir.Text).Replace("\\", "\").Replace("//", "/")
|
||||
Catch ex As Exception
|
||||
Return "작업폴더에 문제가있습니다"
|
||||
End Try
|
||||
End Function
|
||||
Public Function GetExtendFromMdi() As String
|
||||
Try
|
||||
Return "*." & MDiMain.tb_ext.Text
|
||||
Catch ex As Exception
|
||||
Return "*.*"
|
||||
End Try
|
||||
End Function
|
||||
Public Function GetExtendOnly() As String
|
||||
|
||||
Return MDiMain.tb_ext.Text
|
||||
|
||||
End Function
|
||||
Public Function GetSubDir() As Boolean
|
||||
Try
|
||||
Return MDiMain.chk_subdir.Checked
|
||||
Catch ex As Exception
|
||||
Return True
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Public Function GetSubdirType() As Short
|
||||
If MDiMain.chk_subdir.Checked Then
|
||||
Return 1
|
||||
Else
|
||||
Return 0
|
||||
End If
|
||||
End Function
|
||||
|
||||
Public MyINI As New CommonClassv2.MyINI(My.Application.Info.DirectoryPath & "\main.ini")
|
||||
Public Arin As New CommonClassv2.ARINCLASS
|
||||
|
||||
Public Sub Addlog(ByVal 성공여부 As String, ByVal 원본파일 As String, ByVal 대상파일 As String, ByVal 메세지 As String, Optional ByVal reset As Boolean = False)
|
||||
If reset Then Log = New ArrayList
|
||||
Log.Add(성공여부 & "/" & 원본파일 & "/" & 대상파일 & "/" & 메세지)
|
||||
End Sub
|
||||
|
||||
Public Sub Addlog2(ByVal msg As String, Optional ByVal reset As Boolean = False)
|
||||
If reset Then log2 = New ArrayList
|
||||
log2.Add(">> " & msg)
|
||||
'Frm_log.RichTextBox1.AppendText(">> " & msg)
|
||||
'Frm_log.RichTextBox1.AppendText(vbCrLf)
|
||||
End Sub
|
||||
Public Sub makelog2(ByVal msg As String)
|
||||
Try
|
||||
Form_Status.RichTextBox1.AppendText(msg)
|
||||
Form_Status.RichTextBox1.AppendText(vbCrLf)
|
||||
Catch ex As Exception
|
||||
|
||||
End Try
|
||||
|
||||
End Sub
|
||||
|
||||
Public Sub MakeBakLog1()
|
||||
Form_Status.RichTextBox2.Clear()
|
||||
For Each Msg As String In Backupfolder1
|
||||
Form_Status.RichTextBox2.AppendText(Msg)
|
||||
Form_Status.RichTextBox2.AppendText(vbCrLf)
|
||||
Next
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
Public Function getSP() As Integer
|
||||
If String.IsNullOrEmpty(MDiMain.tb_sttrange.Text) Then MDiMain.tb_sttrange.Text = "1"
|
||||
Return MDiMain.tb_sttrange.Text '//목록에서 시작줄번호
|
||||
End Function
|
||||
|
||||
Public Sub Errlog(ByVal amsg As String)
|
||||
Dim Fs As New System.IO.FileStream(My.Application.Info.DirectoryPath & "\error.txt", FileMode.Create)
|
||||
Dim Sw As New System.IO.StreamWriter(Fs, System.Text.Encoding.Default)
|
||||
Sw.WriteLine("시간:" & Now.ToShortDateString & ":" & Now.ToShortTimeString & vbCrLf & amsg)
|
||||
Sw.Close()
|
||||
Sw.Dispose()
|
||||
Fs.Close()
|
||||
Fs.Dispose()
|
||||
End Sub
|
||||
|
||||
|
||||
End Module
|
||||
183
DriveInfo/모듈/mod_Delete.vb
Normal file
@@ -0,0 +1,183 @@
|
||||
Imports System.IO
|
||||
Imports System.Threading
|
||||
Imports System.Data
|
||||
|
||||
Module Mod_Delete
|
||||
'Public Sub DeleteFile()
|
||||
' DeleteFileFromList()
|
||||
'End Sub
|
||||
|
||||
'Public Sub DeleteFileFromList() '//파일목록으로부터 삭제대상폴더의 파일을 삭제한다.
|
||||
' Dim FileList As New ArrayList
|
||||
' Dim FI() As FileInfo
|
||||
' Dim Di As DirectoryInfo
|
||||
|
||||
' If MsgBox("파일삭제작업을 진행하시겠습니까?", MsgBoxStyle.Information + MsgBoxStyle.OkCancel, "삭제확인") <> MsgBoxResult.Ok Then
|
||||
' MsgBox("취소되었습니다", MsgBoxStyle.Information, "확인")
|
||||
' Return
|
||||
' End If
|
||||
|
||||
' '//파일목록을 작성합니다.
|
||||
' MSG("삭제 진행중...")
|
||||
' MDiMain.pbar2.Minimum = 0
|
||||
' MDiMain.pbar2.Maximum = Ep
|
||||
' MDiMain.Refresh()
|
||||
|
||||
' Addlog2("삭제시작 줄번호 범위 " & SP & " ~ " & Ep, True)
|
||||
|
||||
' Dim NullCnt As Short = 0
|
||||
' Dim fn As String
|
||||
|
||||
' For i As Integer = SP To Ep
|
||||
' MDiMain.pbar2.Value = i
|
||||
' If i Mod 10 = 0 Then
|
||||
' MSG("삭제중 (" & i & "/" & Ep & ")")
|
||||
' MDiMain.Refresh()
|
||||
' End If
|
||||
|
||||
' fn = Frm_srcfile.Get_FileList(i + 1) & Mod_Comm.GetExtendFromMdi.Trim("*")
|
||||
' If fn.Trim <> "" Then
|
||||
' NullCnt = 0 '//파일을 삭제하는 루틴을 만든다.
|
||||
' Di = New DirectoryInfo(GetWorkDIr) '//경로선택
|
||||
' FI = Di.GetFiles(fn, GetSubdirType)
|
||||
' If FI.Length < 1 Then
|
||||
' addlog("X", fn, "", "파일없음")
|
||||
' End If
|
||||
|
||||
' For Each F As FileInfo In FI '//일치하는 모든 파일을 삭제한다.
|
||||
' If F.FullName.IndexOf("-원본") = -1 Then '//백업이 만들어놓은 폴더의 파일은 제낀다.
|
||||
' Fileok.Add(F.FullName) '//정상파일목록을 가진다.
|
||||
' addlog("O", F.FullName, "", "삭제")
|
||||
' If Mod_Comm.GetExeType Then ''//모의실행은 백업및 작업을 하지않는다.
|
||||
' '//백업정책을 확인해서 해당 파일을 백업할곳을 결정한다.
|
||||
' Check_Backup(F, BakTag)
|
||||
' F.Delete()
|
||||
' End If
|
||||
' End If
|
||||
' Next
|
||||
' Else
|
||||
' NullCnt += 1
|
||||
' If NullCnt = 5 Then '//빈줄이나올때 널카운트를 증가시키고 빈줄이 5번연속나올때는 빠져나온다.
|
||||
' Exit For
|
||||
' End If
|
||||
' End If
|
||||
' Next
|
||||
' Addlog2("삭제작업이 완료되었습니다")
|
||||
' 'Frm_Wait.Hide()
|
||||
'End Sub
|
||||
Public Sub DeleteFileM(Param As RunParam) '//파일목록으로부터 삭제대상폴더의 파일을 삭제한다.
|
||||
'//파일목록을 작성합니다.
|
||||
MDiMain.MSG("삭제목록 작성중...")
|
||||
|
||||
'//변수목록
|
||||
Dim NR As ireaDataSet.WorkListRow
|
||||
Dim WRow() As ireaDataSet.FileListRow
|
||||
Dim index As Integer = 0
|
||||
Dim endcnt As Integer = MDiMain.DataSet1.SrcList.Rows.Count - 1
|
||||
|
||||
|
||||
If MDiMain.DataSet1.SrcList Is Nothing Then
|
||||
MsgBox("원본목록이 존재하지않습니다." & vbCrLf & "진행할 수 없습니다", MsgBoxStyle.Information, "확인")
|
||||
Return
|
||||
End If
|
||||
|
||||
|
||||
For Each drs As ireaDataSet.SrcListRow In MDiMain.DataSet1.SrcList.Rows '//원본목록회전
|
||||
|
||||
If MDiMain.DataSet1.SrcList Is Nothing Then
|
||||
MsgBox("파일목록이 존재하지않습니다." & vbCrLf & "진행할 수 없습니다", MsgBoxStyle.Information, "확인")
|
||||
Return
|
||||
End If
|
||||
|
||||
index += 1
|
||||
Application.DoEvents()
|
||||
MDiMain.ShowCnt1(index, endcnt, "목록작성")
|
||||
'//전체목록에서 원본목록 검색
|
||||
WRow = MDiMain.DataSet1.FileList.Select("파일명 like '" & drs.목록명 & "'")
|
||||
If WRow.Length = 0 Then Addlog("X", drs.목록명, "", "파일없음")
|
||||
|
||||
For Each dr As ireaDataSet.FileListRow In WRow '//일치하는 목록들 작업목록에 집어넣는다.
|
||||
NR = MDiMain.DataSet1.WorkList.NewWorkListRow
|
||||
NR.원본경로 = dr.경로
|
||||
NR.원본파일명 = dr.파일명
|
||||
NR.구분 = "삭제"
|
||||
NR.대상경로 = dr.경로
|
||||
NR.대상파일명 = dr.파일명
|
||||
NR.오류 = ""
|
||||
If NR.대상파일명.IndexOf("*") = -1 AndAlso NR.대상파일명.IndexOf("?") = -1 Then
|
||||
Try
|
||||
MDiMain.DataSet1.WorkList.Rows.Add(NR)
|
||||
Catch ex As Exception '//추가오류는 뻔하다이미 그 파일이 있는경우다.
|
||||
NR.오류 = "중복된 삭제대상파일입니다(" & Format(Now, "HHmmss") & ")"
|
||||
MDiMain.DataSet1.WorkList.Rows.Add(NR)
|
||||
makelog2("중복된 삭제대상파일이 생성되었습니다")
|
||||
makelog2(" 파일명 : " & NR.원본경로 & "\" & NR.원본파일명)
|
||||
'If MsgBox("중복된 대상파일이 확인되었습니다" & vbCrLf & vbCrLf & "계속하시겠습니까?", MsgBoxStyle.Information Or MsgBoxStyle.OkCancel, "확인") <> MsgBoxResult.Ok Then
|
||||
' Return
|
||||
'End If
|
||||
End Try
|
||||
End If
|
||||
Next
|
||||
Next
|
||||
MDiMain.MSG("삭제목록 작성완료...")
|
||||
|
||||
'If GetExeType() Then '//실제실행일경우
|
||||
' DeleteFileR()
|
||||
'Else '//모의실행일경우
|
||||
' Addlog2("모의실행 : 실제 복사/이동/삭제는 수행되지 않습니다")
|
||||
' MsgBox("모의실행입니다" & vbCrLf & "실제파일의 복사/이동/삭제 는 수행되지 않습니다", MsgBoxStyle.Information, "확인")
|
||||
'End If
|
||||
|
||||
End Sub
|
||||
|
||||
Public Sub DeleteFileR(winhide As Boolean) '//실제로 파일을 삭제합니다. 삭제시 성공여부를 기록합니다
|
||||
Dim FI As FileInfo
|
||||
Dim Err As Boolean = False
|
||||
|
||||
MDiMain.MSG("파일삭제 준비중")
|
||||
|
||||
Dim index As Integer = 0
|
||||
Dim endcnt As Integer = MDiMain.DataSet1.WorkList.Rows.Count - 1
|
||||
|
||||
|
||||
If MDiMain.DataSet1.WorkList Is Nothing Then
|
||||
MsgBox("작업파일목록이 존재하지않습니다." & vbCrLf & "진행할 수 없습니다", MsgBoxStyle.Information, "확인")
|
||||
Return
|
||||
End If
|
||||
|
||||
For Each Dr As ireaDataSet.WorkListRow In MDiMain.DataSet1.WorkList.Rows
|
||||
index += 1
|
||||
MDiMain.ShowCnt1(index, endcnt, "파일삭제")
|
||||
Application.DoEvents()
|
||||
|
||||
If Dr.오류 <> "" Then
|
||||
Errlog("선오류감지되어서 넘어갑니다(" & Dr.오류 & ")")
|
||||
Else
|
||||
|
||||
Try
|
||||
FI = New FileInfo(CStr(Dr.원본경로 & "\" & Dr.원본파일명).Replace("\\", "\"))
|
||||
Check_Backup(FI, BakTag)
|
||||
If FI.Exists = False Then Dr.오류 = "파일없음"
|
||||
Try
|
||||
FI.Delete()
|
||||
Dr.성공 = "O"
|
||||
Dr.오류 = ""
|
||||
Catch ex As Exception
|
||||
Err = True
|
||||
Dr.성공 = "X"
|
||||
Dr.오류 = ex.Message.ToString()
|
||||
End Try
|
||||
Catch ex As Exception
|
||||
Err = True
|
||||
Dr.성공 = "X"
|
||||
Dr.오류 = ex.Message
|
||||
Errlog("FI = New FileInfo(CStr(Dr.원본경로 &)" & ex.Message.ToString)
|
||||
End Try
|
||||
|
||||
End If
|
||||
Next
|
||||
MDiMain.MSG("파일 [삭제] 완료" & IIf(Err, "(일부파일에 오류가 발생하였습니다", ""))
|
||||
End Sub
|
||||
|
||||
|
||||
End Module
|
||||
495
DriveInfo/입력폼/Form_Status.Designer.vb
generated
Normal file
@@ -0,0 +1,495 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class Form_Status
|
||||
Inherits System.Windows.Forms.Form
|
||||
|
||||
'Form은 Dispose를 재정의하여 구성 요소 목록을 정리합니다.
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
Try
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
Finally
|
||||
MyBase.Dispose(disposing)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'Windows Form 디자이너에 필요합니다.
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'참고: 다음 프로시저는 Windows Form 디자이너에 필요합니다.
|
||||
'수정하려면 Windows Form 디자이너를 사용하십시오.
|
||||
'코드 편집기를 사용하여 수정하지 마십시오.
|
||||
<System.Diagnostics.DebuggerStepThrough()> _
|
||||
Private Sub InitializeComponent()
|
||||
Me.components = New System.ComponentModel.Container()
|
||||
Dim DefaultFocusIndicatorRenderer1 As FarPoint.Win.Spread.DefaultFocusIndicatorRenderer = New FarPoint.Win.Spread.DefaultFocusIndicatorRenderer()
|
||||
Dim DefaultScrollBarRenderer1 As FarPoint.Win.Spread.DefaultScrollBarRenderer = New FarPoint.Win.Spread.DefaultScrollBarRenderer()
|
||||
Dim DefaultScrollBarRenderer2 As FarPoint.Win.Spread.DefaultScrollBarRenderer = New FarPoint.Win.Spread.DefaultScrollBarRenderer()
|
||||
Dim TextCellType1 As FarPoint.Win.Spread.CellType.TextCellType = New FarPoint.Win.Spread.CellType.TextCellType()
|
||||
Dim TextCellType2 As FarPoint.Win.Spread.CellType.TextCellType = New FarPoint.Win.Spread.CellType.TextCellType()
|
||||
Dim TextCellType3 As FarPoint.Win.Spread.CellType.TextCellType = New FarPoint.Win.Spread.CellType.TextCellType()
|
||||
Dim TextCellType4 As FarPoint.Win.Spread.CellType.TextCellType = New FarPoint.Win.Spread.CellType.TextCellType()
|
||||
Dim TextCellType5 As FarPoint.Win.Spread.CellType.TextCellType = New FarPoint.Win.Spread.CellType.TextCellType()
|
||||
Dim TextCellType6 As FarPoint.Win.Spread.CellType.TextCellType = New FarPoint.Win.Spread.CellType.TextCellType()
|
||||
Dim TextCellType7 As FarPoint.Win.Spread.CellType.TextCellType = New FarPoint.Win.Spread.CellType.TextCellType()
|
||||
Dim DefaultScrollBarRenderer3 As FarPoint.Win.Spread.DefaultScrollBarRenderer = New FarPoint.Win.Spread.DefaultScrollBarRenderer()
|
||||
Dim DefaultScrollBarRenderer4 As FarPoint.Win.Spread.DefaultScrollBarRenderer = New FarPoint.Win.Spread.DefaultScrollBarRenderer()
|
||||
Dim TextCellType8 As FarPoint.Win.Spread.CellType.TextCellType = New FarPoint.Win.Spread.CellType.TextCellType()
|
||||
Dim TextCellType9 As FarPoint.Win.Spread.CellType.TextCellType = New FarPoint.Win.Spread.CellType.TextCellType()
|
||||
Dim DefaultScrollBarRenderer5 As FarPoint.Win.Spread.DefaultScrollBarRenderer = New FarPoint.Win.Spread.DefaultScrollBarRenderer()
|
||||
Dim DefaultScrollBarRenderer6 As FarPoint.Win.Spread.DefaultScrollBarRenderer = New FarPoint.Win.Spread.DefaultScrollBarRenderer()
|
||||
Dim TextCellType10 As FarPoint.Win.Spread.CellType.TextCellType = New FarPoint.Win.Spread.CellType.TextCellType()
|
||||
Me.TabControl1 = New System.Windows.Forms.TabControl()
|
||||
Me.TabPage1 = New System.Windows.Forms.TabPage()
|
||||
Me.FpSpread3 = New FarPoint.Win.Spread.FpSpread()
|
||||
Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components)
|
||||
Me.bt_out_worklist = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.ToolStripMenuItem3 = New System.Windows.Forms.ToolStripSeparator()
|
||||
Me.bt_makebat = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.FpSpread3_Sheet1 = New FarPoint.Win.Spread.SheetView()
|
||||
Me.IreaDataSet = New FileManager.ireaDataSet()
|
||||
Me.TabPage2 = New System.Windows.Forms.TabPage()
|
||||
Me.FpSpread1 = New FarPoint.Win.Spread.FpSpread()
|
||||
Me.ContextMenuStrip2 = New System.Windows.Forms.ContextMenuStrip(Me.components)
|
||||
Me.ToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.FpSpread1_Sheet1 = New FarPoint.Win.Spread.SheetView()
|
||||
Me.TabPage3 = New System.Windows.Forms.TabPage()
|
||||
Me.FpSpread2 = New FarPoint.Win.Spread.FpSpread()
|
||||
Me.ContextMenuStrip3 = New System.Windows.Forms.ContextMenuStrip(Me.components)
|
||||
Me.ToolStripMenuItem2 = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.FpSpread2_Sheet1 = New FarPoint.Win.Spread.SheetView()
|
||||
Me.TabPage4 = New System.Windows.Forms.TabPage()
|
||||
Me.RichTextBox2 = New System.Windows.Forms.RichTextBox()
|
||||
Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel()
|
||||
Me.RichTextBox1 = New System.Windows.Forms.RichTextBox()
|
||||
Me.btRun = New System.Windows.Forms.Button()
|
||||
Me.TabControl1.SuspendLayout()
|
||||
Me.TabPage1.SuspendLayout()
|
||||
CType(Me.FpSpread3, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.ContextMenuStrip1.SuspendLayout()
|
||||
CType(Me.FpSpread3_Sheet1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
CType(Me.IreaDataSet, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.TabPage2.SuspendLayout()
|
||||
CType(Me.FpSpread1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.ContextMenuStrip2.SuspendLayout()
|
||||
CType(Me.FpSpread1_Sheet1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.TabPage3.SuspendLayout()
|
||||
CType(Me.FpSpread2, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.ContextMenuStrip3.SuspendLayout()
|
||||
CType(Me.FpSpread2_Sheet1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.TabPage4.SuspendLayout()
|
||||
Me.TableLayoutPanel1.SuspendLayout()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'TabControl1
|
||||
'
|
||||
Me.TabControl1.Controls.Add(Me.TabPage1)
|
||||
Me.TabControl1.Controls.Add(Me.TabPage2)
|
||||
Me.TabControl1.Controls.Add(Me.TabPage3)
|
||||
Me.TabControl1.Controls.Add(Me.TabPage4)
|
||||
Me.TabControl1.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.TabControl1.Location = New System.Drawing.Point(3, 3)
|
||||
Me.TabControl1.Name = "TabControl1"
|
||||
Me.TabControl1.SelectedIndex = 0
|
||||
Me.TabControl1.Size = New System.Drawing.Size(978, 485)
|
||||
Me.TabControl1.TabIndex = 25
|
||||
'
|
||||
'TabPage1
|
||||
'
|
||||
Me.TabPage1.Controls.Add(Me.FpSpread3)
|
||||
Me.TabPage1.Location = New System.Drawing.Point(4, 22)
|
||||
Me.TabPage1.Name = "TabPage1"
|
||||
Me.TabPage1.Padding = New System.Windows.Forms.Padding(3)
|
||||
Me.TabPage1.Size = New System.Drawing.Size(970, 459)
|
||||
Me.TabPage1.TabIndex = 0
|
||||
Me.TabPage1.Text = "작업대상목록"
|
||||
Me.TabPage1.UseVisualStyleBackColor = True
|
||||
'
|
||||
'FpSpread3
|
||||
'
|
||||
Me.FpSpread3.AccessibleDescription = "FpSpread3, Sheet1"
|
||||
Me.FpSpread3.BackColor = System.Drawing.Color.Transparent
|
||||
Me.FpSpread3.ContextMenuStrip = Me.ContextMenuStrip1
|
||||
Me.FpSpread3.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.FpSpread3.FocusRenderer = DefaultFocusIndicatorRenderer1
|
||||
Me.FpSpread3.HorizontalScrollBar.Buttons = New FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton")
|
||||
Me.FpSpread3.HorizontalScrollBar.Name = ""
|
||||
Me.FpSpread3.HorizontalScrollBar.Renderer = DefaultScrollBarRenderer1
|
||||
Me.FpSpread3.HorizontalScrollBar.TabIndex = 4
|
||||
Me.FpSpread3.Location = New System.Drawing.Point(3, 3)
|
||||
Me.FpSpread3.Name = "FpSpread3"
|
||||
Me.FpSpread3.RightToLeft = System.Windows.Forms.RightToLeft.No
|
||||
Me.FpSpread3.Sheets.AddRange(New FarPoint.Win.Spread.SheetView() {Me.FpSpread3_Sheet1})
|
||||
Me.FpSpread3.Size = New System.Drawing.Size(964, 453)
|
||||
Me.FpSpread3.Skin = FarPoint.Win.Spread.DefaultSpreadSkins.Classic
|
||||
Me.FpSpread3.TabIndex = 22
|
||||
Me.FpSpread3.VerticalScrollBar.Buttons = New FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton")
|
||||
Me.FpSpread3.VerticalScrollBar.Name = ""
|
||||
Me.FpSpread3.VerticalScrollBar.Renderer = DefaultScrollBarRenderer2
|
||||
Me.FpSpread3.VerticalScrollBar.TabIndex = 5
|
||||
Me.FpSpread3.VisualStyles = FarPoint.Win.VisualStyles.Off
|
||||
Me.FpSpread3.SetActiveViewport(0, -1, -1)
|
||||
'
|
||||
'ContextMenuStrip1
|
||||
'
|
||||
Me.ContextMenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.bt_out_worklist, Me.ToolStripMenuItem3, Me.bt_makebat})
|
||||
Me.ContextMenuStrip1.Name = "ContextMenuStrip1"
|
||||
Me.ContextMenuStrip1.Size = New System.Drawing.Size(151, 54)
|
||||
'
|
||||
'bt_out_worklist
|
||||
'
|
||||
Me.bt_out_worklist.Name = "bt_out_worklist"
|
||||
Me.bt_out_worklist.Size = New System.Drawing.Size(150, 22)
|
||||
Me.bt_out_worklist.Text = "내보내기"
|
||||
'
|
||||
'ToolStripMenuItem3
|
||||
'
|
||||
Me.ToolStripMenuItem3.Name = "ToolStripMenuItem3"
|
||||
Me.ToolStripMenuItem3.Size = New System.Drawing.Size(147, 6)
|
||||
'
|
||||
'bt_makebat
|
||||
'
|
||||
Me.bt_makebat.Name = "bt_makebat"
|
||||
Me.bt_makebat.Size = New System.Drawing.Size(150, 22)
|
||||
Me.bt_makebat.Text = "배치파일 작성"
|
||||
'
|
||||
'FpSpread3_Sheet1
|
||||
'
|
||||
Me.FpSpread3_Sheet1.Reset()
|
||||
Me.FpSpread3_Sheet1.SheetName = "Sheet1"
|
||||
'Formulas and custom names must be loaded with R1C1 reference style
|
||||
Me.FpSpread3_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1
|
||||
FpSpread3_Sheet1.ColumnCount = 7
|
||||
Me.FpSpread3_Sheet1.ActiveColumnIndex = -1
|
||||
Me.FpSpread3_Sheet1.ActiveRowIndex = -1
|
||||
Me.FpSpread3_Sheet1.AutoGenerateColumns = False
|
||||
Me.FpSpread3_Sheet1.ColumnFooter.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red
|
||||
Me.FpSpread3_Sheet1.ColumnFooter.DefaultStyle.Parent = "HeaderDefault"
|
||||
Me.FpSpread3_Sheet1.ColumnFooterSheetCornerStyle.NoteIndicatorColor = System.Drawing.Color.Red
|
||||
Me.FpSpread3_Sheet1.ColumnFooterSheetCornerStyle.Parent = "CornerDefault"
|
||||
Me.FpSpread3_Sheet1.ColumnHeader.Cells.Get(0, 0).Value = "원본파일명"
|
||||
Me.FpSpread3_Sheet1.ColumnHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red
|
||||
Me.FpSpread3_Sheet1.ColumnHeader.DefaultStyle.Parent = "HeaderDefault"
|
||||
Me.FpSpread3_Sheet1.ColumnHeader.Rows.Get(0).Height = 38.0!
|
||||
Me.FpSpread3_Sheet1.Columns.Get(0).CellType = TextCellType1
|
||||
Me.FpSpread3_Sheet1.Columns.Get(0).DataField = "원본파일명"
|
||||
Me.FpSpread3_Sheet1.Columns.Get(0).Width = 151.0!
|
||||
Me.FpSpread3_Sheet1.Columns.Get(1).CellType = TextCellType2
|
||||
Me.FpSpread3_Sheet1.Columns.Get(1).DataField = "대상파일명"
|
||||
Me.FpSpread3_Sheet1.Columns.Get(1).Width = 151.0!
|
||||
Me.FpSpread3_Sheet1.Columns.Get(2).CellType = TextCellType3
|
||||
Me.FpSpread3_Sheet1.Columns.Get(2).DataField = "원본경로"
|
||||
Me.FpSpread3_Sheet1.Columns.Get(2).Width = 151.0!
|
||||
Me.FpSpread3_Sheet1.Columns.Get(3).CellType = TextCellType4
|
||||
Me.FpSpread3_Sheet1.Columns.Get(3).DataField = "대상경로"
|
||||
Me.FpSpread3_Sheet1.Columns.Get(3).Width = 185.0!
|
||||
Me.FpSpread3_Sheet1.Columns.Get(4).CellType = TextCellType5
|
||||
Me.FpSpread3_Sheet1.Columns.Get(4).DataField = "구분"
|
||||
Me.FpSpread3_Sheet1.Columns.Get(4).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center
|
||||
Me.FpSpread3_Sheet1.Columns.Get(4).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center
|
||||
Me.FpSpread3_Sheet1.Columns.Get(4).Width = 50.0!
|
||||
Me.FpSpread3_Sheet1.Columns.Get(5).CellType = TextCellType6
|
||||
Me.FpSpread3_Sheet1.Columns.Get(5).DataField = "성공"
|
||||
Me.FpSpread3_Sheet1.Columns.Get(5).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center
|
||||
Me.FpSpread3_Sheet1.Columns.Get(5).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center
|
||||
Me.FpSpread3_Sheet1.Columns.Get(5).Width = 39.0!
|
||||
Me.FpSpread3_Sheet1.Columns.Get(6).AllowAutoSort = True
|
||||
Me.FpSpread3_Sheet1.Columns.Get(6).CellType = TextCellType7
|
||||
Me.FpSpread3_Sheet1.Columns.Get(6).DataField = "오류"
|
||||
Me.FpSpread3_Sheet1.Columns.Get(6).ForeColor = System.Drawing.Color.Red
|
||||
Me.FpSpread3_Sheet1.Columns.Get(6).Width = 145.0!
|
||||
Me.FpSpread3_Sheet1.DataAutoCellTypes = False
|
||||
Me.FpSpread3_Sheet1.DataAutoSizeColumns = False
|
||||
Me.FpSpread3_Sheet1.DataMember = "WorkList"
|
||||
Me.FpSpread3_Sheet1.DataSource = Me.IreaDataSet
|
||||
Me.FpSpread3_Sheet1.RowHeader.Columns.Default.Resizable = False
|
||||
Me.FpSpread3_Sheet1.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red
|
||||
Me.FpSpread3_Sheet1.RowHeader.DefaultStyle.Parent = "RowHeaderDefault"
|
||||
Me.FpSpread3_Sheet1.SheetCornerStyle.NoteIndicatorColor = System.Drawing.Color.Red
|
||||
Me.FpSpread3_Sheet1.SheetCornerStyle.Parent = "CornerDefault"
|
||||
Me.FpSpread3_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1
|
||||
'
|
||||
'IreaDataSet
|
||||
'
|
||||
Me.IreaDataSet.DataSetName = "ireaDataSet"
|
||||
Me.IreaDataSet.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema
|
||||
'
|
||||
'TabPage2
|
||||
'
|
||||
Me.TabPage2.Controls.Add(Me.FpSpread1)
|
||||
Me.TabPage2.Location = New System.Drawing.Point(4, 22)
|
||||
Me.TabPage2.Name = "TabPage2"
|
||||
Me.TabPage2.Padding = New System.Windows.Forms.Padding(3)
|
||||
Me.TabPage2.Size = New System.Drawing.Size(970, 459)
|
||||
Me.TabPage2.TabIndex = 1
|
||||
Me.TabPage2.Text = "파일목록"
|
||||
Me.TabPage2.UseVisualStyleBackColor = True
|
||||
'
|
||||
'FpSpread1
|
||||
'
|
||||
Me.FpSpread1.AccessibleDescription = "FpSpread1, Sheet1, Row 0, Column 0, "
|
||||
Me.FpSpread1.BackColor = System.Drawing.Color.Transparent
|
||||
Me.FpSpread1.ContextMenuStrip = Me.ContextMenuStrip2
|
||||
Me.FpSpread1.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.FpSpread1.FocusRenderer = DefaultFocusIndicatorRenderer1
|
||||
Me.FpSpread1.HorizontalScrollBar.Buttons = New FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton")
|
||||
Me.FpSpread1.HorizontalScrollBar.Name = ""
|
||||
Me.FpSpread1.HorizontalScrollBar.Renderer = DefaultScrollBarRenderer3
|
||||
Me.FpSpread1.HorizontalScrollBar.TabIndex = 4
|
||||
Me.FpSpread1.Location = New System.Drawing.Point(3, 3)
|
||||
Me.FpSpread1.Name = "FpSpread1"
|
||||
Me.FpSpread1.RightToLeft = System.Windows.Forms.RightToLeft.No
|
||||
Me.FpSpread1.Sheets.AddRange(New FarPoint.Win.Spread.SheetView() {Me.FpSpread1_Sheet1})
|
||||
Me.FpSpread1.Size = New System.Drawing.Size(964, 453)
|
||||
Me.FpSpread1.Skin = FarPoint.Win.Spread.DefaultSpreadSkins.Classic
|
||||
Me.FpSpread1.TabIndex = 20
|
||||
Me.FpSpread1.VerticalScrollBar.Buttons = New FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton")
|
||||
Me.FpSpread1.VerticalScrollBar.Name = ""
|
||||
Me.FpSpread1.VerticalScrollBar.Renderer = DefaultScrollBarRenderer4
|
||||
Me.FpSpread1.VerticalScrollBar.TabIndex = 5
|
||||
Me.FpSpread1.VisualStyles = FarPoint.Win.VisualStyles.Off
|
||||
Me.FpSpread1.SetActiveViewport(0, -1, -1)
|
||||
'
|
||||
'ContextMenuStrip2
|
||||
'
|
||||
Me.ContextMenuStrip2.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripMenuItem1})
|
||||
Me.ContextMenuStrip2.Name = "ContextMenuStrip1"
|
||||
Me.ContextMenuStrip2.Size = New System.Drawing.Size(123, 26)
|
||||
'
|
||||
'ToolStripMenuItem1
|
||||
'
|
||||
Me.ToolStripMenuItem1.Name = "ToolStripMenuItem1"
|
||||
Me.ToolStripMenuItem1.Size = New System.Drawing.Size(122, 22)
|
||||
Me.ToolStripMenuItem1.Text = "내보내기"
|
||||
'
|
||||
'FpSpread1_Sheet1
|
||||
'
|
||||
Me.FpSpread1_Sheet1.Reset()
|
||||
Me.FpSpread1_Sheet1.SheetName = "Sheet1"
|
||||
'Formulas and custom names must be loaded with R1C1 reference style
|
||||
Me.FpSpread1_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1
|
||||
FpSpread1_Sheet1.ColumnCount = 2
|
||||
Me.FpSpread1_Sheet1.ActiveColumnIndex = -1
|
||||
Me.FpSpread1_Sheet1.ActiveRowIndex = -1
|
||||
Me.FpSpread1_Sheet1.ColumnFooter.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red
|
||||
Me.FpSpread1_Sheet1.ColumnFooter.DefaultStyle.Parent = "HeaderDefault"
|
||||
Me.FpSpread1_Sheet1.ColumnFooterSheetCornerStyle.NoteIndicatorColor = System.Drawing.Color.Red
|
||||
Me.FpSpread1_Sheet1.ColumnFooterSheetCornerStyle.Parent = "CornerDefault"
|
||||
Me.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 0).Value = "경로"
|
||||
Me.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 1).Value = "파일명"
|
||||
Me.FpSpread1_Sheet1.ColumnHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red
|
||||
Me.FpSpread1_Sheet1.ColumnHeader.DefaultStyle.Parent = "HeaderDefault"
|
||||
Me.FpSpread1_Sheet1.ColumnHeader.Rows.Get(0).Height = 41.0!
|
||||
Me.FpSpread1_Sheet1.Columns.Get(0).CellType = TextCellType8
|
||||
Me.FpSpread1_Sheet1.Columns.Get(0).DataField = "경로"
|
||||
Me.FpSpread1_Sheet1.Columns.Get(0).Label = "경로"
|
||||
Me.FpSpread1_Sheet1.Columns.Get(0).Width = 210.0!
|
||||
Me.FpSpread1_Sheet1.Columns.Get(1).CellType = TextCellType9
|
||||
Me.FpSpread1_Sheet1.Columns.Get(1).DataField = "파일명"
|
||||
Me.FpSpread1_Sheet1.Columns.Get(1).Label = "파일명"
|
||||
Me.FpSpread1_Sheet1.Columns.Get(1).Width = 210.0!
|
||||
Me.FpSpread1_Sheet1.DataAutoCellTypes = False
|
||||
Me.FpSpread1_Sheet1.DataAutoHeadings = False
|
||||
Me.FpSpread1_Sheet1.DataAutoSizeColumns = False
|
||||
Me.FpSpread1_Sheet1.DataMember = "FileList"
|
||||
Me.FpSpread1_Sheet1.DataSource = Me.IreaDataSet
|
||||
Me.FpSpread1_Sheet1.RowHeader.Columns.Default.Resizable = False
|
||||
Me.FpSpread1_Sheet1.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red
|
||||
Me.FpSpread1_Sheet1.RowHeader.DefaultStyle.Parent = "RowHeaderDefault"
|
||||
Me.FpSpread1_Sheet1.SheetCornerStyle.NoteIndicatorColor = System.Drawing.Color.Red
|
||||
Me.FpSpread1_Sheet1.SheetCornerStyle.Parent = "CornerDefault"
|
||||
Me.FpSpread1_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1
|
||||
'
|
||||
'TabPage3
|
||||
'
|
||||
Me.TabPage3.Controls.Add(Me.FpSpread2)
|
||||
Me.TabPage3.Location = New System.Drawing.Point(4, 22)
|
||||
Me.TabPage3.Name = "TabPage3"
|
||||
Me.TabPage3.Padding = New System.Windows.Forms.Padding(3)
|
||||
Me.TabPage3.Size = New System.Drawing.Size(970, 459)
|
||||
Me.TabPage3.TabIndex = 2
|
||||
Me.TabPage3.Text = "원본목록"
|
||||
Me.TabPage3.UseVisualStyleBackColor = True
|
||||
'
|
||||
'FpSpread2
|
||||
'
|
||||
Me.FpSpread2.AccessibleDescription = "FpSpread2, Sheet1, Row 0, Column 0, "
|
||||
Me.FpSpread2.BackColor = System.Drawing.Color.Transparent
|
||||
Me.FpSpread2.ContextMenuStrip = Me.ContextMenuStrip3
|
||||
Me.FpSpread2.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.FpSpread2.FocusRenderer = DefaultFocusIndicatorRenderer1
|
||||
Me.FpSpread2.HorizontalScrollBar.Buttons = New FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton")
|
||||
Me.FpSpread2.HorizontalScrollBar.Name = ""
|
||||
Me.FpSpread2.HorizontalScrollBar.Renderer = DefaultScrollBarRenderer5
|
||||
Me.FpSpread2.HorizontalScrollBar.TabIndex = 2
|
||||
Me.FpSpread2.Location = New System.Drawing.Point(3, 3)
|
||||
Me.FpSpread2.Name = "FpSpread2"
|
||||
Me.FpSpread2.RightToLeft = System.Windows.Forms.RightToLeft.No
|
||||
Me.FpSpread2.Sheets.AddRange(New FarPoint.Win.Spread.SheetView() {Me.FpSpread2_Sheet1})
|
||||
Me.FpSpread2.Size = New System.Drawing.Size(964, 453)
|
||||
Me.FpSpread2.Skin = FarPoint.Win.Spread.DefaultSpreadSkins.Classic
|
||||
Me.FpSpread2.TabIndex = 21
|
||||
Me.FpSpread2.VerticalScrollBar.Buttons = New FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton")
|
||||
Me.FpSpread2.VerticalScrollBar.Name = ""
|
||||
Me.FpSpread2.VerticalScrollBar.Renderer = DefaultScrollBarRenderer6
|
||||
Me.FpSpread2.VerticalScrollBar.TabIndex = 3
|
||||
Me.FpSpread2.VisualStyles = FarPoint.Win.VisualStyles.Off
|
||||
Me.FpSpread2.SetActiveViewport(0, -1, -1)
|
||||
'
|
||||
'ContextMenuStrip3
|
||||
'
|
||||
Me.ContextMenuStrip3.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripMenuItem2})
|
||||
Me.ContextMenuStrip3.Name = "ContextMenuStrip1"
|
||||
Me.ContextMenuStrip3.Size = New System.Drawing.Size(123, 26)
|
||||
'
|
||||
'ToolStripMenuItem2
|
||||
'
|
||||
Me.ToolStripMenuItem2.Name = "ToolStripMenuItem2"
|
||||
Me.ToolStripMenuItem2.Size = New System.Drawing.Size(122, 22)
|
||||
Me.ToolStripMenuItem2.Text = "내보내기"
|
||||
'
|
||||
'FpSpread2_Sheet1
|
||||
'
|
||||
Me.FpSpread2_Sheet1.Reset()
|
||||
Me.FpSpread2_Sheet1.SheetName = "Sheet1"
|
||||
'Formulas and custom names must be loaded with R1C1 reference style
|
||||
Me.FpSpread2_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1
|
||||
FpSpread2_Sheet1.ColumnCount = 1
|
||||
Me.FpSpread2_Sheet1.ActiveColumnIndex = -1
|
||||
Me.FpSpread2_Sheet1.ActiveRowIndex = -1
|
||||
Me.FpSpread2_Sheet1.ColumnFooter.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red
|
||||
Me.FpSpread2_Sheet1.ColumnFooter.DefaultStyle.Parent = "HeaderDefault"
|
||||
Me.FpSpread2_Sheet1.ColumnFooterSheetCornerStyle.NoteIndicatorColor = System.Drawing.Color.Red
|
||||
Me.FpSpread2_Sheet1.ColumnFooterSheetCornerStyle.Parent = "CornerDefault"
|
||||
Me.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 0).Value = "목록"
|
||||
Me.FpSpread2_Sheet1.ColumnHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red
|
||||
Me.FpSpread2_Sheet1.ColumnHeader.DefaultStyle.Parent = "HeaderDefault"
|
||||
Me.FpSpread2_Sheet1.ColumnHeader.Rows.Get(0).Height = 46.0!
|
||||
Me.FpSpread2_Sheet1.Columns.Get(0).CellType = TextCellType10
|
||||
Me.FpSpread2_Sheet1.Columns.Get(0).DataField = "목록명"
|
||||
Me.FpSpread2_Sheet1.Columns.Get(0).Label = "목록"
|
||||
Me.FpSpread2_Sheet1.Columns.Get(0).Width = 271.0!
|
||||
Me.FpSpread2_Sheet1.DataAutoCellTypes = False
|
||||
Me.FpSpread2_Sheet1.DataAutoHeadings = False
|
||||
Me.FpSpread2_Sheet1.DataAutoSizeColumns = False
|
||||
Me.FpSpread2_Sheet1.DataMember = "SrcList"
|
||||
Me.FpSpread2_Sheet1.DataSource = Me.IreaDataSet
|
||||
Me.FpSpread2_Sheet1.RowHeader.Columns.Default.Resizable = False
|
||||
Me.FpSpread2_Sheet1.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red
|
||||
Me.FpSpread2_Sheet1.RowHeader.DefaultStyle.Parent = "RowHeaderDefault"
|
||||
Me.FpSpread2_Sheet1.SheetCornerStyle.NoteIndicatorColor = System.Drawing.Color.Red
|
||||
Me.FpSpread2_Sheet1.SheetCornerStyle.Parent = "CornerDefault"
|
||||
Me.FpSpread2_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1
|
||||
'
|
||||
'TabPage4
|
||||
'
|
||||
Me.TabPage4.Controls.Add(Me.RichTextBox2)
|
||||
Me.TabPage4.Location = New System.Drawing.Point(4, 22)
|
||||
Me.TabPage4.Name = "TabPage4"
|
||||
Me.TabPage4.Padding = New System.Windows.Forms.Padding(3)
|
||||
Me.TabPage4.Size = New System.Drawing.Size(970, 459)
|
||||
Me.TabPage4.TabIndex = 3
|
||||
Me.TabPage4.Text = "백업폴더내역"
|
||||
Me.TabPage4.UseVisualStyleBackColor = True
|
||||
'
|
||||
'RichTextBox2
|
||||
'
|
||||
Me.RichTextBox2.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.RichTextBox2.Location = New System.Drawing.Point(3, 3)
|
||||
Me.RichTextBox2.Name = "RichTextBox2"
|
||||
Me.RichTextBox2.Size = New System.Drawing.Size(964, 453)
|
||||
Me.RichTextBox2.TabIndex = 27
|
||||
Me.RichTextBox2.Text = ""
|
||||
'
|
||||
'TableLayoutPanel1
|
||||
'
|
||||
Me.TableLayoutPanel1.ColumnCount = 1
|
||||
Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
|
||||
Me.TableLayoutPanel1.Controls.Add(Me.TabControl1, 0, 0)
|
||||
Me.TableLayoutPanel1.Controls.Add(Me.RichTextBox1, 0, 1)
|
||||
Me.TableLayoutPanel1.Controls.Add(Me.btRun, 0, 2)
|
||||
Me.TableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.TableLayoutPanel1.Location = New System.Drawing.Point(0, 0)
|
||||
Me.TableLayoutPanel1.Name = "TableLayoutPanel1"
|
||||
Me.TableLayoutPanel1.RowCount = 3
|
||||
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
|
||||
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 128.0!))
|
||||
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 43.0!))
|
||||
Me.TableLayoutPanel1.Size = New System.Drawing.Size(984, 662)
|
||||
Me.TableLayoutPanel1.TabIndex = 26
|
||||
'
|
||||
'RichTextBox1
|
||||
'
|
||||
Me.RichTextBox1.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.RichTextBox1.Location = New System.Drawing.Point(3, 494)
|
||||
Me.RichTextBox1.Name = "RichTextBox1"
|
||||
Me.RichTextBox1.Size = New System.Drawing.Size(978, 122)
|
||||
Me.RichTextBox1.TabIndex = 26
|
||||
Me.RichTextBox1.Text = ""
|
||||
'
|
||||
'btRun
|
||||
'
|
||||
Me.btRun.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.btRun.Font = New System.Drawing.Font("굴림", 20.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
|
||||
Me.btRun.Location = New System.Drawing.Point(3, 622)
|
||||
Me.btRun.Name = "btRun"
|
||||
Me.btRun.Size = New System.Drawing.Size(978, 37)
|
||||
Me.btRun.TabIndex = 27
|
||||
Me.btRun.Text = "실 행"
|
||||
Me.btRun.UseVisualStyleBackColor = True
|
||||
'
|
||||
'Form_Status
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 12.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.ClientSize = New System.Drawing.Size(984, 662)
|
||||
Me.Controls.Add(Me.TableLayoutPanel1)
|
||||
Me.Name = "Form_Status"
|
||||
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
|
||||
Me.Text = "상태창(데이터수집)"
|
||||
Me.TopMost = True
|
||||
Me.TabControl1.ResumeLayout(False)
|
||||
Me.TabPage1.ResumeLayout(False)
|
||||
CType(Me.FpSpread3, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.ContextMenuStrip1.ResumeLayout(False)
|
||||
CType(Me.FpSpread3_Sheet1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
CType(Me.IreaDataSet, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.TabPage2.ResumeLayout(False)
|
||||
CType(Me.FpSpread1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.ContextMenuStrip2.ResumeLayout(False)
|
||||
CType(Me.FpSpread1_Sheet1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.TabPage3.ResumeLayout(False)
|
||||
CType(Me.FpSpread2, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.ContextMenuStrip3.ResumeLayout(False)
|
||||
CType(Me.FpSpread2_Sheet1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.TabPage4.ResumeLayout(False)
|
||||
Me.TableLayoutPanel1.ResumeLayout(False)
|
||||
Me.ResumeLayout(False)
|
||||
|
||||
End Sub
|
||||
Friend WithEvents TabControl1 As System.Windows.Forms.TabControl
|
||||
Friend WithEvents TabPage1 As System.Windows.Forms.TabPage
|
||||
Friend WithEvents FpSpread3 As FarPoint.Win.Spread.FpSpread
|
||||
Friend WithEvents FpSpread3_Sheet1 As FarPoint.Win.Spread.SheetView
|
||||
Friend WithEvents TabPage2 As System.Windows.Forms.TabPage
|
||||
Friend WithEvents FpSpread1 As FarPoint.Win.Spread.FpSpread
|
||||
Friend WithEvents FpSpread1_Sheet1 As FarPoint.Win.Spread.SheetView
|
||||
Friend WithEvents TabPage3 As System.Windows.Forms.TabPage
|
||||
Friend WithEvents FpSpread2 As FarPoint.Win.Spread.FpSpread
|
||||
Friend WithEvents FpSpread2_Sheet1 As FarPoint.Win.Spread.SheetView
|
||||
Friend WithEvents IreaDataSet As FileManager.ireaDataSet
|
||||
Friend WithEvents TableLayoutPanel1 As System.Windows.Forms.TableLayoutPanel
|
||||
Friend WithEvents RichTextBox1 As System.Windows.Forms.RichTextBox
|
||||
Friend WithEvents TabPage4 As System.Windows.Forms.TabPage
|
||||
Friend WithEvents RichTextBox2 As System.Windows.Forms.RichTextBox
|
||||
Friend WithEvents ContextMenuStrip1 As System.Windows.Forms.ContextMenuStrip
|
||||
Friend WithEvents bt_out_worklist As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents ContextMenuStrip2 As System.Windows.Forms.ContextMenuStrip
|
||||
Friend WithEvents ToolStripMenuItem1 As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents ContextMenuStrip3 As System.Windows.Forms.ContextMenuStrip
|
||||
Friend WithEvents ToolStripMenuItem2 As System.Windows.Forms.ToolStripMenuItem
|
||||
Friend WithEvents btRun As System.Windows.Forms.Button
|
||||
Friend WithEvents ToolStripMenuItem3 As System.Windows.Forms.ToolStripSeparator
|
||||
Friend WithEvents bt_makebat As System.Windows.Forms.ToolStripMenuItem
|
||||
End Class
|
||||
144
DriveInfo/입력폼/Form_Status.resx
Normal file
@@ -0,0 +1,144 @@
|
||||
<?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=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>
|
||||
<metadata name="ContextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>611, 14</value>
|
||||
</metadata>
|
||||
<metadata name="FpSpread3_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>33, 14</value>
|
||||
</metadata>
|
||||
<metadata name="IreaDataSet.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>495, 14</value>
|
||||
</metadata>
|
||||
<metadata name="ContextMenuStrip2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>771, 14</value>
|
||||
</metadata>
|
||||
<metadata name="FpSpread1_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>187, 14</value>
|
||||
</metadata>
|
||||
<metadata name="ContextMenuStrip3.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>931, 14</value>
|
||||
</metadata>
|
||||
<metadata name="FpSpread2_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>341, 14</value>
|
||||
</metadata>
|
||||
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>56</value>
|
||||
</metadata>
|
||||
</root>
|
||||
195
DriveInfo/입력폼/Form_Status.vb
Normal file
@@ -0,0 +1,195 @@
|
||||
Public Class Form_Status
|
||||
|
||||
Enum E_SaveType
|
||||
WorkList = 0
|
||||
FileList = 1
|
||||
SrcList = 2
|
||||
End Enum
|
||||
|
||||
Public AutoRun As Boolean = False
|
||||
Public Winhide As Boolean = False
|
||||
|
||||
'//뷰의 내용을 파일로 저장한다.
|
||||
Public Sub SaveList(ByVal Div As E_SaveType, ByVal UseOD As Boolean)
|
||||
Dim NowString As String = Format(Now, "yyMMddHHmm")
|
||||
Dim Filename As String = ""
|
||||
Select Case Div
|
||||
Case E_SaveType.FileList
|
||||
Filename = "전체파일목록"
|
||||
Case E_SaveType.SrcList
|
||||
Filename = "원본목록"
|
||||
Case E_SaveType.WorkList
|
||||
Filename = "작업파일목록"
|
||||
End Select
|
||||
Filename = Filename & NowString & ".xls"
|
||||
|
||||
If UseOD Then
|
||||
Dim OD As New SaveFileDialog
|
||||
OD.InitialDirectory = My.Application.Info.DirectoryPath
|
||||
OD.FileName = Filename
|
||||
OD.Filter = "엑셀워크시트(*xls)|*.xls"
|
||||
If OD.ShowDialog() = Windows.Forms.DialogResult.OK Then
|
||||
Select Case Div
|
||||
Case E_SaveType.WorkList
|
||||
PLog.Add("Save Work List : " + OD.FileName)
|
||||
Me.FpSpread3.SaveExcel(OD.FileName, FarPoint.Excel.ExcelSaveFlags.SaveBothCustomRowAndColumnHeaders)
|
||||
Case E_SaveType.FileList
|
||||
PLog.Add("Save File List : " + OD.FileName)
|
||||
Me.FpSpread1.SaveExcel(OD.FileName, FarPoint.Excel.ExcelSaveFlags.SaveBothCustomRowAndColumnHeaders)
|
||||
Case E_SaveType.SrcList
|
||||
PLog.Add("Save Source List : " + OD.FileName)
|
||||
Me.FpSpread2.SaveExcel(OD.FileName, FarPoint.Excel.ExcelSaveFlags.SaveBothCustomRowAndColumnHeaders)
|
||||
End Select
|
||||
MsgBox("목록이 저장되었습니다" & vbCrLf & OD.FileName, MsgBoxStyle.Critical, "화인")
|
||||
End If
|
||||
Else
|
||||
Filename = PathList & "\" & Filename
|
||||
Select Case Div
|
||||
Case E_SaveType.WorkList
|
||||
PLog.Add("Save Work List : " + Filename)
|
||||
Me.FpSpread3.SaveExcel(Filename, FarPoint.Excel.ExcelSaveFlags.SaveBothCustomRowAndColumnHeaders)
|
||||
Case E_SaveType.FileList
|
||||
PLog.Add("Save File List : " + Filename)
|
||||
Me.FpSpread1.SaveExcel(Filename, FarPoint.Excel.ExcelSaveFlags.SaveBothCustomRowAndColumnHeaders)
|
||||
Case E_SaveType.SrcList
|
||||
PLog.Add("Save Source List : " + Filename)
|
||||
Me.FpSpread2.SaveExcel(Filename, FarPoint.Excel.ExcelSaveFlags.SaveBothCustomRowAndColumnHeaders)
|
||||
End Select
|
||||
'MsgBox("목록이 저장되었습니다" & vbCrLf & Filename, MsgBoxStyle.Critical, "화인")
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub bt_out_worklist_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_out_worklist.Click
|
||||
Me.SaveList(E_SaveType.WorkList, True)
|
||||
End Sub
|
||||
|
||||
Private Sub ToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem1.Click
|
||||
Me.SaveList(E_SaveType.FileList, True)
|
||||
End Sub
|
||||
|
||||
Private Sub ToolStripMenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem2.Click
|
||||
Me.SaveList(E_SaveType.SrcList, True)
|
||||
End Sub
|
||||
|
||||
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btRun.Click
|
||||
|
||||
If Me.FpSpread3_Sheet1.RowCount <= 0 Then
|
||||
If Winhide Then
|
||||
MDiMain.Noti("작업목록이 없으므로 실행할 수 없습니다")
|
||||
Else
|
||||
MsgBox("작업목록이 존재하지 않습니다", MsgBoxStyle.Critical, "확인")
|
||||
End If
|
||||
Return
|
||||
End If
|
||||
|
||||
' MsgBox("1")
|
||||
If Not AutoRun Then
|
||||
If MsgBox("[복사/이동/삭제] 실행하시겠습니까?" + vbCrLf + "FTP의경우 백업정책이 적용되지 않습니다", MsgBoxStyle.Information + MsgBoxStyle.OkCancel, "실행확인") <> MsgBoxResult.Ok Then Return
|
||||
End If
|
||||
|
||||
Me.btRun.Enabled = False
|
||||
MDiMain.Timer1.Enabled = False
|
||||
' MsgBox("2")
|
||||
If GetrunType() = E_Runtype.Copy Then
|
||||
Try
|
||||
MoveFileRCopy(Winhide)
|
||||
Catch ex As Exception
|
||||
Errlog("MoveFileRCopy" & ex.Message.ToString)
|
||||
End Try
|
||||
|
||||
ElseIf GetrunType() = E_Runtype.Move Then
|
||||
Try
|
||||
MoveFileRMove(Winhide)
|
||||
Catch ex As Exception
|
||||
Errlog("MoveFileRMove" & ex.Message.ToString)
|
||||
End Try
|
||||
|
||||
Else
|
||||
Try
|
||||
DeleteFileR(Winhide)
|
||||
Catch ex As Exception
|
||||
Errlog("DeleteFileR" & ex.Message.ToString)
|
||||
End Try
|
||||
|
||||
End If
|
||||
Try
|
||||
MakeBakLog1()
|
||||
Catch ex As Exception
|
||||
Errlog("MakeBakLog1" & ex.Message.ToString)
|
||||
End Try
|
||||
Application.DoEvents()
|
||||
|
||||
MDiMain.Timer1.Enabled = True
|
||||
If Winhide Then
|
||||
MDiMain.Noti("완료되었습니다")
|
||||
' Me.Close()
|
||||
Else
|
||||
MsgBox("완료되었습니다", MsgBoxStyle.Information, "확인")
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub bt_makebat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_makebat.Click
|
||||
Dim FN As String = ""
|
||||
Dim Scr As String = ""
|
||||
Select Case GetrunType()
|
||||
Case E_Runtype.Copy
|
||||
FN = "복사("
|
||||
Scr = "copy /y "
|
||||
Case E_Runtype.Move
|
||||
FN = "이동("
|
||||
Scr = "move /y "
|
||||
Case E_Runtype.Delete
|
||||
FN = "삭제("
|
||||
Scr = "del /f /q "
|
||||
End Select
|
||||
FN = "c:\" & FN & Format(Now, "yyyyMMdd") & ").bat"
|
||||
Dim Fs As New FileStream(FN, FileMode.Create)
|
||||
Dim Sw As New StreamWriter(Fs, System.Text.Encoding.Default)
|
||||
|
||||
MDiMain.MSG("스크립트생성중")
|
||||
Dim index As Integer = 0
|
||||
Dim endcnt As Integer = MDiMain.DataSet1.WorkList.Rows.Count - 1
|
||||
|
||||
Sw.WriteLine("@echo off")
|
||||
For Each Dr As ireaDataSet.WorkListRow In MDiMain.DataSet1.WorkList.Rows
|
||||
index += 1
|
||||
MDiMain.ShowCnt1(index, endcnt, "스크립트생성")
|
||||
Sw.WriteLine("echo " & index & "/" & MDiMain.DataSet1.WorkList.Rows.Count)
|
||||
Select Case GetrunType()
|
||||
Case E_Runtype.Delete
|
||||
Sw.WriteLine("del /f /q " & Chr(&H22) & Dr.원본경로 & "\" & Dr.원본파일명 & Chr(&H22))
|
||||
Case E_Runtype.Copy
|
||||
Sw.WriteLine("copy /y " & Dr.원본경로 & "\" & Dr.원본파일명 & Space(1) & Dr.대상경로 & "\" & Dr.대상파일명)
|
||||
Case E_Runtype.Move
|
||||
Sw.WriteLine("move /y " & Dr.원본경로 & "\" & Dr.원본파일명 & Space(1) & Dr.대상경로 & "\" & Dr.대상파일명)
|
||||
End Select
|
||||
Next
|
||||
Sw.Flush()
|
||||
Sw.Close()
|
||||
Fs.Close()
|
||||
Sw = Nothing
|
||||
Fs = Nothing
|
||||
MDiMain.MSG("스크립트생성완료")
|
||||
MsgBox("배치파일이 생성되엇습니다" & vbCrLf & "파일명 : " & FN, MsgBoxStyle.Information, "확인")
|
||||
End Sub
|
||||
|
||||
Private Sub Form_Status_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated
|
||||
RefreshCount
|
||||
End Sub
|
||||
|
||||
Private Sub RefreshCount()
|
||||
Me.TabPage1.Text = "작업대상목록(" & Me.FpSpread3_Sheet1.RowCount & ")"
|
||||
Me.TabPage2.Text = "파일목록(" & Me.FpSpread1_Sheet1.RowCount & ")"
|
||||
Me.TabPage3.Text = "원본목록(" & Me.FpSpread2_Sheet1.RowCount & ")"
|
||||
End Sub
|
||||
|
||||
Private Sub Form_Status_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
|
||||
Me.FpSpread1.DataSource = MDiMain.DataSet1.FileList
|
||||
Me.FpSpread2.DataSource = MDiMain.DataSet1.SrcList
|
||||
Me.FpSpread3.DataSource = MDiMain.DataSet1.WorkList
|
||||
RefreshCount()
|
||||
|
||||
If Winhide AndAlso WindowState <> FormWindowState.Minimized Then Me.WindowState = FormWindowState.Minimized
|
||||
End Sub
|
||||
End Class
|
||||
264
DriveInfo/입력폼/Frm_DeleteFile.Designer.vb
generated
Normal file
@@ -0,0 +1,264 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class Frm_DeleteFile
|
||||
Inherits System.Windows.Forms.Form
|
||||
|
||||
'Form은 Dispose를 재정의하여 구성 요소 목록을 정리합니다.
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
Try
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
Finally
|
||||
MyBase.Dispose(disposing)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'Windows Form 디자이너에 필요합니다.
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'참고: 다음 프로시저는 Windows Form 디자이너에 필요합니다.
|
||||
'수정하려면 Windows Form 디자이너를 사용하십시오.
|
||||
'코드 편집기를 사용하여 수정하지 마십시오.
|
||||
<System.Diagnostics.DebuggerStepThrough()> _
|
||||
Private Sub InitializeComponent()
|
||||
Me.components = New System.ComponentModel.Container
|
||||
Dim TipAppearance4 As FarPoint.Win.Spread.TipAppearance = New FarPoint.Win.Spread.TipAppearance
|
||||
Me.FB = New System.Windows.Forms.FolderBrowserDialog
|
||||
Me.StatusStrip1 = New System.Windows.Forms.StatusStrip
|
||||
Me.ToolStrip1 = New System.Windows.Forms.ToolStrip
|
||||
Me.ToolStripButton1 = New System.Windows.Forms.ToolStripButton
|
||||
Me.ToolStripLabel1 = New System.Windows.Forms.ToolStripLabel
|
||||
Me.FpSpread1 = New FarPoint.Win.Spread.FpSpread
|
||||
Me.FpSpread1_Sheet1 = New FarPoint.Win.Spread.SheetView
|
||||
Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel
|
||||
Me.tb_deldesc = New System.Windows.Forms.TextBox
|
||||
Me.TabControl1 = New System.Windows.Forms.TabControl
|
||||
Me.TabPage1 = New System.Windows.Forms.TabPage
|
||||
Me.tb_deltext1 = New System.Windows.Forms.TextBox
|
||||
Me.tb_deltext2 = New System.Windows.Forms.TextBox
|
||||
Me.RadioButton2 = New System.Windows.Forms.RadioButton
|
||||
Me.RadioButton1 = New System.Windows.Forms.RadioButton
|
||||
Me.TabPage2 = New System.Windows.Forms.TabPage
|
||||
Me.desc_timer = New System.Windows.Forms.Timer(Me.components)
|
||||
Me.ToolTip1 = New System.Windows.Forms.ToolTip(Me.components)
|
||||
Me.ToolStrip1.SuspendLayout()
|
||||
CType(Me.FpSpread1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
CType(Me.FpSpread1_Sheet1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.TableLayoutPanel1.SuspendLayout()
|
||||
Me.TabControl1.SuspendLayout()
|
||||
Me.TabPage1.SuspendLayout()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'StatusStrip1
|
||||
'
|
||||
Me.StatusStrip1.Location = New System.Drawing.Point(0, 544)
|
||||
Me.StatusStrip1.Name = "StatusStrip1"
|
||||
Me.StatusStrip1.Size = New System.Drawing.Size(982, 22)
|
||||
Me.StatusStrip1.TabIndex = 2
|
||||
Me.StatusStrip1.Text = "StatusStrip1"
|
||||
'
|
||||
'ToolStrip1
|
||||
'
|
||||
Me.ToolStrip1.ImageScalingSize = New System.Drawing.Size(32, 32)
|
||||
Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripButton1, Me.ToolStripLabel1})
|
||||
Me.ToolStrip1.Location = New System.Drawing.Point(0, 0)
|
||||
Me.ToolStrip1.Name = "ToolStrip1"
|
||||
Me.ToolStrip1.Size = New System.Drawing.Size(982, 39)
|
||||
Me.ToolStrip1.TabIndex = 3
|
||||
Me.ToolStrip1.Text = "ToolStrip1"
|
||||
'
|
||||
'ToolStripButton1
|
||||
'
|
||||
Me.ToolStripButton1.Font = New System.Drawing.Font("맑은 고딕", 9.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
|
||||
Me.ToolStripButton1.Image = Global.FileManager.My.Resources.Resources.play_32
|
||||
Me.ToolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta
|
||||
Me.ToolStripButton1.Name = "ToolStripButton1"
|
||||
Me.ToolStripButton1.Size = New System.Drawing.Size(67, 36)
|
||||
Me.ToolStripButton1.Text = "실행"
|
||||
Me.ToolStripButton1.TextAlign = System.Drawing.ContentAlignment.MiddleRight
|
||||
'
|
||||
'ToolStripLabel1
|
||||
'
|
||||
Me.ToolStripLabel1.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right
|
||||
Me.ToolStripLabel1.Name = "ToolStripLabel1"
|
||||
Me.ToolStripLabel1.Size = New System.Drawing.Size(205, 36)
|
||||
Me.ToolStripLabel1.Text = "→ 파일을 삭제할 방법을 선택하세요."
|
||||
'
|
||||
'FpSpread1
|
||||
'
|
||||
Me.FpSpread1.About = "3.0.2003.2005"
|
||||
Me.FpSpread1.AccessibleDescription = ""
|
||||
Me.FpSpread1.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.FpSpread1.Font = New System.Drawing.Font("맑은 고딕", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
|
||||
Me.FpSpread1.HorizontalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.AsNeeded
|
||||
Me.FpSpread1.Location = New System.Drawing.Point(3, 350)
|
||||
Me.FpSpread1.Name = "FpSpread1"
|
||||
Me.FpSpread1.Sheets.AddRange(New FarPoint.Win.Spread.SheetView() {Me.FpSpread1_Sheet1})
|
||||
Me.FpSpread1.Size = New System.Drawing.Size(976, 154)
|
||||
Me.FpSpread1.TabIndex = 4
|
||||
TipAppearance4.BackColor = System.Drawing.SystemColors.Info
|
||||
TipAppearance4.Font = New System.Drawing.Font("굴림", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
|
||||
TipAppearance4.ForeColor = System.Drawing.SystemColors.InfoText
|
||||
Me.FpSpread1.TextTipAppearance = TipAppearance4
|
||||
Me.FpSpread1.VerticalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.AsNeeded
|
||||
'
|
||||
'FpSpread1_Sheet1
|
||||
'
|
||||
Me.FpSpread1_Sheet1.Reset()
|
||||
Me.FpSpread1_Sheet1.SheetName = "Sheet1"
|
||||
'
|
||||
'TableLayoutPanel1
|
||||
'
|
||||
Me.TableLayoutPanel1.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
|
||||
Or System.Windows.Forms.AnchorStyles.Left) _
|
||||
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.TableLayoutPanel1.ColumnCount = 1
|
||||
Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
|
||||
Me.TableLayoutPanel1.Controls.Add(Me.tb_deldesc, 0, 1)
|
||||
Me.TableLayoutPanel1.Controls.Add(Me.FpSpread1, 0, 2)
|
||||
Me.TableLayoutPanel1.Controls.Add(Me.TabControl1, 0, 0)
|
||||
Me.TableLayoutPanel1.Location = New System.Drawing.Point(0, 34)
|
||||
Me.TableLayoutPanel1.Name = "TableLayoutPanel1"
|
||||
Me.TableLayoutPanel1.RowCount = 3
|
||||
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
|
||||
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 100.0!))
|
||||
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 160.0!))
|
||||
Me.TableLayoutPanel1.Size = New System.Drawing.Size(982, 507)
|
||||
Me.TableLayoutPanel1.TabIndex = 5
|
||||
'
|
||||
'tb_deldesc
|
||||
'
|
||||
Me.tb_deldesc.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
|
||||
Me.tb_deldesc.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.tb_deldesc.Font = New System.Drawing.Font("맑은 고딕", 11.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
|
||||
Me.tb_deldesc.Location = New System.Drawing.Point(3, 250)
|
||||
Me.tb_deldesc.Multiline = True
|
||||
Me.tb_deldesc.Name = "tb_deldesc"
|
||||
Me.tb_deldesc.Size = New System.Drawing.Size(976, 94)
|
||||
Me.tb_deldesc.TabIndex = 5
|
||||
'
|
||||
'TabControl1
|
||||
'
|
||||
Me.TabControl1.Controls.Add(Me.TabPage1)
|
||||
Me.TabControl1.Controls.Add(Me.TabPage2)
|
||||
Me.TabControl1.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.TabControl1.Font = New System.Drawing.Font("맑은 고딕", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
|
||||
Me.TabControl1.Location = New System.Drawing.Point(3, 3)
|
||||
Me.TabControl1.Name = "TabControl1"
|
||||
Me.TabControl1.SelectedIndex = 0
|
||||
Me.TabControl1.Size = New System.Drawing.Size(976, 241)
|
||||
Me.TabControl1.TabIndex = 5
|
||||
'
|
||||
'TabPage1
|
||||
'
|
||||
Me.TabPage1.Controls.Add(Me.tb_deltext1)
|
||||
Me.TabPage1.Controls.Add(Me.tb_deltext2)
|
||||
Me.TabPage1.Controls.Add(Me.RadioButton2)
|
||||
Me.TabPage1.Controls.Add(Me.RadioButton1)
|
||||
Me.TabPage1.Location = New System.Drawing.Point(4, 24)
|
||||
Me.TabPage1.Name = "TabPage1"
|
||||
Me.TabPage1.Padding = New System.Windows.Forms.Padding(3)
|
||||
Me.TabPage1.Size = New System.Drawing.Size(968, 213)
|
||||
Me.TabPage1.TabIndex = 0
|
||||
Me.TabPage1.Text = "직접입력"
|
||||
Me.TabPage1.UseVisualStyleBackColor = True
|
||||
'
|
||||
'tb_deltext1
|
||||
'
|
||||
Me.tb_deltext1.Location = New System.Drawing.Point(33, 40)
|
||||
Me.tb_deltext1.Name = "tb_deltext1"
|
||||
Me.tb_deltext1.Size = New System.Drawing.Size(239, 23)
|
||||
Me.tb_deltext1.TabIndex = 6
|
||||
'
|
||||
'tb_deltext2
|
||||
'
|
||||
Me.tb_deltext2.Location = New System.Drawing.Point(33, 104)
|
||||
Me.tb_deltext2.Name = "tb_deltext2"
|
||||
Me.tb_deltext2.Size = New System.Drawing.Size(239, 23)
|
||||
Me.tb_deltext2.TabIndex = 5
|
||||
'
|
||||
'RadioButton2
|
||||
'
|
||||
Me.RadioButton2.AutoSize = True
|
||||
Me.RadioButton2.Location = New System.Drawing.Point(15, 79)
|
||||
Me.RadioButton2.Name = "RadioButton2"
|
||||
Me.RadioButton2.Size = New System.Drawing.Size(257, 19)
|
||||
Me.RadioButton2.TabIndex = 4
|
||||
Me.RadioButton2.TabStop = True
|
||||
Me.RadioButton2.Text = "지정된 문자가 들어있는 파일을 삭제합니다"
|
||||
Me.RadioButton2.UseVisualStyleBackColor = True
|
||||
'
|
||||
'RadioButton1
|
||||
'
|
||||
Me.RadioButton1.AutoSize = True
|
||||
Me.RadioButton1.Location = New System.Drawing.Point(15, 15)
|
||||
Me.RadioButton1.Name = "RadioButton1"
|
||||
Me.RadioButton1.Size = New System.Drawing.Size(177, 19)
|
||||
Me.RadioButton1.TabIndex = 3
|
||||
Me.RadioButton1.TabStop = True
|
||||
Me.RadioButton1.Text = "삭제할 파일명을 지정합니다"
|
||||
Me.RadioButton1.UseVisualStyleBackColor = True
|
||||
'
|
||||
'TabPage2
|
||||
'
|
||||
Me.TabPage2.Location = New System.Drawing.Point(4, 24)
|
||||
Me.TabPage2.Name = "TabPage2"
|
||||
Me.TabPage2.Padding = New System.Windows.Forms.Padding(3)
|
||||
Me.TabPage2.Size = New System.Drawing.Size(968, 213)
|
||||
Me.TabPage2.TabIndex = 1
|
||||
Me.TabPage2.Text = "파일목록"
|
||||
Me.TabPage2.UseVisualStyleBackColor = True
|
||||
'
|
||||
'desc_timer
|
||||
'
|
||||
Me.desc_timer.Interval = 1000
|
||||
'
|
||||
'ToolTip1
|
||||
'
|
||||
Me.ToolTip1.AutoPopDelay = 60000
|
||||
Me.ToolTip1.InitialDelay = 500
|
||||
Me.ToolTip1.ReshowDelay = 100
|
||||
'
|
||||
'Frm_DeleteFile
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 12.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.ClientSize = New System.Drawing.Size(982, 566)
|
||||
Me.Controls.Add(Me.TableLayoutPanel1)
|
||||
Me.Controls.Add(Me.ToolStrip1)
|
||||
Me.Controls.Add(Me.StatusStrip1)
|
||||
Me.Name = "Frm_DeleteFile"
|
||||
Me.Text = "파일삭제"
|
||||
Me.ToolStrip1.ResumeLayout(False)
|
||||
Me.ToolStrip1.PerformLayout()
|
||||
CType(Me.FpSpread1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
CType(Me.FpSpread1_Sheet1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.TableLayoutPanel1.ResumeLayout(False)
|
||||
Me.TableLayoutPanel1.PerformLayout()
|
||||
Me.TabControl1.ResumeLayout(False)
|
||||
Me.TabPage1.ResumeLayout(False)
|
||||
Me.TabPage1.PerformLayout()
|
||||
Me.ResumeLayout(False)
|
||||
Me.PerformLayout()
|
||||
|
||||
End Sub
|
||||
Friend WithEvents FB As System.Windows.Forms.FolderBrowserDialog
|
||||
Friend WithEvents StatusStrip1 As System.Windows.Forms.StatusStrip
|
||||
Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip
|
||||
Friend WithEvents ToolStripLabel1 As System.Windows.Forms.ToolStripLabel
|
||||
Friend WithEvents FpSpread1 As FarPoint.Win.Spread.FpSpread
|
||||
Friend WithEvents FpSpread1_Sheet1 As FarPoint.Win.Spread.SheetView
|
||||
Friend WithEvents TableLayoutPanel1 As System.Windows.Forms.TableLayoutPanel
|
||||
Friend WithEvents TabControl1 As System.Windows.Forms.TabControl
|
||||
Friend WithEvents TabPage1 As System.Windows.Forms.TabPage
|
||||
Friend WithEvents TabPage2 As System.Windows.Forms.TabPage
|
||||
Friend WithEvents ToolStripButton1 As System.Windows.Forms.ToolStripButton
|
||||
Friend WithEvents RadioButton2 As System.Windows.Forms.RadioButton
|
||||
Friend WithEvents RadioButton1 As System.Windows.Forms.RadioButton
|
||||
Friend WithEvents tb_deldesc As System.Windows.Forms.TextBox
|
||||
Friend WithEvents desc_timer As System.Windows.Forms.Timer
|
||||
Friend WithEvents tb_deltext1 As System.Windows.Forms.TextBox
|
||||
Friend WithEvents tb_deltext2 As System.Windows.Forms.TextBox
|
||||
Friend WithEvents ToolTip1 As System.Windows.Forms.ToolTip
|
||||
End Class
|
||||
138
DriveInfo/입력폼/Frm_DeleteFile.resx
Normal file
@@ -0,0 +1,138 @@
|
||||
<?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=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>
|
||||
<metadata name="FB.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="StatusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>82, 17</value>
|
||||
</metadata>
|
||||
<metadata name="ToolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>200, 17</value>
|
||||
</metadata>
|
||||
<metadata name="FpSpread1_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>309, 17</value>
|
||||
</metadata>
|
||||
<metadata name="desc_timer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>463, 17</value>
|
||||
</metadata>
|
||||
<metadata name="ToolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>574, 17</value>
|
||||
</metadata>
|
||||
</root>
|
||||
61
DriveInfo/입력폼/Frm_DeleteFile.vb
Normal file
@@ -0,0 +1,61 @@
|
||||
Public Class Frm_DeleteFile
|
||||
Dim MsgBuff As New System.Text.StringBuilder
|
||||
Dim Err As Boolean = False
|
||||
|
||||
Private Sub desc_timer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles desc_timer.Tick
|
||||
MsgBuff.Remove(0, MsgBuff.Length)
|
||||
Err = False
|
||||
|
||||
If Me.TabControl1.SelectedIndex = 0 Then
|
||||
If Me.RadioButton1.Checked Then
|
||||
If Me.tb_deltext1.Text = "" Or Me.tb_deltext1.Text.Length = 0 Then
|
||||
Err = True
|
||||
MsgBuff.AppendLine("삭제할 파일명에 들어가는 문자를 입력하세요")
|
||||
End If
|
||||
If Err = False Then
|
||||
MsgBuff.AppendLine("작업폴더 : " & Pub.GetWorkDIr & " 에서")
|
||||
MsgBuff.AppendLine("파일명이 [ " & Me.tb_deltext1.Text & "." & Pub.GetExtendFromMdi & " ] 인 파일들을 삭제합니다")
|
||||
MsgBuff.AppendLine("대상파일의 확장자구분은 [ " & IIf(Pub.GetExtendFromMdi = "*", "모든형식", Pub.GetExtendFromMdi) & " ] 이며 하위폴더는 " & IIf(Pub.GetSubDir, "[포함] 합니다", "[포함] 하지 않습니다"))
|
||||
End If
|
||||
ElseIf Me.RadioButton2.Checked Then
|
||||
If Me.tb_deltext2.Text = "" Or Me.tb_deltext2.Text.Length = 0 Then
|
||||
Err = True
|
||||
MsgBuff.AppendLine("삭제할 파일명에 들어가는 문자를 입력하세요")
|
||||
End If
|
||||
If Err = False Then
|
||||
MsgBuff.AppendLine("작업폴더 : " & Pub.GetWorkDIr & " 에서")
|
||||
MsgBuff.AppendLine("파일명에 [ " & Me.tb_deltext2.Text & " ] 가 들어있는 파일들을 삭제합니다")
|
||||
MsgBuff.AppendLine("대상파일의 확장자구분은 [ " & IIf(Pub.GetExtendFromMdi = "*", "모든형식", Pub.GetExtendFromMdi) & " ] 이며 하위폴더는 " & IIf(Pub.GetSubDir, "[포함] 합니다", "[포함] 하지 않습니다"))
|
||||
End If
|
||||
|
||||
Else
|
||||
MsgBuff.AppendLine("파일을 삭제할 방법이 선택되지 않았습니다")
|
||||
End If
|
||||
Else
|
||||
|
||||
End If
|
||||
|
||||
|
||||
Me.tb_deldesc.Text = MsgBuff.ToString
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub Frm_DeleteFile_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
|
||||
' Me.desc_timer.Enabled = True
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub tb_deltext2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tb_deltext2.TextChanged
|
||||
Me.RadioButton2.Checked = True
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub tb_deldesc_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tb_deldesc.TextChanged
|
||||
Me.ToolTip1.SetToolTip(sender, Me.tb_deldesc.Text)
|
||||
End Sub
|
||||
|
||||
Private Sub tb_deltext1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tb_deltext1.TextChanged
|
||||
Me.RadioButton1.Checked = True
|
||||
End Sub
|
||||
End Class
|
||||
255
DriveInfo/입력폼/Frm_FileInfo.Designer.vb
generated
Normal file
@@ -0,0 +1,255 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Public Class Frm_FileInfo
|
||||
Inherits System.Windows.Forms.Form
|
||||
|
||||
'Form overrides dispose to clean up the component list.
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
MyBase.Dispose(disposing)
|
||||
End Sub
|
||||
|
||||
'Required by the Windows Form Designer
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'NOTE: The following procedure is required by the Windows Form Designer
|
||||
'It can be modified using the Windows Form Designer.
|
||||
'Do not modify it using the code editor.
|
||||
<System.Diagnostics.DebuggerStepThrough()> _
|
||||
Private Sub InitializeComponent()
|
||||
Me.label10 = New System.Windows.Forms.Label
|
||||
Me.driveRootDirectory = New System.Windows.Forms.TextBox
|
||||
Me.label6 = New System.Windows.Forms.Label
|
||||
Me.driveType = New System.Windows.Forms.TextBox
|
||||
Me.driveFormat = New System.Windows.Forms.TextBox
|
||||
Me.driveVolumeLabel = New System.Windows.Forms.TextBox
|
||||
Me.driveName = New System.Windows.Forms.TextBox
|
||||
Me.driveReadyStatus = New System.Windows.Forms.Label
|
||||
Me.label5 = New System.Windows.Forms.Label
|
||||
Me.label4 = New System.Windows.Forms.Label
|
||||
Me.label3 = New System.Windows.Forms.Label
|
||||
Me.label2 = New System.Windows.Forms.Label
|
||||
Me.drivesOnPc = New System.Windows.Forms.ComboBox
|
||||
Me.StatusStrip1 = New System.Windows.Forms.StatusStrip
|
||||
Me.TabControl1 = New System.Windows.Forms.TabControl
|
||||
Me.TabPage1 = New System.Windows.Forms.TabPage
|
||||
Me.TabPage2 = New System.Windows.Forms.TabPage
|
||||
Me.TabPage3 = New System.Windows.Forms.TabPage
|
||||
Me.TabControl1.SuspendLayout()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'label10
|
||||
'
|
||||
Me.label10.AutoSize = True
|
||||
Me.label10.Location = New System.Drawing.Point(62, 434)
|
||||
Me.label10.Name = "label10"
|
||||
Me.label10.Size = New System.Drawing.Size(87, 12)
|
||||
Me.label10.TabIndex = 35
|
||||
Me.label10.Text = "Select a Drive:"
|
||||
'
|
||||
'driveRootDirectory
|
||||
'
|
||||
Me.driveRootDirectory.Enabled = False
|
||||
Me.driveRootDirectory.Location = New System.Drawing.Point(649, 434)
|
||||
Me.driveRootDirectory.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4)
|
||||
Me.driveRootDirectory.Name = "driveRootDirectory"
|
||||
Me.driveRootDirectory.Size = New System.Drawing.Size(135, 21)
|
||||
Me.driveRootDirectory.TabIndex = 34
|
||||
'
|
||||
'label6
|
||||
'
|
||||
Me.label6.AutoSize = True
|
||||
Me.label6.Location = New System.Drawing.Point(539, 436)
|
||||
Me.label6.Name = "label6"
|
||||
Me.label6.Size = New System.Drawing.Size(88, 12)
|
||||
Me.label6.TabIndex = 33
|
||||
Me.label6.Text = "Root Directory:"
|
||||
'
|
||||
'driveType
|
||||
'
|
||||
Me.driveType.Enabled = False
|
||||
Me.driveType.Location = New System.Drawing.Point(636, 468)
|
||||
Me.driveType.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4)
|
||||
Me.driveType.Name = "driveType"
|
||||
Me.driveType.Size = New System.Drawing.Size(94, 21)
|
||||
Me.driveType.TabIndex = 32
|
||||
'
|
||||
'driveFormat
|
||||
'
|
||||
Me.driveFormat.Enabled = False
|
||||
Me.driveFormat.Location = New System.Drawing.Point(411, 465)
|
||||
Me.driveFormat.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4)
|
||||
Me.driveFormat.Name = "driveFormat"
|
||||
Me.driveFormat.Size = New System.Drawing.Size(135, 21)
|
||||
Me.driveFormat.TabIndex = 31
|
||||
'
|
||||
'driveVolumeLabel
|
||||
'
|
||||
Me.driveVolumeLabel.Enabled = False
|
||||
Me.driveVolumeLabel.Location = New System.Drawing.Point(172, 465)
|
||||
Me.driveVolumeLabel.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4)
|
||||
Me.driveVolumeLabel.Name = "driveVolumeLabel"
|
||||
Me.driveVolumeLabel.Size = New System.Drawing.Size(135, 21)
|
||||
Me.driveVolumeLabel.TabIndex = 30
|
||||
'
|
||||
'driveName
|
||||
'
|
||||
Me.driveName.Enabled = False
|
||||
Me.driveName.Location = New System.Drawing.Point(386, 432)
|
||||
Me.driveName.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4)
|
||||
Me.driveName.Name = "driveName"
|
||||
Me.driveName.Size = New System.Drawing.Size(135, 21)
|
||||
Me.driveName.TabIndex = 29
|
||||
'
|
||||
'driveReadyStatus
|
||||
'
|
||||
Me.driveReadyStatus.AutoSize = True
|
||||
Me.driveReadyStatus.Location = New System.Drawing.Point(233, 434)
|
||||
Me.driveReadyStatus.Name = "driveReadyStatus"
|
||||
Me.driveReadyStatus.Size = New System.Drawing.Size(64, 12)
|
||||
Me.driveReadyStatus.TabIndex = 28
|
||||
Me.driveReadyStatus.Text = "Not Ready"
|
||||
'
|
||||
'label5
|
||||
'
|
||||
Me.label5.AutoSize = True
|
||||
Me.label5.Location = New System.Drawing.Point(332, 435)
|
||||
Me.label5.Name = "label5"
|
||||
Me.label5.Size = New System.Drawing.Size(43, 12)
|
||||
Me.label5.TabIndex = 27
|
||||
Me.label5.Text = "Name:"
|
||||
'
|
||||
'label4
|
||||
'
|
||||
Me.label4.AutoSize = True
|
||||
Me.label4.Location = New System.Drawing.Point(64, 468)
|
||||
Me.label4.Name = "label4"
|
||||
Me.label4.Size = New System.Drawing.Size(87, 12)
|
||||
Me.label4.TabIndex = 26
|
||||
Me.label4.Text = "Volume Label:"
|
||||
'
|
||||
'label3
|
||||
'
|
||||
Me.label3.AutoSize = True
|
||||
Me.label3.Location = New System.Drawing.Point(585, 471)
|
||||
Me.label3.Name = "label3"
|
||||
Me.label3.Size = New System.Drawing.Size(38, 12)
|
||||
Me.label3.TabIndex = 25
|
||||
Me.label3.Text = "Type:"
|
||||
'
|
||||
'label2
|
||||
'
|
||||
Me.label2.AutoSize = True
|
||||
Me.label2.Location = New System.Drawing.Point(316, 468)
|
||||
Me.label2.Name = "label2"
|
||||
Me.label2.Size = New System.Drawing.Size(76, 12)
|
||||
Me.label2.TabIndex = 24
|
||||
Me.label2.Text = "File System:"
|
||||
'
|
||||
'drivesOnPc
|
||||
'
|
||||
Me.drivesOnPc.FormattingEnabled = True
|
||||
Me.drivesOnPc.Location = New System.Drawing.Point(172, 432)
|
||||
Me.drivesOnPc.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4)
|
||||
Me.drivesOnPc.Name = "drivesOnPc"
|
||||
Me.drivesOnPc.Size = New System.Drawing.Size(54, 20)
|
||||
Me.drivesOnPc.TabIndex = 23
|
||||
'
|
||||
'StatusStrip1
|
||||
'
|
||||
Me.StatusStrip1.Location = New System.Drawing.Point(0, 592)
|
||||
Me.StatusStrip1.Name = "StatusStrip1"
|
||||
Me.StatusStrip1.Size = New System.Drawing.Size(914, 22)
|
||||
Me.StatusStrip1.TabIndex = 36
|
||||
Me.StatusStrip1.Text = "StatusStrip1"
|
||||
'
|
||||
'TabControl1
|
||||
'
|
||||
Me.TabControl1.Controls.Add(Me.TabPage1)
|
||||
Me.TabControl1.Controls.Add(Me.TabPage2)
|
||||
Me.TabControl1.Controls.Add(Me.TabPage3)
|
||||
Me.TabControl1.Location = New System.Drawing.Point(0, 1)
|
||||
Me.TabControl1.Name = "TabControl1"
|
||||
Me.TabControl1.SelectedIndex = 0
|
||||
Me.TabControl1.Size = New System.Drawing.Size(914, 252)
|
||||
Me.TabControl1.TabIndex = 37
|
||||
'
|
||||
'TabPage1
|
||||
'
|
||||
Me.TabPage1.Location = New System.Drawing.Point(4, 22)
|
||||
Me.TabPage1.Name = "TabPage1"
|
||||
Me.TabPage1.Padding = New System.Windows.Forms.Padding(3)
|
||||
Me.TabPage1.Size = New System.Drawing.Size(906, 226)
|
||||
Me.TabPage1.TabIndex = 0
|
||||
Me.TabPage1.Text = "파일목록"
|
||||
Me.TabPage1.UseVisualStyleBackColor = True
|
||||
'
|
||||
'TabPage2
|
||||
'
|
||||
Me.TabPage2.Location = New System.Drawing.Point(4, 22)
|
||||
Me.TabPage2.Name = "TabPage2"
|
||||
Me.TabPage2.Padding = New System.Windows.Forms.Padding(3)
|
||||
Me.TabPage2.Size = New System.Drawing.Size(906, 74)
|
||||
Me.TabPage2.TabIndex = 1
|
||||
Me.TabPage2.Text = "파일명변경"
|
||||
Me.TabPage2.UseVisualStyleBackColor = True
|
||||
'
|
||||
'TabPage3
|
||||
'
|
||||
Me.TabPage3.Location = New System.Drawing.Point(4, 22)
|
||||
Me.TabPage3.Name = "TabPage3"
|
||||
Me.TabPage3.Size = New System.Drawing.Size(906, 74)
|
||||
Me.TabPage3.TabIndex = 2
|
||||
Me.TabPage3.Text = "파일삭제"
|
||||
Me.TabPage3.UseVisualStyleBackColor = True
|
||||
'
|
||||
'Form1
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 12.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.ClientSize = New System.Drawing.Size(914, 614)
|
||||
Me.Controls.Add(Me.TabControl1)
|
||||
Me.Controls.Add(Me.StatusStrip1)
|
||||
Me.Controls.Add(Me.label10)
|
||||
Me.Controls.Add(Me.driveRootDirectory)
|
||||
Me.Controls.Add(Me.label6)
|
||||
Me.Controls.Add(Me.driveType)
|
||||
Me.Controls.Add(Me.driveFormat)
|
||||
Me.Controls.Add(Me.driveVolumeLabel)
|
||||
Me.Controls.Add(Me.driveName)
|
||||
Me.Controls.Add(Me.driveReadyStatus)
|
||||
Me.Controls.Add(Me.label5)
|
||||
Me.Controls.Add(Me.label4)
|
||||
Me.Controls.Add(Me.label3)
|
||||
Me.Controls.Add(Me.label2)
|
||||
Me.Controls.Add(Me.drivesOnPc)
|
||||
Me.Name = "Form1"
|
||||
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
|
||||
Me.Text = "DriveInfo Sample"
|
||||
Me.TabControl1.ResumeLayout(False)
|
||||
Me.ResumeLayout(False)
|
||||
Me.PerformLayout()
|
||||
|
||||
End Sub
|
||||
Friend WithEvents label10 As System.Windows.Forms.Label
|
||||
Friend WithEvents driveRootDirectory As System.Windows.Forms.TextBox
|
||||
Friend WithEvents label6 As System.Windows.Forms.Label
|
||||
Friend WithEvents driveType As System.Windows.Forms.TextBox
|
||||
Friend WithEvents driveFormat As System.Windows.Forms.TextBox
|
||||
Friend WithEvents driveVolumeLabel As System.Windows.Forms.TextBox
|
||||
Friend WithEvents driveName As System.Windows.Forms.TextBox
|
||||
Friend WithEvents driveReadyStatus As System.Windows.Forms.Label
|
||||
Friend WithEvents label5 As System.Windows.Forms.Label
|
||||
Friend WithEvents label4 As System.Windows.Forms.Label
|
||||
Friend WithEvents label3 As System.Windows.Forms.Label
|
||||
Friend WithEvents label2 As System.Windows.Forms.Label
|
||||
Friend WithEvents drivesOnPc As System.Windows.Forms.ComboBox
|
||||
Friend WithEvents StatusStrip1 As System.Windows.Forms.StatusStrip
|
||||
Friend WithEvents TabControl1 As System.Windows.Forms.TabControl
|
||||
Friend WithEvents TabPage1 As System.Windows.Forms.TabPage
|
||||
Friend WithEvents TabPage2 As System.Windows.Forms.TabPage
|
||||
Friend WithEvents TabPage3 As System.Windows.Forms.TabPage
|
||||
|
||||
End Class
|
||||
123
DriveInfo/입력폼/Frm_FileInfo.resx
Normal file
@@ -0,0 +1,123 @@
|
||||
<?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=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>
|
||||
<metadata name="StatusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
</root>
|
||||
131
DriveInfo/입력폼/Frm_FileInfo.vb
Normal file
@@ -0,0 +1,131 @@
|
||||
Imports System.IO
|
||||
|
||||
Public Class Frm_FileInfo
|
||||
|
||||
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
|
||||
Me.driveReadyStatus.Text = ""
|
||||
|
||||
'Get a DriveInfo object for each drive on the system
|
||||
Dim drives As System.IO.DriveInfo() = System.IO.DriveInfo.GetDrives
|
||||
|
||||
'Populate the drives combo box with all drives
|
||||
drivesOnPc.Items.AddRange(drives)
|
||||
End Sub
|
||||
|
||||
Private Sub Form1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
|
||||
|
||||
' Rectangle to define size of Pie Chart
|
||||
Dim rect As Rectangle = New Rectangle(370, 20, 200, 200)
|
||||
|
||||
' Rectangle to use as a border around Pie Chart
|
||||
Dim rect2 As Rectangle = New Rectangle(310, 10, 320, 320)
|
||||
|
||||
' Rectangles for color legend
|
||||
Dim freeLegend As Rectangle = New Rectangle(315, 275, 20, 20)
|
||||
Dim usedLegend As Rectangle = New Rectangle(315, 300, 20, 20)
|
||||
|
||||
e.Graphics.DrawRectangle(Pens.Black, rect2)
|
||||
|
||||
If isSpaceInfoAvailable = True Then
|
||||
|
||||
' Draw Pie Chart
|
||||
e.Graphics.FillPie(Brushes.Green, rect, 0, sweep)
|
||||
e.Graphics.FillPie(Brushes.Red, rect, sweep, 360 - sweep)
|
||||
|
||||
' Draw Legend
|
||||
e.Graphics.FillRectangle(Brushes.Green, freeLegend)
|
||||
e.Graphics.FillRectangle(Brushes.Red, usedLegend)
|
||||
|
||||
' Add text
|
||||
e.Graphics.DrawString("Capacity:", New Font("Tahoma", 10, FontStyle.Regular), Brushes.Black, New PointF(350, 230))
|
||||
e.Graphics.DrawString("Used Space:", New Font("Tahoma", 10, FontStyle.Regular), Brushes.Black, New PointF(335, 275))
|
||||
e.Graphics.DrawString("Free Space:", New Font("Tahoma", 10, FontStyle.Regular), Brushes.Black, New PointF(335, 300))
|
||||
e.Graphics.DrawString(totalSpace.ToString("N") + " bytes", New Font("Tahoma", 10, FontStyle.Regular), Brushes.Black, New PointF(420, 230))
|
||||
e.Graphics.DrawString(usedSpace.ToString("N") + " bytes", New Font("Tahoma", 10, FontStyle.Regular), Brushes.Black, New PointF(420, 275))
|
||||
e.Graphics.DrawString(freeSpace.ToString("N") + " bytes", New Font("Tahoma", 10, FontStyle.Regular), Brushes.Black, New PointF(420, 300))
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub drivesOnPc_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles drivesOnPc.SelectedIndexChanged
|
||||
|
||||
' Determine drive info for selected drive letter
|
||||
LoadDriveInfo(drivesOnPc.Items(drivesOnPc.SelectedIndex).ToString)
|
||||
|
||||
' Redraw the pie chart
|
||||
Me.Invalidate()
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub LoadDriveInfo(ByVal driveLetter As String)
|
||||
|
||||
' Use the DriveInfo class to obtain information on drives.
|
||||
' Drive name must be either an upper or lower case letter from 'a' to 'z'.
|
||||
' You can not use this method to obtain information on drive names that are null or use UNC (\\server\share) paths.
|
||||
|
||||
Dim driveInfo As System.IO.DriveInfo
|
||||
|
||||
' Check for valid drive names
|
||||
Try
|
||||
driveInfo = New System.IO.DriveInfo(driveLetter)
|
||||
Catch ex1 As ArgumentNullException
|
||||
MessageBox.Show("The drive letter can not be null./n/r" + ex1.Message, "Drive Letter error", MessageBoxButtons.OK, MessageBoxIcon.Error)
|
||||
Return
|
||||
Catch ex2 As ArgumentException
|
||||
MessageBox.Show("The drive letter must be in the range of a-z./n/r" + ex2.Message, "Drive Letter error", MessageBoxButtons.OK, MessageBoxIcon.Error)
|
||||
Return
|
||||
End Try
|
||||
|
||||
Me.driveName.Text = driveInfo.Name
|
||||
|
||||
' Some drives do not provide all of the info
|
||||
' have to trap for exceptions and just move on to the next drive
|
||||
Try
|
||||
If driveInfo.VolumeLabel.Length > 0 Then
|
||||
Me.driveVolumeLabel.Text = driveInfo.VolumeLabel
|
||||
Else
|
||||
Me.driveVolumeLabel.Text = "None"
|
||||
End If
|
||||
Me.driveFormat.Text = driveInfo.DriveFormat
|
||||
totalSpace = driveInfo.TotalSize
|
||||
freeSpace = driveInfo.TotalFreeSpace
|
||||
usedSpace = totalSpace - freeSpace
|
||||
sweep = 360.0F * freeSpace / totalSpace
|
||||
isSpaceInfoAvailable = True
|
||||
Catch
|
||||
Me.driveVolumeLabel.Text = "Not available"
|
||||
Me.driveFormat.Text = "Not available"
|
||||
isSpaceInfoAvailable = False
|
||||
End Try
|
||||
|
||||
Me.driveType.Text = driveInfo.DriveType.ToString
|
||||
|
||||
Me.driveRootDirectory.Text = driveInfo.RootDirectory.ToString
|
||||
dirInfo = driveInfo.RootDirectory
|
||||
|
||||
If driveInfo.IsReady = True Then
|
||||
Me.driveReadyStatus.Text = "Drive is Ready"
|
||||
Else
|
||||
Me.driveReadyStatus.Text = "Drive is NOT Ready"
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
Private Function ConvertBytesToMB(ByVal bytes As Int64) As String
|
||||
Dim mb As Long = bytes / 1048576
|
||||
Return mb.ToString("N")
|
||||
End Function
|
||||
|
||||
Private Function ConvertBytesToGB(ByVal bytes As Int64) As String
|
||||
Dim gb As Long = bytes / 1073741824
|
||||
Return gb.ToString("N")
|
||||
End Function
|
||||
|
||||
|
||||
Private dirInfo As DirectoryInfo
|
||||
Private totalSpace As Long
|
||||
Private freeSpace As Long
|
||||
Private usedSpace As Long
|
||||
Private sweep As Single
|
||||
Private isSpaceInfoAvailable As Boolean
|
||||
|
||||
End Class
|
||||
29
DriveInfo/입력폼/Frm_RenameFile.Designer.vb
generated
Normal file
@@ -0,0 +1,29 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class Frm_RenameFile
|
||||
Inherits System.Windows.Forms.Form
|
||||
|
||||
'Form은 Dispose를 재정의하여 구성 요소 목록을 정리합니다.
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
Try
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
Finally
|
||||
MyBase.Dispose(disposing)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'Windows Form 디자이너에 필요합니다.
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'참고: 다음 프로시저는 Windows Form 디자이너에 필요합니다.
|
||||
'수정하려면 Windows Form 디자이너를 사용하십시오.
|
||||
'코드 편집기를 사용하여 수정하지 마십시오.
|
||||
<System.Diagnostics.DebuggerStepThrough()> _
|
||||
Private Sub InitializeComponent()
|
||||
components = New System.ComponentModel.Container
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.Text = "Frm_RenameFile"
|
||||
End Sub
|
||||
End Class
|
||||
3
DriveInfo/입력폼/Frm_RenameFile.vb
Normal file
@@ -0,0 +1,3 @@
|
||||
Public Class Frm_RenameFile
|
||||
|
||||
End Class
|
||||
127
DriveInfo/컨트롤/ImpCtl.Designer.vb
generated
Normal file
@@ -0,0 +1,127 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class impctl
|
||||
Inherits System.Windows.Forms.UserControl
|
||||
|
||||
'UserControl은 Dispose를 재정의하여 구성 요소 목록을 정리합니다.
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
Try
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
Finally
|
||||
MyBase.Dispose(disposing)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'Windows Form 디자이너에 필요합니다.
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'참고: 다음 프로시저는 Windows Form 디자이너에 필요합니다.
|
||||
'수정하려면 Windows Form 디자이너를 사용하십시오.
|
||||
'코드 편집기를 사용하여 수정하지 마십시오.
|
||||
<System.Diagnostics.DebuggerStepThrough()> _
|
||||
Private Sub InitializeComponent()
|
||||
Me.components = New System.ComponentModel.Container
|
||||
Me.TextBox3 = New System.Windows.Forms.TextBox
|
||||
Me.ToolTip1 = New System.Windows.Forms.ToolTip(Me.components)
|
||||
Me.TextBox2 = New System.Windows.Forms.TextBox
|
||||
Me.Label1 = New System.Windows.Forms.Label
|
||||
Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel
|
||||
Me.ComboBox1 = New System.Windows.Forms.ComboBox
|
||||
Me.TableLayoutPanel1.SuspendLayout()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'TextBox3
|
||||
'
|
||||
Me.TextBox3.BackColor = System.Drawing.Color.LightSlateGray
|
||||
Me.TextBox3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
|
||||
Me.TextBox3.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.TextBox3.Location = New System.Drawing.Point(0, 111)
|
||||
Me.TextBox3.Margin = New System.Windows.Forms.Padding(0)
|
||||
Me.TextBox3.Name = "TextBox3"
|
||||
Me.TextBox3.Size = New System.Drawing.Size(74, 21)
|
||||
Me.TextBox3.TabIndex = 17
|
||||
Me.TextBox3.TabStop = False
|
||||
Me.TextBox3.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
|
||||
'
|
||||
'TextBox2
|
||||
'
|
||||
Me.TextBox2.BackColor = System.Drawing.Color.LightSlateGray
|
||||
Me.TextBox2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
|
||||
Me.TextBox2.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.TextBox2.Location = New System.Drawing.Point(0, 89)
|
||||
Me.TextBox2.Margin = New System.Windows.Forms.Padding(0)
|
||||
Me.TextBox2.Name = "TextBox2"
|
||||
Me.TextBox2.Size = New System.Drawing.Size(74, 21)
|
||||
Me.TextBox2.TabIndex = 15
|
||||
Me.TextBox2.TabStop = False
|
||||
Me.TextBox2.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
|
||||
'
|
||||
'Label1
|
||||
'
|
||||
Me.Label1.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
|
||||
Or System.Windows.Forms.AnchorStyles.Left) _
|
||||
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.Label1.BackColor = System.Drawing.Color.White
|
||||
Me.Label1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
|
||||
Me.Label1.Font = New System.Drawing.Font("맑은 고딕", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
|
||||
Me.Label1.Location = New System.Drawing.Point(0, 0)
|
||||
Me.Label1.Margin = New System.Windows.Forms.Padding(0)
|
||||
Me.Label1.Name = "Label1"
|
||||
Me.Label1.Size = New System.Drawing.Size(74, 67)
|
||||
Me.Label1.TabIndex = 14
|
||||
Me.Label1.Text = "제목줄"
|
||||
Me.Label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
|
||||
'
|
||||
'TableLayoutPanel1
|
||||
'
|
||||
Me.TableLayoutPanel1.ColumnCount = 1
|
||||
Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
|
||||
Me.TableLayoutPanel1.Controls.Add(Me.Label1, 0, 0)
|
||||
Me.TableLayoutPanel1.Controls.Add(Me.TextBox3, 0, 3)
|
||||
Me.TableLayoutPanel1.Controls.Add(Me.TextBox2, 0, 2)
|
||||
Me.TableLayoutPanel1.Controls.Add(Me.ComboBox1, 0, 1)
|
||||
Me.TableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.TableLayoutPanel1.Location = New System.Drawing.Point(0, 0)
|
||||
Me.TableLayoutPanel1.Margin = New System.Windows.Forms.Padding(0)
|
||||
Me.TableLayoutPanel1.Name = "TableLayoutPanel1"
|
||||
Me.TableLayoutPanel1.RowCount = 4
|
||||
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100.0!))
|
||||
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 22.0!))
|
||||
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 22.0!))
|
||||
Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 22.0!))
|
||||
Me.TableLayoutPanel1.Size = New System.Drawing.Size(74, 133)
|
||||
Me.TableLayoutPanel1.TabIndex = 18
|
||||
'
|
||||
'ComboBox1
|
||||
'
|
||||
Me.ComboBox1.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.ComboBox1.FormattingEnabled = True
|
||||
Me.ComboBox1.Items.AddRange(New Object() {"#열번호", "?", "*", "파일명", "확장자"})
|
||||
Me.ComboBox1.Location = New System.Drawing.Point(0, 67)
|
||||
Me.ComboBox1.Margin = New System.Windows.Forms.Padding(0)
|
||||
Me.ComboBox1.Name = "ComboBox1"
|
||||
Me.ComboBox1.Size = New System.Drawing.Size(74, 20)
|
||||
Me.ComboBox1.TabIndex = 18
|
||||
'
|
||||
'impctl
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 12.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.Controls.Add(Me.TableLayoutPanel1)
|
||||
Me.Name = "impctl"
|
||||
Me.Size = New System.Drawing.Size(74, 133)
|
||||
Me.TableLayoutPanel1.ResumeLayout(False)
|
||||
Me.TableLayoutPanel1.PerformLayout()
|
||||
Me.ResumeLayout(False)
|
||||
|
||||
End Sub
|
||||
Friend WithEvents TextBox3 As System.Windows.Forms.TextBox
|
||||
Friend WithEvents ToolTip1 As System.Windows.Forms.ToolTip
|
||||
Friend WithEvents TextBox2 As System.Windows.Forms.TextBox
|
||||
Friend WithEvents Label1 As System.Windows.Forms.Label
|
||||
Friend WithEvents TableLayoutPanel1 As System.Windows.Forms.TableLayoutPanel
|
||||
Friend WithEvents ComboBox1 As System.Windows.Forms.ComboBox
|
||||
|
||||
End Class
|
||||
123
DriveInfo/컨트롤/ImpCtl.resx
Normal file
@@ -0,0 +1,123 @@
|
||||
<?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=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>
|
||||
<metadata name="ToolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
</root>
|
||||
240
DriveInfo/컨트롤/ImpCtl.vb
Normal file
@@ -0,0 +1,240 @@
|
||||
Public Class impctl
|
||||
Dim v필드명 As String
|
||||
'Dim v_nullvaluevisible As Boolean = True
|
||||
|
||||
Public Event TimeExpired(ByVal sender As Object, ByVal Status As String)
|
||||
''' <summary>
|
||||
''' 사용여부
|
||||
''' </summary>
|
||||
''' <value></value>
|
||||
''' <returns></returns>
|
||||
''' <remarks></remarks>
|
||||
Overloads Property enabled() As Boolean
|
||||
Get
|
||||
Return Me.ComboBox1.Enabled
|
||||
End Get
|
||||
Set(ByVal value As Boolean)
|
||||
Me.ComboBox1.Enabled = value
|
||||
Me.Label1.Enabled = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
''' 데이터가 표시된 포맷을 입력
|
||||
''' </summary>
|
||||
''' <value></value>
|
||||
''' <returns></returns>
|
||||
''' <remarks></remarks>
|
||||
Public Property 포맷마스크() As String
|
||||
Get
|
||||
Return Me.TextBox3.Text
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
Me.TextBox3.Text = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
''' 연결할 필드명입니다.
|
||||
''' </summary>
|
||||
''' <value></value>
|
||||
''' <returns></returns>
|
||||
''' <remarks></remarks>
|
||||
Public Property 필드명() As String
|
||||
Get
|
||||
Return v필드명
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
v필드명 = value
|
||||
End Set
|
||||
End Property
|
||||
Public Property 제목() As String
|
||||
Get
|
||||
Return Me.Label1.Text
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
Me.Label1.Text = value.Replace("/", vbCrLf)
|
||||
End Set
|
||||
End Property
|
||||
Public Property 문자열자르기() As String
|
||||
Get
|
||||
Return Me.TextBox2.Text
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
Me.TextBox2.Text = value
|
||||
End Set
|
||||
End Property
|
||||
Public Property 열번호() As String
|
||||
Get
|
||||
Return Me.ComboBox1.Text
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
Me.ComboBox1.Text = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
|
||||
Public Function getValue(ByVal Spread As FarPoint.Win.Spread.FpSpread, ByVal RowPos As Integer, Optional ByVal OrgFn As String = "원본파일명", Optional ByVal OrgExt As String = "원본확장자") As String
|
||||
Dim SUbidx As Integer
|
||||
Dim VALSTR As String
|
||||
Dim 파일명 As String
|
||||
|
||||
If Me.열번호 = "" Then '//즉 없다는뜻이다.
|
||||
Return ""
|
||||
Else '//있다.
|
||||
'//원본파일명과 원본확장가 이 두가지를 처리해야한다.
|
||||
|
||||
If Me.열번호.Length = 1 Then Return Me.열번호 '//길이 1개짜리는 뭔지모르겟지만 걍 반환
|
||||
If Me.열번호.Substring(0, 1) = "#" AndAlso IsNumeric(Me.열번호.Substring(1)) = False Then Return Me.열번호 '//#인데 그 다음이 숫자가 아닐경우는 바로 리턴
|
||||
|
||||
|
||||
If Me.열번호 = "파일명" Then
|
||||
VALSTR = OrgFn
|
||||
ElseIf Me.열번호 = "확장자" Then
|
||||
VALSTR = OrgExt
|
||||
ElseIf Me.열번호.Substring(0, 1) <> "#" Then '//열번호도 아니고 원본내용도아니라면 그냥 리턴
|
||||
Return Me.열번호
|
||||
Else '//이건 열번호를 지정한 경우에해당한다.
|
||||
If RowPos > Spread.ActiveSheet.RowCount Then Return "[Err:줄초과]" '//줄번호가 전체 줄번호를 초과할경우
|
||||
SUbidx = Me.열번호.Substring(1) '//#을 제외한 컬럼번호만을 가져온다.
|
||||
If SUbidx > Spread.ActiveSheet.ColumnCount Then Return "[Err:열초과]" '//지정된 컬럼번호가 전체 컬럼수를 초과할경우
|
||||
VALSTR = Spread.ActiveSheet.Cells(RowPos - 1, CInt(SUbidx - 1)).Text
|
||||
If VALSTR.Trim = "" Then Return "" '//가져온문자가없으면 리턴
|
||||
End If
|
||||
|
||||
파일명 = VALSTR
|
||||
'//이걸로 파일명은 추출했따 이제 자르기만 수행하면된다.
|
||||
|
||||
If Me.문자열자르기 = "" OrElse Me.문자열자르기 = "0,0" Then '//문자열자르기확인 없다 그대로 리턴
|
||||
Return VALSTR
|
||||
Else '//문자열자르기가 있으면 잘라서 보내준다.
|
||||
Dim DIV(1) As String
|
||||
If Me.문자열자르기.IndexOf(",") = -1 Then
|
||||
DIV(0) = Me.문자열자르기
|
||||
DIV(1) = "0"
|
||||
Else
|
||||
DIV = Me.문자열자르기.Split(",")
|
||||
End If
|
||||
|
||||
If DIV(1) = "0" Then '//시작부터 끝까지
|
||||
Try
|
||||
If 파일명.Length < DIV(0) Then
|
||||
VALSTR = ""
|
||||
Else
|
||||
VALSTR = 파일명.Substring(DIV(0) - 1)
|
||||
End If
|
||||
Catch ex As Exception
|
||||
VALSTR = 파일명
|
||||
End Try
|
||||
Return VALSTR
|
||||
|
||||
Else '/지정범위
|
||||
Try
|
||||
VALSTR = 파일명.Substring(DIV(0) - 1, DIV(1))
|
||||
Catch ex As Exception
|
||||
VALSTR = 파일명
|
||||
End Try
|
||||
Return VALSTR
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
|
||||
End Function
|
||||
|
||||
|
||||
Public Sub New()
|
||||
|
||||
' 이 호출은 Windows Form 디자이너에 필요합니다.
|
||||
InitializeComponent()
|
||||
|
||||
' AddHandler TextBox1.TextChanged, ADDRESS OF
|
||||
'AddHandler TextBox1.TextChanged, AddressOf ControlChanged
|
||||
' AddHandler Me.DoubleClick, Me.TextBox1.DoubleClick
|
||||
'AddHandler Me.TimeExpired, AddressOf timeExp
|
||||
|
||||
|
||||
|
||||
End Sub
|
||||
Private Sub timeExp(ByVal sender As Object, ByVal stri As String)
|
||||
'MsgBox(stri)
|
||||
|
||||
End Sub
|
||||
Private Sub ControlChanged(ByVal sender As Object, ByVal e As System.EventArgs)
|
||||
Dim A As TextBox = CType(sender, TextBox)
|
||||
If A.Text.Length <= 0 Then Exit Sub
|
||||
|
||||
Select Case A.Text.Substring(0, 1)
|
||||
Case ":"
|
||||
If IsNumeric(A.Text.Substring(1)) Then
|
||||
A.BackColor = Color.LawnGreen
|
||||
Else
|
||||
A.BackColor = Color.Tomato
|
||||
End If
|
||||
Case "?"
|
||||
A.BackColor = Color.Gray
|
||||
Case "#"
|
||||
A.BackColor = Color.SteelBlue
|
||||
Case Else
|
||||
A.BackColor = Color.White
|
||||
End Select
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub UserControl1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.DoubleClick
|
||||
RaiseEvent TimeExpired(Me, "sdf")
|
||||
End Sub
|
||||
|
||||
Private Sub TextBox1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs)
|
||||
|
||||
RaiseEvent TimeExpired(Me, "sdf")
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub TextBox1_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.Enter
|
||||
Me.ComboBox1.SelectAll()
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub TextBox2_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox2.Enter
|
||||
Me.TextBox2.SelectAll()
|
||||
End Sub
|
||||
|
||||
Private Sub TextBox2_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox2.GotFocus
|
||||
Me.TextBox2.SelectAll()
|
||||
' SendKeys.Send("{TAB}")
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub TextBox1_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.GotFocus
|
||||
Me.ComboBox1.SelectAll()
|
||||
End Sub
|
||||
|
||||
Private Sub ComboBox1_STextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.TextChanged
|
||||
'이 컨트롤은 파일관리자용으로 특화된 컨트롤이다.
|
||||
'기본적인 입력은 해당 문자열이다
|
||||
'#숫자 는 연결시킬 열번호이다. (이것은 푸른색으로한다)
|
||||
|
||||
Dim A As ComboBox = CType(sender, ComboBox)
|
||||
If A.Text.Length <= 0 Then Exit Sub '//입력된 길이가 없다면 리턴
|
||||
|
||||
|
||||
|
||||
Select Case A.Text.Substring(0, 1) '//앞자리문자로 구분한다.
|
||||
Case "#"
|
||||
If Not IsNumeric(A.Text.Substring(1)) Then
|
||||
A.BackColor = Color.Tomato
|
||||
Else
|
||||
A.BackColor = Color.SteelBlue
|
||||
End If
|
||||
|
||||
Case Else
|
||||
A.BackColor = Color.White
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
|
||||
|
||||
End Sub
|
||||
End Class
|
||||