Changeset 705 in dev for trunk/ab5.0/abdev/abdev/FileOperation.cpp
- Timestamp:
- Jul 21, 2008, 5:42:40 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/abdev/abdev/FileOperation.cpp
r700 r705 27 27 DWORD dw; 28 28 char *buffer,temporary[MAX_PATH]; 29 HANDLE hFile; 30 31 hFile=CreateFile(path.c_str(),GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL); 29 30 ATL::CHandle hFile(CreateFile(path.c_str(),GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL)); 32 31 if(hFile==INVALID_HANDLE_VALUE){ 32 hFile.Detach(); 33 33 //"\"%s\" ファイルの読み込みに失敗しました。" 34 34 sprintf(temporary,STRING_ERROR_CANT_FILEOPEN,path.c_str()); … … 41 41 ReadFile(hFile,buffer,i,&dw,0); 42 42 buffer[dw]=0; 43 CloseHandle(hFile);44 43 return buffer; 45 44 } 46 45 char *ReadBuffer_NonErrMsg( const std::string &path ){ 47 46 extern HANDLE hHeap; 48 int i;49 47 DWORD dw; 50 char *buffer; 51 HANDLE hFile; 52 53 hFile=CreateFile(path.c_str(),GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL); 54 if(hFile==INVALID_HANDLE_VALUE) return 0; 55 i=GetFileSize(hFile,0); 56 buffer=(char *)HeapAlloc(hHeap,0,i+1); 48 49 ATL::CHandle hFile(CreateFile(path.c_str(),GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL)); 50 if(hFile==INVALID_HANDLE_VALUE){ 51 hFile.Detach(); 52 return 0; 53 } 54 int i=GetFileSize(hFile,0); 55 char *buffer=(char *)HeapAlloc(hHeap,0,i+1); 57 56 ReadFile(hFile,buffer,i,&dw,0); 58 57 buffer[dw]=0; 59 CloseHandle(hFile);60 58 return buffer; 61 59 } 62 60 _int8 WriteBuffer(const std::string &path,const char *buffer,int length, bool isEnableError) 63 61 { 64 HANDLE hFile;65 62 DWORD dw; 66 hFile=CreateFile(path.c_str(),GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);63 ATL::CHandle hFile(CreateFile(path.c_str(),GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL)); 67 64 if(hFile==INVALID_HANDLE_VALUE){ 65 hFile.Detach(); 66 68 67 char temporary[MAX_PATH]; 69 70 68 if( isEnableError ){ 71 69 //"\"%s\" ファイルへの書き込みに失敗しました。" … … 76 74 } 77 75 if(length) WriteFile(hFile,buffer,length,&dw,NULL); 78 CloseHandle(hFile);79 76 return 1; 80 77 } … … 371 368 int WndNum,i2; 372 369 char temporary[MAX_PATH],str[MAX_PATH],str2[32]; 373 HANDLE fh;374 370 DWORD dummy; 375 371 … … 404 400 if(SaveFileName){ 405 401 lstrcpy(temporary,SaveFileName); 406 if((fh=CreateFile(temporary,GENERIC_WRITE,0,NULL,CREATE_NEW,FILE_ATTRIBUTE_NORMAL,NULL))==INVALID_HANDLE_VALUE){ 407 sprintf(str,STRING_FILE_OVERWRIDE,temporary); 408 if(MessageBox(hOwner,str,APPLICATION_NAME,MB_YESNO|MB_ICONINFORMATION)==IDNO){ 409 return 0; 402 { 403 ATL::CHandle fh(CreateFile(temporary,GENERIC_WRITE,0,NULL,CREATE_NEW,FILE_ATTRIBUTE_NORMAL,NULL)); 404 if(fh==INVALID_HANDLE_VALUE){ 405 fh.Detach(); 406 sprintf(str,STRING_FILE_OVERWRIDE,temporary); 407 if(MessageBox(hOwner,str,APPLICATION_NAME,MB_YESNO|MB_ICONINFORMATION)==IDNO){ 408 return 0; 409 } 410 410 } 411 411 } 412 CloseHandle(fh);413 412 414 413 //ドキュメント セレクト コンボボックスから消去 … … 478 477 //////////////////////// 479 478 480 fh=CreateFile(temporary,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL); 481 if(fh==INVALID_HANDLE_VALUE){ 482 sprintf(str,STRING_ERROR_CANT_FILESAVE,temporary); 483 MessageBox(hOwner,str,STRING_ERROR,MB_OK|MB_ICONSTOP); 484 return 0; 485 } 486 WriteFile(fh,pBuf,strlen(pBuf),&dummy,NULL); 487 SetFileIdentityFromFile(*MdiInfo[WndNum], fh); 488 CloseHandle(fh); 479 { 480 ATL::CHandle fh(CreateFile(temporary,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL)); 481 if(fh==INVALID_HANDLE_VALUE){ 482 fh.Detach(); 483 sprintf(str,STRING_ERROR_CANT_FILESAVE,temporary); 484 MessageBox(hOwner,str,STRING_ERROR,MB_OK|MB_ICONSTOP); 485 return 0; 486 } 487 WriteFile(fh,pBuf,strlen(pBuf),&dummy,NULL); 488 SetFileIdentityFromFile(*MdiInfo[WndNum], fh); 489 } 489 490 490 491 … … 501 502 if(SaveFileName){ 502 503 lstrcpy(temporary,SaveFileName); 503 if((fh=CreateFile(temporary,GENERIC_WRITE,0,NULL,CREATE_NEW,FILE_ATTRIBUTE_NORMAL,NULL))==INVALID_HANDLE_VALUE){ 504 sprintf(str,STRING_FILE_OVERWRIDE,temporary); 505 if(MessageBox(hOwner,str,APPLICATION_NAME,MB_YESNO|MB_ICONINFORMATION)==IDNO){ 506 CloseHandle(fh); 507 return 0; 504 { 505 ATL::CHandle fh(CreateFile(temporary,GENERIC_WRITE,0,NULL,CREATE_NEW,FILE_ATTRIBUTE_NORMAL,NULL)); 506 if(fh==INVALID_HANDLE_VALUE){ 507 fh.Detach(); 508 sprintf(str,STRING_FILE_OVERWRIDE,temporary); 509 if(MessageBox(hOwner,str,APPLICATION_NAME,MB_YESNO|MB_ICONINFORMATION)==IDNO){ 510 return 0; 511 } 508 512 } 509 513 } 510 CloseHandle(fh);511 514 MdiInfo[WndNum]->path = temporary; 512 515 i2=SendMessage(hDocCombo,CB_FINDSTRINGEXACT,0,(LONG_PTR)MdiInfo[WndNum]->title.c_str());
Note:
See TracChangeset
for help on using the changeset viewer.