Changeset 621 in dev
- Timestamp:
- May 19, 2008, 6:22:42 PM (17 years ago)
- Location:
- trunk/ab5.0/abdev/abdev
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/abdev/abdev/FileOperation.cpp
r620 r621 305 305 pobj_nv->pobj_ProjectHistory->insert(OpenFileName); 306 306 307 projectInfo. Open(OpenFileName);307 projectInfo.Load(OpenFileName); 308 308 return 0; 309 309 } -
trunk/ab5.0/abdev/abdev/ProjectControl.cpp
r620 r621 1109 1109 1110 1110 sprintf(temporary,"%s%s.pj",dir,NewProjectInfo.name); 1111 projectInfo. Open(temporary);1112 SaveProject();1111 projectInfo.Load(temporary); 1112 projectInfo.Save(); 1113 1113 } 1114 1114 void SetTreeViewForProjectInfo(){ … … 1568 1568 1569 1569 if(i==IDCANCEL) return 0; 1570 if(i==IDYES) SaveProject(); 1570 if(i==IDYES) 1571 { 1572 projectInfo.Save(); 1573 } 1571 1574 } 1572 else SaveProject(); 1575 else 1576 { 1577 projectInfo.Save(); 1578 } 1573 1579 return 1; 1574 1580 } … … 1602 1608 1603 1609 if(i==IDCANCEL) return 0; 1604 if(i==IDYES) SaveProject(); 1605 } 1606 else SaveProject(); 1610 if(i==IDYES) 1611 { 1612 projectInfo.Save(); 1613 } 1614 } 1615 else 1616 { 1617 projectInfo.Save(); 1618 } 1607 1619 return 1; 1608 1620 } … … 1731 1743 WriteBuffer(temporary,buffer,i2); 1732 1744 } 1733 void SaveProject(void){1734 extern MDIINFO MdiInfo[MAX_WNDNUM];1735 int i,i2,i3,WndNum;1736 char temporary[MAX_PATH],buffer[32767];1737 HWND hChild;1738 1739 //"プロジェクトを保存中..."1740 SetStatusText(STRING_PROJECT_SAVING);1741 1742 //プロジェクトファイルのバージョンを設定1743 projectInfo.dwVersion=PROJECT_VERSION;1744 1745 hChild=GetWindow(hClient,GW_CHILD);1746 while(hChild){1747 WndNum=GetWndNum(hChild);1748 if(IS_DOCUMENT_TEXT(MdiInfo[WndNum].DocType)){1749 if( MdiInfo[WndNum].pMdiTextEdit->IsModified() ){1750 for(i=0;i<projectInfo.pobj_DBFileInfo->iNum;i++){1751 projectInfo.pobj_DBFileInfo->ppobj_FileInfo[i]->GetFullPath(temporary);1752 if(lstrcmpi(MdiInfo[WndNum].path,temporary)==0){1753 SaveDocument(hChild,NULL);1754 break;1755 }1756 }1757 }1758 }1759 if(MdiInfo[WndNum].DocType==WNDTYPE_ICONEDIT){1760 if(MdiInfo[WndNum].MdiIconEditInfo->bModify){1761 for(i=0;i<projectInfo.res.NumberOfIconRes;i++){1762 lstrcpy(temporary,projectInfo.res.pIconResInfo[i].path);1763 lstrcpy( temporary, projectInfo.GetWorkDir().GetFullPath( temporary ).c_str() );1764 if(lstrcmpi(MdiInfo[WndNum].path,temporary)==0){1765 SaveDocument(hChild,NULL);1766 break;1767 }1768 }1769 }1770 }1771 hChild=GetNextWindow(hChild,GW_HWNDNEXT);1772 }1773 1774 1775 //////////////////////////////////////1776 //プロジェクトファイル(*.pj)を作成1777 lstrcpy(buffer,"\' ActiveBasic Project file.\r\n\r\n");1778 i2=lstrlen(buffer);1779 sprintf(buffer+i2,"#VERSION=%d\r\n\r\n",projectInfo.dwVersion);1780 i2+=lstrlen(buffer+i2);1781 sprintf(buffer+i2,"#MODULETYPE=%d\r\n\r\n",(int)projectInfo.GetModuleType());1782 i2+=lstrlen(buffer+i2);1783 sprintf(buffer+i2,"#NAME=%s\r\n\r\n",projectInfo.GetName().c_str());1784 i2+=lstrlen(buffer+i2);1785 extern HWND hSelectCompilerCombo;1786 if(SendMessage(hSelectCompilerCombo,CB_GETCURSEL,0,0)==0){1787 sprintf(buffer+i2,"#PLATFORM=32\r\n\r\n",projectInfo.GetName().c_str());1788 i2+=lstrlen(buffer+i2);1789 }1790 else{1791 sprintf(buffer+i2,"#PLATFORM=64\r\n\r\n",projectInfo.GetName().c_str());1792 i2+=lstrlen(buffer+i2);1793 }1794 sprintf(buffer+i2,"#USEWINDOW=%d\r\n\r\n",projectInfo.windowInfos.size());1795 i2+=lstrlen(buffer+i2);1796 sprintf(buffer+i2,"#OPTION=&H%08x\r\n\r\n",projectInfo.dwOption);1797 i2+=lstrlen(buffer+i2);1798 sprintf(buffer+i2,"#OUTPUT_RELEASE=%s\r\n\r\n",projectInfo.lpszOutput_Release);1799 i2+=lstrlen(buffer+i2);1800 sprintf(buffer+i2,"#OUTPUT_DEBUG=%s\r\n\r\n",projectInfo.lpszOutput_Debug);1801 i2+=lstrlen(buffer+i2);1802 sprintf(buffer+i2,"#MANIFEST=%s\r\n\r\n",projectInfo.szManifestPath);1803 i2+=lstrlen(buffer+i2);1804 sprintf(buffer+i2,"#DEBUG_CMD_LINE=%s\r\n\r\n",projectInfo.szCmdLine);1805 i2+=lstrlen(buffer+i2);1806 sprintf(buffer+i2,"#DEBUG_EXE_PATH=%s\r\n\r\n",projectInfo.szExePath);1807 i2+=lstrlen(buffer+i2);1808 if(projectInfo.ResourceFileName[0]){1809 sprintf(buffer+i2,"#RESOURCE=%s\r\n\r\n",projectInfo.ResourceFileName);1810 i2+=lstrlen(buffer+i2);1811 }1812 else{1813 lstrcpy(buffer+i2,"#RESOURCE=0\r\n\r\n");1814 i2+=lstrlen(buffer+i2);1815 }1816 sprintf(buffer+i2,"#SOURCE\r\n");1817 i2+=lstrlen(buffer+i2);1818 for(i=0;i<projectInfo.pobj_DBFileInfo->iNum;i++){1819 sprintf(buffer+i2,"%s\r\n",projectInfo.pobj_DBFileInfo->ppobj_FileInfo[i]->m_path);1820 i2+=lstrlen(buffer+i2);1821 }1822 1823 //保存1824 sprintf(temporary,"%s%s.pj",projectInfo.GetWorkDir().GetPath().c_str(),projectInfo.GetName().c_str());1825 WriteBuffer(temporary,buffer,i2);1826 1827 1828 //////////////////////////////////1829 // リソースファイル(*.rc、resource.ab)を作成1830 if(projectInfo.ResourceFileName[0]){1831 i2=0;1832 i3=101;1833 for(i=0;i<projectInfo.res.NumberOfCursorRes;i++,i3++){1834 sprintf(buffer+i2,"Const %s=%d\r\n",1835 projectInfo.res.pCursorResInfo[i].IdName,1836 i3);1837 i2+=lstrlen(buffer+i2);1838 }1839 for(i=0;i<projectInfo.res.NumberOfBitmapRes;i++,i3++){1840 sprintf(buffer+i2,"Const %s=%d\r\n",1841 projectInfo.res.pBitmapResInfo[i].IdName,1842 i3);1843 i2+=lstrlen(buffer+i2);1844 }1845 for(i=0;i<projectInfo.res.NumberOfIconRes;i++,i3++){1846 sprintf(buffer+i2,"Const %s=%d\r\n",1847 projectInfo.res.pIconResInfo[i].IdName,1848 i3);1849 i2+=lstrlen(buffer+i2);1850 }1851 1852 //保存(resource.ab)1853 lstrcpy(temporary,"resource.ab");1854 lstrcpy( temporary, projectInfo.GetWorkDir().GetFullPath( temporary ).c_str() );1855 WriteBuffer(temporary,buffer,i2);1856 1857 i2=0;1858 for(i=0;i<projectInfo.res.NumberOfCursorRes;i++){1859 sprintf(buffer+i2,"%s CURSOR \"%s\"\r\n",1860 projectInfo.res.pCursorResInfo[i].IdName,1861 projectInfo.res.pCursorResInfo[i].path);1862 i2+=lstrlen(buffer+i2);1863 }1864 for(i=0;i<projectInfo.res.NumberOfBitmapRes;i++){1865 sprintf(buffer+i2,"%s BITMAP \"%s\"\r\n",1866 projectInfo.res.pBitmapResInfo[i].IdName,1867 projectInfo.res.pBitmapResInfo[i].path);1868 i2+=lstrlen(buffer+i2);1869 }1870 for(i=0;i<projectInfo.res.NumberOfIconRes;i++){1871 sprintf(buffer+i2,"%s ICON \"%s\"\r\n",1872 projectInfo.res.pIconResInfo[i].IdName,1873 projectInfo.res.pIconResInfo[i].path);1874 i2+=lstrlen(buffer+i2);1875 }1876 1877 //マニフェスト1878 if(projectInfo.dwOption&PJ_OP_RC_MANIFEST){1879 sprintf(buffer+i2,"CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST \"%s\"\r\n",1880 projectInfo.szManifestPath);1881 i2+=lstrlen(buffer+i2);1882 }1883 1884 //保存1885 lstrcpy(temporary,projectInfo.ResourceFileName);1886 lstrcpy( temporary, projectInfo.GetWorkDir().GetFullPath( temporary ).c_str() );1887 WriteBuffer(temporary,buffer,i2);1888 }1889 1890 1891 ///////////////////////////////////////1892 //インデックスファイル(*.idx)を作成1893 buffer[0]=0;1894 lstrcpy(buffer,"' インデックス プログラム\r\n");1895 i2=lstrlen(buffer);1896 if(projectInfo.dwOption&PJ_OP_SOURCE_MASK){1897 if(projectInfo.dwOption&PJ_OP_STRICT){1898 /* #strictディレクティブは今は使われていない1899 lstrcpy(buffer+i2,"\r\n");1900 i2+=lstrlen(buffer+i2);1901 lstrcpy(buffer+i2,"#strict");1902 i2+=lstrlen(buffer+i2);1903 lstrcpy(buffer+i2,"\r\n");1904 i2+=lstrlen(buffer+i2);1905 */1906 }1907 lstrcpy(buffer+i2,"\r\n");1908 i2+=lstrlen(buffer+i2);1909 lstrcpy(buffer+i2,"'Win32APIの定義ファイル\r\n");1910 i2+=lstrlen(buffer+i2);1911 if(projectInfo.dwOption&PJ_OP_MMSYSTEM){1912 lstrcpy(buffer+i2,"#include <api_mmsys.sbp>\r\n");1913 i2+=lstrlen(buffer+i2);1914 }1915 if(projectInfo.dwOption&PJ_OP_COMMCTRL){1916 lstrcpy(buffer+i2,"#include <api_commctrl.sbp>\r\n");1917 i2+=lstrlen(buffer+i2);1918 }1919 if(projectInfo.dwOption&PJ_OP_RICHEDIT){1920 lstrcpy(buffer+i2,"#include <api_richedit.sbp>\r\n");1921 i2+=lstrlen(buffer+i2);1922 }1923 if(projectInfo.dwOption&PJ_OP_WINSOCK){1924 lstrcpy(buffer+i2,"#include <api_winsock2.sbp>\r\n");1925 i2+=lstrlen(buffer+i2);1926 }1927 }1928 if( !projectInfo.windowInfos.empty() )1929 {1930 lstrcpy(buffer+i2,"\r\n");1931 i2+=lstrlen(buffer+i2);1932 lstrcpy(buffer+i2,"'RADツールが生成するウィンドウ制御プログラム\r\n");1933 i2+=lstrlen(buffer+i2);1934 sprintf(buffer+i2,"#include \"Callback.wbp\"\r\n");1935 i2+=lstrlen(buffer+i2);1936 }1937 if(projectInfo.pobj_DBFileInfo->iNum>1){1938 lstrcpy(buffer+i2,"\r\n");1939 i2+=lstrlen(buffer+i2);1940 lstrcpy(buffer+i2,"'プロジェクト内のプログラム ファイル\r\n");1941 i2+=lstrlen(buffer+i2);1942 for(i=1;i<projectInfo.pobj_DBFileInfo->iNum;i++){1943 //メインファイルは含まない1944 sprintf(buffer+i2,"#include \"%s\"\r\n",projectInfo.pobj_DBFileInfo->ppobj_FileInfo[i]->m_path);1945 i2+=lstrlen(buffer+i2);1946 lstrcpy(buffer+i2,"_ClearNamespaceImported\r\n");1947 i2+=lstrlen(buffer+i2);1948 }1949 }1950 if( !projectInfo.windowInfos.empty() )1951 {1952 lstrcpy(buffer+i2,"\r\n");1953 i2+=lstrlen(buffer+i2);1954 lstrcpy(buffer+i2,"'RADツールが生成するウィンドウ生成プログラム\r\n");1955 i2+=lstrlen(buffer+i2);1956 sprintf(buffer+i2,"#include \"MakeWindow.wbp\"\r\n");1957 i2+=lstrlen(buffer+i2);1958 }1959 if(projectInfo.ResourceFileName[0]){1960 //リソースファイルが含まれる場合1961 lstrcpy(buffer+i2,"\r\n");1962 i2+=lstrlen(buffer+i2);1963 lstrcpy(buffer+i2,"'リソースファイル\r\n");1964 i2+=lstrlen(buffer+i2);1965 lstrcpy(buffer+i2,"#include \"resource.ab\"\r\n");1966 i2+=lstrlen(buffer+i2);1967 sprintf(buffer+i2,"#resource \"%s.rc\"\r\n",projectInfo.GetName().c_str());1968 i2+=lstrlen(buffer+i2);1969 }1970 1971 //保存1972 sprintf(temporary,"%s%s.idx",projectInfo.GetWorkDir().GetPath().c_str(),projectInfo.GetName().c_str());1973 WriteBuffer(temporary,buffer,i2);1974 1975 1976 if( !projectInfo.windowInfos.empty() )1977 {1978 /////////////////////////////////////////////////////1979 //ウィンドウ関連ファイル(*.wnd)を作成、保存1980 if(projectInfo.ModifyOfMaterial){1981 sprintf(temporary,"%s%s.wnd",projectInfo.GetWorkDir().GetPath().c_str(),projectInfo.GetName().c_str());1982 SaveWindowFile( temporary, projectInfo.windowInfos );1983 }1984 1985 //.wbpファイルを生成1986 SaveWindowProgram();1987 }1988 1989 1990 MakeWorkFile();1991 1992 SetStatusText("");1993 1994 projectInfo.modify=0;1995 projectInfo.ModifuOfResource=0;1996 }1997 1745 1998 1746 BOOL SetProjectToRun(void){ -
trunk/ab5.0/abdev/abdev/include/ProjectManager/ProjectManager.h
r620 r621 13 13 } 14 14 15 void Open( char *path ); 15 void Load( char *path ); 16 void Save(); 16 17 bool Close(); 17 18 -
trunk/ab5.0/abdev/abdev/src/MainFrame.cpp
r620 r621 507 507 } 508 508 509 projectInfo. Open(temporary);509 projectInfo.Load(temporary); 510 510 } 511 511 512 512 void MainFrame::OnCmdProjectSave( UINT uNotifyCode, int nID, CWindow wndCtl ) 513 513 { 514 SaveProject();514 projectInfo.Save(); 515 515 } 516 516 … … 551 551 if(MdiInfo[i].hwnd) SaveDocument(MdiInfo[i].hwnd,NULL); 552 552 } 553 if( projectInfo.IsOpened() ) SaveProject(); 553 if( projectInfo.IsOpened() ) 554 { 555 projectInfo.Save(); 556 } 554 557 } 555 558 -
trunk/ab5.0/abdev/abdev/src/ProjectManager/ProjectManager.cpp
r620 r621 5 5 void OpenWorkfile( const std::string &path ); 6 6 7 void Project:: Open( char *path )7 void Project::Load( char *path ) 8 8 { 9 9 extern HANDLE hHeap; … … 268 268 this->modify=0; 269 269 this->ModifyOfMaterial=0; 270 this->ModifuOfResource=0; 271 } 272 273 void SetStatusText(char *MenuText); 274 void Project::Save() 275 { 276 extern MDIINFO MdiInfo[MAX_WNDNUM]; 277 int i,i2,i3,WndNum; 278 char temporary[MAX_PATH],buffer[32767]; 279 HWND hChild; 280 281 SetStatusText( "プロジェクトを保存中..." ); 282 283 //プロジェクトファイルのバージョンを設定 284 this->dwVersion=PROJECT_VERSION; 285 286 hChild=GetWindow(hClient,GW_CHILD); 287 while(hChild){ 288 WndNum=GetWndNum(hChild); 289 if(IS_DOCUMENT_TEXT(MdiInfo[WndNum].DocType)){ 290 if( MdiInfo[WndNum].pMdiTextEdit->IsModified() ){ 291 for(i=0;i<this->pobj_DBFileInfo->iNum;i++){ 292 this->pobj_DBFileInfo->ppobj_FileInfo[i]->GetFullPath(temporary); 293 if(lstrcmpi(MdiInfo[WndNum].path,temporary)==0){ 294 SaveDocument(hChild,NULL); 295 break; 296 } 297 } 298 } 299 } 300 if(MdiInfo[WndNum].DocType==WNDTYPE_ICONEDIT){ 301 if(MdiInfo[WndNum].MdiIconEditInfo->bModify){ 302 for(i=0;i<this->res.NumberOfIconRes;i++){ 303 lstrcpy(temporary,this->res.pIconResInfo[i].path); 304 lstrcpy( temporary, this->GetWorkDir().GetFullPath( temporary ).c_str() ); 305 if(lstrcmpi(MdiInfo[WndNum].path,temporary)==0){ 306 SaveDocument(hChild,NULL); 307 break; 308 } 309 } 310 } 311 } 312 hChild=GetNextWindow(hChild,GW_HWNDNEXT); 313 } 314 315 316 ////////////////////////////////////// 317 //プロジェクトファイル(*.pj)を作成 318 lstrcpy(buffer,"\' ActiveBasic Project file.\r\n\r\n"); 319 i2=lstrlen(buffer); 320 sprintf(buffer+i2,"#VERSION=%d\r\n\r\n",this->dwVersion); 321 i2+=lstrlen(buffer+i2); 322 sprintf(buffer+i2,"#MODULETYPE=%d\r\n\r\n",(int)this->GetModuleType()); 323 i2+=lstrlen(buffer+i2); 324 sprintf(buffer+i2,"#NAME=%s\r\n\r\n",this->GetName().c_str()); 325 i2+=lstrlen(buffer+i2); 326 extern HWND hSelectCompilerCombo; 327 if(SendMessage(hSelectCompilerCombo,CB_GETCURSEL,0,0)==0){ 328 sprintf(buffer+i2,"#PLATFORM=32\r\n\r\n",this->GetName().c_str()); 329 i2+=lstrlen(buffer+i2); 330 } 331 else{ 332 sprintf(buffer+i2,"#PLATFORM=64\r\n\r\n",this->GetName().c_str()); 333 i2+=lstrlen(buffer+i2); 334 } 335 sprintf(buffer+i2,"#USEWINDOW=%d\r\n\r\n",this->windowInfos.size()); 336 i2+=lstrlen(buffer+i2); 337 sprintf(buffer+i2,"#OPTION=&H%08x\r\n\r\n",this->dwOption); 338 i2+=lstrlen(buffer+i2); 339 sprintf(buffer+i2,"#OUTPUT_RELEASE=%s\r\n\r\n",this->lpszOutput_Release); 340 i2+=lstrlen(buffer+i2); 341 sprintf(buffer+i2,"#OUTPUT_DEBUG=%s\r\n\r\n",this->lpszOutput_Debug); 342 i2+=lstrlen(buffer+i2); 343 sprintf(buffer+i2,"#MANIFEST=%s\r\n\r\n",this->szManifestPath); 344 i2+=lstrlen(buffer+i2); 345 sprintf(buffer+i2,"#DEBUG_CMD_LINE=%s\r\n\r\n",this->szCmdLine); 346 i2+=lstrlen(buffer+i2); 347 sprintf(buffer+i2,"#DEBUG_EXE_PATH=%s\r\n\r\n",this->szExePath); 348 i2+=lstrlen(buffer+i2); 349 if(this->ResourceFileName[0]){ 350 sprintf(buffer+i2,"#RESOURCE=%s\r\n\r\n",this->ResourceFileName); 351 i2+=lstrlen(buffer+i2); 352 } 353 else{ 354 lstrcpy(buffer+i2,"#RESOURCE=0\r\n\r\n"); 355 i2+=lstrlen(buffer+i2); 356 } 357 sprintf(buffer+i2,"#SOURCE\r\n"); 358 i2+=lstrlen(buffer+i2); 359 for(i=0;i<this->pobj_DBFileInfo->iNum;i++){ 360 sprintf(buffer+i2,"%s\r\n",this->pobj_DBFileInfo->ppobj_FileInfo[i]->m_path); 361 i2+=lstrlen(buffer+i2); 362 } 363 364 //保存 365 sprintf(temporary,"%s%s.pj",this->GetWorkDir().GetPath().c_str(),this->GetName().c_str()); 366 WriteBuffer(temporary,buffer,i2); 367 368 369 ////////////////////////////////// 370 // リソースファイル(*.rc、resource.ab)を作成 371 if(this->ResourceFileName[0]){ 372 i2=0; 373 i3=101; 374 for(i=0;i<this->res.NumberOfCursorRes;i++,i3++){ 375 sprintf(buffer+i2,"Const %s=%d\r\n", 376 this->res.pCursorResInfo[i].IdName, 377 i3); 378 i2+=lstrlen(buffer+i2); 379 } 380 for(i=0;i<this->res.NumberOfBitmapRes;i++,i3++){ 381 sprintf(buffer+i2,"Const %s=%d\r\n", 382 this->res.pBitmapResInfo[i].IdName, 383 i3); 384 i2+=lstrlen(buffer+i2); 385 } 386 for(i=0;i<this->res.NumberOfIconRes;i++,i3++){ 387 sprintf(buffer+i2,"Const %s=%d\r\n", 388 this->res.pIconResInfo[i].IdName, 389 i3); 390 i2+=lstrlen(buffer+i2); 391 } 392 393 //保存(resource.ab) 394 lstrcpy(temporary,"resource.ab"); 395 lstrcpy( temporary, this->GetWorkDir().GetFullPath( temporary ).c_str() ); 396 WriteBuffer(temporary,buffer,i2); 397 398 i2=0; 399 for(i=0;i<this->res.NumberOfCursorRes;i++){ 400 sprintf(buffer+i2,"%s CURSOR \"%s\"\r\n", 401 this->res.pCursorResInfo[i].IdName, 402 this->res.pCursorResInfo[i].path); 403 i2+=lstrlen(buffer+i2); 404 } 405 for(i=0;i<this->res.NumberOfBitmapRes;i++){ 406 sprintf(buffer+i2,"%s BITMAP \"%s\"\r\n", 407 this->res.pBitmapResInfo[i].IdName, 408 this->res.pBitmapResInfo[i].path); 409 i2+=lstrlen(buffer+i2); 410 } 411 for(i=0;i<this->res.NumberOfIconRes;i++){ 412 sprintf(buffer+i2,"%s ICON \"%s\"\r\n", 413 this->res.pIconResInfo[i].IdName, 414 this->res.pIconResInfo[i].path); 415 i2+=lstrlen(buffer+i2); 416 } 417 418 //マニフェスト 419 if(this->dwOption&PJ_OP_RC_MANIFEST){ 420 sprintf(buffer+i2,"CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST \"%s\"\r\n", 421 this->szManifestPath); 422 i2+=lstrlen(buffer+i2); 423 } 424 425 //保存 426 lstrcpy(temporary,this->ResourceFileName); 427 lstrcpy( temporary, this->GetWorkDir().GetFullPath( temporary ).c_str() ); 428 WriteBuffer(temporary,buffer,i2); 429 } 430 431 432 /////////////////////////////////////// 433 //インデックスファイル(*.idx)を作成 434 buffer[0]=0; 435 lstrcpy(buffer,"' インデックス プログラム\r\n"); 436 i2=lstrlen(buffer); 437 if(this->dwOption&PJ_OP_SOURCE_MASK){ 438 if(this->dwOption&PJ_OP_STRICT){ 439 /* #strictディレクティブは今は使われていない 440 lstrcpy(buffer+i2,"\r\n"); 441 i2+=lstrlen(buffer+i2); 442 lstrcpy(buffer+i2,"#strict"); 443 i2+=lstrlen(buffer+i2); 444 lstrcpy(buffer+i2,"\r\n"); 445 i2+=lstrlen(buffer+i2); 446 */ 447 } 448 lstrcpy(buffer+i2,"\r\n"); 449 i2+=lstrlen(buffer+i2); 450 lstrcpy(buffer+i2,"'Win32APIの定義ファイル\r\n"); 451 i2+=lstrlen(buffer+i2); 452 if(this->dwOption&PJ_OP_MMSYSTEM){ 453 lstrcpy(buffer+i2,"#include <api_mmsys.sbp>\r\n"); 454 i2+=lstrlen(buffer+i2); 455 } 456 if(this->dwOption&PJ_OP_COMMCTRL){ 457 lstrcpy(buffer+i2,"#include <api_commctrl.sbp>\r\n"); 458 i2+=lstrlen(buffer+i2); 459 } 460 if(this->dwOption&PJ_OP_RICHEDIT){ 461 lstrcpy(buffer+i2,"#include <api_richedit.sbp>\r\n"); 462 i2+=lstrlen(buffer+i2); 463 } 464 if(this->dwOption&PJ_OP_WINSOCK){ 465 lstrcpy(buffer+i2,"#include <api_winsock2.sbp>\r\n"); 466 i2+=lstrlen(buffer+i2); 467 } 468 } 469 if( !this->windowInfos.empty() ) 470 { 471 lstrcpy(buffer+i2,"\r\n"); 472 i2+=lstrlen(buffer+i2); 473 lstrcpy(buffer+i2,"'RADツールが生成するウィンドウ制御プログラム\r\n"); 474 i2+=lstrlen(buffer+i2); 475 sprintf(buffer+i2,"#include \"Callback.wbp\"\r\n"); 476 i2+=lstrlen(buffer+i2); 477 } 478 if(this->pobj_DBFileInfo->iNum>1){ 479 lstrcpy(buffer+i2,"\r\n"); 480 i2+=lstrlen(buffer+i2); 481 lstrcpy(buffer+i2,"'プロジェクト内のプログラム ファイル\r\n"); 482 i2+=lstrlen(buffer+i2); 483 for(i=1;i<this->pobj_DBFileInfo->iNum;i++){ 484 //メインファイルは含まない 485 sprintf(buffer+i2,"#include \"%s\"\r\n",this->pobj_DBFileInfo->ppobj_FileInfo[i]->m_path); 486 i2+=lstrlen(buffer+i2); 487 lstrcpy(buffer+i2,"_ClearNamespaceImported\r\n"); 488 i2+=lstrlen(buffer+i2); 489 } 490 } 491 if( !this->windowInfos.empty() ) 492 { 493 lstrcpy(buffer+i2,"\r\n"); 494 i2+=lstrlen(buffer+i2); 495 lstrcpy(buffer+i2,"'RADツールが生成するウィンドウ生成プログラム\r\n"); 496 i2+=lstrlen(buffer+i2); 497 sprintf(buffer+i2,"#include \"MakeWindow.wbp\"\r\n"); 498 i2+=lstrlen(buffer+i2); 499 } 500 if(this->ResourceFileName[0]){ 501 //リソースファイルが含まれる場合 502 lstrcpy(buffer+i2,"\r\n"); 503 i2+=lstrlen(buffer+i2); 504 lstrcpy(buffer+i2,"'リソースファイル\r\n"); 505 i2+=lstrlen(buffer+i2); 506 lstrcpy(buffer+i2,"#include \"resource.ab\"\r\n"); 507 i2+=lstrlen(buffer+i2); 508 sprintf(buffer+i2,"#resource \"%s.rc\"\r\n",this->GetName().c_str()); 509 i2+=lstrlen(buffer+i2); 510 } 511 512 //保存 513 sprintf(temporary,"%s%s.idx",this->GetWorkDir().GetPath().c_str(),this->GetName().c_str()); 514 WriteBuffer(temporary,buffer,i2); 515 516 517 if( !this->windowInfos.empty() ) 518 { 519 ///////////////////////////////////////////////////// 520 //ウィンドウ関連ファイル(*.wnd)を作成、保存 521 if(this->ModifyOfMaterial){ 522 sprintf(temporary,"%s%s.wnd",this->GetWorkDir().GetPath().c_str(),this->GetName().c_str()); 523 SaveWindowFile( temporary, this->windowInfos ); 524 } 525 526 //.wbpファイルを生成 527 SaveWindowProgram(); 528 } 529 530 531 MakeWorkFile(); 532 533 SetStatusText(""); 534 535 this->modify=0; 270 536 this->ModifuOfResource=0; 271 537 }
Note:
See TracChangeset
for help on using the changeset viewer.