From e444dfee4be253109cdc2f46588f98f32e17d37a Mon Sep 17 00:00:00 2001 From: nishikawa_takeshi Date: Wed, 28 Jan 2009 05:36:49 +0000 Subject: [PATCH] =?UTF-8?q?=E3=83=9E=E3=82=B9=E3=82=BF=E3=82=A8=E3=83=87?= =?UTF-8?q?=E3=82=A3=E3=82=BF:=E3=82=B3=E3=83=94=E3=83=BC=E5=87=A6?= =?UTF-8?q?=E7=90=86=E3=82=92.NET=E3=81=AE=E3=83=A1=E3=82=BD=E3=83=83?= =?UTF-8?q?=E3=83=89=E3=81=8B=E3=82=89=E3=81=84=E3=81=A3=E3=81=9F=E3=82=93?= =?UTF-8?q?=E8=87=AA=E4=BD=9C=E3=81=AB=E5=A4=89=E6=9B=B4=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlToolsRED@149 7061adef-622a-194b-ae81-725974e89856 --- .../MasterEditorTWL/MasterEditorTWL.ncb | Bin 11447296 -> 11447296 bytes .../MasterEditorTWL/MasterEditorTWL.suo | Bin 67584 -> 69120 bytes .../MasterEditorTWL/Debug/BuildLog.htm | Bin 15976 -> 12060 bytes .../MasterEditorTWL/MasterEditorTWL/Form1.h | 3 + .../MasterEditorTWL/Form_file.cpp | 83 ++++++++++++++++-- 5 files changed, 80 insertions(+), 6 deletions(-) diff --git a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL.ncb b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL.ncb index 9e60935f012be3a82517e649d3bf0f09e21979b1..88bf683e6ddb0708a5501ec168762ddb59da5296 100644 GIT binary patch delta 23539 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 {40kc7!YQhREJVX4N+nF8FD=742|OY3<|g$1K06 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 MrgrPIWmEqD1Hqat9{>OV delta 36027 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 diff --git a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL.suo b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL.suo index 354324c46e358fe8710a05f4ca89e1953db911d7..53a2852ef6ba133232da35099f4b00b77e694f32 100644 GIT binary patch delta 6349 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 delta 1443 zcmcIkOH30{6unbq6tSd(MM?{uaoPwp(q6veXM+K>eo$fzH4q8qX9;SBVpwR|7!!?& z!5eo3KXD~7Y9=O_s5^~@n7GlUiN=LuSh;cG!aLKJPN$7K7kzzs=iGbGJ@4IFIQ{+7 zlXg*Rf@atS?STBRukBh`Tob9YL@6GIIK*kb##hx1=V1!Y!XV5*0%9-;L0CsCvuJ`j zaWh8c)#U~A#5q2Zn}?DfS3&M148b`VH|I4eiZK@BTqZ@-X0M~WHBL`f*$9kswHRE? z;fZclJ7hm7RVfv-N<=TStFprPEct{ZJ-aXO?1Sytw>F=<&1otJ;9kXF|)Zb z8`C&_aa9N^^@^36ce`7Vnypt$VX;*ka6}yWkoH=c7NnN^2z58zmp;*gzpRKQP)CW6 zzPZXtEp?J&7v&JQy~hw|2Rm$LQxe>)-nM>g3A(L@X+qjUi#1|t$UvgJj?ld8fJt_( zpisYEE*gSK?T%bgK!~>D-z(5Vze8%ZYShB&1zUmR6@OUpG(ww|&o)L4ZM|Z>7TK{Z z$p0X*(zp?FYV&rb-E=7RF(!h+_^g^rO_y|vbuAPdtn7Y6sTr>dh6*D@ED zOxC$L8St$?s6oh^2cuH4+t-$@q~RZYhqq9kaYP$>g6vz+sPP%!GqQ{dtl~@FJ!cN> z3wSGwPw@axY4#=D=(7?u0(6*!F7@X_@-d~tIQlXwbks6V1iv;rUT9zMXIT;TWE zQDza2W2eDP$x*o0jsB}WeSFr3gX#DtEquals( infile )) ) { - try + //try + //{ + // System::IO::File::Copy( infile, outfile, true ); + //} + //catch( System::Exception ^ex ) + //{ + // (void)ex; + // return ECFormResult::ERROR_FILE_COPY; + //} + ECFormResult formRes = this->copyFile( infile, outfile ); + if( formRes != ECFormResult::NOERROR ) { - System::IO::File::Copy( infile, outfile, true ); - } - catch( System::Exception ^ex ) - { - (void)ex; return ECFormResult::ERROR_FILE_COPY; } } @@ -219,3 +224,69 @@ ECFormResult Form1::saveSrlCore( System::String ^infile, System::String ^outfile } return ECFormResult::NOERROR; } + +// ---------------------------------------------- +// ファイルのコピー +// ---------------------------------------------- +#define METWL_COPY_FILE_BUFSIZE (1*1024*1024) +ECFormResult Form1::copyFile( System::String ^infile, System::String ^outfile ) +{ + const char *pchInfile = + (const char*)System::Runtime::InteropServices::Marshal::StringToHGlobalAnsi( infile ).ToPointer(); + const char *pchOutfile = + (const char*)System::Runtime::InteropServices::Marshal::StringToHGlobalAnsi( outfile ).ToPointer(); + + FILE *ifp = NULL; + if( fopen_s( &ifp, pchInfile, "rb" ) != NULL ) + { + this->errMsg( + "ファイルコピーにおいて入力ファイルのオープンに失敗しました。", + "In Copying file, the input file can't be opened." ); + return (ECFormResult::ERROR_FILE_OPEN); + } + FILE *ofp = NULL; + if( fopen_s( &ofp, pchOutfile, "wb" ) != NULL ) // 同名ファイルを削除して新規にライト・バイナリ + { + this->errMsg( + "ファイルコピーにおいて出力ファイルのオープンに失敗しました。", + "In Copying file, the output file can't be opened." ); + fclose(ifp); + return (ECFormResult::ERROR_FILE_OPEN); + } + + // 入力ファイルのサイズ取得 + fseek( ifp, 0, SEEK_END ); + System::Int32 size = ftell(ifp); + + cli::array ^mbuf = gcnew cli::array(METWL_COPY_FILE_BUFSIZE); // 解放の必要なし + pin_ptr buf = &mbuf[0]; + fseek( ifp, 0, SEEK_SET ); + fseek( ofp, 0, SEEK_SET ); + while( size > 0 ) + { + System::Int32 datasize = (METWL_COPY_FILE_BUFSIZE < size)?METWL_COPY_FILE_BUFSIZE:size; + + if( datasize != fread(buf, 1, datasize, ifp) ) + { + this->errMsg( + "ファイルコピーにおいて入力ファイルからのデータリードに失敗しました。", + "In Copying file, contents can't be read from the input file." ); + fclose(ofp); + fclose(ifp); + return ECFormResult::ERROR_FILE_READ; + } + if( datasize != fwrite(buf, 1, datasize, ofp) ) + { + this->errMsg( + "ファイルコピーにおいて出力ファイルからのデータライトに失敗しました。", + "In Copying file, contents can't be written to the output file." ); + fclose(ofp); + fclose(ifp); + return ECFormResult::ERROR_FILE_READ; + } + size -= datasize; + } + fclose(ofp); + fclose(ifp); + return ECFormResult::NOERROR; +}