diff options
author | Jens-Heiner Rechtien <hr@openoffice.org> | 2003-03-18 15:28:40 +0000 |
---|---|---|
committer | Jens-Heiner Rechtien <hr@openoffice.org> | 2003-03-18 15:28:40 +0000 |
commit | 9778aa12dbc0202478fbb5ce28d7e7c5bde9c793 (patch) | |
tree | 81b84e9dcb66142d93ef3ec3ad019d578f373e6f | |
parent | 16a013ff8c8f4b4935552ac5ebdb27153582eb0e (diff) |
MWS_SRX644: migrate branch mws_srx644 -> HEAD
42 files changed, 2501 insertions, 1617 deletions
diff --git a/basic/source/app/app.cxx b/basic/source/app/app.cxx index 8a1053b00a55..5354a1403867 100644 --- a/basic/source/app/app.cxx +++ b/basic/source/app/app.cxx @@ -2,9 +2,9 @@ * * $RCSfile: app.cxx,v $ * - * $Revision: 1.44 $ + * $Revision: 1.45 $ * - * last change: $Author: gh $ $Date: 2002-12-02 15:35:18 $ + * last change: $Author: hr $ $Date: 2003-03-18 16:28:23 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -152,6 +152,14 @@ using namespace com::sun::star::beans; // filter Messages generated due to missing configuration Bug:#83887# void TestToolDebugMessageFilter( const sal_Char *pString ) { + static BOOL static_bInsideFilter = FALSE; + + // Ignore messages during filtering to avoid endless recursions + if ( static_bInsideFilter ) + return; + + static_bInsideFilter = TRUE; + ByteString aMessage( pString ); // OSL @@ -165,10 +173,18 @@ void TestToolDebugMessageFilter( const sal_Char *pString ) && aMessage.Search( CByteString("no date formats") ) != STRING_NOTFOUND ) return; - aBasicApp.DbgPrintMsgBox( pString ); + try + { + aBasicApp.DbgPrintMsgBox( pString ); + } + catch ( ... ) + { + printf("DbgPrintMsgBox failed: %s\n", pString ); + } /* DBG_INSTOUTERROR( DBG_OUT_MSGBOX ) DBG_ERROR( pString ); DBG_INSTOUTERROR( DBG_OUT_TESTTOOL )*/ + static_bInsideFilter = FALSE; } void SAL_CALL osl_TestToolDebugMessageFilter( const sal_Char *pString ) { @@ -323,7 +339,7 @@ Reference< XContentProviderManager > InitializeUCB( void ) { xSMgr = createRegistryServiceFactory( types, services, sal_True ); } - catch( com::sun::star::uno::Exception & e ) + catch( com::sun::star::uno::Exception & ) { try { @@ -338,8 +354,10 @@ Reference< XContentProviderManager > InitializeUCB( void ) OUString loader( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.loader.SharedLibrary" )); for( sal_Int32 i = 0; components[i] ; i ++ ) { + printf("Registering %s ... ", components[i]); xIR->registerImplementation( loader, OUString::createFromAscii(components[i]),Reference< XSimpleRegistry >()); + printf("done\n"); } Reference< XComponent > xComp( interimSmgr, UNO_QUERY ); if( xComp.is() ) @@ -392,11 +410,6 @@ Reference< XContentProviderManager > InitializeUCB( void ) xUcb->registerContentProvider( xPackageProvider, OUString::createFromAscii( "vnd.sun.star.pkg" ), sal_True ); */ -#ifdef DEBUG - ucb::Content aTester( OUString::createFromAscii("file:///x:/gh"),com::sun::star::uno::Reference< com::sun::star::ucb::XCommandEnvironment >()); - BOOL bFolder = aTester.isFolder(); -#endif - return xUcb; } @@ -498,6 +511,7 @@ void BasicApp::Main( ) } catch( class Exception & rEx) { + printf( "%s\n", ByteString( String(rEx.Message), RTL_TEXTENCODING_ASCII_US ).GetBuffer() ); InfoBox( NULL, String( rEx.Message ) ).Execute(); throw; } @@ -716,7 +730,6 @@ BasicFrame::BasicFrame() : WorkWindow( NULL, pList = new EditList; pStatus = new StatusLine( this ); - LoadLRU(); LoadIniFile(); UpdateTitle(); @@ -726,10 +739,7 @@ BasicFrame::BasicFrame() : WorkWindow( NULL, { Config aConf(Config::GetConfigName( Config::GetDefDirectory(), CUniString("testtool") )); aConf.SetGroup("WinGeom"); - // workaround for #100819# - ByteString a( aConf.ReadKey("WinParams", "").GetToken(1) ); - if ( !a.Equals( "5" ) ) - SetWindowState( aConf.ReadKey("WinParams", "") ); + SetWindowState( aConf.ReadKey("WinParams", "") ); } // pWork = new AppEdit( this, NULL ); @@ -752,19 +762,35 @@ BasicFrame::BasicFrame() : WorkWindow( NULL, void BasicFrame::LoadIniFile() { + USHORT i; Config aConf(Config::GetConfigName( Config::GetDefDirectory(), CUniString("testtool") )); - aConf.SetGroup("Misc"); + for ( i = 0 ; i < aConf.GetGroupCount() ; i++ ) + { + aConf.SetGroup( ByteString( aConf.GetGroupName( i ) ) ); + if ( ( aConf.ReadKey( "Aktuell" ).Len() || aConf.ReadKey( "Alle" ).Len() ) + &&( !aConf.ReadKey( "Current" ).Len() && !aConf.ReadKey( "All" ).Len() ) ) + { + aConf.WriteKey( "Current", aConf.ReadKey( "Aktuell" ) ); + aConf.WriteKey( "All", aConf.ReadKey( "Alle" ) ); + } + } + + aConf.SetGroup("Misc"); ByteString aTemp; + ByteString aCurrentProfile = aConf.ReadKey( "CurrentProfile", "Misc" ); + aConf.SetGroup( aCurrentProfile ); aTemp = aConf.ReadKey( "AutoReload", "0" ); bAutoReload = ( aTemp.CompareTo("1") == COMPARE_EQUAL ); aTemp = aConf.ReadKey( "AutoSave", "0" ); bAutoSave = ( aTemp.CompareTo("1") == COMPARE_EQUAL ); + LoadLRU(); + if ( pBasic ) pBasic->LoadIniFile(); - for ( int i = 0 ; i < pList->Count() ; i++ ) + for ( i = 0 ; i < pList->Count() ; i++ ) pList->GetObject( i )->LoadIniFile(); } @@ -884,10 +910,7 @@ void BasicFrame::Resize() { Config aConf(Config::GetConfigName( Config::GetDefDirectory(), CUniString("testtool") )); aConf.SetGroup("WinGeom"); - // workaround for #100819# - ByteString a( GetWindowState( WINDOWSTATE_MASK_STATE ).GetToken(1) ); - if ( !a.Equals( "5" ) ) - aConf.WriteKey("WinParams",GetWindowState()); + aConf.WriteKey("WinParams",GetWindowState()); // Statusbar Size aOutSize = GetOutputSizePixel(); @@ -912,10 +935,7 @@ void BasicFrame::Move() { Config aConf(Config::GetConfigName( Config::GetDefDirectory(), CUniString("testtool") )); aConf.SetGroup("WinGeom"); - // workaround for #100819# - ByteString a( GetWindowState( WINDOWSTATE_MASK_STATE ).GetToken(1) ); - if ( !a.Equals( "5" ) ) - aConf.WriteKey("WinParams",GetWindowState()); + aConf.WriteKey("WinParams",GetWindowState()); } IMPL_LINK( BasicFrame, CloseButtonClick, void*, EMPTYARG ) @@ -1116,7 +1136,7 @@ BOOL BasicFrame::CompileAll() // Menu aufsetzen -#define MENU2FILENAME Copy(3) +#define MENU2FILENAME( Name ) Name.Copy( Name.SearchAscii(" ") +1) #define FILENAME2MENU( Nr, Name ) CUniString("~").Append( UniString::CreateFromInt32(i) ).AppendAscii(" ").Append( Name ) #define LRUNr( nNr ) CByteString("LRU").Append( ByteString::CreateFromInt32(nNr) ) void BasicFrame::AddToLRU(String const& aFile) @@ -1143,9 +1163,9 @@ void BasicFrame::AddToLRU(String const& aFile) { aConfig.WriteKey(LRUNr(i), aConfig.ReadKey(LRUNr(i-1),"")); if ( pPopup->GetItemPos( IDM_FILE_LRU1 + i-1 ) == MENU_ITEM_NOTFOUND ) - pPopup->InsertItem(IDM_FILE_LRU1 + i-1, FILENAME2MENU( i, pPopup->GetItemText(IDM_FILE_LRU1 + i-1-1).MENU2FILENAME )); + pPopup->InsertItem(IDM_FILE_LRU1 + i-1, FILENAME2MENU( i, MENU2FILENAME( pPopup->GetItemText(IDM_FILE_LRU1 + i-1-1) ) )); else - pPopup->SetItemText(IDM_FILE_LRU1 + i-1,FILENAME2MENU( i, pPopup->GetItemText(IDM_FILE_LRU1 + i-1-1).MENU2FILENAME )); + pPopup->SetItemText(IDM_FILE_LRU1 + i-1,FILENAME2MENU( i, MENU2FILENAME( pPopup->GetItemText(IDM_FILE_LRU1 + i-1-1) ) )); } } aConfig.WriteKey(LRUNr(1), ByteString( aFile, RTL_TEXTENCODING_UTF8 ) ); @@ -1164,6 +1184,9 @@ void BasicFrame::LoadLRU() aConfig.SetGroup("LRU"); USHORT nMaxLRU = aConfig.ReadKey("MaxLRU","4").ToInt32(); + if ( pPopup ) + bAddSep = pPopup->GetItemPos( IDM_FILE_LRU1 ) == MENU_ITEM_NOTFOUND; + int i; for ( i = 1; i <= nMaxLRU && pPopup != NULL; i++) { @@ -1177,9 +1200,18 @@ void BasicFrame::LoadLRU() bAddSep = FALSE; } - pPopup->InsertItem(IDM_FILE_LRU1 + i-1, FILENAME2MENU( i, aFile )); + if ( pPopup->GetItemPos( IDM_FILE_LRU1 + i-1 ) == MENU_ITEM_NOTFOUND ) + pPopup->InsertItem(IDM_FILE_LRU1 + i-1, FILENAME2MENU( i, aFile )); + else + pPopup->SetItemText(IDM_FILE_LRU1 + i-1, FILENAME2MENU( i, aFile )); } } + i = nMaxLRU+1; + while ( pPopup->GetItemPos( IDM_FILE_LRU1 + i-1 ) != MENU_ITEM_NOTFOUND ) + { + pPopup->RemoveItem( pPopup->GetItemPos( IDM_FILE_LRU1 + i-1 ) ); + i++; + } } IMPL_LINK( BasicFrame, InitMenu, Menu *, pMenu ) @@ -1396,18 +1428,6 @@ long BasicFrame::Command( short nID, BOOL bChecked ) case RID_QUIT: if( Close() ) aBasicApp.Quit(); break; - case IDM_FILE_LRU1: - case IDM_FILE_LRU2: - case IDM_FILE_LRU3: - case IDM_FILE_LRU4: - { - String s = GetMenuBar()->GetPopupMenu(RID_APPFILE)->GetItemText(nID).MENU2FILENAME; - - AddToLRU( s ); - LoadFile( s ); -// InitMenu(GetMenuBar()->GetPopupMenu( RID_APPRUN )); - } - break; case RID_RUNSTART: @@ -1594,7 +1614,7 @@ long BasicFrame::Command( short nID, BOOL bChecked ) break; case RID_WINCASCADE: { - for ( ULONG i = 0 ; i < pList->Count() ; i++ ) + for ( USHORT i = 0 ; i < pList->Count() ; i++ ) { pList->GetObject( i )->Cascade( i ); } @@ -1640,6 +1660,14 @@ long BasicFrame::Command( short nID, BOOL bChecked ) if ( pWin ) pWin->ToTop(); } + else if ( nID >= IDM_FILE_LRU1 && nID <= IDM_FILE_LRUn ) + { + String s = MENU2FILENAME( GetMenuBar()->GetPopupMenu(RID_APPFILE)->GetItemText(nID) ); + + AddToLRU( s ); + LoadFile( s ); +// InitMenu(GetMenuBar()->GetPopupMenu( RID_APPRUN )); + } else { // InitMenu(GetMenuBar()->GetPopupMenu( RID_APPEDIT )); // So da Delete richtig ist @@ -1742,7 +1770,7 @@ class NewFileDialog : public FileDialog private: String aLastPath; public: - ByteString aPathName; + ByteString aFilterType; NewFileDialog( Window* pParent, WinBits nWinStyle ):FileDialog( pParent, nWinStyle ){}; virtual short Execute(); virtual void FilterSelect(); @@ -1762,11 +1790,13 @@ void NewFileDialog::FilterSelect() { nFilterNr++; } - aPathName = ByteString( GetFilterType( nFilterNr ), RTL_TEXTENCODING_UTF8 ); + aFilterType = ByteString( GetFilterType( nFilterNr ), RTL_TEXTENCODING_UTF8 ); Config aConf(Config::GetConfigName( Config::GetDefDirectory(), CUniString("testtool") )); - aConf.SetGroup( "Path" ); - aLastPath = UniString( aConf.ReadKey( aPathName, aConf.ReadKey( "Basisverzeichnis" ) ), RTL_TEXTENCODING_UTF8 ); + aConf.SetGroup( "Misc" ); + ByteString aCurrentProfile = aConf.ReadKey( "CurrentProfile", "Path" ); + aConf.SetGroup( aCurrentProfile ); + aLastPath = UniString( aConf.ReadKey( aFilterType, aConf.ReadKey( "BaseDir" ) ), RTL_TEXTENCODING_UTF8 ); SetPath( aLastPath ); // if ( IsInExecute() ) // SetPath( "" ); @@ -1778,8 +1808,11 @@ short NewFileDialog::Execute() if ( bRet ) { Config aConf(Config::GetConfigName( Config::GetDefDirectory(), CUniString("testtool") )); - aConf.SetGroup( "Path" ); - aConf.WriteKey( aPathName, ByteString( DirEntry( GetPath() ).GetPath().GetFull(), RTL_TEXTENCODING_UTF8 ) ); + aConf.SetGroup( "Misc" ); + ByteString aCurrentProfile = aConf.ReadKey( "CurrentProfile", "Path" ); + aConf.SetGroup( aCurrentProfile ); + aConf.WriteKey( aFilterType, ByteString( DirEntry( GetPath() ).GetPath().GetFull(), RTL_TEXTENCODING_UTF8 ) ); + aConf.WriteKey( "LastFilterName", ByteString( GetCurFilter(), RTL_TEXTENCODING_UTF8 ) ); } return bRet; } @@ -1814,6 +1847,15 @@ BOOL BasicFrame::QueryFileName aDlg.SetCurFilter( ResId( IDS_LIBFILTER ) ); } + Config aConf(Config::GetConfigName( Config::GetDefDirectory(), CUniString("testtool") )); + aConf.SetGroup( "Misc" ); + ByteString aCurrentProfile = aConf.ReadKey( "CurrentProfile", "Path" ); + aConf.SetGroup( aCurrentProfile ); + ByteString aFilter( aConf.ReadKey( "LastFilterName") ); + if ( aFilter.Len() ) + aDlg.SetCurFilter( String( aFilter, RTL_TEXTENCODING_UTF8 ) ); + else + aDlg.SetCurFilter( String( ResId( IDS_BASFILTER ) ) ); aDlg.FilterSelect(); // Setzt den Pfad vom letzten mal. // if ( bSave ) @@ -1841,11 +1883,7 @@ USHORT BasicFrame::BreakHandler() // aBar.EnableItem( RID_APPEDIT, FALSE ); SetAppMode( String( ResId ( IDS_APPMODE_BREAK ) ) ); while( bInBreak ) -#if SUPD >= 357 GetpApp()->Yield(); -#else - GetpApp()->Reschedule(); -#endif SetAppMode( String( ResId ( IDS_APPMODE_RUN ) ) ); // aBar.EnableItem( RID_APPEDIT, TRUE ); // InitMenu(GetMenuBar()->GetPopupMenu( RID_APPRUN )); @@ -1909,7 +1947,7 @@ String BasicFrame::GenRealString( const String &aResString ) if ( aType.CompareTo(ResKenn) == COMPARE_EQUAL ) { // if ( Resource::GetResManager()->IsAvailable( ResId( aValue ) ) ) - aString = String( ResId( aValue.ToInt32() ) ); + aString = String( ResId( (USHORT)(aValue.ToInt32()) ) ); // else { // DBG_ERROR( "Ressource konnte nicht geladen werden" ); diff --git a/basic/source/app/appedit.cxx b/basic/source/app/appedit.cxx index 74a796902c0b..bc32d4f3f2b5 100644 --- a/basic/source/app/appedit.cxx +++ b/basic/source/app/appedit.cxx @@ -2,9 +2,9 @@ * * $RCSfile: appedit.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: gh $ $Date: 2002-04-11 08:38:46 $ + * last change: $Author: hr $ $Date: 2003-03-18 16:28:23 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -124,6 +124,10 @@ AppEdit::~AppEdit() void AppEdit::LoadIniFile() { + TextView *pTextView = ((TextEdit*)pDataEdit)->aEdit.pTextView; + BOOL bWasModified = pTextView->GetTextEngine()->IsModified(); + pTextView->GetTextEngine()->SetModified( FALSE ); + FontList aFontList( pFrame ); // Just some Window is needed Config aConf(Config::GetConfigName( Config::GetDefDirectory(), CUniString("testtool") )); aConf.SetGroup("Misc"); @@ -151,6 +155,8 @@ void AppEdit::LoadIniFile() ((TextEdit*)pDataEdit)->GetBreakpointWindow()->SetFont( aFont ); ((TextEdit*)pDataEdit)->GetBreakpointWindow()->Invalidate(); } + + pTextView->GetTextEngine()->SetModified( bWasModified ); // Eventuell wieder setzen } void AppEdit::Command( const CommandEvent& rCEvt ) diff --git a/basic/source/app/apperror.cxx b/basic/source/app/apperror.cxx index 88a85268acb6..afb1d467ce40 100644 --- a/basic/source/app/apperror.cxx +++ b/basic/source/app/apperror.cxx @@ -2,9 +2,9 @@ * * $RCSfile: apperror.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: gh $ $Date: 2002-04-11 08:38:47 $ + * last change: $Author: hr $ $Date: 2003-03-18 16:28:23 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -127,9 +127,10 @@ FileType AppError::GetFileType() void AppError::LoadIniFile() { Config aConf(Config::GetConfigName( Config::GetDefDirectory(), CUniString("testtool") )); - aConf.SetGroup("Path"); - - aBaseDir = DirEntry( aConf.ReadKey("Basisverzeichnis") ); + aConf.SetGroup("Misc"); + ByteString aCurrentProfile = aConf.ReadKey( "CurrentProfile", "Path" ); + aConf.SetGroup( aCurrentProfile ); + aBaseDir = DirEntry( aConf.ReadKey("BaseDir") ); FontList aFontList( pFrame ); // Just some Window is needed diff --git a/basic/source/app/basic.hrc b/basic/source/app/basic.hrc index c81998e5d4ca..5a296e090e85 100644 --- a/basic/source/app/basic.hrc +++ b/basic/source/app/basic.hrc @@ -2,9 +2,9 @@ * * $RCSfile: basic.hrc,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: gh $ $Date: 2002-04-11 08:38:47 $ + * last change: $Author: hr $ $Date: 2003-03-18 16:28:23 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -91,9 +91,7 @@ #define RID_FILESETUP 1110 #define RID_QUIT 1111 #define IDM_FILE_LRU1 1112 -#define IDM_FILE_LRU2 (IDM_FILE_LRU1 + 1) -#define IDM_FILE_LRU3 (IDM_FILE_LRU2 + 1) -#define IDM_FILE_LRU4 (IDM_FILE_LRU3 + 1) +#define IDM_FILE_LRUn 1199 #define RID_EDIT 1200 #define RID_EDITUNDO 1201 #define RID_EDITREDO 1202 @@ -197,11 +195,12 @@ #define IDD_REPLACE_DIALOG 4005 #define IDD_PRINT_DIALOG 4006 #define IDD_OPTIONS_DLG 4007 -#define RID_TP_SPECIAL 4008 -#define RID_TP_FONT 4009 -#define RID_TP_GENERIC 4010 -#define IDD_DISPLAY_HID 4011 -#define IDD_EDIT_VAR 4012 +#define RID_TP_PROFILE 4008 +#define RID_TP_MISC 4009 +#define RID_TP_FONT 4010 +#define RID_TP_GENERIC 4011 +#define IDD_DISPLAY_HID 4012 +#define IDD_EDIT_VAR 4013 //#define RID_APPFONT 5000 diff --git a/basic/source/app/basic.src b/basic/source/app/basic.src index 75225b627147..18d514472ef0 100644 --- a/basic/source/app/basic.src +++ b/basic/source/app/basic.src @@ -2,9 +2,9 @@ * * $RCSfile: basic.src,v $ * - * $Revision: 1.52 $ + * $Revision: 1.53 $ * - * last change: $Author: gh $ $Date: 2002-10-17 10:30:01 $ + * last change: $Author: hr $ $Date: 2003-03-18 16:28:23 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -799,8 +799,13 @@ ModelessDialog IDD_OPTIONS_DLG }; PageItem { - Identifier = RID_TP_SPE ; - Text = "Specialized" ; + Identifier = RID_TP_PRO ; + Text = "Profile" ; + }; + PageItem + { + Identifier = RID_TP_MIS ; + Text = "Misc" ; }; PageItem { @@ -828,7 +833,7 @@ TabPage RID_TP_GENERIC { SVLook = TRUE ; Size = MAP_APPFONT( 244, 100 ); FixedLine RID_FL_AREA { - Pos = MAP_APPFONT( 4, 4 ); + Pos = MAP_APPFONT( 4, 2 ); Size = MAP_APPFONT( 228, 8 ); Text = "Area"; }; @@ -837,25 +842,25 @@ TabPage RID_TP_GENERIC { VScroll = TRUE; AutoHScroll = TRUE; Border = TRUE; - Pos = MAP_APPFONT( 8, 16 ); + Pos = MAP_APPFONT( 8, 12 ); Size = MAP_APPFONT( 132, 88 ); TabStop = TRUE; DropDown = TRUE; }; PushButton RID_PB_NEW_AREA { - Pos = MAP_APPFONT( 144, 16 ); + Pos = MAP_APPFONT( 144, 12 ); Size = MAP_APPFONT( 40, 12 ); Text = "New"; TabStop = TRUE; }; PushButton RID_PD_DEL_AREA { - Pos = MAP_APPFONT( 188, 16 ); + Pos = MAP_APPFONT( 188, 12 ); Size = MAP_APPFONT( 40, 12 ); Text = "Delete"; TabStop = TRUE; }; FixedLine RID_FL_VALUE { - Pos = MAP_APPFONT( 4, 36 ); + Pos = MAP_APPFONT( 4, 32 ); Size = MAP_APPFONT( 228, 8 ); Text = "Setting"; }; @@ -883,79 +888,181 @@ TabPage RID_TP_GENERIC { }; -TabPage RID_TP_SPECIAL { +TabPage RID_TP_PROFILE { Hide = TRUE ; SVLook = TRUE ; Size = MAP_APPFONT( 244, 100 ); + FixedLine RID_FL_PROFILE { + Pos = MAP_APPFONT( 4, 4 ); + Size = MAP_APPFONT( 22, 8 ); + Text = "Profile"; + }; + ComboBox RID_CB_PROFILE { + HScroll = TRUE; + VScroll = TRUE; + AutoHScroll = TRUE; + Border = TRUE; + Pos = MAP_APPFONT( 30, 2 ); + Size = MAP_APPFONT( 110, 88 ); + TabStop = TRUE; + DropDown = TRUE; + }; + PushButton RID_PB_NEW_PROFILE { + Pos = MAP_APPFONT( 144, 2 ); + Size = MAP_APPFONT( 40, 12 ); + Text = "New"; + TabStop = TRUE; + }; + PushButton RID_PD_DEL_PROFILE { + Pos = MAP_APPFONT( 188, 2 ); + Size = MAP_APPFONT( 40, 12 ); + Text = "Delete"; + TabStop = TRUE; + }; FixedLine FL_DIRECTORIES { - Pos = MAP_APPFONT( 4, 2 ); + Pos = MAP_APPFONT( 4, 16 ); Size = MAP_APPFONT( 230, 8 ); - Text = "Directories"; + Text = "Profile settings"; }; FixedText LOG_TEXT { - Pos = MAP_APPFONT( 7, 12 ); + Pos = MAP_APPFONT( 7, 26 ); Size = MAP_APPFONT( 76, 12 ); Text = "Log base directory"; }; FixedText BASIS_TEXT { - Pos = MAP_APPFONT( 7, 28 ); + Pos = MAP_APPFONT( 7, 42 ); Size = MAP_APPFONT( 76, 12 ); Text = "Base directory"; }; FixedText HID_TEXT { - Pos = MAP_APPFONT( 7, 44 ); + Pos = MAP_APPFONT( 7, 58 ); Size = MAP_APPFONT( 76, 12 ); Text = "HID directory"; }; Edit LOG_NAME { Border = TRUE; - Pos = MAP_APPFONT( 87, 12 ); + Pos = MAP_APPFONT( 87, 26 ); Size = MAP_APPFONT( 126, 12 ); TabStop = TRUE; }; Edit BASIS_NAME { Border = TRUE; - Pos = MAP_APPFONT( 87, 28 ); + Pos = MAP_APPFONT( 87, 42 ); Size = MAP_APPFONT( 126, 12 ); TabStop = TRUE; }; Edit HID_NAME { Border = TRUE; - Pos = MAP_APPFONT( 87, 44 ); + Pos = MAP_APPFONT( 87, 58 ); Size = MAP_APPFONT( 126, 12 ); TabStop = TRUE; }; PushButton LOG_SET { - Pos = MAP_APPFONT( 217, 12 ); + Pos = MAP_APPFONT( 217, 26 ); Size = MAP_APPFONT( 12, 12 ); Text = "..."; TabStop = TRUE; }; PushButton BASIS_SET { - Pos = MAP_APPFONT( 217, 28 ); + Pos = MAP_APPFONT( 217, 42 ); Size = MAP_APPFONT( 12, 12 ); Text = "..."; TabStop = TRUE; }; PushButton HID_SET { - Pos = MAP_APPFONT( 217, 44 ); + Pos = MAP_APPFONT( 217, 58 ); Size = MAP_APPFONT( 12, 12 ); Text = "..."; TabStop = TRUE; }; + CheckBox CB_AUTORELOAD { + Pos = MAP_APPFONT( 7, 74 ); + Size = MAP_APPFONT( 115, 12 ); + Text = "AutoReload"; + }; + CheckBox CB_AUTOSAVE { + Pos = MAP_APPFONT( 7, 87 ); + Size = MAP_APPFONT( 115, 12 ); + Text = "Save before execute"; + }; + CheckBox CB_STOPONSYNTAXERRORS { + Pos = MAP_APPFONT( 132, 74 ); + Size = MAP_APPFONT( 115, 12 ); + Text = "Stop on Syntax Errors"; + }; +}; + + +TabPage RID_TP_MISC { + Hide = TRUE ; + SVLook = TRUE ; + Size = MAP_APPFONT( 244, 100 ); + FixedLine FL_COMMUNICATION { + Pos = MAP_APPFONT( 4, 2 ); + Size = MAP_APPFONT( 230, 8 ); + Text = "Communication"; + }; + FixedText FT_HOST { + Pos = MAP_APPFONT( 8, 12 ); + Size = MAP_APPFONT( 30, 12 ); + Text = "Host"; + }; + Edit ED_HOST { + Border = TRUE; + Pos = MAP_APPFONT( 43, 12); + Size = MAP_APPFONT( 80, 12 ); + TabStop = TRUE; + }; + FixedText FT_TTPORT { + Pos = MAP_APPFONT( 132, 12 ); + Size = MAP_APPFONT( 70, 12 ); + Text = "Testtool Port"; + }; + NumericField NF_TTPORT { + Border = TRUE; + Pos = MAP_APPFONT( 191, 12); + Size = MAP_APPFONT( 40, 12 ); + TabStop = TRUE; + Right = TRUE; + Repeat = TRUE; + Spin = TRUE; + Minimum = 1024; + Maximum = 0xffff; + First = 1024; + Last = 0xffff; + }; + FixedText FT_UNOPORT { + Pos = MAP_APPFONT( 132, 12+15 ); + Size = MAP_APPFONT( 70, 12 ); + Text = "Remote UNO Port"; + }; + NumericField NF_UNOPORT { + Border = TRUE; + Pos = MAP_APPFONT( 191, 12+15); + Size = MAP_APPFONT( 40, 12 ); + TabStop = TRUE; + Right = TRUE; + Repeat = TRUE; + Spin = TRUE; + Minimum = 1024; + Maximum = 0xffff; + First = 1024; + Last = 0xffff; + }; + FixedLine FL_OTHER { - Pos = MAP_APPFONT( 4, 60 ); + Pos = MAP_APPFONT( 4, 27 +13 ); Size = MAP_APPFONT( 230, 8 ); Text = "Other settings"; }; FixedText TIMEOUT_TEXT { - Pos = MAP_APPFONT( 8, 70 ); + Pos = MAP_APPFONT( 8, 48 ); Size = MAP_APPFONT( 70, 12 ); Text = "Server Timeout"; }; TimeField SERVER_TIMEOUT { Border = TRUE; - Pos = MAP_APPFONT( 83, 70 ); + Pos = MAP_APPFONT( 83, 48 ); Size = MAP_APPFONT( 40, 12 ); TabStop = TRUE; Repeat = TRUE; @@ -963,24 +1070,22 @@ TabPage RID_TP_SPECIAL { Format = TIMEF_SEC; Duration = TRUE; }; - CheckBox CB_AUTORELOAD { - Pos = MAP_APPFONT( 8, 83 ); - Size = MAP_APPFONT( 115, 12 ); - Text = "AutoReload"; - }; -/* ComboBox LB_FONT { - Pos = MAP_APPFONT( 127, 70 ); - Size = MAP_APPFONT( 103, 12 ); - Sort = TRUE; - DropDown = TRUE; - AutoSize = TRUE; - AutoHScroll = TRUE; - };*/ - CheckBox CB_AUTOSAVE { - Pos = MAP_APPFONT( 127, 83 ); - Size = MAP_APPFONT( 103, 12 ); - Text = "Save before execute"; + FixedText FT_LRU { + Pos = MAP_APPFONT( 132, 48 ); + Size = MAP_APPFONT( 70, 12 ); + Text = "Max LRU Files"; }; + NumericField TF_MAX_LRU { + Border = TRUE; + Pos = MAP_APPFONT( 191, 48); + Size = MAP_APPFONT( 40, 12 ); + TabStop = TRUE; + Right = TRUE; + Repeat = TRUE; + Spin = TRUE; + Minimum = 0; + Maximum = IDM_FILE_LRUn - IDM_FILE_LRU1 +1; + }; }; diff --git a/basic/source/app/basmsg.src b/basic/source/app/basmsg.src index 155852e76a75..cc94767487cf 100644 --- a/basic/source/app/basmsg.src +++ b/basic/source/app/basmsg.src @@ -2,9 +2,9 @@ * * $RCSfile: basmsg.src,v $ * - * $Revision: 1.20 $ + * $Revision: 1.21 $ * - * last change: $Author: gh $ $Date: 2002-10-21 11:17:44 $ + * last change: $Author: hr $ $Date: 2003-03-18 16:28:24 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses diff --git a/basic/source/app/dialogs.cxx b/basic/source/app/dialogs.cxx index 141c26b13766..084de8c987ad 100644 --- a/basic/source/app/dialogs.cxx +++ b/basic/source/app/dialogs.cxx @@ -2,9 +2,9 @@ * * $RCSfile: dialogs.cxx,v $ * - * $Revision: 1.11 $ + * $Revision: 1.12 $ * - * last change: $Author: gh $ $Date: 2002-11-07 13:57:46 $ + * last change: $Author: hr $ $Date: 2003-03-18 16:28:24 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -207,6 +207,14 @@ IMPL_LINK( ReplaceDialog, ButtonClick, Button *, pB ) //////////////////////////////////////////////////////////////////// + +void CheckButtons( ComboBox &aCB, Button &aNewB, Button &aDelB ) +{ + aNewB.Enable( aCB.GetEntryPos( aCB.GetText() ) == COMBOBOX_ENTRY_NOTFOUND && aCB.GetText().Len() ); + aDelB.Enable( aCB.GetEntryPos( aCB.GetText() ) != COMBOBOX_ENTRY_NOTFOUND ); +} + + ConfEdit::ConfEdit( Window* pParent, USHORT nResText, USHORT nResEdit, USHORT nResButton, const ByteString& aKN ) : PushButton( pParent, ResId(nResButton) ) , aText( pParent, ResId(nResText) ) @@ -214,7 +222,9 @@ ConfEdit::ConfEdit( Window* pParent, USHORT nResText, USHORT nResEdit, USHORT nR , aKeyName(aKN) { Config aConf(Config::GetConfigName( Config::GetDefDirectory(), CUniString("testtool") )); - aConf.SetGroup("Path"); + aConf.SetGroup("Misc"); + ByteString aCurrentProfile = aConf.ReadKey( "CurrentProfile", "Path" ); + aConf.SetGroup( aCurrentProfile ); String aTemp = UniString( aConf.ReadKey( aKeyName ), RTL_TEXTENCODING_UTF8 ); aEdit.SetText( aTemp ); @@ -222,16 +232,27 @@ ConfEdit::ConfEdit( Window* pParent, USHORT nResText, USHORT nResEdit, USHORT nR void ConfEdit::Save( Config &aConf ) { - aConf.SetGroup("Path"); + aConf.SetGroup("Misc"); + ByteString aCurrentProfile = aConf.ReadKey( "CurrentProfile", "Path" ); + aConf.SetGroup( aCurrentProfile ); aConf.WriteKey( aKeyName, ByteString( aEdit.GetText(), RTL_TEXTENCODING_UTF8 ) ); } +void ConfEdit::Reload( Config &aConf ) +{ + aConf.SetGroup("Misc"); + ByteString aCurrentProfile = aConf.ReadKey( "CurrentProfile", "Path" ); + aConf.SetGroup( aCurrentProfile ); + String aValue = String( aConf.ReadKey( aKeyName ), RTL_TEXTENCODING_UTF8 ); + aEdit.SetText( aValue ); +} + void ConfEdit::Click() { PathDialog aPD( this ); aPD.SetPath( aEdit.GetText() ); - aPD.Execute(); - aEdit.SetText( aPD.GetPath() ); + if ( aPD.Execute() ) + aEdit.SetText( aPD.GetPath() ); } @@ -277,12 +298,15 @@ IMPL_LINK( OptionsDialog, ActivatePageHdl, TabControl *, pTabCtrl ) TabPage *pNewTabPage = NULL; switch ( nId ) { - case RID_TP_SPE: - pNewTabPage = new SpecialOptions( pTabCtrl ); - break; case RID_TP_GEN: pNewTabPage = new GenericOptions( pTabCtrl ); break; + case RID_TP_PRO: + pNewTabPage = new ProfileOptions( pTabCtrl ); + break; + case RID_TP_MIS: + pNewTabPage = new MiscOptions( pTabCtrl ); + break; case RID_TP_FON: pNewTabPage = new FontOptions( pTabCtrl ); break; @@ -299,16 +323,21 @@ IMPL_LINK( OptionsDialog, ActivatePageHdl, TabControl *, pTabCtrl ) IMPL_LINK( OptionsDialog, OKClick, Button *, pButton ) { - SpecialOptions *pSpecial; - pSpecial = (SpecialOptions*)aTabCtrl.GetTabPage( RID_TP_SPE ); - if ( pSpecial ) - pSpecial->Save(); - GenericOptions *pGeneric; pGeneric = (GenericOptions*)aTabCtrl.GetTabPage( RID_TP_GEN ); if ( pGeneric ) pGeneric->Save(); + ProfileOptions *pProfile; + pProfile = (ProfileOptions*)aTabCtrl.GetTabPage( RID_TP_PRO ); + if ( pProfile ) + pProfile->Save(); + + MiscOptions *pMisc; + pMisc = (MiscOptions*)aTabCtrl.GetTabPage( RID_TP_MIS ); + if ( pMisc ) + pMisc->Save(); + FontOptions *pFonts; pFonts = (FontOptions*)aTabCtrl.GetTabPage( RID_TP_FON ); if ( pFonts ) @@ -320,43 +349,201 @@ IMPL_LINK( OptionsDialog, OKClick, Button *, pButton ) } -SpecialOptions::SpecialOptions( Window* pParent ) -: TabPage( pParent, ResId( RID_TP_SPECIAL ) ) +ProfileOptions::ProfileOptions( Window* pParent ) +: TabPage( pParent, ResId( RID_TP_PROFILE ) ) +, aConf( Config::GetConfigName( Config::GetDefDirectory(), CUniString("testtool") ) ) + +, aFlProfile( this, ResId( RID_FL_PROFILE ) ) +, aCbProfile( this, ResId( RID_CB_PROFILE ) ) +, aPbNewProfile( this, ResId( RID_PB_NEW_PROFILE ) ) +, aPbDelProfile( this, ResId( RID_PD_DEL_PROFILE ) ) + , aDirs( this, ResId(FL_DIRECTORIES) ) -, aLog( this, LOG_TEXT, LOG_NAME, LOG_SET ,"LogBasisverzeichnis" ) -, aBasis( this, BASIS_TEXT, BASIS_NAME, BASIS_SET ,"Basisverzeichnis" ) -, aHID( this, HID_TEXT, HID_NAME, HID_SET ,"HIDVerzeichnis" ) -, aOther( this, ResId(FL_OTHER) ) -, aTimeoutText( this, ResId(TIMEOUT_TEXT) ) -, aServerTimeout( this, ResId(SERVER_TIMEOUT) ) +, aLog( this, LOG_TEXT, LOG_NAME, LOG_SET ,"LogBaseDir" ) +, aBasis( this, BASIS_TEXT, BASIS_NAME, BASIS_SET ,"BaseDir" ) +, aHID( this, HID_TEXT, HID_NAME, HID_SET ,"HIDDir" ) + , aAutoReload( this, ResId(CB_AUTORELOAD) ) , aAutoSave( this, ResId(CB_AUTOSAVE) ) +, aStopOnSyntaxError( this, ResId(CB_STOPONSYNTAXERRORS) ) { FreeResource(); - Config aConf(Config::GetConfigName( Config::GetDefDirectory(), CUniString("testtool") )); - aConf.SetGroup("Misc"); - ByteString aTemp = aConf.ReadKey( "ServerTimeout", "10000" ); // Vorgabe 1 Minute - aServerTimeout.SetTime( Time(aTemp.ToInt32()) ); + aCbProfile.EnableAutocomplete( TRUE ); + + aCbProfile.SetSelectHdl( LINK( this, ProfileOptions, Select ) ); + aPbNewProfile.SetClickHdl( LINK( this, ProfileOptions, NewProfile ) ); + aPbDelProfile.SetClickHdl( LINK( this, ProfileOptions, DelProfile ) ); + aCbProfile.SetModifyHdl( LINK( this, ProfileOptions, CheckButtonsHdl ) ); + + LoadData(); + ReloadProfile(); +} + +void ProfileOptions::LoadData() +{ + for ( USHORT i = 0 ; i < aConf.GetGroupCount() ; i++ ) + { + ByteString aProfile = aConf.GetGroupName( i ); + if ( aProfile.Match( "_profile_" ) ) + aCbProfile.InsertEntry( String( aProfile.Copy( 9 ), RTL_TEXTENCODING_UTF8 ) ); + } + aConf.SetGroup( "Misc" ); + ByteString aCurrentProfile = aConf.ReadKey( "CurrentProfile", "Path" ); + aCbProfile.SetText( String( aCurrentProfile.Copy( 9 ), RTL_TEXTENCODING_UTF8 ) ); + CheckButtons( aCbProfile, aPbNewProfile, aPbDelProfile ); +} + +IMPL_LINK( ProfileOptions, Select, ComboBox*, EMPTYARG ) +{ + if ( aCbProfile.GetEntryPos( aCbProfile.GetText() ) == LISTBOX_ENTRY_NOTFOUND ) + return 1; + Save(); + ByteString aProfileKey( CByteString( "_profile_" ).Append( ByteString( aCbProfile.GetText(), RTL_TEXTENCODING_UTF8 ) ) ); + aConf.SetGroup( "Misc" ); + aConf.WriteKey( "CurrentProfile", aProfileKey ); + ReloadProfile(); + + return 0; +} + +void ProfileOptions::ReloadProfile() +{ + aLog.Reload( aConf ); + aBasis.Reload( aConf ); + aHID.Reload( aConf ); + CheckButtons( aCbProfile, aPbNewProfile, aPbDelProfile ); + + ByteString aTemp; + aConf.SetGroup( "Misc" ); + ByteString aCurrentProfile = aConf.ReadKey( "CurrentProfile", "Misc" ); + aConf.SetGroup( aCurrentProfile ); aTemp = aConf.ReadKey( "AutoReload", "0" ); aAutoReload.Check( aTemp.CompareTo("1") == COMPARE_EQUAL ); aTemp = aConf.ReadKey( "AutoSave", "0" ); aAutoSave.Check( aTemp.CompareTo("1") == COMPARE_EQUAL ); + aTemp = aConf.ReadKey( "StopOnSyntaxError", "0" ); + aStopOnSyntaxError.Check( aTemp.CompareTo("1") == COMPARE_EQUAL ); } +IMPL_LINK( ProfileOptions, DelProfile, Button*, EMPTYARG ) +{ + String aProfile = aCbProfile.GetText(); + ByteString aProfileKey( CByteString( "_profile_" ).Append( ByteString( aProfile, RTL_TEXTENCODING_UTF8 ) ) ); + if ( aCbProfile.GetEntryPos( aProfile ) != COMBOBOX_ENTRY_NOTFOUND ) + { + aCbProfile.RemoveEntry( aProfile ); + aConf.DeleteGroup( aProfileKey ); + } + + aCbProfile.SetText( aCbProfile.GetEntry( 0 ) ); + aProfile = aCbProfile.GetText(); + aProfileKey = CByteString( "_profile_" ).Append( ByteString( aProfile, RTL_TEXTENCODING_UTF8 ) ); + aConf.SetGroup( "Misc" ); + aConf.WriteKey( "CurrentProfile", aProfileKey ); + ReloadProfile(); + CheckButtons( aCbProfile, aPbNewProfile, aPbDelProfile ); -void SpecialOptions::Save() + return 0; +} + +IMPL_LINK( ProfileOptions, NewProfile, Button*, EMPTYARG ) +{ + aCbProfile.InsertEntry( aCbProfile.GetText() ); + ByteString aProfileKey( CByteString( "_profile_" ).Append( ByteString( aCbProfile.GetText(), RTL_TEXTENCODING_UTF8 ) ) ); + aConf.SetGroup( "Misc" ); + aConf.WriteKey( "CurrentProfile", aProfileKey ); + Save(); + CheckButtons( aCbProfile, aPbNewProfile, aPbDelProfile ); + + return 0; +} + +IMPL_LINK( ProfileOptions, CheckButtonsHdl, ComboBox*, pCB ) +{ + CheckButtons( aCbProfile, aPbNewProfile, aPbDelProfile ); + return 0; +} + +void ProfileOptions::Save() { - Config aConf(Config::GetConfigName( Config::GetDefDirectory(), CUniString("testtool") )); aLog.Save( aConf ); aBasis.Save( aConf ); aHID.Save( aConf ); - aConf.SetGroup("Misc"); - aConf.WriteKey( "ServerTimeout", ByteString::CreateFromInt32( aServerTimeout.GetTime().GetTime() ) ); + aConf.SetGroup( "Misc" ); + ByteString aCurrentProfile = aConf.ReadKey( "CurrentProfile", "Misc" ); + aConf.SetGroup( aCurrentProfile ); aConf.WriteKey( "AutoReload", aAutoReload.IsChecked()?"1":"0" ); aConf.WriteKey( "AutoSave", aAutoSave.IsChecked()?"1":"0" ); + aConf.WriteKey( "StopOnSyntaxError", aStopOnSyntaxError.IsChecked()?"1":"0" ); + + aConf.Flush(); +} + +MiscOptions::MiscOptions( Window* pParent ) +: TabPage( pParent, ResId( RID_TP_MISC ) ) +, aFLCommunication( this, ResId(FL_COMMUNICATION) ) +, aFTHost( this, ResId(FT_HOST) ) +, aEDHost( this, ResId(ED_HOST) ) +, aFTTTPort( this, ResId(FT_TTPORT) ) +, aNFTTPort( this, ResId(NF_TTPORT) ) +, aFTUNOPort( this, ResId(FT_UNOPORT) ) +, aNFUNOPort( this, ResId(NF_UNOPORT) ) +, aOther( this, ResId(FL_OTHER) ) +, aTimeoutText( this, ResId(TIMEOUT_TEXT) ) +, aServerTimeout( this, ResId(SERVER_TIMEOUT) ) +, aFTLRU( this, ResId(FT_LRU) ) +, aTFMaxLRU( this, ResId(TF_MAX_LRU) ) +{ + FreeResource(); + + International aInt; + aNFTTPort.SetUseThousandSep( FALSE ); + aNFUNOPort.SetUseThousandSep( FALSE ); + aTFMaxLRU.SetUseThousandSep( FALSE ); + + Config aConf(Config::GetConfigName( Config::GetDefDirectory(), CUniString("testtool") )); + ByteString aTemp; + + aConf.SetGroup("Communication"); + aTemp = aConf.ReadKey( "Host", DEFAULT_HOST ); + aEDHost.SetText( String( aTemp, RTL_TEXTENCODING_UTF8 ) ); + aTemp = aConf.ReadKey( "TTPort", ByteString::CreateFromInt32( TESTTOOL_DEFAULT_PORT ) ); + aNFTTPort.SetValue( aTemp.ToInt32() ); + aTemp = aConf.ReadKey( "UnoPort", ByteString::CreateFromInt32( UNO_DEFAULT_PORT ) ); + aNFUNOPort.SetValue( aTemp.ToInt32() ); + + aConf.SetGroup("Misc"); + aTemp = aConf.ReadKey( "ServerTimeout", "10000" ); // Vorgabe 1 Minute + aServerTimeout.SetTime( Time(aTemp.ToInt32()) ); + + aConf.SetGroup("LRU"); + aTemp = aConf.ReadKey( "MaxLRU", "4" ); + aTFMaxLRU.SetValue( aTemp.ToInt32() ); +} + + +void MiscOptions::Save() +{ + Config aConf(Config::GetConfigName( Config::GetDefDirectory(), CUniString("testtool") )); + + aConf.SetGroup("Communication"); + aConf.WriteKey( "Host", ByteString( aEDHost.GetText(), RTL_TEXTENCODING_UTF8 ) ); + aConf.WriteKey( "TTPort", ByteString::CreateFromInt32( aNFTTPort.GetValue() ) ); + aConf.WriteKey( "UnoPort", ByteString::CreateFromInt32( aNFUNOPort.GetValue() ) ); + + aConf.SetGroup("Misc"); + aConf.WriteKey( "ServerTimeout", ByteString::CreateFromInt32( aServerTimeout.GetTime().GetTime() ) ); + + aConf.SetGroup("LRU"); + ByteString aTemp = aConf.ReadKey( "MaxLRU", "4" ); + USHORT nOldMaxLRU = aTemp.ToInt32(); + USHORT n; + for ( n = nOldMaxLRU ; n > aTFMaxLRU.GetValue() ; n-- ) + aConf.DeleteKey( ByteString("LRU").Append( ByteString::CreateFromInt32( n ) ) ); + aConf.WriteKey( "MaxLRU", ByteString::CreateFromInt32( aTFMaxLRU.GetValue() ) ); } @@ -637,11 +824,6 @@ IMPL_LINK( GenericOptions, CheckButtonsHdl, ComboBox*, pCB ) return 0; } -void GenericOptions::CheckButtons( ComboBox &aCB, Button &aNewB, Button &aDelB ) -{ - aNewB.Enable( aCB.GetEntryPos( aCB.GetText() ) == COMBOBOX_ENTRY_NOTFOUND && aCB.GetText().Len() ); -} - void GenericOptions::Save() { xub_StrLen i; diff --git a/basic/source/app/dialogs.hxx b/basic/source/app/dialogs.hxx index d1be9f4766e8..6d19b6ff9f9f 100644 --- a/basic/source/app/dialogs.hxx +++ b/basic/source/app/dialogs.hxx @@ -2,9 +2,9 @@ * * $RCSfile: dialogs.hxx,v $ * - * $Revision: 1.4 $ + * $Revision: 1.5 $ * - * last change: $Author: gh $ $Date: 2002-04-11 08:38:47 $ + * last change: $Author: hr $ $Date: 2003-03-18 16:28:24 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -147,6 +147,8 @@ public: ReplaceDialog (Window*, const ResId&, String&, String&); }; +//////////////////////////////////////////////////////////////////// + class ConfEdit : public PushButton { FixedText aText; @@ -155,6 +157,7 @@ class ConfEdit : public PushButton public: ConfEdit( Window* pParent, USHORT nResText, USHORT nResEdit, USHORT nResButton, const ByteString& aKN ); void Save( Config &aConf ); + void Reload( Config &aConf ); void Click(); }; @@ -177,20 +180,55 @@ public: DECL_LINK( ActivatePageHdl, TabControl * ); }; -class SpecialOptions : public TabPage +class ProfileOptions : public TabPage { + FixedLine aFlProfile; + ComboBox aCbProfile; + PushButton aPbNewProfile; + PushButton aPbDelProfile; + FixedLine aDirs; ConfEdit aLog; ConfEdit aBasis; ConfEdit aHID; + + CheckBox aAutoReload; + CheckBox aAutoSave; + CheckBox aStopOnSyntaxError; + + Config aConf; + + void LoadData(); + + DECL_LINK( Select, ComboBox* ); + DECL_LINK( DelProfile, Button* ); + DECL_LINK( NewProfile, Button* ); + DECL_LINK( CheckButtonsHdl, ComboBox* ); + + void ReloadProfile(); + +public: + ProfileOptions( Window* ); + void Save(); +}; + +class MiscOptions : public TabPage +{ + FixedLine aFLCommunication; + FixedText aFTHost; + Edit aEDHost; + FixedText aFTTTPort; + NumericField aNFTTPort; + FixedText aFTUNOPort; + NumericField aNFUNOPort; FixedLine aOther; FixedText aTimeoutText; TimeField aServerTimeout; - CheckBox aAutoReload; - CheckBox aAutoSave; + FixedText aFTLRU; + NumericField aTFMaxLRU; public: - SpecialOptions( Window* ); + MiscOptions( Window* ); void Save(); }; @@ -222,8 +260,8 @@ public: DECLARE_LIST( StringList, String * ); -#define C_KEY_ALLE CByteString("Alle") -#define C_KEY_AKTUELL CByteString("Aktuell") +#define C_KEY_ALLE CByteString("All") +#define C_KEY_AKTUELL CByteString("Current") #define C_KEY_DELETE CByteString("Deleted Groups") class GenericOptions : public TabPage @@ -246,8 +284,6 @@ class GenericOptions : public TabPage String ReadKey( const ByteString &aGroup, const ByteString &aKey ); BOOL HasKey( Config &aConfig, const ByteString &aKey ); - void LoadValues(); - StringList* GetAllGroups(); void LoadData(); @@ -258,8 +294,6 @@ class GenericOptions : public TabPage DECL_LINK( NewValue, Button* ); DECL_LINK( CheckButtonsHdl, ComboBox* ); - void CheckButtons( ComboBox &aCB, Button &aNewB, Button &aDelB ); - public: GenericOptions( Window* ); ~GenericOptions(); diff --git a/basic/source/app/msgedit.cxx b/basic/source/app/msgedit.cxx index 848a6d548fba..4de9b6df3b0c 100644 --- a/basic/source/app/msgedit.cxx +++ b/basic/source/app/msgedit.cxx @@ -2,9 +2,9 @@ * * $RCSfile: msgedit.cxx,v $ * - * $Revision: 1.11 $ + * $Revision: 1.12 $ * - * last change: $Author: gh $ $Date: 2002-07-04 10:29:15 $ + * last change: $Author: hr $ $Date: 2003-03-18 16:28:24 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -194,6 +194,8 @@ void MsgEdit::AddAnyMsg( TTLogMsg *LogMsg ) case LOG_MESSAGE: AddMessage( aUILogMsg, LogMsg->aDebugData ); break; case LOG_WARNING: AddWarning( aUILogMsg, LogMsg->aDebugData ); break; case LOG_ASSERTION: AddAssertion( aUILogMsg, LogMsg->aDebugData ); break; + case LOG_QA_ERROR: AddQAError( aUILogMsg, LogMsg->aDebugData ); break; + default:DBG_ERROR("Unbekannter Typ in ResultFile. Speichern des ResultFile resultiert in Informationsverlust"); } if ( !bFileLoading ) @@ -358,6 +360,29 @@ void MsgEdit::AddAssertion( String aMsg, TTDebugData aDebugData ) aEditTree.InvalidateEntry( pThisEntry ); } +void MsgEdit::AddQAError( String aMsg, TTDebugData aDebugData ) +{ + SvLBoxEntry *pThisEntry = NULL; + if ( pCurrentTestCase ) + pThisEntry = aEditTree.InsertEntry( aMsg, pCurrentTestCase ); + else if ( pCurrentRun ) + { + pThisEntry = aEditTree.InsertEntry( aMsg, pCurrentRun ); + aEditTree.ShowEntry( pThisEntry ); + } + else + { + AddRun( aMsg, aDebugData ); + pThisEntry = aEditTree.InsertEntry( aMsg, pCurrentRun ); + aEditTree.ShowEntry( pThisEntry ); + } + aDebugData.aLogType = LOG_QA_ERROR; // Da auch von anderswo aufgerufen + ADD_TTDEBUGDATA( pThisEntry ); + + while ( !aEditTree.IsEntryVisible( pThisEntry ) && ( pThisEntry = aEditTree.GetParent( pThisEntry ) ) ) + aEditTree.InvalidateEntry( pThisEntry ); +} + /* SvLBoxEntry* GetEntry( SvLBoxEntry* pParent, ULONG nPos ) const { return SvLBox::GetEntry(pParent,nPos); } SvLBoxEntry* GetEntry( ULONG nRootPos ) const { return SvLBox::GetEntry(nRootPos);} @@ -419,6 +444,7 @@ String MsgEdit::Impl_MakeText( SvLBoxEntry *pEntry ) const case LOG_MESSAGE: break; case LOG_WARNING: break; case LOG_ASSERTION: break; + case LOG_QA_ERROR: break; default:DBG_ERROR("Unbekannter Typ im ResultFenster"); } aRet += aEditTree.GetEntryText( pEntry ); @@ -821,10 +847,12 @@ TTFeatures TTTreeListBox::GetFeatures( SvLBoxEntry* pEntry ) } case LOG_ASSERTION: return HasAssertion; + case LOG_QA_ERROR: + return HasQAError; default: DBG_ERROR("Unbekannter Typ im ResultFenster"); } - return HasNothing; // da der Comp nich sieht, da kein dafault ntig ist. + return HasNothing; } @@ -850,11 +878,13 @@ void TTLBoxString::Paint( const Point& rPos, SvLBox& rDev, USHORT nFlags, Font aOldFont( rDev.GetFont()); Font aFont( aOldFont ); - if ( ( aFeatures & HasError ) != 0 || ( aFeatures & HasWarning ) != 0 ) + if ( ( aFeatures & HasError ) != 0 || ( aFeatures & HasWarning ) != 0 || ( aFeatures & HasQAError ) != 0 ) { Color aCol; if ( ( aFeatures & HasError ) == HasError ) aCol = Color( 255, 120, 120 ); // Rot + else if ( ( aFeatures & HasQAError ) == HasQAError ) + aCol = Color( 255, 102, 51 ); // Orange oder so else aCol = Color( 255, 200, 120 ); // Ocker oder so diff --git a/basic/source/app/msgedit.hxx b/basic/source/app/msgedit.hxx index 3dec305a488e..8d5fb133209e 100644 --- a/basic/source/app/msgedit.hxx +++ b/basic/source/app/msgedit.hxx @@ -2,9 +2,9 @@ * * $RCSfile: msgedit.hxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: gh $ $Date: 2002-03-28 14:43:03 $ + * last change: $Author: hr $ $Date: 2003-03-18 16:28:24 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -78,6 +78,7 @@ typedef USHORT TTFeatures; // Bitfeld fr Features der Entrys #define HasError TTFeatures(0x01) #define HasWarning TTFeatures(0x02) #define HasAssertion TTFeatures(0x04) +#define HasQAError TTFeatures(0x08) class TTTreeListBox : public SvTreeListBox @@ -129,6 +130,7 @@ public: void AddMessage( String aMsg, TTDebugData aDebugData ); void AddWarning( String aMsg, TTDebugData aDebugData ); void AddAssertion( String aMsg, TTDebugData aDebugData ); + void AddQAError( String aMsg, TTDebugData aDebugData ); DATA_FUNC_DEF( aEditTree, TTTreeListBox ) }; diff --git a/basic/source/app/mybasic.cxx b/basic/source/app/mybasic.cxx index 1379ea2f9db9..26d51021c084 100644 --- a/basic/source/app/mybasic.cxx +++ b/basic/source/app/mybasic.cxx @@ -2,9 +2,9 @@ * * $RCSfile: mybasic.cxx,v $ * - * $Revision: 1.5 $ + * $Revision: 1.6 $ * - * last change: $Author: gh $ $Date: 2002-04-24 09:19:47 $ + * last change: $Author: hr $ $Date: 2003-03-18 16:28:25 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -260,6 +260,10 @@ void MyBasic::ReportRuntimeError( AppBasEd *pEditWin ) GetCol1(), GetCol2() ).Show(); } +void MyBasic::DebugFindNoErrors( BOOL bDebugFindNoErrors ) +{ +} + const String MyBasic::GetSpechialErrorText() { return GetErrorText(); diff --git a/basic/source/app/resids.hrc b/basic/source/app/resids.hrc index 87e254c41d1e..51906eecc17a 100644 --- a/basic/source/app/resids.hrc +++ b/basic/source/app/resids.hrc @@ -2,9 +2,9 @@ * * $RCSfile: resids.hrc,v $ * - * $Revision: 1.4 $ + * $Revision: 1.5 $ * - * last change: $Author: gh $ $Date: 2002-04-11 08:38:47 $ + * last change: $Author: hr $ $Date: 2003-03-18 16:28:25 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -83,76 +83,93 @@ // OptionsDialog #define RES_TC_OPTIONS 20 -// SpecialOptions -#define RID_TP_SPE 30 -#define FL_DIRECTORIES 31 -#define LOG_TEXT 32 -#define BASIS_TEXT 33 -#define HID_TEXT 34 -#define FL_OTHER 35 -#define TIMEOUT_TEXT 36 -#define LOG_NAME 37 -#define BASIS_NAME 38 -#define HID_NAME 39 -#define LOG_SET 40 -#define BASIS_SET 41 -#define HID_SET 42 -#define SERVER_TIMEOUT 43 -#define CB_AUTORELOAD 44 -#define CB_AUTOSAVE 45 - // GenericOptions -#define RID_TP_GEN 50 -#define RID_FL_AREA 51 -#define RID_CB_AREA 52 -#define RID_PB_NEW_AREA 53 -#define RID_PD_DEL_AREA 54 -#define RID_FL_VALUE 55 -#define RID_CB_VALUE 56 -#define RID_PB_NEW_VALUE 57 -#define RID_PB_DEL_VALUE 58 +#define RID_TP_GEN 30 +#define RID_FL_AREA 31 +#define RID_CB_AREA 32 +#define RID_PB_NEW_AREA 33 +#define RID_PD_DEL_AREA 34 +#define RID_FL_VALUE 35 +#define RID_CB_VALUE 36 +#define RID_PB_NEW_VALUE 37 +#define RID_PB_DEL_VALUE 38 + +// ProfileOptions +#define RID_TP_PRO 40 +#define RID_FL_PROFILE 41 +#define RID_CB_PROFILE 42 +#define RID_PB_NEW_PROFILE 43 +#define RID_PD_DEL_PROFILE 44 +#define FL_DIRECTORIES 45 +#define LOG_TEXT 46 +#define BASIS_TEXT 47 +#define HID_TEXT 48 +#define LOG_NAME 49 +#define BASIS_NAME 50 +#define HID_NAME 51 +#define LOG_SET 52 +#define BASIS_SET 53 +#define HID_SET 54 +#define CB_AUTORELOAD 55 +#define CB_AUTOSAVE 56 +#define CB_STOPONSYNTAXERRORS 57 + +// MiscOptions +#define RID_TP_MIS 60 +#define FL_COMMUNICATION 61 +#define FT_HOST 62 +#define ED_HOST 63 +#define FT_TTPORT 64 +#define NF_TTPORT 65 +#define FT_UNOPORT 66 +#define NF_UNOPORT 67 +#define FL_OTHER 68 +#define TIMEOUT_TEXT 69 +#define SERVER_TIMEOUT 70 +#define FT_LRU 71 +#define TF_MAX_LRU 72 // Font Settings -#define RID_TP_FON 60 -#define FT_FONTNAME 61 -#define CB_FONTNAME 62 -#define FT_FONTSTYLE 63 -#define CB_FONTSTYLE 64 -#define FT_FONTSIZE 65 -#define MB_FONTSIZE 66 -#define FT_PREVIEW 67 +#define RID_TP_FON 70 +#define FT_FONTNAME 71 +#define CB_FONTNAME 72 +#define FT_FONTSTYLE 73 +#define CB_FONTSTYLE 74 +#define FT_FONTSIZE 75 +#define MB_FONTSIZE 76 +#define FT_PREVIEW 77 // DisplayHId -#define RID_TB_CONF 70 -#define RID_FT_CONTROLS 71 -#define RID_MLB_CONTROLS 72 -#define RID_FT_SLOTS 73 -#define RID_MLB_SLOTS 74 -#define RID_PB_KOPIEREN 75 -#define RID_PB_BENENNEN 76 -#define RID_PB_SELECTALL 77 -#define RID_OK_CLOSE 78 +#define RID_TB_CONF 80 +#define RID_FT_CONTROLS 81 +#define RID_MLB_CONTROLS 82 +#define RID_FT_SLOTS 83 +#define RID_MLB_SLOTS 84 +#define RID_PB_KOPIEREN 85 +#define RID_PB_BENENNEN 86 +#define RID_PB_SELECTALL 87 +#define RID_OK_CLOSE 88 // BreakpointWindow -#define IMGID_BRKENABLED 80 -#define IMGID_BRKDISABLED 81 -#define IMGID_STEPMARKER 82 -#define IMGID_ERRORMARKER 83 +#define IMGID_BRKENABLED 90 +#define IMGID_BRKDISABLED 91 +#define IMGID_STEPMARKER 92 +#define IMGID_ERRORMARKER 93 // Edit Variables -#define RID_FT_NAME 90 -#define RID_FT_CONTENT 91 -#define RID_FT_NEW_CONTENT 92 -#define RID_FT_NAME_VALUE 93 -#define RID_FT_CONTENT_VALUE 94 - -#define RID_RB_NEW_BOOL_T 95 -#define RID_RB_NEW_BOOL_F 96 -#define RID_NF_NEW_INTEGER 97 -#define RID_NF_NEW_LONG 98 -#define RID_ED_NEW_STRING 99 +#define RID_FT_NAME 100 +#define RID_FT_CONTENT 101 +#define RID_FT_NEW_CONTENT 102 +#define RID_FT_NAME_VALUE 103 +#define RID_FT_CONTENT_VALUE 104 + +#define RID_RB_NEW_BOOL_T 105 +#define RID_RB_NEW_BOOL_F 106 +#define RID_NF_NEW_INTEGER 107 +#define RID_NF_NEW_LONG 108 +#define RID_ED_NEW_STRING 109 #endif diff --git a/basic/source/app/testtool.src b/basic/source/app/testtool.src index ecc1a6eda800..f44e9b3b9093 100644 --- a/basic/source/app/testtool.src +++ b/basic/source/app/testtool.src @@ -2,9 +2,9 @@ * * $RCSfile: testtool.src,v $ * - * $Revision: 1.20 $ + * $Revision: 1.21 $ * - * last change: $Author: gh $ $Date: 2002-10-21 11:17:45 $ + * last change: $Author: hr $ $Date: 2003-03-18 16:28:25 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses diff --git a/basic/source/app/textedit.cxx b/basic/source/app/textedit.cxx index 3bedc4a13156..dfc07ef8a78e 100644 --- a/basic/source/app/textedit.cxx +++ b/basic/source/app/textedit.cxx @@ -2,9 +2,9 @@ * * $RCSfile: textedit.cxx,v $ * - * $Revision: 1.9 $ + * $Revision: 1.10 $ * - * last change: $Author: gh $ $Date: 2002-04-11 08:38:47 $ + * last change: $Author: hr $ $Date: 2003-03-18 16:28:25 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -96,6 +96,7 @@ TextEditImp::TextEditImp( AppEdit* pParent, const WinBits& aBits ) , bDoSyntaxHighlight( FALSE ) , bDelayHighlight( TRUE ) , nTipId( 0 ) +, bViewMoved( FALSE ) { pTextEngine = new TextEngine(); pTextEngine->SetMaxTextLen( STRING_MAXLEN ); @@ -126,6 +127,13 @@ TextEditImp::~TextEditImp() delete pTextEngine; } +BOOL TextEditImp::ViewMoved() +{ + BOOL bOld = bViewMoved; + bViewMoved = FALSE; + return bOld; +} + void TextEditImp::Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) { if ( rHint.ISA( TextHint ) ) @@ -137,6 +145,7 @@ void TextEditImp::Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) pAppEdit->pVScroll->SetThumbPos( pTextView->GetStartDocPos().Y() ); if ( ((TextEdit*)(pAppEdit->pDataEdit))->GetBreakpointWindow() ) ((TextEdit*)(pAppEdit->pDataEdit))->GetBreakpointWindow()->Scroll( 0, ((TextEdit*)(pAppEdit->pDataEdit))->GetBreakpointWindow()->GetCurYOffset() - pTextView->GetStartDocPos().Y() ); + bViewMoved = TRUE; } else if( rTextHint.GetId() == TEXT_HINT_TEXTHEIGHTCHANGED ) { @@ -182,7 +191,8 @@ void TextEditImp::Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) else if( rTextHint.GetId() == TEXT_HINT_FORMATPARA ) { DoDelayedSyntaxHighlight( rTextHint.GetValue() ); - ModifyHdl.Call( NULL ); + if ( pTextView->GetTextEngine()->IsModified() ) + ModifyHdl.Call( NULL ); } } } @@ -469,7 +479,7 @@ IMPL_LINK( TextEditImp, SyntaxTimerHdl, Timer *, EMPTYARG ) void TextEditImp::InvalidateSyntaxHighlight() { - for ( ULONG i = 0; i < pTextEngine->GetParagraphCount(); i++ ) + for ( xub_StrLen i = 0; i < pTextEngine->GetParagraphCount(); i++ ) DoDelayedSyntaxHighlight( i ); } @@ -594,7 +604,10 @@ SbxBase* TextEditImp::GetSbxAtMousePos( String &aWord ) aWord.Erase( nLastChar, 1 ); BOOL bWasError = SbxBase::IsError(); // Da eventuell im Testtool ein Fehler geschmissen wird. + pAppEdit->GetBasicFrame()->Basic().DebugFindNoErrors( TRUE ); SbxBase* pSBX = StarBASIC::FindSBXInCurrentScope( aWord ); + pAppEdit->GetBasicFrame()->Basic().DebugFindNoErrors( FALSE ); + DBG_ASSERT( !( !bWasError && SbxBase::IsError()), "Error generated while retrieving Variable data for viewing" ) if ( !bWasError && SbxBase::IsError() ) SbxBase::ResetError(); @@ -615,7 +628,7 @@ IMPL_LINK( TextEditImp, ShowVarContents, void*, EMPTYARG ) { SbxVariable* pVar = (SbxVariable*)pSBX; SbxDataType eType = pVar->GetType(); - if ( (BYTE)eType == (BYTE)SbxOBJECT ) + if ( eType == SbxOBJECT ) { // Kann zu Absturz, z.B. bei Selections-Objekt fuehren // Type == Object heisst nicht, dass pVar == Object! @@ -626,7 +639,7 @@ IMPL_LINK( TextEditImp, ShowVarContents, void*, EMPTYARG ) } else if ( eType & SbxARRAY ) aHelpText = CUniString("{...}"); - else if ( (BYTE)eType != (BYTE)SbxEMPTY ) + else if ( eType != SbxEMPTY ) { aHelpText = pVar->GetName(); if ( !aHelpText.Len() ) // Bei Uebergabeparametern wird der Name nicht kopiert @@ -764,8 +777,14 @@ void TextEdit::Highlight( ULONG nLine, xub_StrLen nCol1, xub_StrLen nCol2 ) } } - aEdit.pTextView->SetSelection( TextSelection(TextPaM(nLine,nCol2+1)) ); + aEdit.ViewMoved(); aEdit.pTextView->SetSelection( TextSelection(TextPaM(nLine,nCol2+1), TextPaM(nLine,nCol1)) ); + if ( aEdit.ViewMoved() ) + { + aEdit.pTextView->SetSelection( TextSelection(TextPaM(TEXT_PARA_ALL,1)) ); // fix #105169# + aEdit.pTextView->SetSelection( TextSelection(TextPaM((nLine>=2?nLine-2:0),nCol2+1)) ); + aEdit.pTextView->SetSelection( TextSelection(TextPaM(nLine,nCol2+1), TextPaM(nLine,nCol1)) ); + } } diff --git a/basic/source/app/textedit.hxx b/basic/source/app/textedit.hxx index 76d91b060452..c01b59c41066 100644 --- a/basic/source/app/textedit.hxx +++ b/basic/source/app/textedit.hxx @@ -2,9 +2,9 @@ * * $RCSfile: textedit.hxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: gh $ $Date: 2001-08-14 13:25:16 $ + * last change: $Author: hr $ $Date: 2003-03-18 16:28:26 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -120,6 +120,7 @@ private: Timer HideTipTimer; Timer ShowTipTimer; + BOOL bViewMoved; public: TextEditImp( AppEdit *pParent, const WinBits& aBits ); @@ -141,6 +142,7 @@ public: //BOOL Drop( const DropEvent& rEvt ); //BOOL QueryDrop( DropEvent& rEvt ); + BOOL ViewMoved(); void DoDelayedSyntaxHighlight( xub_StrLen nPara ); void InvalidateSyntaxHighlight(); diff --git a/basic/source/app/ttmsg.src b/basic/source/app/ttmsg.src index e3538e900335..e42c9eacaba6 100644 --- a/basic/source/app/ttmsg.src +++ b/basic/source/app/ttmsg.src @@ -2,9 +2,9 @@ * * $RCSfile: ttmsg.src,v $ * - * $Revision: 1.38 $ + * $Revision: 1.39 $ * - * last change: $Author: gh $ $Date: 2002-10-21 11:17:45 $ + * last change: $Author: hr $ $Date: 2003-03-18 16:28:26 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses diff --git a/basic/source/basmgr/basmgr.cxx b/basic/source/basmgr/basmgr.cxx index 72f6923d2df5..6e5070c68d15 100644 --- a/basic/source/basmgr/basmgr.cxx +++ b/basic/source/basmgr/basmgr.cxx @@ -2,9 +2,9 @@ * * $RCSfile: basmgr.cxx,v $ * - * $Revision: 1.20 $ + * $Revision: 1.21 $ * - * last change: $Author: ab $ $Date: 2002-11-27 12:31:24 $ + * last change: $Author: hr $ $Date: 2003-03-18 16:28:29 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -199,7 +199,7 @@ BasicManagerImpl::~BasicManagerImpl() { for( sal_Int32 i = 0 ; i < mnLibStreamCount ; i++ ) delete mppLibStreams[i]; - delete mppLibStreams; + delete[] mppLibStreams; } } @@ -2608,8 +2608,8 @@ Type ModuleContainer_Impl::getElementType() sal_Bool ModuleContainer_Impl::hasElements() throw(RuntimeException) { - SbxArray* pMods = mpLib->GetModules(); - sal_Bool bRet = (pMods->Count() > 0); + SbxArray* pMods = mpLib ? mpLib->GetModules() : NULL; + sal_Bool bRet = pMods ? (pMods->Count() > 0) : sal_False; return bRet; } @@ -2617,7 +2617,7 @@ sal_Bool ModuleContainer_Impl::hasElements() Any ModuleContainer_Impl::getByName( const OUString& aName ) throw(NoSuchElementException, WrappedTargetException, RuntimeException) { - SbModule* pMod = mpLib->FindModule( aName ); + SbModule* pMod = mpLib ? mpLib->FindModule( aName ) : NULL; if( !pMod ) throw NoSuchElementException(); Reference< XStarBasicModuleInfo > xMod = (XStarBasicModuleInfo*)new ModuleInfo_Impl @@ -2630,8 +2630,8 @@ Any ModuleContainer_Impl::getByName( const OUString& aName ) Sequence< OUString > ModuleContainer_Impl::getElementNames() throw(RuntimeException) { - SbxArray* pMods = mpLib->GetModules(); - USHORT nMods = pMods->Count(); + SbxArray* pMods = mpLib ? mpLib->GetModules() : NULL; + USHORT nMods = pMods ? pMods->Count() : 0; Sequence< OUString > aRetSeq( nMods ); OUString* pRetSeq = aRetSeq.getArray(); for( USHORT i = 0 ; i < nMods ; i++ ) @@ -2645,7 +2645,7 @@ Sequence< OUString > ModuleContainer_Impl::getElementNames() sal_Bool ModuleContainer_Impl::hasByName( const OUString& aName ) throw(RuntimeException) { - SbModule* pMod = mpLib->FindModule( aName ); + SbModule* pMod = mpLib ? mpLib->FindModule( aName ) : NULL; sal_Bool bRet = (pMod != NULL); return bRet; } @@ -2676,7 +2676,7 @@ void ModuleContainer_Impl::insertByName( const OUString& aName, const Any& aElem void ModuleContainer_Impl::removeByName( const OUString& Name ) throw(NoSuchElementException, WrappedTargetException, RuntimeException) { - SbModule* pMod = mpLib->FindModule( Name ); + SbModule* pMod = mpLib ? mpLib->FindModule( Name ) : NULL; if( !pMod ) throw NoSuchElementException(); mpLib->Remove( pMod ); diff --git a/basic/source/classes/disas.cxx b/basic/source/classes/disas.cxx index 96affd8a82e9..77ad1cf76ba1 100644 --- a/basic/source/classes/disas.cxx +++ b/basic/source/classes/disas.cxx @@ -2,9 +2,9 @@ * * $RCSfile: disas.cxx,v $ * - * $Revision: 1.5 $ + * $Revision: 1.6 $ * - * last change: $Author: mh $ $Date: 2001-10-17 18:47:21 $ + * last change: $Author: hr $ $Date: 2003-03-18 16:28:29 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -189,6 +189,7 @@ static const char* pOp3[] = { "GLOBAL_P", // Globale Variable definieren, die beim Neustart von Basic // nicht ueberschrieben wird, P=PERSIST (+StringID+Typ) "FIND_G", // Sucht globale Variable mit Spezialbehandlung wegen _GLOBAL_P + "DCREATE_REDIMP", // User defined Objekt-Array redimensionieren (+StringId+StringId) }; #ifdef MACOSX @@ -258,6 +259,7 @@ static const Func pOperand3[] = { MEMBER(SbiDisas::VarDefOp), // Globale Variable definieren, die beim Neustart von Basic // nicht ueberschrieben wird, P=PERSIST (+StringID+Typ) MEMBER(SbiDisas::VarOp), // Sucht globale Variable mit Spezialbehandlung wegen _GLOBAL_P + MEMBER(SbiDisas::Str2Op), // User defined Objekt-Array redimensionieren (+StringId+StringId) }; @@ -434,7 +436,7 @@ BOOL SbiDisas::DisasLine( String& rText ) n = s.Search( '\n' ); if( n != STRING_NOTFOUND ) bDone = FALSE, s.Erase( n, 1 ); } while( !bDone ); -// sprintf( cBuf, pMask[ 0 ], nPC ); +// snprintf( cBuf, sizeof(cBuf), pMask[ 0 ], nPC ); // rText += cBuf; rText.AppendAscii( "; " ); rText += s; @@ -462,7 +464,7 @@ BOOL SbiDisas::DisasLine( String& rText ) break; } } - sprintf( cBuf, pMask[ 0 ], nPC ); + snprintf( cBuf, sizeof(cBuf), pMask[ 0 ], nPC ); rText.AppendAscii( cBuf ); if( p && *p ) { @@ -470,13 +472,13 @@ BOOL SbiDisas::DisasLine( String& rText ) } else { - sprintf( cBuf, "Lbl%04X", nPC ); + snprintf( cBuf, sizeof(cBuf), "Lbl%04X", nPC ); rText.AppendAscii( cBuf ); } rText += ':'; rText.AppendAscii( _crlf() ); } - sprintf( cBuf, pMask[ nParts ], nPC, (USHORT) eOp, nOp1, nOp2 ); + snprintf( cBuf, sizeof(cBuf), pMask[ nParts ], nPC, (USHORT) eOp, nOp1, nOp2 ); rText.AppendAscii( cBuf ); short n = eOp; if( eOp >= SbOP2_START ) @@ -503,7 +505,8 @@ BOOL SbiDisas::DisasLine( String& rText ) void SbiDisas::StrOp( String& rText ) { String aStr = rImg.GetString( nOp1 ); - const char* p = ByteString( aStr, gsl_getSystemTextEncoding() ).GetBuffer(); + ByteString aByteString( aStr, RTL_TEXTENCODING_ASCII_US ); + const char* p = aByteString.GetBuffer(); if( p ) { rText += '"'; @@ -548,7 +551,7 @@ void SbiDisas::OnOp( String& rText ) void SbiDisas::LblOp( String& rText ) { char cBuf[ 10 ]; - sprintf( cBuf, "Lbl%04X", nOp1 ); + snprintf( cBuf, sizeof(cBuf), "Lbl%04X", nOp1 ); rText.AppendAscii( cBuf ); } @@ -699,13 +702,13 @@ void SbiDisas::CaseOp( String& rText ) void SbiDisas::StmntOp( String& rText ) { - rText += nOp1; + rText += String::CreateFromInt32( nOp1 ); rText += ','; USHORT nCol = nOp2 & 0xFF; USHORT nFor = nOp2 / 0x100; - rText += nCol; + rText += String::CreateFromInt32( nCol ); rText.AppendAscii( " (For-Level: " ); - rText += nFor; + rText += String::CreateFromInt32( nFor ); rText += ')'; } @@ -714,7 +717,7 @@ void SbiDisas::StmntOp( String& rText ) void SbiDisas::StrmOp( String& rText ) { char cBuf[ 10 ]; - sprintf( cBuf, "%04X", nOp1 ); + snprintf( cBuf, sizeof(cBuf), "%04X", nOp1 ); rText.AppendAscii( cBuf ); if( nOp2 & SBSTRM_INPUT ) rText.AppendAscii( ", Input" ); diff --git a/basic/source/classes/image.cxx b/basic/source/classes/image.cxx index 55d60da524d9..f7e2454518c1 100644 --- a/basic/source/classes/image.cxx +++ b/basic/source/classes/image.cxx @@ -2,9 +2,9 @@ * * $RCSfile: image.cxx,v $ * - * $Revision: 1.6 $ + * $Revision: 1.7 $ * - * last change: $Author: gh $ $Date: 2001-11-13 13:45:56 $ + * last change: $Author: hr $ $Date: 2003-03-18 16:28:30 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -94,9 +94,9 @@ SbiImage::~SbiImage() void SbiImage::Clear() { - delete pStringOff; - delete pStrings; - delete pCode; + delete[] pStringOff; + delete[] pStrings; + delete[] pCode; pStringOff = NULL; pStrings = NULL; pCode = NULL; @@ -231,7 +231,7 @@ BOOL SbiImage::Load( SvStream& r ) String aStr( pByteStrings + nOff, eCharSet ); memcpy( pStrings + nOff, aStr.GetBuffer(), (aStr.Len() + 1) * sizeof( sal_Unicode ) ); } - delete pByteStrings; + delete[] pByteStrings; } break; case B_MODEND: goto done; @@ -317,7 +317,8 @@ BOOL SbiImage::Save( SvStream& r ) } r << (UINT32) nStringSize; r.Write( pByteStrings, nStringSize ); - delete pByteStrings; + + delete[] pByteStrings; SbiCloseRecord( r, nPos ); } // Und die Gesamtlaenge setzen @@ -372,7 +373,7 @@ void SbiImage::AddString( const String& r ) if( p ) { memcpy( p, pStrings, nStringSize * sizeof( sal_Unicode ) ); - delete pStrings; + delete[] pStrings; pStrings = p; nStringSize = nNewLen; } diff --git a/basic/source/classes/makefile.mk b/basic/source/classes/makefile.mk index 94b0c8607d3e..e7395bd87896 100644 --- a/basic/source/classes/makefile.mk +++ b/basic/source/classes/makefile.mk @@ -2,9 +2,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.9 $ +# $Revision: 1.10 $ # -# last change: $Author: hjs $ $Date: 2002-04-16 15:30:44 $ +# last change: $Author: hr $ $Date: 2003-03-18 16:28:30 $ # # The Contents of this file are made available subject to the terms of # either of the following licenses @@ -91,17 +91,9 @@ OBJFILES= \ SRCFILES= sb.src -SECOND_BUILD=BASICLIGHT -BASICLIGHT_SLOFILES= $(SLO)$/eventatt.obj -BASICLIGHTCDEFS+=-DNO_XMLSCRIPT - - LIB1TARGET= $(SLB)$/$(TARGET).lib LIB1OBJFILES = $(SLOFILES) -LIB2TARGET= $(SLB)$/$(TARGET)l.lib -LIB2OBJFILES = $(REAL_BASICLIGHT_SLOFILES) $(COMMON_SLOFILES) - # --- Targets ------------------------------------------------------------- .INCLUDE : target.mk diff --git a/basic/source/classes/propacc.cxx b/basic/source/classes/propacc.cxx index f6878a7a7f5d..9407f4ba5b77 100644 --- a/basic/source/classes/propacc.cxx +++ b/basic/source/classes/propacc.cxx @@ -2,9 +2,9 @@ * * $RCSfile: propacc.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: ab $ $Date: 2002-04-29 11:26:00 $ + * last change: $Author: hr $ $Date: 2003-03-18 16:28:30 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses diff --git a/basic/source/classes/sb.cxx b/basic/source/classes/sb.cxx index b4a0d7f6fbc2..92140f2da642 100644 --- a/basic/source/classes/sb.cxx +++ b/basic/source/classes/sb.cxx @@ -2,9 +2,9 @@ * * $RCSfile: sb.cxx,v $ * - * $Revision: 1.9 $ + * $Revision: 1.10 $ * - * last change: $Author: ab $ $Date: 2002-12-06 15:50:57 $ + * last change: $Author: hr $ $Date: 2003-03-18 16:28:30 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -59,7 +59,7 @@ * ************************************************************************/ -#include <stdio.h> // sprintf() +#include <stdio.h> #pragma hdrstop #include "sb.hxx" @@ -1029,7 +1029,7 @@ BOOL StarBASIC::LoadData( SvStream& r, USHORT nVer ) if( pVar ) pObjs->Remove( pVar ); } - delete ppDeleteTab; + delete[] ppDeleteTab; UINT16 nMod; pModules->Clear(); @@ -1082,5 +1082,3 @@ BOOL StarBASIC::LoadOldModules( SvStream& r ) { return FALSE; } - - diff --git a/basic/source/classes/sb.src b/basic/source/classes/sb.src index a5e8dde0dc3d..2ad992f7aa81 100644 --- a/basic/source/classes/sb.src +++ b/basic/source/classes/sb.src @@ -2,9 +2,9 @@ * * $RCSfile: sb.src,v $ * - * $Revision: 1.33 $ + * $Revision: 1.34 $ * - * last change: $Author: os $ $Date: 2002-10-07 13:13:07 $ + * last change: $Author: hr $ $Date: 2003-03-18 16:28:31 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -82,19 +82,20 @@ Resource RID_BASIC_START Text [ swedish ] = "Syntaxfel" ; Text [ finnish ] = "Syntaksivirhe" ; Text [ english_us ] = "Syntax error" ; - Text[ chinese_simplified ] = ""; + Text[ chinese_simplified ] = "语法错误"; Text[ russian ] = " "; Text[ polish ] = "Bd skadni"; - Text[ japanese ] = "װ"; - Text[ chinese_traditional ] = "yk~"; + Text[ japanese ] = "シンタックスエラー"; + Text[ chinese_traditional ] = "語法錯誤"; Text[ arabic ] = " "; Text[ dutch ] = "Syntaxisfout"; - Text[ chinese_simplified ] = ""; + Text[ chinese_simplified ] = "语法错误"; Text[ greek ] = " "; - Text[ korean ] = " "; + Text[ korean ] = "구문 오류"; Text[ turkish ] = "Szdizim hatas"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Error de sintaxis"; + Text[ catalan ] = "Error de sintaxi"; + Text[ thai ] = "ไวยกรณ์ผิดพลาด"; }; String SbERR_NO_GOSUB & ERRCODE_RES_MASK { @@ -109,21 +110,22 @@ Resource RID_BASIC_START Text [ spanish ] = "Retorno sin Gosub" ; Text [ danish ] = "Return uden Gosub" ; Text [ swedish ] = "Return utan Gosub" ; - Text [ finnish ] = "Takaisin ilman Gosub-komentoa" ; + Text [ finnish ] = "Return-komento ilman Gosub-komentoa" ; Text [ english_us ] = "Return without Gosub" ; - Text[ chinese_simplified ] = "Return Gosub"; + Text[ chinese_simplified ] = "Return 不带 Gosub"; Text[ russian ] = " Gosub"; Text[ polish ] = "Powrt bez Gosub"; Text[ japanese ] = "Return without Gosub"; - Text[ chinese_traditional ] = "Return a Gosub"; + Text[ chinese_traditional ] = "Return 不帶 Gosub"; Text[ arabic ] = "Gosub Return"; Text[ dutch ] = "Return zonder Gosub"; - Text[ chinese_simplified ] = "Return Gosub"; + Text[ chinese_simplified ] = "Return 不带 Gosub"; Text[ greek ] = "Return Gosub"; - Text[ korean ] = "Gosub "; + Text[ korean ] = "Gosub 없는 Return"; Text[ turkish ] = "Gosub olmadan return"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Retorno sin Gosub"; + Text[ catalan ] = "Return sense Gosub"; + Text[ thai ] = "ส่งกลับโดยไม่มี Gosub"; }; String SbERR_REDO_FROM_START & ERRCODE_RES_MASK { @@ -138,21 +140,22 @@ Resource RID_BASIC_START Text [ spanish ] = "Entrada incorrecta. Intntelo otra vez" ; Text [ danish ] = "Forkert input, gentag venligst" ; Text [ swedish ] = "Felaktig inmatning, var vnlig upprepa" ; - Text [ finnish ] = "Virheellinen merkint; yrit uudelleen" ; + Text [ finnish ] = "Virheellinen merkint: yrit uudelleen" ; Text [ english_us ] = "Incorrect entry; please retry" ; - Text[ chinese_simplified ] = "Чظ"; - Text[ russian ] = " , , "; + Text[ chinese_simplified ] = "输入无效,请重复。"; + Text[ russian ] = " ; "; Text[ polish ] = "Niepoprawny wpis, prosz ponowi"; - Text[ japanese ] = "͂܂Bx͂ĂB"; - Text[ chinese_traditional ] = "JLġMЭơC"; + Text[ japanese ] = "入力が正しくありません。もう一度入力し直してください。"; + Text[ chinese_traditional ] = "輸入無效﹐請重複。"; Text[ arabic ] = " ơ "; Text[ dutch ] = "Incorrecte gegevens, herhalen a.u.b."; - Text[ chinese_simplified ] = "Чظ"; + Text[ chinese_simplified ] = "输入无效,请重复。"; Text[ greek ] = " , "; - Text[ korean ] = "Է ߸Ǿϴ. ݺϽʽÿ."; + Text[ korean ] = "입력이 잘못되었습니다. 다시 시도해주십시오."; Text[ turkish ] = "Giri yanl, ltfen yeniden girin"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Entrada incorrecta. Intntelo otra vez"; + Text[ catalan ] = "Entrada incorrecta; si us plau, torneu-ho a provar"; + Text[ thai ] = "รายการไม่ถูกต้อง; กรุณาลองอีกครั้ง"; }; String SbERR_BAD_ARGUMENT & ERRCODE_RES_MASK { @@ -170,19 +173,20 @@ Resource RID_BASIC_START Text [ swedish ] = "Ogiltigt proceduranrop" ; Text [ finnish ] = "Virheellinen toimintokutsu" ; Text [ english_us ] = "Invalid procedure call" ; - Text[ chinese_simplified ] = "Чĵù"; - Text[ russian ] = " "; + Text[ chinese_simplified ] = "无效的调用过程"; + Text[ russian ] = " "; Text[ polish ] = "Nieprawidowa procedura wywoania"; - Text[ japanese ] = "ۼެ̌Ăяo"; - Text[ chinese_traditional ] = "եιL{L"; + Text[ japanese ] = "無効なプロシージャの呼び出し"; + Text[ chinese_traditional ] = "調用過程無效"; Text[ arabic ] = " "; Text[ dutch ] = "Ongeldige oproep van procedure"; - Text[ chinese_simplified ] = "Чĵù"; + Text[ chinese_simplified ] = "无效的调用过程"; Text[ greek ] = " "; - Text[ korean ] = "ȿ ν ȣ"; + Text[ korean ] = "잘못된 프로시저 호출"; Text[ turkish ] = "Geersiz yordam ars"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Inicio del proceso no vlido"; + Text[ catalan ] = "La crida al procediment no s vlida"; + Text[ thai ] = "เรียกกระบวนคำสั่งไม่ถูกต้อง"; }; String SbERR_MATH_OVERFLOW & ERRCODE_RES_MASK { @@ -200,19 +204,20 @@ Resource RID_BASIC_START Text [ swedish ] = "Spill" ; Text [ finnish ] = "Ylivuoto" ; Text [ english_us ] = "Overflow" ; - Text[ chinese_simplified ] = "ֵ"; + Text[ chinese_simplified ] = "溢值"; Text[ russian ] = ""; Text[ polish ] = "Przepenienie"; - Text[ japanese ] = "ް۰"; - Text[ chinese_traditional ] = ""; + Text[ japanese ] = "オーバーフロー"; + Text[ chinese_traditional ] = "溢值"; Text[ arabic ] = ""; Text[ dutch ] = "Overloop"; - Text[ chinese_simplified ] = "ֵ"; + Text[ chinese_simplified ] = "溢值"; Text[ greek ] = ""; - Text[ korean ] = "ħ"; + Text[ korean ] = "오버플로우"; Text[ turkish ] = "Tama"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Desbordamiento"; + Text[ catalan ] = "Sobreeiximent"; + Text[ thai ] = "ล้น"; }; String SbERR_NO_MEMORY & ERRCODE_RES_MASK { @@ -228,21 +233,22 @@ Resource RID_BASIC_START Text [ spanish ] = "No hay memoria suficiente" ; Text [ danish ] = "Ikke tilstrkkelig hukommelse" ; Text [ swedish ] = "Inte tillrckligt med minne" ; - Text [ finnish ] = "Ei tarpeeksi muistia" ; + Text [ finnish ] = "Muisti ei riit" ; Text [ english_us ] = "Not enough memory" ; - Text[ chinese_simplified ] = "ڴ治"; + Text[ chinese_simplified ] = "内存不足"; Text[ russian ] = " "; Text[ polish ] = "Za mao pamici"; - Text[ japanese ] = "؋eʂ̕s"; - Text[ chinese_traditional ] = "O餣"; + Text[ japanese ] = "ディスク空き容量の不足"; + Text[ chinese_traditional ] = "記憶體不足"; Text[ arabic ] = " "; Text[ dutch ] = "Onvoldoende geheugen"; - Text[ chinese_simplified ] = "ڴ治"; + Text[ chinese_simplified ] = "内存不足"; Text[ greek ] = " "; - Text[ korean ] = " "; + Text[ korean ] = "메모리가 부족합니다."; Text[ turkish ] = "Bellek yeterli deil"; Text[ language_user1 ] = " "; - Text[ catalan ] = "No hay memoria suficiente"; + Text[ catalan ] = "Memria insuficient"; + Text[ thai ] = "หน่วยความจำไม่เพียงพอ"; }; String SbERR_ALREADY_DIM & ERRCODE_RES_MASK { @@ -254,24 +260,25 @@ Resource RID_BASIC_START Text [ portuguese ] = "A matriz j foi dimensionada" ; Text [ french ] = "Array dj dimensionn" ; Text [ dutch ] = "Het aantal dimensies van de matrix is al bepaald" ; - Text [ spanish ] = "Array ya dimensionado" ; + Text [ spanish ] = "Matriz ya dimensionada" ; Text [ danish ] = "Array er allerede dimensioneret" ; Text [ swedish ] = "Array redan dimensionerad" ; - Text [ finnish ] = "Matriisitaulukon ulottuvuudet on jo mritetty" ; + Text [ finnish ] = "Taulukon ulottuvuudet on jo mritetty." ; Text [ english_us ] = "Array already dimensioned" ; - Text[ chinese_simplified ] = "Ѿ߶"; + Text[ chinese_simplified ] = "数组已经被定尺度"; Text[ russian ] = " "; Text[ polish ] = "Macierz ju zostaa zwymiarowana"; - Text[ japanese ] = "z̎ς"; - Text[ chinese_traditional ] = "Cwg]wnƭ"; + Text[ japanese ] = "配列の次元化済み"; + Text[ chinese_traditional ] = "行列已經設定好數值"; Text[ arabic ] = " "; Text[ dutch ] = "Het aantal dimensies van de matrix is al bepaald"; - Text[ chinese_simplified ] = "Ѿ߶"; + Text[ chinese_simplified ] = "数组已经被定尺度"; Text[ greek ] = " "; - Text[ korean ] = "迭 ũⰡ ̹ "; + Text[ korean ] = "배열의 차원화 지정됨"; Text[ turkish ] = "Dizi boyutlandrlm durumda"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Array ya dimensionado"; + Text[ catalan ] = "La matriu ja est dimensionada"; + Text[ thai ] = "แถวลำดับมีมิติอยู่แล้ว"; }; String SbERR_OUT_OF_RANGE & ERRCODE_RES_MASK { @@ -287,21 +294,22 @@ Resource RID_BASIC_START Text [ spanish ] = "El ndice se encuentra fuera del rea definida" ; Text [ danish ] = "Indeks udenfor det definerede omrde" ; Text [ swedish ] = "Index utanfr definierat omrde" ; - Text [ finnish ] = "Hakemisto mritetyn alueen ulkopuolella" ; + Text [ finnish ] = "Jrjestysnumero mritetyn alueen ulkopuolella" ; Text [ english_us ] = "Index out of defined range" ; - Text[ chinese_simplified ] = "巶Χ֮"; - Text[ russian ] = " "; + Text[ chinese_simplified ] = "定义范围之外的索引"; + Text[ russian ] = " "; Text[ polish ] = "Indeks poza zdefiniowanym obszarem"; - Text[ japanese ] = "`ꂽ͈͊O̲ޯ"; - Text[ chinese_traditional ] = "wqd~"; + Text[ japanese ] = "定義された範囲外のインデックス"; + Text[ chinese_traditional ] = "定義範圍之外的索引"; Text[ arabic ] = " "; Text[ dutch ] = "Index buiten gedefinieerd bereik"; - Text[ chinese_simplified ] = "巶Χ֮"; + Text[ chinese_simplified ] = "定义范围之外的索引"; Text[ greek ] = " ."; - Text[ korean ] = "ǵ "; + Text[ korean ] = "지정된 범위 외부에 있는 색인"; Text[ turkish ] = "Dizin tanmlanan araln dnda"; Text[ language_user1 ] = " "; - Text[ catalan ] = "El ndice se encuentra fuera del rea definida"; + Text[ catalan ] = "ndex fora de l'rea definida"; + Text[ thai ] = "ดัชนีไม่มีการระบุช่วง"; }; String SbERR_DUPLICATE_DEF & ERRCODE_RES_MASK { @@ -313,24 +321,25 @@ Resource RID_BASIC_START Text [ portuguese ] = "Definio dupla" ; Text [ french ] = "Dfinition faisant double emploi" ; Text [ dutch ] = "Dubbele definitie" ; - Text [ spanish ] = "La definicin existe dos veces" ; + Text [ spanish ] = "Definicin doble" ; Text [ danish ] = "Dobbelt foreliggende definition" ; Text [ swedish ] = "Dubbelt frekommande definition" ; - Text [ finnish ] = "Kopioi mritelm" ; + Text [ finnish ] = "Kaksinkertainen mritelm" ; Text [ english_us ] = "Duplicate definition" ; - Text[ chinese_simplified ] = "˫ض"; - Text[ russian ] = " "; + Text[ chinese_simplified ] = "存在双重定义"; + Text[ russian ] = " "; Text[ polish ] = "Zduplikowana definicja"; - Text[ japanese ] = "d`"; - Text[ chinese_traditional ] = "sbwq"; + Text[ japanese ] = "重複した定義"; + Text[ chinese_traditional ] = "存在雙重定義"; Text[ arabic ] = " "; Text[ dutch ] = "Dubbele definitie"; - Text[ chinese_simplified ] = "˫ض"; + Text[ chinese_simplified ] = "存在双重定义"; Text[ greek ] = " "; - Text[ korean ] = "ߺ "; + Text[ korean ] = "중복된 정의"; Text[ turkish ] = "ift tanmlama"; Text[ language_user1 ] = " "; - Text[ catalan ] = "La definicin existe dos veces"; + Text[ catalan ] = "Definici duplicada"; + Text[ thai ] = "ทำคำจำกัดความซ้ำ"; }; String SbERR_ZERODIV & ERRCODE_RES_MASK { @@ -347,19 +356,20 @@ Resource RID_BASIC_START Text [ swedish ] = "Division med noll" ; Text [ finnish ] = "Jako nollalla" ; Text [ english_us ] = "Division by zero" ; - Text[ chinese_simplified ] = ""; + Text[ chinese_simplified ] = "除于零"; Text[ russian ] = " "; Text[ polish ] = "Dzielenie przez zero"; - Text[ japanese ] = "ۂɂ鏜Z"; - Text[ chinese_traditional ] = "_s"; + Text[ japanese ] = "ゼロによる除算"; + Text[ chinese_traditional ] = "除於零"; Text[ arabic ] = " "; Text[ dutch ] = "Delen door nul"; - Text[ chinese_simplified ] = ""; + Text[ chinese_simplified ] = "除于零"; Text[ greek ] = " "; - Text[ korean ] = "0 "; + Text[ korean ] = "0으로 나누기"; Text[ turkish ] = "Sfra blme"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Divisin por cero"; + Text[ catalan ] = "Divisi per zero"; + Text[ thai ] = "แบ่งโดยศูนย์"; }; String SbERR_VAR_UNDEFINED & ERRCODE_RES_MASK { @@ -370,25 +380,26 @@ Resource RID_BASIC_START Text [ portuguese_brazilian ] = "Variable not defined" ; Text [ portuguese ] = "Varivel no definida" ; Text [ french ] = "Variable indfinie" ; - Text [ dutch ] = "Een variabele is niet gedefinieerd" ; + Text [ dutch ] = "Er is geen variabele gedefinieerd" ; Text [ spanish ] = "Variable no definida" ; Text [ danish ] = "Variablen er ikke defineret" ; Text [ swedish ] = "Variabel inte definierad" ; - Text [ finnish ] = "Muuttujaa ei mritetty" ; + Text [ finnish ] = "Muuttujaa ei ole mritetty." ; Text [ english_us ] = "Variable not defined" ; - Text[ chinese_simplified ] = "ûж"; + Text[ chinese_simplified ] = "没有定义变数"; Text[ russian ] = " "; Text[ polish ] = "Zmienna nie zdefiniowana"; - Text[ japanese ] = "ϐ̖`"; - Text[ chinese_traditional ] = "S]wܶq"; + Text[ japanese ] = "変数の未定義"; + Text[ chinese_traditional ] = "沒有設定變量"; Text[ arabic ] = " "; - Text[ dutch ] = "Een variabele is niet gedefinieerd"; - Text[ chinese_simplified ] = "ûж"; + Text[ dutch ] = "Er is geen variabele gedefinieerd"; + Text[ chinese_simplified ] = "没有定义变数"; Text[ greek ] = " "; - Text[ korean ] = " "; + Text[ korean ] = "변수 정의되지 않음"; Text[ turkish ] = "Deiken tanmlanmad"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Variable no definida"; + Text[ catalan ] = "No s'ha definit la variable"; + Text[ thai ] = "ไม่้ระบุตัวแปร"; }; String SbERR_CONVERSION & ERRCODE_RES_MASK { @@ -404,21 +415,22 @@ Resource RID_BASIC_START Text [ spanish ] = "Los tipos de datos no coinciden" ; Text [ danish ] = "Datatyper er uforenelige" ; Text [ swedish ] = "Datatyper passar inte ihop" ; - Text [ finnish ] = "Tietolajit eivt tsm" ; + Text [ finnish ] = "Tietolajit eivt tsm." ; Text [ english_us ] = "Data type mismatch" ; - Text[ chinese_simplified ] = "Ͳƥ"; - Text[ russian ] = " "; + Text[ chinese_simplified ] = "数据类型不匹配"; + Text[ russian ] = " "; Text[ polish ] = "Niezgodne typy danych"; - Text[ japanese ] = "ް̎ނɋȂ"; - Text[ chinese_traditional ] = "ǰt"; + Text[ japanese ] = "データの種類に協調性なし"; + Text[ chinese_traditional ] = "資料類型不匹配"; Text[ arabic ] = " "; Text[ dutch ] = "Gegevenstypen komen niet overeen"; - Text[ chinese_simplified ] = "Ͳƥ"; + Text[ chinese_simplified ] = "数据类型不匹配"; Text[ greek ] = " "; - Text[ korean ] = " ʽϴ."; + Text[ korean ] = "데이터 형식이 맞지 않습니다."; Text[ turkish ] = "Veri tipleri arasnda uyumazlk"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Los tipos de datos no coinciden"; + Text[ catalan ] = "Els tipus de dades no coincideixen"; + Text[ thai ] = "ชนิดข้อมูลไม่เข้ากัน"; }; String SbERR_BAD_PARAMETER & ERRCODE_RES_MASK { @@ -436,19 +448,20 @@ Resource RID_BASIC_START Text [ swedish ] = "Ogiltig parameter" ; Text [ finnish ] = "Virheellinen parametri" ; Text [ english_us ] = "Invalid parameter" ; - Text[ chinese_simplified ] = "Ч"; - Text[ russian ] = " "; + Text[ chinese_simplified ] = "无效的助变数"; + Text[ russian ] = " "; Text[ polish ] = "Nieprawidowy parametr"; - Text[ japanese ] = "Ұ"; - Text[ chinese_traditional ] = "UܼƵL"; + Text[ japanese ] = "無効なパラメータ"; + Text[ chinese_traditional ] = "助變數無效"; Text[ arabic ] = " "; Text[ dutch ] = "Ongeldige parameter"; - Text[ chinese_simplified ] = "Ч"; + Text[ chinese_simplified ] = "无效的助变数"; Text[ greek ] = " "; - Text[ korean ] = "ȿ Ķ"; + Text[ korean ] = "잘못된 매개 변수"; Text[ turkish ] = "Geersiz parametre"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Parmetro no vlido"; + Text[ catalan ] = "El parmetre no s vlid"; + Text[ thai ] = "พารามิเตอร์ไม่ถูกต้อง"; }; String SbERR_USER_ABORT & ERRCODE_RES_MASK { @@ -460,24 +473,25 @@ Resource RID_BASIC_START Text [ portuguese ] = "O processo foi interrompido pelo utilizador" ; Text [ french ] = "Processus interrompu par l'utilisateur" ; Text [ dutch ] = "Onderbreking door gebruiker" ; - Text [ spanish ] = "El proceso ha sido interrumpido por el usuario" ; + Text [ spanish ] = "El usuario ha interrumpido el proceso " ; Text [ danish ] = "Processen blev afbrudt af brugeren" ; Text [ swedish ] = "Anvndaren avslutade frloppet" ; Text [ finnish ] = "Kyttj keskeytti toiminnon" ; Text [ english_us ] = "Process interrupted by user" ; - Text[ chinese_simplified ] = "ʹж̡"; + Text[ chinese_simplified ] = "使用者中断运算过程。"; Text[ russian ] = " "; Text[ polish ] = "Proces zosta przerwany przez uytkownika"; - Text[ japanese ] = "հްɂĒf܂"; - Text[ chinese_traditional ] = "ϥΪ̤_BL{C"; + Text[ japanese ] = "処理はユーザーによって中断されました"; + Text[ chinese_traditional ] = "使用者中斷運算過程。"; Text[ arabic ] = " "; Text[ dutch ] = "Onderbreking door gebruiker"; - Text[ chinese_simplified ] = "ʹж̡"; + Text[ chinese_simplified ] = "使用者中断运算过程。"; Text[ greek ] = " "; - Text[ korean ] = "ڿ ߴܵ"; + Text[ korean ] = "사용자에 의해 프로세스가 중단되었습니다."; Text[ turkish ] = "Sre kullanc tarafndan kesildi"; Text[ language_user1 ] = " "; - Text[ catalan ] = "El proceso ha sido interrumpido por el usuario"; + Text[ catalan ] = "El procs ha estat interromput per l'usuari"; + Text[ thai ] = "ผู้ใช้ขัดจังหวะกระบวนการทำงาน"; }; String SbERR_BAD_RESUME & ERRCODE_RES_MASK { @@ -492,21 +506,22 @@ Resource RID_BASIC_START Text [ spanish ] = "Resumen sin error" ; Text [ danish ] = "Resume uden fejl" ; Text [ swedish ] = "Resume utan fel" ; - Text [ finnish ] = "Jatka ilman virheit" ; + Text [ finnish ] = "Jatka ilman virheit." ; Text [ english_us ] = "Resume without error" ; - Text[ chinese_simplified ] = "Resume error"; - Text[ russian ] = " "; + Text[ chinese_simplified ] = "Resume 不带 error"; + Text[ russian ] = " "; Text[ polish ] = "Resume bez bdu"; Text[ japanese ] = "Resume without error"; - Text[ chinese_traditional ] = "Resume a error"; + Text[ chinese_traditional ] = "Resume 不帶 error"; Text[ arabic ] = " "; Text[ dutch ] = "Hervatten zonder fout"; - Text[ chinese_simplified ] = "Resume error"; + Text[ chinese_simplified ] = "Resume 不带 error"; Text[ greek ] = " "; - Text[ korean ] = " 簳"; - Text[ turkish ] = "Resume ohne Fehler"; + Text[ korean ] = "Resume without error"; + Text[ turkish ] = " "; Text[ language_user1 ] = " "; - Text[ catalan ] = "Resumen sin error"; + Text[ catalan ] = "Resume sense error"; + Text[ thai ] = "ทำต่อไปโดยไม่มีข้อผิดพลาด"; }; String SbERR_STACK_OVERFLOW & ERRCODE_RES_MASK { @@ -524,19 +539,20 @@ Resource RID_BASIC_START Text [ swedish ] = "Inte tillrckligt med stapelminne" ; Text [ finnish ] = "Ei tarpeeksi pinomuistia" ; Text [ english_us ] = "Not enough stack memory" ; - Text[ chinese_simplified ] = "ջʽڴ治"; - Text[ russian ] = " "; + Text[ chinese_simplified ] = "栈式内存不足"; + Text[ russian ] = " "; Text[ polish ] = "Za mao pamici stosowej"; - Text[ japanese ] = "s\\Ƚ"; - Text[ chinese_traditional ] = "|O餣"; + Text[ japanese ] = "不十分なスタックメモリ"; + Text[ chinese_traditional ] = "堆疊式記憶體不足"; Text[ arabic ] = " "; Text[ dutch ] = "Niet genoeg stack"; - Text[ chinese_simplified ] = "ջʽڴ治"; + Text[ chinese_simplified ] = "栈式内存不足"; Text[ greek ] = " "; - Text[ korean ] = " "; + Text[ korean ] = "스택 메모리 부족"; Text[ turkish ] = "Yn bellek yeterli deil"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Desbordamiento de pila"; + Text[ catalan ] = "No hi ha prou memria de pila"; + Text[ thai ] = "หน่วยความจำที่เรียงทับซ้อนไม่เพียงพอ"; }; String SbERR_PROC_UNDEFINED & ERRCODE_RES_MASK { @@ -553,19 +569,20 @@ Resource RID_BASIC_START Text [ swedish ] = "Sub- eller funktionsproceduren inte definierad" ; Text [ finnish ] = "Alitoimintoa tai funktiotoimintoa ei ole mritetty" ; Text [ english_us ] = "Sub-procedure or function procedure not defined" ; - Text[ chinese_simplified ] = "ûжֹ̻"; - Text[ russian ] = " "; + Text[ chinese_simplified ] = "没有定义分过程或函数过程"; + Text[ russian ] = " "; Text[ polish ] = "Nie zdefiniowano procedury podrzdnej lub funkcyjnej"; - Text[ japanese ] = "Sub ܂ Function ۼެ̖`"; - Text[ chinese_traditional ] = "SwqL{ΨƹL{"; + Text[ japanese ] = "Sub または Function プロシージャの未定義"; + Text[ chinese_traditional ] = "沒有定義分過程或函數過程"; Text[ arabic ] = " "; Text[ dutch ] = "Sub- of functieprocedure niet gedefinieerd"; - Text[ chinese_simplified ] = "ûжֹ̻"; + Text[ chinese_simplified ] = "没有定义分过程或函数过程"; Text[ greek ] = " (Sub) (Function)"; - Text[ korean ] = "ǵ ν Ǵ ν"; + Text[ korean ] = "서브 프로시저 또는 기능 프로시저가 정의되지 않음"; Text[ turkish ] = "Alt yordam ya da ilev yordam tanmlanmad"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Procedimiento de funcin o subordinado no definido"; + Text[ catalan ] = "No s'ha definit el subprocediment o el procediment de la funci"; + Text[ thai ] = "ไม่้ระบุกระบวนคำสั่งย่อยหรือกระบวนฟังก์ชั่น"; }; String SbERR_BAD_DLL_LOAD & ERRCODE_RES_MASK { @@ -576,25 +593,26 @@ Resource RID_BASIC_START Text [ portuguese_brazilian ] = "Error in loading DLL" ; Text [ portuguese ] = "Erro ao carregar um ficheiro DLL" ; Text [ french ] = "Erreur lors du chargement d'un fichier DLL" ; - Text [ dutch ] = "Fout bei laden van DLL-bestand" ; + Text [ dutch ] = "Fout bij laden van DLL-bestand" ; Text [ spanish ] = "Error al cargar un archivo DDL" ; Text [ danish ] = "Fejl ved indlsning af DLL-fil" ; Text [ swedish ] = "Fel vid laddning av DLL-fil" ; Text [ finnish ] = "Virhe ladattaessa DLL-tiedostoa" ; Text [ english_us ] = "Error loading DLL file" ; - Text[ chinese_simplified ] = "װ DLL ļʱ"; - Text[ russian ] = " DLL"; + Text[ chinese_simplified ] = "装入 DLL 文件时发生错误"; + Text[ russian ] = " DLL"; Text[ polish ] = "Bd przy adowaniu pliku DLL"; - Text[ japanese ] = "DLĻٓǂݍݎ̴װ"; - Text[ chinese_traditional ] = "JDLLɮɵoͿ~"; + Text[ japanese ] = "DLLファイル読み込み時のエラー"; + Text[ chinese_traditional ] = "載入DLL檔案時發生錯誤"; Text[ arabic ] = "DLL "; - Text[ dutch ] = "Fout bei laden van DLL-bestand"; - Text[ chinese_simplified ] = "װ DLL ļʱ"; + Text[ dutch ] = "Fout bij laden van DLL-bestand"; + Text[ chinese_simplified ] = "装入 DLL 文件时发生错误"; Text[ greek ] = " DLL"; - Text[ korean ] = "DLL εÿ "; + Text[ korean ] = "DLL 파일 로드 중 오류"; Text[ turkish ] = "DLL dosyasn ykleme srasnda hata"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Error al cargar un archivo DDL"; + Text[ catalan ] = "S'ha produt un error en carregar el fitxer DLL"; + Text[ thai ] = "โหลดแฟ้ม DLL ผิดพลาด"; }; String SbERR_BAD_DLL_CALL & ERRCODE_RES_MASK { @@ -611,19 +629,20 @@ Resource RID_BASIC_START Text [ swedish ] = "Fel DLL-anropskonvention" ; Text [ finnish ] = "Vr DLL-kutsumuoto" ; Text [ english_us ] = "Wrong DLL call convention" ; - Text[ chinese_simplified ] = " DLLԼ"; - Text[ russian ] = " DLL"; + Text[ chinese_simplified ] = "错误的 DLL调用约定"; + Text[ russian ] = " (call convention) DLL"; Text[ polish ] = "Nieprawidowa konwencja wywoania DLL"; - Text[ japanese ] = "ȂDLLĂяo"; - Text[ chinese_traditional ] = "~DLLեάw"; + Text[ japanese ] = "正しくないDLL呼び出し慣例"; + Text[ chinese_traditional ] = "錯誤的DLL調用約定"; Text[ arabic ] = " DLL "; Text[ dutch ] = "Foutieve DLL-oproepconventie"; - Text[ chinese_simplified ] = " DLLԼ"; + Text[ chinese_simplified ] = "错误的 DLL调用约定"; Text[ greek ] = " DLL"; - Text[ korean ] = "Ʋ DLL ȣ "; + Text[ korean ] = "잘못된 DLL 호출 실행"; Text[ turkish ] = "Yanl DLL ar kural"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Convencin de la llamada DLL incorrecta"; + Text[ catalan ] = "Convenci errnia en la crida a la DLL"; + Text[ thai ] = " DLL เรียกแบบแผนผิด"; }; String SbERR_INTERNAL_ERROR & ERRCODE_RES_MASK { @@ -640,19 +659,20 @@ Resource RID_BASIC_START Text [ swedish ] = "Internt fel $(ARG1)" ; Text [ finnish ] = "Sisinen virhe $(ARG1)" ; Text [ english_us ] = "Internal error $(ARG1)" ; - Text[ chinese_simplified ] = "ڲ $(ARG1)"; - Text[ russian ] = " $(ARG1)"; + Text[ chinese_simplified ] = "内部错误 $(ARG1)"; + Text[ russian ] = " $(ARG1)"; Text[ polish ] = "Bd wewntrzny $(ARG1)"; - Text[ japanese ] = "װ$(ARG1)"; - Text[ chinese_traditional ] = "~$(ARG1)"; + Text[ japanese ] = "内部エラー$(ARG1)"; + Text[ chinese_traditional ] = "內部錯誤$(ARG1)"; Text[ arabic ] = "$(ARG1) "; Text[ dutch ] = "Interne fout $(ARG1)"; - Text[ chinese_simplified ] = "ڲ $(ARG1)"; + Text[ chinese_simplified ] = "内部错误 $(ARG1)"; Text[ greek ] = " $(ARG1)"; - Text[ korean ] = " $(ARG1)"; + Text[ korean ] = "내부 오류 $(ARG1)"; Text[ turkish ] = "Dahili hata $(ARG1)"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Error interno $(ARG1)"; + Text[ catalan ] = "Error intern $(ARG1)"; + Text[ thai ] = "ข้อผิดพลาดภายใน $(ARG1)"; }; String SbERR_BAD_CHANNEL & ERRCODE_RES_MASK { @@ -667,21 +687,22 @@ Resource RID_BASIC_START Text [ spanish ] = "Nombre o nmero incorrecto de archivo" ; Text [ danish ] = "Forkert filnavn eller -nummer" ; Text [ swedish ] = "Ogiltigt filnamn eller filnummer" ; - Text [ finnish ] = "Virheellinen tiedostonimi tai tiedostonumero" ; + Text [ finnish ] = "Virheellinen tiedoston nimi tai tiedoston numero" ; Text [ english_us ] = "Invalid file name or file number" ; - Text[ chinese_simplified ] = "Чļ"; - Text[ russian ] = " "; + Text[ chinese_simplified ] = "无效的文件或号码"; + Text[ russian ] = " "; Text[ polish ] = "Nazwa pliku lub numer nieprawidowe"; - Text[ japanese ] = "̧ٖ܂̧ٔԍsK"; - Text[ chinese_traditional ] = "LĪɮשθX"; + Text[ japanese ] = "ファイル名またはファイル番号が不適切"; + Text[ chinese_traditional ] = "無效的檔案或號碼"; Text[ arabic ] = " "; Text[ dutch ] = "Ongeldige bestandsnaam of -nummer"; - Text[ chinese_simplified ] = "Чļ"; + Text[ chinese_simplified ] = "无效的文件或号码"; Text[ greek ] = " "; - Text[ korean ] = " ̸ Ǵ ȣ Ʋ"; + Text[ korean ] = "파일 이름 또는 파일 번호가 잘못됨 "; Text[ turkish ] = "Dosya ad ya da numaras yanl"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Nombre o nmero incorrecto de archivo"; + Text[ catalan ] = "El nom o el nmero del fitxer s incorrecte"; + Text[ thai ] = "ชื่อหรือเลขที่แฟ้มไม่ถูกต้อง"; }; String SbERR_FILE_NOT_FOUND & ERRCODE_RES_MASK { @@ -696,21 +717,22 @@ Resource RID_BASIC_START Text [ spanish ] = "No se encuentra el archivo" ; Text [ danish ] = "Filen blev ikke fundet" ; Text [ swedish ] = "Filen hittades inte" ; - Text [ finnish ] = "Tiedostoa ei lydy" ; + Text [ finnish ] = "Tiedostoa ei lydy." ; Text [ english_us ] = "File not found" ; - Text[ chinese_simplified ] = "ûҵļ"; + Text[ chinese_simplified ] = "没有找到文件"; Text[ russian ] = " "; Text[ polish ] = "pliku nie znaleziono"; - Text[ japanese ] = "̧ق͌܂"; - Text[ chinese_traditional ] = "Sɮ"; + Text[ japanese ] = "ファイルは見つかりません"; + Text[ chinese_traditional ] = "沒有找到檔案"; Text[ arabic ] = " "; Text[ dutch ] = "Bestand niet gevonden"; - Text[ chinese_simplified ] = "ûҵļ"; + Text[ chinese_simplified ] = "没有找到文件"; Text[ greek ] = " "; - Text[ korean ] = "ã߽ϴ."; + Text[ korean ] = "파일을 찾지 못했습니다."; Text[ turkish ] = "Dosya bulunamad"; Text[ language_user1 ] = " "; - Text[ catalan ] = "No se encuentra el archivo"; + Text[ catalan ] = "No s'ha trobat el fitxer"; + Text[ thai ] = "ไม่พบแฟ้ม"; }; String SbERR_BAD_FILE_MODE & ERRCODE_RES_MASK { @@ -721,25 +743,26 @@ Resource RID_BASIC_START Text [ portuguese_brazilian ] = "Bad file mode" ; Text [ portuguese ] = "Modo do ficheiro incorrecto" ; Text [ french ] = "Mode de fichier incorrect" ; - Text [ dutch ] = "Onjuiste bestandsmodus" ; + Text [ dutch ] = "Foutieve bestandsmodus" ; Text [ spanish ] = "Modo de archivo incorrecto" ; Text [ danish ] = "Forkert filtilstand" ; Text [ swedish ] = "Fel fillge" ; Text [ finnish ] = "Virheellinen tiedostotila" ; Text [ english_us ] = "Incorrect file mode" ; - Text[ chinese_simplified ] = "ļģʽ"; + Text[ chinese_simplified ] = "错误的文件模式"; Text[ russian ] = " "; Text[ polish ] = "Niepoprawny tryb pliku"; - Text[ japanese ] = "̧ Ӱނ܂@@@@@@@@@@@@@"; - Text[ chinese_traditional ] = "~ɮҦ"; + Text[ japanese ] = "ファイル モードが正しくありません "; + Text[ chinese_traditional ] = "錯誤的檔案模式"; Text[ arabic ] = " "; - Text[ dutch ] = "Onjuiste bestandsmodus"; - Text[ chinese_simplified ] = "ļģʽ"; + Text[ dutch ] = "Foutieve bestandsmodus"; + Text[ chinese_simplified ] = "错误的文件模式"; Text[ greek ] = " "; - Text[ korean ] = " Ʋ"; + Text[ korean ] = "파일 모드가 올바르지 않습니다."; Text[ turkish ] = "Dosya kipi yanl"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Modo de archivo incorrecto"; + Text[ catalan ] = "Mode incorrecte del fitxer"; + Text[ thai ] = "โหมดแฟ้มไม่ถูกต้อง"; }; String SbERR_FILE_ALREADY_OPEN & ERRCODE_RES_MASK { @@ -755,21 +778,22 @@ Resource RID_BASIC_START Text [ spanish ] = "El archivo ya est abierto" ; Text [ danish ] = "Filen er allerede ben" ; Text [ swedish ] = "Filen r redan ppen" ; - Text [ finnish ] = "Tiedosto on jo avoinna" ; + Text [ finnish ] = "Tiedosto on jo avoinna." ; Text [ english_us ] = "File already open" ; - Text[ chinese_simplified ] = "Ѿļ"; + Text[ chinese_simplified ] = "已经打开文件"; Text[ russian ] = " "; Text[ polish ] = "Plik ju otworzony"; - Text[ japanese ] = "̧ق͂łɊJĂ܂"; - Text[ chinese_traditional ] = "wg}ɮ"; + Text[ japanese ] = "ファイルはすでに開かれています"; + Text[ chinese_traditional ] = "已經開啟檔案"; Text[ arabic ] = " "; Text[ dutch ] = "Bestand reeds geopend"; - Text[ chinese_simplified ] = "Ѿļ"; + Text[ chinese_simplified ] = "已经打开文件"; Text[ greek ] = " "; - Text[ korean ] = " ̹ ֽϴ."; + Text[ korean ] = "파일이 이미 열려있습니다."; Text[ turkish ] = "Dosya ak durumda"; Text[ language_user1 ] = " "; - Text[ catalan ] = "El archivo ya est abierto"; + Text[ catalan ] = "El fitxer ja s obert"; + Text[ thai ] = "แฟ้มเปิดอยู่แล้ว"; }; String SbERR_IO_ERROR & ERRCODE_RES_MASK { @@ -784,22 +808,23 @@ Resource RID_BASIC_START Text [ dutch ] = "I/O-fout in apparaat" ; Text [ spanish ] = "Error de dispositivo E/S" ; Text [ danish ] = "I/O-fejl i enhed" ; - Text [ swedish ] = "Apparat I/O-fel" ; + Text [ swedish ] = "I/O-fel i enhet" ; Text [ finnish ] = "Laitteen I/O-virhe" ; Text [ english_us ] = "Device I/O error" ; - Text[ chinese_simplified ] = "豸I/O"; - Text[ russian ] = " /"; + Text[ chinese_simplified ] = "设备发生I/O错误"; + Text[ russian ] = " /"; Text[ polish ] = "Bd We/Wy urzdzenia"; - Text[ japanese ] = "ި I/O װ"; - Text[ chinese_traditional ] = "]ƵoI/O~"; + Text[ japanese ] = "デバイス I/O エラー"; + Text[ chinese_traditional ] = "設備發生I/O錯誤"; Text[ arabic ] = " "; Text[ dutch ] = "I/O-fout in apparaat"; - Text[ chinese_simplified ] = "豸I/O"; + Text[ chinese_simplified ] = "设备发生I/O错误"; Text[ greek ] = " /"; - Text[ korean ] = "̽ I/O "; + Text[ korean ] = "I/O 장치 오류"; Text[ turkish ] = "Cihaz I/O hatas"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Error de dispositivo E/S"; + Text[ catalan ] = "Error d'E/S del dispositiu"; + Text[ thai ] = "อุปกรณ์ I/O ผิดพลาด"; }; String SbERR_FILE_EXISTS & ERRCODE_RES_MASK { @@ -809,26 +834,27 @@ Resource RID_BASIC_START Text [ italian ] = "File gi esistente" ; Text [ portuguese_brazilian ] = "File already exists" ; Text [ portuguese ] = "O ficheiro j existe" ; - Text [ french ] = "Fichier existant dj" ; + Text [ french ] = "Un fichier de ce nom existe dj." ; Text [ dutch ] = "Bestand bestaat reeds" ; Text [ spanish ] = "El archivo ya existe" ; Text [ danish ] = "Filen eksisterer allerede" ; Text [ swedish ] = "Filen existerar redan" ; - Text [ finnish ] = "Tiedosto on jo olemassa" ; + Text [ finnish ] = "Tiedosto on jo olemassa." ; Text [ english_us ] = "File already exists" ; - Text[ chinese_simplified ] = "ļѾ"; + Text[ chinese_simplified ] = "文件已经存在"; Text[ russian ] = " "; Text[ polish ] = "Plik ju istnieje"; - Text[ japanese ] = "̧ق͂łɂ܂"; - Text[ chinese_traditional ] = "ɮפwgsb"; + Text[ japanese ] = "ファイルはすでにあります"; + Text[ chinese_traditional ] = "檔案已經存在"; Text[ arabic ] = " "; Text[ dutch ] = "Bestand bestaat reeds"; - Text[ chinese_simplified ] = "ļѾ"; + Text[ chinese_simplified ] = "文件已经存在"; Text[ greek ] = " "; - Text[ korean ] = " ̹ մϴ."; + Text[ korean ] = "파일이 이미 있습니다."; Text[ turkish ] = "Dosya mevcut durumda"; Text[ language_user1 ] = " "; - Text[ catalan ] = "El archivo ya existe"; + Text[ catalan ] = "El fitxer ja existeix"; + Text[ thai ] = "มีแฟ้มอยู่แล้ว"; }; String SbERR_BAD_RECORD_LENGTH & ERRCODE_RES_MASK { @@ -840,25 +866,26 @@ Resource RID_BASIC_START Text [ portuguese_brazilian ] = "Bad record length" ; Text [ portuguese ] = "Comprimento do registo de dados incorrecto" ; Text [ french ] = "Longueur d'enregistrement incorrecte" ; - Text [ dutch ] = "Onjuiste record-lengte" ; - Text [ spanish ] = "Longitud errnea del registro de datos" ; + Text [ dutch ] = "Foutieve recordlengte" ; + Text [ spanish ] = "Longitud del registro de datos errnea " ; Text [ danish ] = "Forkert datapostlngde" ; Text [ swedish ] = "Felaktig datapostlngd" ; Text [ finnish ] = "Virheellinen tietuepituus" ; Text [ english_us ] = "Incorrect record length" ; - Text[ chinese_simplified ] = "Ŀȴ"; + Text[ chinese_simplified ] = "数据条目长度错误"; Text[ russian ] = " "; Text[ polish ] = "Niepoprawna dugo rekordw"; - Text[ japanese ] = "ںނ̒sK"; - Text[ chinese_traditional ] = "~Ʊت"; + Text[ japanese ] = "レコードの長さが不適切"; + Text[ chinese_traditional ] = "錯誤的資料條目長度"; Text[ arabic ] = " "; - Text[ dutch ] = "Onjuiste record-lengte"; - Text[ chinese_simplified ] = "Ŀȴ"; + Text[ dutch ] = "Foutieve recordlengte"; + Text[ chinese_simplified ] = "数据条目长度错误"; Text[ greek ] = " "; - Text[ korean ] = "Ʋ ڵ "; + Text[ korean ] = "잘못된 데이터 레코드 길이"; Text[ turkish ] = "Yanl veri kmesi uzunluu"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Longitud errnea del registro de datos"; + Text[ catalan ] = "Longitud incorrecta del registre"; + Text[ thai ] = "ความยาวของระเบียนไม่ถูกต้อง"; }; String SbERR_DISK_FULL & ERRCODE_RES_MASK { @@ -873,21 +900,22 @@ Resource RID_BASIC_START Text [ spanish ] = "Disquete o disco duro lleno" ; Text [ danish ] = "Disketten/harddisken er fuld" ; Text [ swedish ] = "Diskett eller hrddisk full" ; - Text [ finnish ] = "Levyke tai kovalevy tynn" ; + Text [ finnish ] = "Levyke tai kiintolevy tynn" ; Text [ english_us ] = "Disk or hard drive full" ; - Text[ chinese_simplified ] = "̻Ӳ"; - Text[ russian ] = " "; + Text[ chinese_simplified ] = "软盘或硬盘已满"; + Text[ russian ] = " "; Text[ polish ] = "Dyskietka/Dysk twardy s pene"; - Text[ japanese ] = "ۯ߰ި܂ʰިς"; - Text[ chinese_traditional ] = "nϽLκϽLw"; + Text[ japanese ] = "フロッピーディスクまたはハードディスクがいっぱい"; + Text[ chinese_traditional ] = "軟磁盤或磁盤已滿"; Text[ arabic ] = " / "; Text[ dutch ] = "Diskette/vaste schijf vol"; - Text[ chinese_simplified ] = "̻Ӳ"; + Text[ chinese_simplified ] = "软盘或硬盘已满"; Text[ greek ] = "/ "; - Text[ korean ] = "/ ϵ ũ á"; + Text[ korean ] = "디스켓/하드 디스크가 꽉 찼음"; Text[ turkish ] = "Disket/disk dolu"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Disquete o disco duro lleno"; + Text[ catalan ] = "El disc o el disc dur s ple"; + Text[ thai ] = "ดิสก์หรือฮาร์ดไดร้ฟ์เต็ม"; }; String SbERR_READ_PAST_EOF & ERRCODE_RES_MASK { @@ -900,24 +928,25 @@ Resource RID_BASIC_START Text [ portuguese ] = "Ler para alm do fim de ficheiro" ; Text [ french ] = "Lecture au-del de la fin du fichier" ; Text [ dutch ] = "Lezen overschrijdt bestandseinde" ; - Text [ spanish ] = "Seguir leyendo tras el final del archivo" ; + Text [ spanish ] = "Seguir leyendo ms all del final del archivo" ; Text [ danish ] = "Ls ud over filens slutning" ; Text [ swedish ] = "Lsning utver filens slut" ; - Text [ finnish ] = "Lukumritys ylitt tiedoston lopun" ; + Text [ finnish ] = "Lukumritys ylitt tiedoston lopun EOF-merkinnn" ; Text [ english_us ] = "Reading exceeds EOF" ; - Text[ chinese_simplified ] = "ȡļΧ"; - Text[ russian ] = " "; + Text[ chinese_simplified ] = "读取超出文件范围"; + Text[ russian ] = " (EOF)"; Text[ polish ] = "Odczyt przekracza koniec pliku"; - Text[ japanese ] = "EOF 亰ނzǂݎ"; - Text[ chinese_traditional ] = "ŪWXɮd"; + Text[ japanese ] = "EOF 制御コードを越える読み取り"; + Text[ chinese_traditional ] = "讀取超出檔案範圍"; Text[ arabic ] = " "; Text[ dutch ] = "Lezen overschrijdt bestandseinde"; - Text[ chinese_simplified ] = "ȡļΧ"; + Text[ chinese_simplified ] = "读取超出文件范围"; Text[ greek ] = " "; - Text[ korean ] = " ʰϿ "; + Text[ korean ] = "EOF를 초과하여 읽음"; Text[ turkish ] = "Okuma dosya sonunu ayor"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Seguir leyendo tras el final del archivo"; + Text[ catalan ] = "La lectura ultrapassa l'EOF"; + Text[ thai ] = "กำลังอ่านเกิน EOF"; }; String SbERR_BAD_RECORD_NUMBER & ERRCODE_RES_MASK { @@ -928,25 +957,26 @@ Resource RID_BASIC_START Text [ portuguese_brazilian ] = "Bad record number" ; Text [ portuguese ] = "Nmero do registo de dados incorrecto" ; Text [ french ] = "Numro d'enregistrement incorrect" ; - Text [ dutch ] = "Onjuist record-nummer" ; - Text [ spanish ] = "Nmero errneo de registro de datos" ; + Text [ dutch ] = "Onjuist recordnummer" ; + Text [ spanish ] = "Nmero del registro de datos errneo " ; Text [ danish ] = "Forkert datapostnummer" ; Text [ swedish ] = "Felaktigt datapostnummer" ; Text [ finnish ] = "Virheellinen tietuenumero" ; Text [ english_us ] = "Incorrect record number" ; - Text[ chinese_simplified ] = "Ŀ"; - Text[ russian ] = " "; + Text[ chinese_simplified ] = "数据条目编号错误"; + Text[ russian ] = " "; Text[ polish ] = "Niepoprawna dugo rekordw"; - Text[ japanese ] = "ںޔԍsK"; - Text[ chinese_traditional ] = "Ʊؽs~"; + Text[ japanese ] = "レコード番号が不適切"; + Text[ chinese_traditional ] = "資料條目編號錯誤"; Text[ arabic ] = " "; - Text[ dutch ] = "Onjuist record-nummer"; - Text[ chinese_simplified ] = "Ŀ"; + Text[ dutch ] = "Onjuist recordnummer"; + Text[ chinese_simplified ] = "数据条目编号错误"; Text[ greek ] = " "; - Text[ korean ] = " ڵ ȣ Ʋ"; + Text[ korean ] = "맞지 않는 레코드 번호"; Text[ turkish ] = "Veri kmesi numaras yanl"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Nmero errneo de registro de datos"; + Text[ catalan ] = "Nmero incorrecte de registre"; + Text[ thai ] = "เลขที่ระเบียนไม่ถูกต้อง"; }; String SbERR_TOO_MANY_FILES & ERRCODE_RES_MASK { @@ -957,25 +987,26 @@ Resource RID_BASIC_START Text [ portuguese_brazilian ] = "Too many files" ; Text [ portuguese ] = "Demasiados ficheiros" ; Text [ french ] = "Trop de fichiers" ; - Text [ dutch ] = "Teveel bestanden" ; + Text [ dutch ] = "Te veel bestanden" ; Text [ spanish ] = "Demasiados archivos" ; Text [ danish ] = "Der er for mange filer" ; Text [ swedish ] = "Fr mnga filer" ; Text [ finnish ] = "Liian monta tiedostoa" ; Text [ english_us ] = "Too many files" ; - Text[ chinese_simplified ] = "̫ļ"; + Text[ chinese_simplified ] = "太多文件"; Text[ russian ] = " "; Text[ polish ] = "Za duo plikw"; - Text[ japanese ] = "̧ق܂"; - Text[ chinese_traditional ] = "Ӧhɮ"; + Text[ japanese ] = "ファイルが多すぎます"; + Text[ chinese_traditional ] = "太多檔案"; Text[ arabic ] = " "; - Text[ dutch ] = "Teveel bestanden"; - Text[ chinese_simplified ] = "̫ļ"; + Text[ dutch ] = "Te veel bestanden"; + Text[ chinese_simplified ] = "太多文件"; Text[ greek ] = " "; - Text[ korean ] = "ϵ ʹ "; + Text[ korean ] = "파일이 너무 많습니다."; Text[ turkish ] = "Dosya says fazla"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Demasiados archivos"; + Text[ catalan ] = "Massa fitxers"; + Text[ thai ] = "แฟ้มมากเกินไป"; }; String SbERR_NO_DEVICE & ERRCODE_RES_MASK { @@ -993,19 +1024,20 @@ Resource RID_BASIC_START Text [ swedish ] = "Enhet ej tillgnglig" ; Text [ finnish ] = "Laite ei ole kytettviss" ; Text [ english_us ] = "Device not available" ; - Text[ chinese_simplified ] = "豸"; + Text[ chinese_simplified ] = "设备不存在"; Text[ russian ] = " "; Text[ polish ] = "Urzdzenie niedostpne"; - Text[ japanese ] = "ި͂܂"; - Text[ chinese_traditional ] = "]Ƥsb"; + Text[ japanese ] = "デバイスはありません"; + Text[ chinese_traditional ] = "設備不存在"; Text[ arabic ] = " "; Text[ dutch ] = "Apparatuur niet beschikbaar"; - Text[ chinese_simplified ] = "豸"; + Text[ chinese_simplified ] = "设备不存在"; Text[ greek ] = " "; - Text[ korean ] = "̽ Ұ"; + Text[ korean ] = "장치 사용 불가능"; Text[ turkish ] = "Cihaz kullanlabilir durumda deil"; Text[ language_user1 ] = " "; - Text[ catalan ] = "El dispositivo no est disponible"; + Text[ catalan ] = "El dispositiu no est disponible"; + Text[ thai ] = "อุปกรณ์ใช้ไม่ได้"; }; String SbERR_ACCESS_DENIED & ERRCODE_RES_MASK { @@ -1022,19 +1054,20 @@ Resource RID_BASIC_START Text [ swedish ] = "tkomst nekad" ; Text [ finnish ] = "Kytt kielletty" ; Text [ english_us ] = "Access denied" ; - Text[ chinese_simplified ] = "ܾȡ"; + Text[ chinese_simplified ] = "拒绝读取"; Text[ russian ] = " "; Text[ polish ] = "Dostp zabroniony"; - Text[ japanese ] = "ł܂"; - Text[ chinese_traditional ] = "ڵŪ"; + Text[ japanese ] = "アクセスできません"; + Text[ chinese_traditional ] = "拒絕讀取"; Text[ arabic ] = " "; Text[ dutch ] = "Toegang geweigerd"; - Text[ chinese_simplified ] = "ܾȡ"; + Text[ chinese_simplified ] = "拒绝读取"; Text[ greek ] = " "; - Text[ korean ] = " źε"; + Text[ korean ] = "액세스 거부"; Text[ turkish ] = "Eriim engellendi"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Acceso denegado"; + Text[ catalan ] = "S'hi ha denegat l'accs"; + Text[ thai ] = "ปฏิเสธการเข้าถึง"; }; String SbERR_NOT_READY & ERRCODE_RES_MASK { @@ -1045,25 +1078,26 @@ Resource RID_BASIC_START Text [ portuguese_brazilian ] = "Disk not ready" ; Text [ portuguese ] = "A disquete no est pronta" ; Text [ french ] = "La disquette n'est pas prte" ; - Text [ dutch ] = "Station niet bereid" ; - Text [ spanish ] = "El disquete no est preparado" ; + Text [ dutch ] = "Station niet gereed" ; + Text [ spanish ] = "El disquete no est listo" ; Text [ danish ] = "Disketten er ikke klar" ; Text [ swedish ] = "Disketten r inte beredd" ; - Text [ finnish ] = "Levy ei ole valmiina" ; + Text [ finnish ] = "Levy ei ole valmiina." ; Text [ english_us ] = "Disk not ready" ; - Text[ chinese_simplified ] = "̻û"; + Text[ chinese_simplified ] = "软盘还没有准备好"; Text[ russian ] = " "; Text[ polish ] = "Dyskietka nie gotowa"; - Text[ japanese ] = "ި͗pӂłĂ܂"; - Text[ chinese_traditional ] = "nϽL٨SdzƦn"; + Text[ japanese ] = "ディスクは用意できていません"; + Text[ chinese_traditional ] = "軟磁盤還沒有準備好"; Text[ arabic ] = " "; - Text[ dutch ] = "Station niet bereid"; - Text[ chinese_simplified ] = "̻û"; + Text[ dutch ] = "Station niet gereed"; + Text[ chinese_simplified ] = "软盘还没有准备好"; Text[ greek ] = " "; - Text[ korean ] = " غ ʾҽϴ."; + Text[ korean ] = "디스켓이 준비되지 않았습니다."; Text[ turkish ] = "Disket hazr deil"; Text[ language_user1 ] = " "; - Text[ catalan ] = "El disquete no est preparado"; + Text[ catalan ] = "El disc no est preparat"; + Text[ thai ] = "ดิสก์ไม่พร้อม"; }; String SbERR_NOT_IMPLEMENTED & ERRCODE_RES_MASK { @@ -1080,19 +1114,20 @@ Resource RID_BASIC_START Text [ swedish ] = "Ej implementerad" ; Text [ finnish ] = "Ei kytss" ; Text [ english_us ] = "Not implemented" ; - Text[ chinese_simplified ] = "δʵʩ"; - Text[ russian ] = " "; + Text[ chinese_simplified ] = "尚未实施"; + Text[ russian ] = " "; Text[ polish ] = "Nie zaimplementowane"; - Text[ japanese ] = "Ă܂"; - Text[ chinese_traditional ] = "|{"; + Text[ japanese ] = "実装されていません"; + Text[ chinese_traditional ] = "尚未實現"; Text[ arabic ] = " "; Text[ dutch ] = "Niet ingevoerd"; - Text[ chinese_simplified ] = "δʵʩ"; + Text[ chinese_simplified ] = "尚未实施"; Text[ greek ] = " "; - Text[ korean ] = " ʾ"; + Text[ korean ] = "구현되지 않았습니다."; Text[ turkish ] = "Uygulanmad"; Text[ language_user1 ] = " "; - Text[ catalan ] = "No implementado"; + Text[ catalan ] = "No est implementat"; + Text[ thai ] = "ไม่ใช้"; }; String SbERR_DIFFERENT_DRIVE & ERRCODE_RES_MASK { @@ -1105,24 +1140,25 @@ Resource RID_BASIC_START Text [ portuguese ] = "Impossvel mudar nome em vrias unidades" ; Text [ french ] = "Impossible de renommer sur des units diffrentes !" ; Text [ dutch ] = "Namen wijzigen op verschillende stations niet mogelijk" ; - Text [ spanish ] = "No se puede cambiar nombre en distintas unidades" ; + Text [ spanish ] = "No se puede cambiar el nombre en distintas unidades" ; Text [ danish ] = "Omdbning p forskellige drev er ikke mulig" ; Text [ swedish ] = "Omjligt att byta namn p olika enheter" ; - Text [ finnish ] = "Uudelleennimeminen eri levyille ei onnistu" ; + Text [ finnish ] = "Uudelleennimeminen eri levyille ei onnistu." ; Text [ english_us ] = "Renaming on different drives impossible" ; - Text[ chinese_simplified ] = "ɲͬ"; + Text[ chinese_simplified ] = "无法重命名成不同的驱动盘"; Text[ russian ] = " "; Text[ polish ] = "Zmiana nazwy na rnych dyskach jest niemoliwa"; - Text[ japanese ] = "قȂײނł̖O̕ύX͂ł܂"; - Text[ chinese_traditional ] = "LksRWPϽL"; + Text[ japanese ] = "異なったドライブでの名前の変更はできません"; + Text[ chinese_traditional ] = "無法重新命名成不同的磁盤"; Text[ arabic ] = " "; Text[ dutch ] = "Namen wijzigen op verschillende stations niet mogelijk"; - Text[ chinese_simplified ] = "ɲͬ"; + Text[ chinese_simplified ] = "无法重命名成不同的驱动盘"; Text[ greek ] = " "; - Text[ korean ] = " ̹ ̸ Ұմϴ."; + Text[ korean ] = "여러 드라이버상에서 이름을 변경할 수 없습니다."; Text[ turkish ] = "Farkl srclerde yeniden adlandrma yaplamaz"; Text[ language_user1 ] = " "; - Text[ catalan ] = "No se puede cambiar nombre en distintas unidades"; + Text[ catalan ] = "s impossible reanomenar en unitats diferents"; + Text[ thai ] = "ไม่อาจเปลี่ยนชื่อไดร้ฟ์ที่ไม่เหมือนกันได้"; }; String SbERR_ACCESS_ERROR & ERRCODE_RES_MASK { @@ -1139,19 +1175,20 @@ Resource RID_BASIC_START Text [ swedish ] = "Skvg/fil tkomstfel" ; Text [ finnish ] = "Polun/tiedoston ksittelyvirhe" ; Text [ english_us ] = "Path/File access error" ; - Text[ chinese_simplified ] = "ȡ·/ļʱ"; - Text[ russian ] = " "; + Text[ chinese_simplified ] = "读取路径/文件时发生错误"; + Text[ russian ] = " "; Text[ polish ] = "Bd dostpu do cieki/pliku"; - Text[ japanese ] = "߽܂̧قւ̱װ"; - Text[ chinese_traditional ] = "Ū|/ɮɵoͿ~"; + Text[ japanese ] = "パスまたはファイルへのアクセスエラー"; + Text[ chinese_traditional ] = "讀取路徑/檔案時發生錯誤"; Text[ arabic ] = " /"; Text[ dutch ] = "Fout bij toegang tot pad/bestand"; - Text[ chinese_simplified ] = "ȡ·/ļʱ"; + Text[ chinese_simplified ] = "读取路径/文件时发生错误"; Text[ greek ] = " /"; - Text[ korean ] = "/ "; + Text[ korean ] = "경로/파일 액세스 오류"; Text[ turkish ] = "Veri yolu/eriim hatas"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Error de acceso a la ruta o al archivo"; + Text[ catalan ] = "Error d'accs al cam/fitxer"; + Text[ thai ] = "เข้าถึงเส้นทาง/แฟ้มผิดพลาด"; }; String SbERR_PATH_NOT_FOUND & ERRCODE_RES_MASK { @@ -1168,19 +1205,20 @@ Resource RID_BASIC_START Text [ swedish ] = "Skvgen hittades inte" ; Text [ finnish ] = "Polkua ei lydy" ; Text [ english_us ] = "Path not found" ; - Text[ chinese_simplified ] = "ûҵ·"; + Text[ chinese_simplified ] = "没有找到路径"; Text[ russian ] = " "; Text[ polish ] = "cieka nie zostaa znaleziona"; - Text[ japanese ] = "߽܂"; - Text[ chinese_traditional ] = "S|"; + Text[ japanese ] = "パスが見つかりません"; + Text[ chinese_traditional ] = "沒有找到路徑"; Text[ arabic ] = " "; Text[ dutch ] = "Pad niet gevonden"; - Text[ chinese_simplified ] = "ûҵ·"; + Text[ chinese_simplified ] = "没有找到路径"; Text[ greek ] = " "; - Text[ korean ] = "θã߽ϴ."; + Text[ korean ] = "경로를 찾지 못했습니다."; Text[ turkish ] = "Veri yolu bulunamad"; Text[ language_user1 ] = " "; - Text[ catalan ] = "No se encontr la ruta"; + Text[ catalan ] = "No s'ha trobat el cam"; + Text[ thai ] = "ไม่พบเส้นทาง"; }; String SbERR_NO_OBJECT & ERRCODE_RES_MASK { @@ -1197,19 +1235,20 @@ Resource RID_BASIC_START Text [ swedish ] = "Objektvariablerna inte bestmda" ; Text [ finnish ] = "Objektimuuttujaa ei ole mritetty" ; Text [ english_us ] = "Object variable not set" ; - Text[ chinese_simplified ] = "û趨"; - Text[ russian ] = " "; + Text[ chinese_simplified ] = "还没有设定对象变量"; + Text[ russian ] = " "; Text[ polish ] = "Nie osadzono zmiennej obiektu"; - Text[ japanese ] = "ުĕϐ͐ݒłĂ܂"; - Text[ chinese_traditional ] = "٨S]wܶq"; + Text[ japanese ] = "オブジェクト変数は設定できていません"; + Text[ chinese_traditional ] = "還沒有設定物件變量"; Text[ arabic ] = " "; Text[ dutch ] = "Objectvariabele niet ingesteld"; - Text[ chinese_simplified ] = "û趨"; + Text[ chinese_simplified ] = "还没有设定对象变量"; Text[ greek ] = " "; - Text[ korean ] = "ü ʾҽϴ."; + Text[ korean ] = "개체 변수가 설정되지 않았습니다."; Text[ turkish ] = "Nesne deikeni belirlenmedi"; Text[ language_user1 ] = " "; - Text[ catalan ] = "La variable del objeto no se ha establecido"; + Text[ catalan ] = "La variable d'objecte no est definida"; + Text[ thai ] = "ไม่้ตั้งค่าตัวแปรวัตถุ"; }; String SbERR_BAD_PATTERN & ERRCODE_RES_MASK { @@ -1221,25 +1260,26 @@ Resource RID_BASIC_START Text [ portuguese_brazilian ] = "Invalid pattern string" ; Text [ portuguese ] = "Sequncia de caracteres no vlida" ; Text [ french ] = "chantillon de chane de caractres incorrect" ; - Text [ dutch ] = "Ongeldig tekenreekpatroon" ; + Text [ dutch ] = "Ongeldig tekenreekspatroon" ; Text [ spanish ] = "Secuencia de caracteres no vlida" ; Text [ danish ] = "Ugyldigt strengmnster" ; Text [ swedish ] = "Ogiltig mnsterstring" ; Text [ finnish ] = "Virheellinen merkkijoukko" ; Text [ english_us ] = "Invalid string pattern" ; - Text[ chinese_simplified ] = "Чִģʽ"; - Text[ russian ] = " "; + Text[ chinese_simplified ] = "无效的字串模式"; + Text[ russian ] = " "; Text[ polish ] = "Nieprawidowy cig wzoru"; - Text[ japanese ] = "݂͋܂"; - Text[ chinese_traditional ] = "LĪrҦ"; + Text[ japanese ] = "文字列パターンは許可されません"; + Text[ chinese_traditional ] = "無效的字串模式"; Text[ arabic ] = " "; - Text[ dutch ] = "Ongeldig tekenreekpatroon"; - Text[ chinese_simplified ] = "Чִģʽ"; + Text[ dutch ] = "Ongeldig tekenreekspatroon"; + Text[ chinese_simplified ] = "无效的字串模式"; Text[ greek ] = " "; - Text[ korean ] = "ڿϡ"; + Text[ korean ] = "잘못된 문자열 패턴입니다."; Text[ turkish ] = "Dizilim rnei geerli deil"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Secuencia de caracteres no vlida"; + Text[ catalan ] = "El patr de la cadena no s vlid"; + Text[ thai ] = "ลวดลายสายอักขระไม่ถูกต้อง"; }; String SBERR_IS_NULL & ERRCODE_RES_MASK { @@ -1257,19 +1297,20 @@ Resource RID_BASIC_START Text [ swedish ] = "Anvndning av null r ej tilltet" ; Text [ finnish ] = "Nollan kytt ei ole sallittua" ; Text [ english_us ] = "Use of zero not permitted" ; - Text[ chinese_simplified ] = "ʹֵ"; - Text[ russian ] = " "; + Text[ chinese_simplified ] = "不允许使用用零值"; + Text[ russian ] = " "; Text[ polish ] = "Uywanie zera niedopuszczalne"; - Text[ japanese ] = "ۂ̎gp͋܂"; - Text[ chinese_traditional ] = "\\եιs"; + Text[ japanese ] = "ゼロの使用は許可されません"; + Text[ chinese_traditional ] = "不允許調用零值"; Text[ arabic ] = " "; Text[ dutch ] = "Gebruik van nul niet toegestaan"; - Text[ chinese_simplified ] = "ʹֵ"; + Text[ chinese_simplified ] = "不允许使用用零值"; Text[ greek ] = " "; - Text[ korean ] = " ."; + Text[ korean ] = "0 값의 사용은 허용되지 않습니다."; Text[ turkish ] = "Sfr kullanm geerli deil"; Text[ language_user1 ] = " "; - Text[ catalan ] = "No se admite el uso del cero"; + Text[ catalan ] = "L's de zero no s perms"; + Text[ thai ] = "ไม่อนุญาตให้ใช้ศูนย์"; }; String SbERR_DDE_ERROR & ERRCODE_RES_MASK { @@ -1286,19 +1327,20 @@ Resource RID_BASIC_START Text [ swedish ] = "DDE-fel" ; Text [ finnish ] = "DDE-virhe" ; Text [ english_us ] = "DDE Error" ; - Text[ chinese_simplified ] = "DDE "; + Text[ chinese_simplified ] = "DDE 错误"; Text[ russian ] = " DDE"; Text[ polish ] = "Bd DDE"; - Text[ japanese ] = "DDEװ"; - Text[ chinese_traditional ] = "DDE ~"; + Text[ japanese ] = "DDEエラー"; + Text[ chinese_traditional ] = "DDE 錯誤"; Text[ arabic ] = "DDE "; Text[ dutch ] = "DDE-fout"; - Text[ chinese_simplified ] = "DDE "; + Text[ chinese_simplified ] = "DDE 错误"; Text[ greek ] = " DDE"; - Text[ korean ] = "DDE "; + Text[ korean ] = "DDE 오류"; Text[ turkish ] = "DDE hatas"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Error de DDE"; + Text[ catalan ] = "Error DDE"; + Text[ thai ] = "DDE ผิดพลาด"; }; String SbERR_DDE_WAITINGACK & ERRCODE_RES_MASK { @@ -1313,21 +1355,22 @@ Resource RID_BASIC_START Text [ spanish ] = "Esperando respuesta en la conexin DDE" ; Text [ danish ] = "Venter p svar til DDE-forbindelsen" ; Text [ swedish ] = "Vntar p svar till DDE-frbindelsen" ; - Text [ finnish ] = "Odotetaan vastausta DDE-yhteyteen" ; + Text [ finnish ] = "Odotetaan vastausta DDE-yhteyteen." ; Text [ english_us ] = "Awaiting response to DDE connection" ; - Text[ chinese_simplified ] = " DDE ʱȺ"; - Text[ russian ] = " DDE"; + Text[ chinese_simplified ] = "在 DDE 连接时等候答复"; + Text[ russian ] = " DDE"; Text[ polish ] = "Czekanie na odpowied w poczeniu DDE"; - Text[ japanese ] = "DDEڑɂ鉞҂"; - Text[ chinese_traditional ] = "b DDE sɵԵ_"; + Text[ japanese ] = "DDE接続における応答待ち"; + Text[ chinese_traditional ] = "在 DDE 連結時等候答復"; Text[ arabic ] = "DDE "; Text[ dutch ] = "Wachten op antwoord in DDE-verbinding"; - Text[ chinese_simplified ] = " DDE ʱȺ"; + Text[ chinese_simplified ] = "在 DDE 连接时等候答复"; Text[ greek ] = " DDE"; - Text[ korean ] = "DDE "; + Text[ korean ] = "DDE 접속의 응답 대기중"; Text[ turkish ] = "DDE balantsnda yant bekleniyor"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Esperando respuesta en la conexin DDE"; + Text[ catalan ] = "S'est esperant resposta a la connexi DDE"; + Text[ thai ] = "กำลังรอการตอบสนองการเชื่อมต่อ DDE "; }; String SbERR_DDE_OUTOFCHANNELS & ERRCODE_RES_MASK { @@ -1343,21 +1386,22 @@ Resource RID_BASIC_START Text [ spanish ] = "No hay canales DDE libres" ; Text [ danish ] = "Ingen bne DDE-kanaler" ; Text [ swedish ] = "Inga fria DDE-kanaler" ; - Text [ finnish ] = "DDE-kanavia ei ole kytettviss" ; + Text [ finnish ] = "DDE-kanavia ei ole kytettviss." ; Text [ english_us ] = "No DDE channels available" ; - Text[ chinese_simplified ] = "ûпõ DDE-ŵ"; - Text[ russian ] = " DDE "; + Text[ chinese_simplified ] = "没有可用的 DDE-信道"; + Text[ russian ] = " DDE "; Text[ polish ] = "Nie ma wolnych kanaw DDE"; - Text[ japanese ] = "gDDEق܂"; - Text[ chinese_traditional ] = "S} DDE-HD"; + Text[ japanese ] = "使えるDDEチャンネルがありません"; + Text[ chinese_traditional ] = "沒有開放 DDE-信道"; Text[ arabic ] = "DDE "; Text[ dutch ] = "Geen vrije DDE-kanalen"; - Text[ chinese_simplified ] = "ûпõ DDE-ŵ"; + Text[ chinese_simplified ] = "没有可用的 DDE-信道"; Text[ greek ] = " DDE"; - Text[ korean ] = "밡 DDE ä "; + Text[ korean ] = "사용 가능한 DDE 채널이 없습니다."; Text[ turkish ] = "Bo DDE kanallar yok"; Text[ language_user1 ] = " "; - Text[ catalan ] = "No hay canales DDE libres"; + Text[ catalan ] = "No hi ha canals DDE disponibles"; + Text[ thai ] = "ไม่มีช่อง DDE ที่ใช้ได้"; }; String SbERR_DDE_NO_RESPONSE & ERRCODE_RES_MASK { @@ -1368,25 +1412,26 @@ Resource RID_BASIC_START Text [ portuguese_brazilian ] = "No application responded to DDE initiate" ; Text [ portuguese ] = "O estabelecimento da ligao DDE no obteve resposta de nenhuma aplicao" ; Text [ french ] = "Aucune application ne ragit la tentative de connexion DDE" ; - Text [ dutch ] = "Geen enkele applicatie antwoordt op DDE-verbindingsoproep" ; - Text [ spanish ] = "No responde ninguna aplicacin a la conexin DDE deseada" ; + Text [ dutch ] = "Geen enkele toepassing reageert op DDE-verbindingsoproep" ; + Text [ spanish ] = "Ninguna aplicacin responde al intento de conexin DDE " ; Text [ danish ] = "Ingen applikation svarer p DDE-forbindelsesinitialiseringen" ; Text [ swedish ] = "Ingen applikation svarar p DDE-frbindelsinitieringen" ; - Text [ finnish ] = "Mikn sovellus ei vastannut DDE-yhteyden muodostuskutsuun" ; + Text [ finnish ] = "Mikn sovellus ei vastannut DDE-yhteyden muodostuskutsuun." ; Text [ english_us ] = "No application responded to DDE connect initiation" ; - Text[ chinese_simplified ] = "ûκӦóӦ DDE "; - Text[ russian ] = " DDE"; + Text[ chinese_simplified ] = "没有任何应用程序回应 DDE 连接请求"; + Text[ russian ] = " DDE"; Text[ polish ] = "Za duo aplikacji odpowiada na inicjacj poczenia DDE"; - Text[ japanese ] = "DDEڑ]ɉع݂܂"; - Text[ chinese_traditional ] = "Sε{^ DDE sШD"; + Text[ japanese ] = "DDE接続希望に応答するアプリケーションがありません"; + Text[ chinese_traditional ] = "沒有任何應用程式回應 DDE 連結請求"; Text[ arabic ] = " DDE"; - Text[ dutch ] = "Geen enkele applicatie antwoordt op DDE-verbindingsoproep"; - Text[ chinese_simplified ] = "ûκӦóӦ DDE "; + Text[ dutch ] = "Geen enkele toepassing reageert op DDE-verbindingsoproep"; + Text[ chinese_simplified ] = "没有任何应用程序回应 DDE 连接请求"; Text[ greek ] = " DDE"; - Text[ korean ] = "DDE ӿû ϴ α "; + Text[ korean ] = "DDE 접속 요청에 응답하는 응용 프로그램이 없습니다."; Text[ turkish ] = "Hibir uygulama DDE balant talebine yant vermiyor"; Text[ language_user1 ] = " "; - Text[ catalan ] = "No responde ninguna aplicacin a la conexin DDE deseada"; + Text[ catalan ] = "Cap aplicaci no ha respost a la iniciaci de la connexi DDE"; + Text[ thai ] = "โปรแกรมประยุกต์ไม่สนองตอบต่อการเริ่มเชื่อมต่อ DDE "; }; String SbERR_DDE_MULT_RESPONSES & ERRCODE_RES_MASK { @@ -1397,25 +1442,26 @@ Resource RID_BASIC_START Text [ portuguese_brazilian ] = "Multiple applications responded to DDE initiate" ; Text [ portuguese ] = "Demasiadas aplicaes respondem tentativa de ligao DDE" ; Text [ french ] = "Trop d'applications rpondent la tentative de connexion DDE" ; - Text [ dutch ] = "Teveel toepassingen antwoorden op de DDE-verbindingsoproep" ; + Text [ dutch ] = "Te veel toepassingen reageren op de DDE-verbindingsoproep" ; Text [ spanish ] = "Demasiadas aplicaciones responden a la conexin deseada DDE" ; Text [ danish ] = "For mange applikationer svarer p DDE-forbindelsesinitialiseringen" ; Text [ swedish ] = "Alltfr mnga applikationer svarar p DDE-frbindelseinitieringen" ; - Text [ finnish ] = "Liian moni sovellus vastasi DDE-yhteyskutsuun" ; + Text [ finnish ] = "Liian moni sovellus vastasi DDE-yhteyskutsuun." ; Text [ english_us ] = "Too many applications responded to DDE connect initiation" ; - Text[ chinese_simplified ] = "̫ӦóӦ DDE "; - Text[ russian ] = " DDE"; + Text[ chinese_simplified ] = "太多的应用程序回应 DDE 连接请求"; + Text[ russian ] = " DDE"; Text[ polish ] = "Za duo aplikacji odpowiada na inicjacj poczenia DDE"; - Text[ japanese ] = "DDEڑ]ɉع݂܂"; - Text[ chinese_traditional ] = "Ӧhε{^ DDE sШD"; + Text[ japanese ] = "DDE接続希望に応答するアプリケーションが多すぎます"; + Text[ chinese_traditional ] = "太多的應用程式回應 DDE 連結請求"; Text[ arabic ] = " DDE"; - Text[ dutch ] = "Teveel toepassingen antwoorden op de DDE-verbindingsoproep"; - Text[ chinese_simplified ] = "̫ӦóӦ DDE "; + Text[ dutch ] = "Te veel toepassingen reageren op de DDE-verbindingsoproep"; + Text[ chinese_simplified ] = "太多的应用程序回应 DDE 连接请求"; Text[ greek ] = " DDE"; - Text[ korean ] = "DDE ӿû ϴ α ʹ "; + Text[ korean ] = "DDE 접속 요청에 응답하는 응용 프로그램이 너무 많습니다."; Text[ turkish ] = "DDE balant talebine ok fazla uygulama yant veriyor"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Demasiadas aplicaciones responden a la conexin deseada DDE"; + Text[ catalan ] = "Massa aplicacions han respost a la iniciaci de la connexi DDE"; + Text[ thai ] = "โปรแกรมประยุกต์มากเกินไปสนองตอบการเริ่มเชื่อมต่อ DDE "; }; String SbERR_DDE_CHANNEL_LOCKED & ERRCODE_RES_MASK { @@ -1432,19 +1478,20 @@ Resource RID_BASIC_START Text [ swedish ] = "DDE-kanalen r sprrad" ; Text [ finnish ] = "DDE-kanava lukittu" ; Text [ english_us ] = "DDE channel locked" ; - Text[ chinese_simplified ] = "DDE ŵѾ"; + Text[ chinese_simplified ] = "DDE 信道已经被锁定"; Text[ russian ] = " DDE "; Text[ polish ] = "Kana DDE jest zablokowany"; - Text[ japanese ] = "DDEقۯĂ܂"; - Text[ chinese_traditional ] = "DDEqDwgQw"; + Text[ japanese ] = "DDEチャンネルはロックされています"; + Text[ chinese_traditional ] = "DDE通道已經被鎖定"; Text[ arabic ] = ".DDE "; Text[ dutch ] = "DDE-kanaal vergrendeld"; - Text[ chinese_simplified ] = "DDE ŵѾ"; + Text[ chinese_simplified ] = "DDE 信道已经被锁定"; Text[ greek ] = " DDE "; - Text[ korean ] = "DDE äΡ"; + Text[ korean ] = "DDE 채널이 잠겨 있습니다."; Text[ turkish ] = "DDE kanal kilitli"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Canal DDE bloqueado"; + Text[ catalan ] = "Canal DDE blocat"; + Text[ thai ] = "ช่อง DDE ถูกล็อค"; }; String SbERR_DDE_NOTPROCESSED & ERRCODE_RES_MASK { @@ -1457,24 +1504,25 @@ Resource RID_BASIC_START Text [ portuguese ] = "A aplicao externa no pode executar a operao DDE" ; Text [ french ] = "L'application externe ne peut pas excuter l'opration DDE" ; Text [ dutch ] = "Externe toepassing kan DDE niet uitvoeren" ; - Text [ spanish ] = "Una aplicacin externa no puede realizar la operacin DDE" ; + Text [ spanish ] = "La aplicacin externa no puede realizar la operacin DDE" ; Text [ danish ] = "Den eksterne applikation kan ikke udfre DDE-operationen" ; Text [ swedish ] = "Den externa applikationen kan inte utfra DDE-operationen" ; - Text [ finnish ] = "Ulkoinen sovellus ei voi suorittaa DDE-toimintoa" ; + Text [ finnish ] = "Ulkoinen sovellus ei voi suorittaa DDE-toimintoa." ; Text [ english_us ] = "External application cannot execute DDE operation" ; - Text[ chinese_simplified ] = "ⲿӦóִ DDE "; + Text[ chinese_simplified ] = "外部的应用程序无法执行 DDE 运算"; Text[ russian ] = " DDE"; Text[ polish ] = "Obca aplikacja nie moe wykona operacjiDDE"; - Text[ japanese ] = "Oع݂DDE̵ڰ݂sł܂"; - Text[ chinese_traditional ] = "~ε{ǵLk DDE B"; + Text[ japanese ] = "外部アプリケーションは DDE オペレーションを実行できません"; + Text[ chinese_traditional ] = "外部的應用程序無法執行 DDE 運算"; Text[ arabic ] = "DDE "; Text[ dutch ] = "Externe toepassing kan DDE niet uitvoeren"; - Text[ chinese_simplified ] = "ⲿӦóִ DDE "; + Text[ chinese_simplified ] = "外部的应用程序无法执行 DDE 运算"; Text[ greek ] = " DDE"; - Text[ korean ] = "ܺ α DDE ۵ ų ϴ."; + Text[ korean ] = "외부 응용 프로그램은 DDE 작동을 실행할 수 없습니다."; Text[ turkish ] = "Harici uygulama DDE ilemini yrtemiyor"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Una aplicacin externa no puede realizar la operacin DDE"; + Text[ catalan ] = "L'aplicaci externa no pot executar l'operaci DDE"; + Text[ thai ] = "โปรแกรมประยุกต์ภายนอกไม่สามารถกระทำการปฏิบัติการ DDE ได้"; }; String SbERR_DDE_TIMEOUT & ERRCODE_RES_MASK { @@ -1487,24 +1535,25 @@ Resource RID_BASIC_START Text [ portuguese ] = "Ultrapassado tempo de espera pela resposta DDE" ; Text [ french ] = "Timeout pendant l'attente de la rponse DDE" ; Text [ dutch ] = "Tijdoverschrijding tijdens wachten op DDE-antwoord" ; - Text [ spanish ] = "Se ha excedido el tiempo de espera por una respuesta DDE" ; + Text [ spanish ] = "Se ha excedido el tiempo de espera de la respuesta DDE" ; Text [ danish ] = "Timeout mens der blev ventet p DDE-svar" ; Text [ swedish ] = "Tiden har gtt ut vid vntandet p DDE-svar" ; Text [ finnish ] = "Aikakatkaisu odotettaessa DDE-vastausta" ; Text [ english_us ] = "Timeout while waiting for DDE response" ; - Text[ chinese_simplified ] = "Ⱥ DDE Ӧʱ"; - Text[ russian ] = " DDE"; + Text[ chinese_simplified ] = "等候 DDE 回应超过时限"; + Text[ russian ] = " DDE"; Text[ polish ] = "Przekroczenie limitu czasu podczas czekania na odpowied DDE"; - Text[ japanese ] = "DDẺ҂̊ԂɎԒ"; - Text[ chinese_traditional ] = " DDE ^WLɭ"; + Text[ japanese ] = "DDEの応答待ちの間に時間超過"; + Text[ chinese_traditional ] = "等候 DDE 回應超過時限"; Text[ arabic ] = "DDE "; Text[ dutch ] = "Tijdoverschrijding tijdens wachten op DDE-antwoord"; - Text[ chinese_simplified ] = "Ⱥ DDE Ӧʱ"; + Text[ chinese_simplified ] = "等候 DDE 回应超过时限"; Text[ greek ] = " DDE"; - Text[ korean ] = "DDE ٸ ŸӾƿ"; + Text[ korean ] = "DDE 응답을 기다리는 동안 제한 시간 초과"; Text[ turkish ] = "DDE yantn beklemede zaman am"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Se ha excedido el tiempo de espera por una respuesta DDE"; + Text[ catalan ] = "S'ha excedit el temps mentre s'esperava la resposta DDE"; + Text[ thai ] = "หมดเวลาขณะกำลังรอการตอบสนองของ DDE "; }; String SbERR_DDE_USER_INTERRUPT & ERRCODE_RES_MASK { @@ -1516,25 +1565,26 @@ Resource RID_BASIC_START Text [ portuguese_brazilian ] = "User pressed Escape during DDE operation" ; Text [ portuguese ] = "O utilizador premiu ESCAPE durante a operao DDE" ; Text [ french ] = "L'utilisateur a appuy sur CHAP pendant l'opration DDE" ; - Text [ dutch ] = "Gebruiker drukte Escape tijdens uitvoering DDE" ; - Text [ spanish ] = "El usuario presion la tecla ESC durante la operacin DDE" ; + Text [ dutch ] = "Gebruiker drukte op Escape tijdens uitvoering DDE" ; + Text [ spanish ] = "El usuario puls la tecla ESC durante la operacin DDE" ; Text [ danish ] = "Brugeren trykkede p ESCAPE under DDE-operationen" ; Text [ swedish ] = "Anvndaren tryckte p ESCAPE under DDE-operationen" ; Text [ finnish ] = "Kyttj painoi ESC-nppint DDE-toiminnon aikana." ; Text [ english_us ] = "User pressed ESCAPE during DDE operation." ; - Text[ chinese_simplified ] = "ִ DDE ʹ߰ ESCAPE "; + Text[ chinese_simplified ] = "在执行 DDE 运算过程中使用者按击了 ESCAPE 键"; Text[ russian ] = " ESCAPE DDE"; Text[ polish ] = "Uytkownik uy przycisku ESCAPE podczas operacji DDE"; - Text[ japanese ] = "DDE̵ڰ݂̍Œ հްESCAPE݂܂"; + Text[ japanese ] = "DDE オペレーション中にユーザーが ESCAPE ボタンを押しています"; Text[ language_user1 ] = " "; - Text[ chinese_traditional ] = "b DDE BL{ϥΪ̫F ESCAPE "; + Text[ chinese_traditional ] = "在執行DDE運算過程中使用者按了ESCAPE鍵"; Text[ arabic ] = " DDE"; - Text[ dutch ] = "Gebruiker drukte Escape tijdens uitvoering DDE"; - Text[ chinese_simplified ] = "ִ DDE ʹ߰ ESCAPE "; + Text[ dutch ] = "Gebruiker drukte op Escape tijdens uitvoering DDE"; + Text[ chinese_simplified ] = "在执行 DDE 运算过程中使用者按击了 ESCAPE 键"; Text[ greek ] = " ESCAPE DDE."; - Text[ korean ] = "DDE ۵ϴµ ڰ Escape ."; + Text[ korean ] = "DDE가 작동하는 동안 사용자가 ESCAPE을 눌렀습니다."; Text[ turkish ] = "DDE ilemi srasnda ESCAPE tuuna basld"; - Text[ catalan ] = "El usuario presion la tecla ESC durante la operacin DDE"; + Text[ catalan ] = "L'usuari ha premut ESCAPE durant l'operaci DDE."; + Text[ thai ] = "ผู้ใช้กด ESCAPE ในระหว่างการปฏิบัติการ DDE"; }; String SbERR_DDE_BUSY & ERRCODE_RES_MASK { @@ -1545,25 +1595,26 @@ Resource RID_BASIC_START Text [ portuguese_brazilian ] = "Destination application is busy" ; Text [ portuguese ] = "A aplicao externa est ocupada" ; Text [ french ] = "L'application externe est occupe" ; - Text [ dutch ] = "Doelapplicatie is niet bereid" ; + Text [ dutch ] = "Doeltoepasssing is niet gereed" ; Text [ spanish ] = "La aplicacin externa no est lista" ; Text [ danish ] = "Den eksterne applikation er ikke klar" ; Text [ swedish ] = "Extern applikation upptagen" ; - Text [ finnish ] = "Ulkoinen sovellus on varattu" ; + Text [ finnish ] = "Ulkoinen sovellus on varattu." ; Text [ english_us ] = "External application busy" ; - Text[ chinese_simplified ] = "ⲿӦóæµ"; - Text[ russian ] = " "; + Text[ chinese_simplified ] = "外部应用程序忙碌"; + Text[ russian ] = " "; Text[ polish ] = "Obca aplikacja nie jest gotowa"; - Text[ japanese ] = "Oع݂ިԂł"; - Text[ chinese_traditional ] = "~ε{L"; + Text[ japanese ] = "外部アプリケーションはビジー状態です"; + Text[ chinese_traditional ] = "外部應用程式忙碌"; Text[ arabic ] = " "; - Text[ dutch ] = "Doelapplicatie is niet bereid"; - Text[ chinese_simplified ] = "ⲿӦóæµ"; + Text[ dutch ] = "Doeltoepasssing is niet gereed"; + Text[ chinese_simplified ] = "外部应用程序忙碌"; Text[ greek ] = " ."; - Text[ korean ] = "ܺ α غʾҽϴ."; + Text[ korean ] = "외부 응용 프로그램이 사용 중 입니다."; Text[ turkish ] = "Harici uygulama hazr deil"; Text[ language_user1 ] = " "; - Text[ catalan ] = "La aplicacin externa no est lista"; + Text[ catalan ] = "L'aplicaci externa est ocupada"; + Text[ thai ] = "โปรแกรมประยุกต์ภายนอกไม่ว่าง"; }; String SbERR_DDE_NO_DATA & ERRCODE_RES_MASK { @@ -1580,19 +1631,20 @@ Resource RID_BASIC_START Text [ swedish ] = "DDE-operation utan data" ; Text [ finnish ] = "DDE-toiminto ilman tietoja" ; Text [ english_us ] = "DDE operation without data" ; - Text[ chinese_simplified ] = "ûݵ DDE "; + Text[ chinese_simplified ] = "没有数据的 DDE 运算"; Text[ russian ] = " DDE "; Text[ polish ] = "Operacja DDE bez danych"; - Text[ japanese ] = "ްȂDDEڰ"; - Text[ chinese_traditional ] = "Sƪ DDE B"; + Text[ japanese ] = "データなしの DDE オペレーション"; + Text[ chinese_traditional ] = "沒有資料的 DDE 運算"; Text[ arabic ] = " DDE "; Text[ dutch ] = "DDE-bewerking zonder gegevens"; - Text[ chinese_simplified ] = "ûݵ DDE "; + Text[ chinese_simplified ] = "没有数据的 DDE 运算"; Text[ greek ] = " DDE "; - Text[ korean ] = " DDE ۵"; + Text[ korean ] = "데이터 없이 DDE가 작동되었습니다."; Text[ turkish ] = "Verisiz DDE ilemi"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Operacin DDE sin datos"; + Text[ catalan ] = "L'operaci DDE no t dades"; + Text[ thai ] = "ปฏิบัติการ DDE ไม่มีข้อมูล"; }; String SbERR_DDE_WRONG_DATA_FORMAT & ERRCODE_RES_MASK { @@ -1603,25 +1655,26 @@ Resource RID_BASIC_START Text [ portuguese_brazilian ] = "Data in wrong format" ; Text [ portuguese ] = "Formato dos dados incorrecto" ; Text [ french ] = "Le format des donnes est incorrect" ; - Text [ dutch ] = "Gegevens hebben foutief formaat" ; - Text [ spanish ] = "Los datos estn en un formato falso" ; + Text [ dutch ] = "Gegevens hebben foutieve indeling" ; + Text [ spanish ] = "Los datos tienen un formato falso" ; Text [ danish ] = "Data er i forkert format" ; Text [ swedish ] = "Data har fel format" ; - Text [ finnish ] = "Tiedot ovat vrss muodossa" ; + Text [ finnish ] = "Tiedot ovat vrss muodossa." ; Text [ english_us ] = "Data are in wrong format" ; - Text[ chinese_simplified ] = "ݸʽ"; + Text[ chinese_simplified ] = "数据格式错误"; Text[ russian ] = " "; Text[ polish ] = "Pliki s le sformatowane"; - Text[ japanese ] = "ް͏܂"; - Text[ chinese_traditional ] = "Ʈ榡~"; + Text[ japanese ] = "データは書式が正しくありません"; + Text[ chinese_traditional ] = "資料格式錯誤"; Text[ arabic ] = " "; - Text[ dutch ] = "Gegevens hebben foutief formaat"; - Text[ chinese_simplified ] = "ݸʽ"; + Text[ dutch ] = "Gegevens hebben foutieve indeling"; + Text[ chinese_simplified ] = "数据格式错误"; Text[ greek ] = " "; - Text[ korean ] = "Ͱ ߸ Ŀ ֽϴ"; + Text[ korean ] = "데이터의 형식이 올바르지 않습니다."; Text[ turkish ] = "Verilerin format yanl"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Los datos estn en un formato falso"; + Text[ catalan ] = "Les dades sn en un format erroni"; + Text[ thai ] = "ข้อมูลอยู่ในรูปแบบที่ไม่ถูกต้อง"; }; String SbERR_DDE_PARTNER_QUIT & ERRCODE_RES_MASK { @@ -1632,25 +1685,26 @@ Resource RID_BASIC_START Text [ portuguese_brazilian ] = "Foreign application quit" ; Text [ portuguese ] = "Cancelada a aplicao externa" ; Text [ french ] = "L'application externe a t quitte" ; - Text [ dutch ] = "Externe toepassing werd beindigd" ; + Text [ dutch ] = "Externe toepassing is beindigd" ; Text [ spanish ] = "La aplicacin externa se ha cancelado" ; Text [ danish ] = "Den eksterne applikation er blevet afsluttet" ; Text [ swedish ] = "Den externa applikationen r avslutad" ; - Text [ finnish ] = "Ulkoinen sovellus on pttynyt" ; + Text [ finnish ] = "Ulkoinen sovellus on pttynyt." ; Text [ english_us ] = "External application has been terminated" ; - Text[ chinese_simplified ] = "ⲿӦóѾ"; - Text[ russian ] = " "; + Text[ chinese_simplified ] = "外部应用程序已经结束"; + Text[ russian ] = " "; Text[ polish ] = "Obca aplikacja zostaa zakoczona"; - Text[ japanese ] = "Oع݂͏IĂ܂"; - Text[ chinese_traditional ] = "~ε{wg"; + Text[ japanese ] = "外部アプリケーションは終了しています"; + Text[ chinese_traditional ] = "外部應用程式已經結束"; Text[ arabic ] = " "; - Text[ dutch ] = "Externe toepassing werd beindigd"; - Text[ chinese_simplified ] = "ⲿӦóѾ"; + Text[ dutch ] = "Externe toepassing is beindigd"; + Text[ chinese_simplified ] = "外部应用程序已经结束"; Text[ greek ] = " ."; - Text[ korean ] = "ܺ αǾϴ."; + Text[ korean ] = "외부 응용 프로그램이 종료되었습니다."; Text[ turkish ] = "Harici uygulamadan kld"; Text[ language_user1 ] = " "; - Text[ catalan ] = "La aplicacin externa se ha cancelado"; + Text[ catalan ] = "L'aplicaci externa ha estat finalitzada"; + Text[ thai ] = "โปรแกรมประยุกต์ภายนอกได้ถูกเลิก"; }; String SbERR_DDE_CONV_CLOSED & ERRCODE_RES_MASK { @@ -1662,25 +1716,26 @@ Resource RID_BASIC_START Text [ portuguese_brazilian ] = "DDE conversation closed or changed" ; Text [ portuguese ] = "A ligao DDE foi interrompida ou modificada" ; Text [ french ] = "La connexion DDE a t interrompue ou modifie" ; - Text [ dutch ] = "DDE-verbinding verbroken of veranderd" ; + Text [ dutch ] = "DDE-verbinding verbroken of gewijzigd" ; Text [ spanish ] = "La conexin DDE se ha interrumpido o modificado" ; Text [ danish ] = "DDE-forbindelsen er blevet afbrudt eller modificeret" ; Text [ swedish ] = "DDE-frbindelsen r avbruten eller frndrad" ; - Text [ finnish ] = "DDE-yhteys on keskeytetty tai yhteytt on muokattu" ; + Text [ finnish ] = "DDE-yhteys on keskeytetty tai yhteytt on muokattu." ; Text [ english_us ] = "DDE connection interrupted or modified" ; - Text[ chinese_simplified ] = "DDEѾжϻѾ"; - Text[ russian ] = " DDE "; + Text[ chinese_simplified ] = "DDE连接已经中断或者已经更改"; + Text[ russian ] = " DDE "; Text[ polish ] = "Poczenie DDE zostao przerwane lub zmodyfikowane."; - Text[ japanese ] = "DDEڑf܂͕ύXĂ܂"; - Text[ chinese_traditional ] = "DDEswg_Ϊ̤wgܧ"; + Text[ japanese ] = "DDE接続が中断したかまたは変更されています"; + Text[ chinese_traditional ] = "DDE連結已經中斷或者已經變更"; Text[ arabic ] = "DDE "; - Text[ dutch ] = "DDE-verbinding verbroken of veranderd"; - Text[ chinese_simplified ] = "DDEѾжϻѾ"; + Text[ dutch ] = "DDE-verbinding verbroken of gewijzigd"; + Text[ chinese_simplified ] = "DDE连接已经中断或者已经更改"; Text[ greek ] = " DDE "; - Text[ korean ] = "DDE ߴܵǾų Ǿϴ."; + Text[ korean ] = "DDE 접속이 중단되었거나 변경되었습니다."; Text[ turkish ] = "DDE balants kesildi ya da deitirildi"; Text[ language_user1 ] = " "; - Text[ catalan ] = "La conexin DDE se ha interrumpido o modificado"; + Text[ catalan ] = "S'ha interromput o modificat la connexi DDE"; + Text[ thai ] = "การเชื่อมต่อ DDE ถูกขัดจังหวะหรือดัดแปลงแก้ไข"; }; String SbERR_DDE_NO_CHANNEL & ERRCODE_RES_MASK { @@ -1692,24 +1747,25 @@ Resource RID_BASIC_START Text [ portuguese ] = "Mtodo DDE foi chamado sem canal aberto" ; Text [ french ] = "Mthode DDE appele sans avoir ouvert un canal DDE" ; Text [ dutch ] = "DDE-methode zonder open kanaal opgeroepen" ; - Text [ spanish ] = "Se llam al mtodo DDE sin un canal DDE abierto" ; + Text [ spanish ] = "Se llam el mtodo DDE sin tener un canal DDE abierto " ; Text [ danish ] = "DDE-metode blev kaldt uden ben DDE-kanal" ; Text [ swedish ] = "DDE-metod anropad utan ppen DDE-kanal" ; - Text [ finnish ] = "DDE-menetelm kutsuttu ilman avoimia kanavia" ; + Text [ finnish ] = "DDE-menetelm kutsuttu ilman avoimia kanavia" ; Text [ english_us ] = "DDE method invoked with no channel open" ; - Text[ chinese_simplified ] = "ûдDDEŵʱDDE"; - Text[ russian ] = " DDE DDE"; + Text[ chinese_simplified ] = "在没有打开DDE信道时调用DDE方法"; + Text[ russian ] = " DDE DDE "; Text[ polish ] = "Metoda DDE wywoana bez otwartego kanau DDE"; - Text[ japanese ] = "DDEقJĂȂԂDDEҿނĂяoĂ܂"; - Text[ chinese_traditional ] = "bS}DDEqDɽեDDEk"; + Text[ japanese ] = "DDEチャンネルが開かれていない状態でDDEメソッドが呼び出されています"; + Text[ chinese_traditional ] = "在沒有開啟DDE通道時調用DDE方法"; Text[ arabic ] = "DDE DDE "; Text[ dutch ] = "DDE-methode zonder open kanaal opgeroepen"; - Text[ chinese_simplified ] = "ûдDDEŵʱDDE"; + Text[ chinese_simplified ] = "在没有打开DDE信道时调用DDE方法"; Text[ greek ] = " DDE DDE"; - Text[ korean ] = "DDE ä ʰ DDE ҵ带 ȣ"; + Text[ korean ] = "DDE 채널을 열지않고 DDE 메소드를 호출"; Text[ turkish ] = "Ak DDE kanal olmadan DDE yntemi ars"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Se llam al mtodo DDE sin un canal DDE abierto"; + Text[ catalan ] = "S'ha demanat el mtode DDE sense cap canal obert"; + Text[ thai ] = "ใช้วิธีการ DDE โดยไมมีช่องเปิด"; }; String SbERR_DDE_INVALID_LINK & ERRCODE_RES_MASK { @@ -1721,25 +1777,26 @@ Resource RID_BASIC_START Text [ portuguese_brazilian ] = "Invalid DDE Link format" ; Text [ portuguese ] = "Formato de ligao DDE no vlido" ; Text [ french ] = "Format de lien DDE incorrect" ; - Text [ dutch ] = "Ongeldig DDE-koppelingsformaat" ; + Text [ dutch ] = "Ongeldige DDE-koppelingsindeling" ; Text [ spanish ] = "Formato del vnculo DDE incorrecto" ; Text [ danish ] = "Ugyldigt DDE-linkformat" ; - Text [ swedish ] = "Ogiltigt DDE- linkformat" ; + Text [ swedish ] = "Ogiltigt DDE-lnkformat" ; Text [ finnish ] = "Virheellinen DDE-linkin muoto" ; Text [ english_us ] = "Invalid DDE link format" ; - Text[ chinese_simplified ] = "Ч DDE Ӹʽ"; - Text[ russian ] = " DDE"; + Text[ chinese_simplified ] = "无效的 DDE 链接格式"; + Text[ russian ] = " DDE"; Text[ polish ] = "Nieprawidowy format cza DDE"; - Text[ japanese ] = "DDE ݸ@܂B"; - Text[ chinese_traditional ] = "LĪDDEs榡"; + Text[ japanese ] = "DDE リンク手法が正しくありません。"; + Text[ chinese_traditional ] = "無效的DDE連結格式"; Text[ arabic ] = " DDE "; - Text[ dutch ] = "Ongeldig DDE-koppelingsformaat"; - Text[ chinese_simplified ] = "Ч DDE Ӹʽ"; + Text[ dutch ] = "Ongeldige DDE-koppelingsindeling"; + Text[ chinese_simplified ] = "无效的 DDE 链接格式"; Text[ greek ] = " DDE"; - Text[ korean ] = "ȿ DDE ũ "; + Text[ korean ] = "잘못된 DDE 링크 형식"; Text[ turkish ] = "Geersiz DDE balant format"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Formato del vnculo DDE incorrecto"; + Text[ catalan ] = "El format de l'enlla DDE no s vlid"; + Text[ thai ] = "รูปแบบการเชื่อมโยง DDE ไม่ถูกต้อง"; }; String SbERR_DDE_QUEUE_OVERFLOW & ERRCODE_RES_MASK { @@ -1754,21 +1811,22 @@ Resource RID_BASIC_START Text [ spanish ] = "El mensaje DDE se ha perdido" ; Text [ danish ] = "DDE-meddelelse er get tabt" ; Text [ swedish ] = "DDE-meddelandet r borttappat" ; - Text [ finnish ] = "DDE-sanoma on kadonnut" ; + Text [ finnish ] = "DDE-sanoma on kadonnut." ; Text [ english_us ] = "DDE message has been lost" ; - Text[ chinese_simplified ] = "DDE Ϣʧ"; + Text[ chinese_simplified ] = "DDE 信息遗失"; Text[ russian ] = " DDE "; Text[ polish ] = "Wiadomo DDE zagina"; - Text[ japanese ] = "DDEүނ͎܂"; - Text[ chinese_traditional ] = "DDET"; + Text[ japanese ] = "DDEメッセージは失われました"; + Text[ chinese_traditional ] = "DDE訊息遺失"; Text[ arabic ] = "DDE "; Text[ dutch ] = "DDE-resultaat verloren gegaan"; - Text[ chinese_simplified ] = "DDE Ϣʧ"; + Text[ chinese_simplified ] = "DDE 信息遗失"; Text[ greek ] = " DDE "; - Text[ korean ] = "DDE ǵǾ"; + Text[ korean ] = "DDE 메시지가 손실되었습니다."; Text[ turkish ] = "DDE iletisi kayboldu"; Text[ language_user1 ] = " "; - Text[ catalan ] = "El mensaje DDE se ha perdido"; + Text[ catalan ] = "El missatge DDE s'ha perdut"; + Text[ thai ] = "ข้อความ DDE หาย"; }; String SbERR_DDE_LINK_ALREADY_EST & ERRCODE_RES_MASK { @@ -1784,21 +1842,22 @@ Resource RID_BASIC_START Text [ spanish ] = "Pegar vnculo ya ejecutado" ; Text [ danish ] = "Paste link er allerede udfrt" ; Text [ swedish ] = "Paste link r redan genomfrt" ; - Text [ finnish ] = "Liit jo suoritettu linkki" ; + Text [ finnish ] = "Liit jo suoritettu linkki." ; Text [ english_us ] = "Paste link already performed" ; - Text[ chinese_simplified ] = "ճѾ"; + Text[ chinese_simplified ] = "粘贴链接已经完成"; Text[ russian ] = " "; Text[ polish ] = "Polecenie Wklej cze zostao ju wykonane"; - Text[ japanese ] = "ݸ̓\\t͂łɎsĂ܂"; + Text[ japanese ] = "リンクの貼り付けはすでに実行されています"; Text[ language_user1 ] = " "; - Text[ chinese_traditional ] = "߶Kswg"; + Text[ chinese_traditional ] = "貼上連結已經完成"; Text[ arabic ] = " Paste link "; Text[ dutch ] = "Koppeling plakken reeds uitgevoerd"; - Text[ chinese_simplified ] = "ճѾ"; + Text[ chinese_simplified ] = "粘贴链接已经完成"; Text[ greek ] = " 'Paste link' "; - Text[ korean ] = "ũ ٿֱ ̹ Ǿϴ."; + Text[ korean ] = "링크 붙여넣기를 이미 수행했습니다."; Text[ turkish ] = "Paste Link ilemi yrtld"; - Text[ catalan ] = "Pegar vnculo ya ejecutado"; + Text[ catalan ] = "L'enlla ja s'ha enganxat"; + Text[ thai ] = "กระทำการวางการเชื่อมโยงแล้ว"; }; String SbERR_DDE_LINK_INV_TOPIC & ERRCODE_RES_MASK { @@ -1810,25 +1869,26 @@ Resource RID_BASIC_START Text [ portuguese_brazilian ] = "Cant set LinkMode; invalid Link Topic" ; Text [ portuguese ] = "Impossvel configurar o LinkMode devido a LinkTopic no vlido" ; Text [ french ] = "Impossible de dfinir le LinkMode cause d'un Link-Topic incorrect" ; - Text [ dutch ] = "Ongeldig koppeling-onderwerp; koppelingmodus kan niet worden ingesteld" ; + Text [ dutch ] = "Ongeldig koppelingonderwerp; koppelingmodus kan niet worden ingesteld" ; Text [ spanish ] = "No se puede establecer el LinkMode debido a un Link Topic incorrecto" ; Text [ danish ] = "Linktilstand kan ikke indstilles p grund af ugyldige linktopics." ; Text [ swedish ] = "LinkMode kan inte stllas in p grund av ogiltiga Link-Topics" ; - Text [ finnish ] = "Linkkitilaa ei voi mritt virheellisen linkkiaiheen vuoksi" ; + Text [ finnish ] = "Linkkitilaa ei voi mritt virheellisen linkkiaiheen vuoksi." ; Text [ english_us ] = "Link mode cannot be set due to invalid link topic" ; - Text[ chinese_simplified ] = "Чӱ趨ӱ"; - Text[ russian ] = "- Link-Topic LinkMode "; + Text[ chinese_simplified ] = "由于无效的链接标题而无法设定链接标题"; + Text[ russian ] = " - "; Text[ polish ] = "Nie mona skonfigurowa LinkMode z powodu niewanych Link-Topics"; - Text[ japanese ] = "ݸ Ӱނݸ ߯ł邽߁Aݒł܂"; - Text[ chinese_traditional ] = "]LĪ|DӵLk]w|D"; + Text[ japanese ] = "リンク モードはリンク トピックが無効であるため、設定できません"; + Text[ chinese_traditional ] = "因為無效的捷徑標題而無法設定捷徑標題"; Text[ arabic ] = " Link-Topics LinkMode "; - Text[ dutch ] = "Ongeldig koppeling-onderwerp; koppelingmodus kan niet worden ingesteld"; - Text[ chinese_simplified ] = "Чӱ趨ӱ"; + Text[ dutch ] = "Ongeldig koppelingonderwerp; koppelingmodus kan niet worden ingesteld"; + Text[ chinese_simplified ] = "由于无效的链接标题而无法设定链接标题"; Text[ greek ] = " LinkMode Link-Topics."; - Text[ korean ] = "ȿ ũ ũ尡 ϴ."; + Text[ korean ] = "잘못된 링크 항목으로 인해 연결 모드를 설정할 수 없습니다."; Text[ turkish ] = "LinkMode, geersiz Link-Topics nedeniyle belirlenemez"; Text[ language_user1 ] = " "; - Text[ catalan ] = "No se puede establecer el LinkMode debido a un Link Topic incorrecto"; + Text[ catalan ] = "No es pot definir el mode d'enlla perqu el tema de l'enlla no s vlid"; + Text[ thai ] = "ไม่สามารถตั้งค่าโหมดเชื่อมโยงได้เนื่องจากหัวข้อเชื่อมโยงไม่ถูกต้อง"; }; String SbERR_DDE_DLL_NOT_FOUND & ERRCODE_RES_MASK { @@ -1840,25 +1900,26 @@ Resource RID_BASIC_START Text [ portuguese_brazilian ] = "DDE requires DDEML.DLL" ; Text [ portuguese ] = "DDE requere DDEML.DLL" ; Text [ french ] = "Le DDE requiert DDEML.DLL" ; - Text [ dutch ] = "DDE benodigt DDEML.DLL" ; + Text [ dutch ] = "DDE vereist DDEML.DLL" ; Text [ spanish ] = "Para el DDE se requiere DDEML.DLL" ; Text [ danish ] = "DDE krver DDEML.DLL" ; Text [ swedish ] = "DDE krver DDEML.DLL" ; - Text [ finnish ] = "DDE vaatii tiedoston DDEML.DLL" ; + Text [ finnish ] = "DDE vaatii tiedoston DDEML.DLL." ; Text [ english_us ] = "DDE requires the DDEML.DLL file" ; - Text[ chinese_simplified ] = "DDE Ҫ DDEML.DLL"; - Text[ russian ] = " DDE DDEML.DLL"; + Text[ chinese_simplified ] = "DDE 要求 DDEML.DLL"; + Text[ russian ] = " DDE DDEML.DLL"; Text[ polish ] = "Dla DDE jest wymagane DDEML.DLL"; - Text[ japanese ] = "DDEɂDDEML.DLLKvł"; - Text[ chinese_traditional ] = "DDEnDDDEML.DLL"; + Text[ japanese ] = "DDEにはDDEML.DLLが必要です"; + Text[ chinese_traditional ] = "DDE要求DDEML.DLL"; Text[ arabic ] = "DDEML.DLL DDE"; - Text[ dutch ] = "DDE benodigt DDEML.DLL"; - Text[ chinese_simplified ] = "DDE Ҫ DDEML.DLL"; + Text[ dutch ] = "DDE vereist DDEML.DLL"; + Text[ chinese_simplified ] = "DDE 要求 DDEML.DLL"; Text[ greek ] = " DDE DDEML.DLL"; - Text[ korean ] = "DDE DDEML.DLL ʿմϴ."; + Text[ korean ] = "DDE에서 DDEML.DLL을 필요로 합니다."; Text[ turkish ] = "DDE iin DDEML.DLL gerekli"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Para el DDE se requiere DDEML.DLL"; + Text[ catalan ] = "DDE necessita el fitxer DDEML.DLL"; + Text[ thai ] = "DDE ต้องการแฟ้ม DDEML.DLL "; }; String SbERR_CANNOT_LOAD & ERRCODE_RES_MASK { @@ -1870,25 +1931,26 @@ Resource RID_BASIC_START Text [ portuguese_brazilian ] = "Can't load module, invalid format" ; Text [ portuguese ] = "Impossvel carregar mdulo; formato no vlido" ; Text [ french ] = "Impossible de charger le module cause d'une erreur de format" ; - Text [ dutch ] = "De module kan niet worden geladen, ongeldig formaat" ; + Text [ dutch ] = "De module kan niet worden geladen, ongeldige indeling" ; Text [ spanish ] = "No se puede cargar el mdulo ya que el formato es incorrecto" ; Text [ danish ] = "Det er ikke muligt at indlse modulet; ugyldigt format" ; Text [ swedish ] = "Modulen kan inte laddas, ogiltigt format" ; - Text [ finnish ] = "Moduulia ei voida ladata; virheellinen muoto" ; + Text [ finnish ] = "Moduulia ei voi ladata: virheellinen muoto." ; Text [ english_us ] = "Module cannot be loaded; invalid format" ; - Text[ chinese_simplified ] = "ʽЧװģ"; - Text[ russian ] = " , "; + Text[ chinese_simplified ] = "格式无效,因而无法装入这个程序模块"; + Text[ russian ] = " ; "; Text[ polish ] = "Moduu nie mona zaadowa, nieprawidowy format"; - Text[ japanese ] = "Ӽޭقǂݍ߂܂BȏłB"; - Text[ chinese_traditional ] = "榡LġM]ӵLkJҶ"; + Text[ japanese ] = "モジュールが読み込めません。無効な書式です。"; + Text[ chinese_traditional ] = "格式無效﹐因而無法載入模塊"; Text[ arabic ] = " "; - Text[ dutch ] = "De module kan niet worden geladen, ongeldig formaat"; - Text[ chinese_simplified ] = "ʽЧװģ"; + Text[ dutch ] = "De module kan niet worden geladen, ongeldige indeling"; + Text[ chinese_simplified ] = "格式无效,因而无法装入这个程序模块"; Text[ greek ] = " , "; - Text[ korean ] = " ε ʾҽϴ; ȿ "; + Text[ korean ] = "모듈을 로드하지 못했습니다; 잘못된 서식"; Text[ turkish ] = "Modl yklenemiyor; geersiz format"; Text[ language_user1 ] = " "; - Text[ catalan ] = "No se puede cargar el mdulo ya que el formato es incorrecto"; + Text[ catalan ] = "No es pot carregar el mdul; el format no s vlid"; + Text[ thai ] = "ไม่สามารถโหลดโมดูลได้; รูปแบบไม่ถูกต้อง"; }; String SbERR_BAD_INDEX & ERRCODE_RES_MASK { @@ -1899,26 +1961,27 @@ Resource RID_BASIC_START Text [ italian ] = "Indice di oggetto non valido" ; Text [ portuguese_brazilian ] = "Invalid object index" ; Text [ portuguese ] = "ndice de objectos no vlido" ; - Text [ french ] = "Index d'objets incorrect" ; + Text [ french ] = "Index des objets incorrect" ; Text [ dutch ] = "Ongeldige objectindex" ; Text [ spanish ] = "ndice incorrecto del objeto" ; Text [ danish ] = "Ugyldigt objektindeks" ; Text [ swedish ] = "Ogiltigt objektindex" ; - Text [ finnish ] = "Virheellinen objektin hakemisto" ; + Text [ finnish ] = "Virheellinen objektin jrjestysnumero" ; Text [ english_us ] = "Invalid object index" ; - Text[ chinese_simplified ] = "ЧĶ"; - Text[ russian ] = " "; + Text[ chinese_simplified ] = "无效的对象索引"; + Text[ russian ] = " "; Text[ polish ] = "Nieprawidowy indeks obiektw"; - Text[ japanese ] = "ȵު ޯ"; - Text[ chinese_traditional ] = "LĪ"; + Text[ japanese ] = "無効なオブジェクト インデックス"; + Text[ chinese_traditional ] = "無效的物件索引"; Text[ arabic ] = " "; Text[ dutch ] = "Ongeldige objectindex"; - Text[ chinese_simplified ] = "ЧĶ"; + Text[ chinese_simplified ] = "无效的对象索引"; Text[ greek ] = " "; - Text[ korean ] = "ȿ ü "; + Text[ korean ] = "잘못된 개체 색인"; Text[ turkish ] = "Geersiz nesne dizini"; Text[ language_user1 ] = " "; - Text[ catalan ] = "ndice incorrecto del objeto"; + Text[ catalan ] = "L'ndex de l'objecte no s vlid"; + Text[ thai ] = "ดัชนีวัตถุไม่ถูกต้อง"; }; String SbERR_NO_ACTIVE_OBJECT & ERRCODE_RES_MASK { @@ -1934,21 +1997,22 @@ Resource RID_BASIC_START Text [ spanish ] = "El objeto no est disponible" ; Text [ danish ] = "Objektet er ikke tilgngeligt" ; Text [ swedish ] = "Objektet r inte tillgngligt" ; - Text [ finnish ] = "Objekti ei ole kytettviss." ; + Text [ finnish ] = "Objekti ei ole kytettviss" ; Text [ english_us ] = "Object is not available" ; - Text[ chinese_simplified ] = ""; + Text[ chinese_simplified ] = "对象不存在"; Text[ russian ] = " "; Text[ polish ] = "Obiekt jest niedostpny"; - Text[ japanese ] = "ުĂ܂"; - Text[ chinese_traditional ] = "sb"; + Text[ japanese ] = "オブジェクトがありません"; + Text[ chinese_traditional ] = "物件不存在"; Text[ arabic ] = " "; Text[ dutch ] = "Object niet beschikbaar"; - Text[ chinese_simplified ] = ""; + Text[ chinese_simplified ] = "对象不存在"; Text[ greek ] = " "; - Text[ korean ] = "ü 밡ʽϴ."; + Text[ korean ] = "개체를 사용할 수 없습니다."; Text[ turkish ] = "Nesne mevcut deil"; Text[ language_user1 ] = " "; - Text[ catalan ] = "El objeto no est disponible"; + Text[ catalan ] = "L'objecte no est disponible"; + Text[ thai ] = "วัตถุใช้ไม่ได้"; }; String SbERR_BAD_PROP_VALUE & ERRCODE_RES_MASK { @@ -1960,25 +2024,26 @@ Resource RID_BASIC_START Text [ portuguese_brazilian ] = "Bad property value" ; Text [ portuguese ] = "Valor de propriedade incorrecto" ; Text [ french ] = "Valeur de proprit incorrecte" ; - Text [ dutch ] = "Onjuiste waarde voor eigenschap" ; - Text [ spanish ] = "Valor no vlido para la propiedad" ; + Text [ dutch ] = "Foutieve waarde voor eigenschap" ; + Text [ spanish ] = "Valor de propiedad no vlido " ; Text [ danish ] = "Forkert egenskabsvrdi" ; Text [ swedish ] = "Felaktigt vrde fr egenskap" ; Text [ finnish ] = "Virheellinen ominaisuusarvo" ; Text [ english_us ] = "Incorrect property value" ; - Text[ chinese_simplified ] = "ֵ"; + Text[ chinese_simplified ] = "错误的属性数值"; Text[ russian ] = " "; Text[ polish ] = "Niepoprawna warto waciwoci"; - Text[ japanese ] = "èl܂"; - Text[ chinese_traditional ] = "~ݩʼƭ"; + Text[ japanese ] = "プロパティ値が正しくありません"; + Text[ chinese_traditional ] = "錯誤的屬性數值"; Text[ arabic ] = " "; - Text[ dutch ] = "Onjuiste waarde voor eigenschap"; - Text[ chinese_simplified ] = "ֵ"; + Text[ dutch ] = "Foutieve waarde voor eigenschap"; + Text[ chinese_simplified ] = "错误的属性数值"; Text[ greek ] = " "; - Text[ korean ] = "Ʋ "; + Text[ korean ] = "등록 정보 값이 올바르지 않습니다."; Text[ turkish ] = "Yanl zellik deeri"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Valor no vlido para la propiedad"; + Text[ catalan ] = "Valor incorrecte de la propietat"; + Text[ thai ] = "ค่าคุณสมบัติไม่ถูกต้อง"; }; String SbERR_PROP_READONLY & ERRCODE_RES_MASK { @@ -1990,25 +2055,26 @@ Resource RID_BASIC_START Text [ portuguese_brazilian ] = "Property is read only" ; Text [ portuguese ] = "A propriedade s leitura" ; Text [ french ] = "La proprit est en lecture seule" ; - Text [ dutch ] = "Eigenschap is schrijfbeveiligd" ; - Text [ spanish ] = "Propiedad es solo lectura" ; + Text [ dutch ] = "Eigenschap is alleen-lezen" ; + Text [ spanish ] = "La propiedad es de slo lectura" ; Text [ danish ] = "Egenskaben er skrivebeskyttet" ; Text [ swedish ] = "Egenskapen r skrivskyddad" ; Text [ finnish ] = "Tm ominaisuus on vain lukua varten" ; Text [ english_us ] = "This property is read-only" ; - Text[ chinese_simplified ] = "д"; - Text[ russian ] = " "; + Text[ chinese_simplified ] = "防改写的属性"; + Text[ russian ] = " "; Text[ polish ] = "Waciwo tylko do odczytu"; - Text[ japanese ] = "è͏ݕی삳Ă܂"; - Text[ chinese_traditional ] = "Ūݩ"; + Text[ japanese ] = "プロパティは書き込み保護されています"; + Text[ chinese_traditional ] = "唯讀的屬性"; Text[ arabic ] = " "; - Text[ dutch ] = "Eigenschap is schrijfbeveiligd"; - Text[ chinese_simplified ] = "д"; + Text[ dutch ] = "Eigenschap is alleen-lezen"; + Text[ chinese_simplified ] = "防改写的属性"; Text[ greek ] = " "; - Text[ korean ] = " б Դϴ."; + Text[ korean ] = "이 등록 정보는 읽기 전용입니다."; Text[ turkish ] = "zellik yazma korumal"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Propiedad es solo lectura"; + Text[ catalan ] = "Aquesta propietat s noms de lectura"; + Text[ thai ] = "คุณสมบตินี้เป็นแบบอ่านอย่างเดียว"; }; String SbERR_PROP_WRITEONLY & ERRCODE_RES_MASK { @@ -2020,25 +2086,26 @@ Resource RID_BASIC_START Text [ portuguese_brazilian ] = "Property is write only" ; Text [ portuguese ] = "A propriedade s escrita" ; Text [ french ] = "La proprit est en criture seule" ; - Text [ dutch ] = "Eigenschap is leesbeveiligd" ; - Text [ spanish ] = "Propiedad es solo escritura" ; + Text [ dutch ] = "Eigenschap is beveiligd tegen lezen" ; + Text [ spanish ] = "La propiedad es de slo escritura" ; Text [ danish ] = "Egenskaben er lsebeskyttet" ; Text [ swedish ] = "Egenskapen r lsskyddad" ; Text [ finnish ] = "Tm ominaisuus on vain kirjoitusta varten" ; Text [ english_us ] = "This property is write only" ; - Text[ chinese_simplified ] = "ȡ"; - Text[ russian ] = " "; + Text[ chinese_simplified ] = "防读取的属性"; + Text[ russian ] = " "; Text[ polish ] = "Waciwo tylko do zapisu"; - Text[ japanese ] = "è͓ǂݎی삳Ă܂"; - Text[ chinese_traditional ] = "Ūݩ"; + Text[ japanese ] = "プロパティは読み取り保護されています"; + Text[ chinese_traditional ] = "防讀取的屬性"; Text[ arabic ] = " "; - Text[ dutch ] = "Eigenschap is leesbeveiligd"; - Text[ chinese_simplified ] = "ȡ"; + Text[ dutch ] = "Eigenschap is beveiligd tegen lezen"; + Text[ chinese_simplified ] = "防读取的属性"; Text[ greek ] = " "; - Text[ korean ] = " Դϴ."; + Text[ korean ] = "이 등록 정보는 쓰기 전용입니다."; Text[ turkish ] = "zellik okuma korumal"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Propiedad es solo escritura"; + Text[ catalan ] = "Aquesta propietat s noms d'escriptura"; + Text[ thai ] = "คุณสมบัตินี้เป็นแบบเขียนอย่างเดียว"; }; String SbERR_INVALID_OBJECT & ERRCODE_RES_MASK { @@ -2054,21 +2121,22 @@ Resource RID_BASIC_START Text [ spanish ] = "Referencia al objeto no vlida" ; Text [ danish ] = "Ugyldig objektreference" ; Text [ swedish ] = "Ogiltig objektreferens" ; - Text [ finnish ] = "Virhellinen objektiviite" ; + Text [ finnish ] = "Virheellinen objektiviite" ; Text [ english_us ] = "Invalid object reference" ; - Text[ chinese_simplified ] = "ЧĶ"; - Text[ russian ] = " "; + Text[ chinese_simplified ] = "无效的对象引用"; + Text[ russian ] = " "; Text[ polish ] = "Niewane odwoanie obiektu"; - Text[ japanese ] = "ȵުĎQ"; - Text[ chinese_traditional ] = "LĪѷ"; + Text[ japanese ] = "無効なオブジェクト参照"; + Text[ chinese_traditional ] = "無效的物件參照"; Text[ arabic ] = " "; Text[ dutch ] = "Ongeldige objectverwijzing"; - Text[ chinese_simplified ] = "ЧĶ"; + Text[ chinese_simplified ] = "无效的对象引用"; Text[ greek ] = " "; - Text[ korean ] = "ȿ ü "; + Text[ korean ] = "잘못된 개체 참조"; Text[ turkish ] = "Geersiz nesne referans"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Referencia al objeto no vlida"; + Text[ catalan ] = "La referncia de l'objecte no s vlida"; + Text[ thai ] = "อ้างอิงวัตถุไม่ถูกต้อง"; }; String SbERR_NO_METHOD & ERRCODE_RES_MASK { @@ -2085,19 +2153,20 @@ Resource RID_BASIC_START Text [ swedish ] = "Egenskap eller metod hittades inte" ; Text [ finnish ] = "Ominaisuutta tai menetelm ei lytynyt" ; Text [ english_us ] = "Property or method not found" ; - Text[ chinese_simplified ] = "ûҵԻ"; + Text[ chinese_simplified ] = "没有找到属性或方法"; Text[ russian ] = " "; Text[ polish ] = "Nie znaleziono waciwoci lub metody"; - Text[ japanese ] = "è܂ҿނ܂"; - Text[ chinese_traditional ] = "SݩʩΤk"; + Text[ japanese ] = "プロパティまたはメソッドが見つかりません"; + Text[ chinese_traditional ] = "沒有找到屬性或方法"; Text[ arabic ] = " "; Text[ dutch ] = "Eigenschap of methode niet gevonden"; - Text[ chinese_simplified ] = "ûҵԻ"; + Text[ chinese_simplified ] = "没有找到属性或方法"; Text[ greek ] = " "; - Text[ korean ] = " Ǵ ҵ带 ã ߽ϴ."; + Text[ korean ] = "등록 정보 또는 메소드를 찾지 못했습니다."; Text[ turkish ] = "zellik ya da yntem bulunamad"; Text[ language_user1 ] = " "; - Text[ catalan ] = "No se encontr la propiedad o el mtodo"; + Text[ catalan ] = "No es troba la propietat o el mtode"; + Text[ thai ] = "ไม่พบคุณสมบัติหรือวิธีการ"; }; String SbERR_NEEDS_OBJECT & ERRCODE_RES_MASK { @@ -2112,21 +2181,22 @@ Resource RID_BASIC_START Text [ spanish ] = "Se requiere un objeto" ; Text [ danish ] = "Objekt krves" ; Text [ swedish ] = "Objekt krvs" ; - Text [ finnish ] = "Objekti vaaditaan" ; + Text [ finnish ] = "Objekti vaaditaan." ; Text [ english_us ] = "Object required" ; - Text[ chinese_simplified ] = "Ҫ"; - Text[ russian ] = " "; + Text[ chinese_simplified ] = "要求对象"; + Text[ russian ] = " "; Text[ polish ] = "Wymagany obiekt"; - Text[ japanese ] = "ުĂKvł"; - Text[ chinese_traditional ] = "nD"; + Text[ japanese ] = "オブジェクトが必要です"; + Text[ chinese_traditional ] = "要求物件"; Text[ arabic ] = " "; Text[ dutch ] = "Object vereist"; - Text[ chinese_simplified ] = "Ҫ"; + Text[ chinese_simplified ] = "要求对象"; Text[ greek ] = " "; - Text[ korean ] = "ü ʿմϴ."; + Text[ korean ] = "개체가 필요합니다."; Text[ turkish ] = "Nesne gerekli"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Se requiere un objeto"; + Text[ catalan ] = "Es necessita un objecte"; + Text[ thai ] = "ต้องการวัตถุ"; }; String SbERR_INVALID_USAGE_OBJECT & ERRCODE_RES_MASK { @@ -2143,19 +2213,20 @@ Resource RID_BASIC_START Text [ swedish ] = "Felaktig anvndning av ett objekt" ; Text [ finnish ] = "Virheellinen objektin kytt" ; Text [ english_us ] = "Invalid use of an object" ; - Text[ chinese_simplified ] = "ʹö"; + Text[ chinese_simplified ] = "错误使用对象"; Text[ russian ] = " "; Text[ polish ] = "Nieprawidowe uycie obiektu"; - Text[ japanese ] = "ުĂ̌gp"; - Text[ chinese_traditional ] = "~ϥΪ"; + Text[ japanese ] = "オブジェクトの誤った使用"; + Text[ chinese_traditional ] = "錯誤使用物件"; Text[ arabic ] = " "; Text[ dutch ] = "Ongeldig gebruik van object"; - Text[ chinese_simplified ] = "ʹö"; + Text[ chinese_simplified ] = "错误使用对象"; Text[ greek ] = " "; - Text[ korean ] = "ü ߸ "; + Text[ korean ] = "개체의 사용이 올바르지 않습니다."; Text[ turkish ] = "Nesne kullanm yanl"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Uso errneo de un objeto"; + Text[ catalan ] = "s no vlid d'un objecte"; + Text[ thai ] = "ใช้งานวัตถุไม่ถูกต้อง"; }; String SbERR_NO_OLE & ERRCODE_RES_MASK { @@ -2167,25 +2238,26 @@ Resource RID_BASIC_START Text [ portuguese_brazilian ] = "Object does not support OLE Automation" ; Text [ portuguese ] = "Este objecto no suporta a automatao OLE" ; Text [ french ] = "Cet objet ne supporte pas l'automatisation OLE" ; - Text [ dutch ] = "OLE-automatisering wordt niet ondersteund door het aangegeven object" ; - Text [ spanish ] = "Este objeto no apoya la automatizacin OLE" ; + Text [ dutch ] = "OLE-automatisering wordt niet ondersteund door het opgegeven object" ; + Text [ spanish ] = "Este objeto no admite la automatizacin OLE" ; Text [ danish ] = "OLE-automatiseringen understttes ikke af dette objekt" ; Text [ swedish ] = "OLE-automatiseringen stds ej av detta objekt" ; Text [ finnish ] = "Tm objekti ei tue OLE-automaatiota" ; Text [ english_us ] = "OLE Automation is not supported by this object" ; - Text[ chinese_simplified ] = "֧OLEԶ"; - Text[ russian ] = " OLE "; + Text[ chinese_simplified ] = "这个对象不支持OLE自动化"; + Text[ russian ] = "OLE "; Text[ polish ] = "Automatyzacja OLE nie jest obsugiwana przez ten obiekt"; - Text[ japanese ] = "OLE̵̎͂ުĂx܂"; - Text[ chinese_traditional ] = "oӪ䴩OLE۰ʤ"; + Text[ japanese ] = "OLEの自動化はこのオブジェクトから支援されません"; + Text[ chinese_traditional ] = "這個物件不支援OLE自動化"; Text[ arabic ] = " OLE "; - Text[ dutch ] = "OLE-automatisering wordt niet ondersteund door het aangegeven object"; - Text[ chinese_simplified ] = "֧OLEԶ"; + Text[ dutch ] = "OLE-automatisering wordt niet ondersteund door het opgegeven object"; + Text[ chinese_simplified ] = "这个对象不支持OLE自动化"; Text[ greek ] = " OLE "; - Text[ korean ] = "OLE ڵȭ ü ʽϴ."; + Text[ korean ] = "이 개체에서 OLE 자동화를 지원하지 않습니다."; Text[ turkish ] = "OLE otomasyonu bu nesne tarafndan desteklenmiyor"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Este objeto no apoya la automatizacin OLE"; + Text[ catalan ] = "Aquest objecte no permet l'automatitzaci OLE"; + Text[ thai ] = "ไม่สนับสนุน OLE อัตโนมัติด้วยวัตถุนี้"; }; String SbERR_BAD_METHOD & ERRCODE_RES_MASK { @@ -2197,25 +2269,26 @@ Resource RID_BASIC_START Text [ portuguese_brazilian ] = "Object doesn't support property or method" ; Text [ portuguese ] = "Objecto no suporta nem a caracterstica nem o mtodo" ; Text [ french ] = "L'objet ne supporte pas cette proprit ou mthode" ; - Text [ dutch ] = "Deze eigenschap of methode wordt niet ondersteund door het aangegeven object" ; - Text [ spanish ] = "El objeto no apoya esta propiedad o mtodo" ; + Text [ dutch ] = "Deze eigenschap of methode wordt niet ondersteund door het opgegeven object" ; + Text [ spanish ] = "El objeto no admite esta propiedad o mtodo" ; Text [ danish ] = "Objektet understtter ikke denne egenskab eller metode" ; Text [ swedish ] = "Objektet understdjer inte denna egenskap eller metod" ; - Text [ finnish ] = "Tm objekti ei tue tt ominaisuutta tai menetelm" ; + Text [ finnish ] = "Objekti ei tue tt ominaisuutta tai menetelm." ; Text [ english_us ] = "This property or method is not supported by the object" ; - Text[ chinese_simplified ] = "֧Ի"; + Text[ chinese_simplified ] = "对象不支持这个属性或方法"; Text[ russian ] = " "; Text[ polish ] = "Obiekt nie obsuguje tej waciwoci lub metody"; - Text[ japanese ] = "ުĂ͂̑A邢͕@x܂B"; - Text[ chinese_traditional ] = "oݩʩΤk"; + Text[ japanese ] = "オブジェクトはこの属性、あるいは方法を支援しません。"; + Text[ chinese_traditional ] = "物件不支持這個屬性或方法"; Text[ arabic ] = " "; - Text[ dutch ] = "Deze eigenschap of methode wordt niet ondersteund door het aangegeven object"; - Text[ chinese_simplified ] = "֧Ի"; + Text[ dutch ] = "Deze eigenschap of methode wordt niet ondersteund door het opgegeven object"; + Text[ chinese_simplified ] = "对象不支持这个属性或方法"; Text[ greek ] = " "; - Text[ korean ] = " Ǵ ҵ ü ʽϴ."; + Text[ korean ] = "개체에서 이 등록 정보 또는 메소드를 지원하지 않습니다."; Text[ turkish ] = "Nesne bu zellii ya da yntemi desteklemiyor"; Text[ language_user1 ] = " "; - Text[ catalan ] = "El objeto no apoya esta propiedad o mtodo"; + Text[ catalan ] = "L'objecte no permet aquesta propietat o mtode"; + Text[ thai ] = "ไม่สนับสนุนคุณสมบัติหรือวิธีการนี้ด้วยวัตถุ"; }; String SbERR_OLE_ERROR & ERRCODE_RES_MASK { @@ -2232,19 +2305,20 @@ Resource RID_BASIC_START Text [ swedish ] = "Fel vid OLE-automatisering" ; Text [ finnish ] = "OLE-automaatiovirhe" ; Text [ english_us ] = "OLE Automation Error" ; - Text[ chinese_simplified ] = "OLE Զ"; - Text[ russian ] = " OLE"; + Text[ chinese_simplified ] = "OLE 自动化错误"; + Text[ russian ] = " OLE"; Text[ polish ] = "Bd przy automatyzacji OLE"; - Text[ japanese ] = "OLE̍ۂ̴װ"; - Text[ chinese_traditional ] = "OLE۰ʤƿ~"; + Text[ japanese ] = "OLE自動化の際のエラー"; + Text[ chinese_traditional ] = "OLE自動化錯誤"; Text[ arabic ] = " OLE "; Text[ dutch ] = "Fout bij OLE-automatisering"; - Text[ chinese_simplified ] = "OLE Զ"; + Text[ chinese_simplified ] = "OLE 自动化错误"; Text[ greek ] = " OLE"; - Text[ korean ] = "OLE ڵȭ "; + Text[ korean ] = "OLE 자동화 오류"; Text[ turkish ] = "OLE otomasyonunda hata"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Error en la automatizacin OLE"; + Text[ catalan ] = "Error d'automatitzaci OLE"; + Text[ thai ] = "OLE อัตโนมัติผิดพลาด"; }; String SbERR_BAD_ACTION & ERRCODE_RES_MASK { @@ -2256,25 +2330,26 @@ Resource RID_BASIC_START Text [ portuguese_brazilian ] = "Object doesn't support this action" ; Text [ portuguese ] = "O objecto indicado no suporta esta aco" ; Text [ french ] = "L'objet indiqu ne supporte pas cette action" ; - Text [ dutch ] = "Deze handeling wordt niet ondersteund door het aangegeven object" ; - Text [ spanish ] = "Esta accin no es apoyada por el objeto dado" ; + Text [ dutch ] = "Deze handeling wordt niet ondersteund door het opgegeven object" ; + Text [ spanish ] = "El objeto indicado no admite esta accin" ; Text [ danish ] = "Denne handling understttes ikke at det angivne objekt." ; Text [ swedish ] = "Denna tgrd understds inte av angivet objekt" ; - Text [ finnish ] = "Annettu objekti ei tue tt toimintoa" ; + Text [ finnish ] = "Annettu objekti ei tue tt toimintoa." ; Text [ english_us ] = "This action is not supported by given object" ; - Text[ chinese_simplified ] = "Ķ֧"; + Text[ chinese_simplified ] = "给定的对象不支持这个操作"; Text[ russian ] = " "; Text[ polish ] = "Ta akcja nie jest obsugiwana przez podany obiekt"; - Text[ japanese ] = "̱݂͎w肳ꂽުĂx܂"; - Text[ chinese_traditional ] = "w䴩oӰʧ@"; + Text[ japanese ] = "このアクションは指定されたオブジェクトから支援されません"; + Text[ chinese_traditional ] = "指定的物件不支援這個動作"; Text[ arabic ] = " "; - Text[ dutch ] = "Deze handeling wordt niet ondersteund door het aangegeven object"; - Text[ chinese_simplified ] = "Ķ֧"; + Text[ dutch ] = "Deze handeling wordt niet ondersteund door het opgegeven object"; + Text[ chinese_simplified ] = "给定的对象不支持这个操作"; Text[ greek ] = " "; - Text[ korean ] = " õ ü ʽϴ."; + Text[ korean ] = "지정된 개체는 이 작동을 지원하지 않습니다."; Text[ turkish ] = "Bu ilem belirtilen nesne tarafndan desteklenmiyor"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Esta accin no es apoyada por el objeto dado"; + Text[ catalan ] = "L'objecte indicat no permet aquesta acci"; + Text[ thai ] = "ไม่สนับสนุนการกระทำนี้ด้วยวัตถุที่ให้มา"; }; String SbERR_NO_NAMED_ARGS & ERRCODE_RES_MASK { @@ -2286,25 +2361,26 @@ Resource RID_BASIC_START Text [ portuguese_brazilian ] = "Object doesn't support named args" ; Text [ portuguese ] = "O objecto indicado no suporta os argumentos mencionados" ; Text [ french ] = "L'objet indiqu ne supporte pas les arguments cits" ; - Text [ dutch ] = "Genoemde argumenten wordt niet ondersteund door het aangegeven object" ; - Text [ spanish ] = "El objeto indicado no apoya los argumentos nombrados" ; + Text [ dutch ] = "Genoemde argumenten worden niet ondersteund door het opgegeven object" ; + Text [ spanish ] = "El objeto indicado no admite los argumentos mencionados" ; Text [ danish ] = "Nvnte argumenter understttes ikke af det angivne objekt" ; Text [ swedish ] = "Angivna argument understds ej av angivet objekt" ; Text [ finnish ] = "Annettu objekti ei tue nimettyj argumentteja" ; Text [ english_us ] = "Named arguments are not supported by given object" ; - Text[ chinese_simplified ] = "ָ֧Ա"; + Text[ chinese_simplified ] = "给定对象不支持指定的自变量"; Text[ russian ] = " "; Text[ polish ] = "Nazwane argumenty nie s obsugiwane przez podany obiekt"; - Text[ japanese ] = "wꂽ͎w肳ꂽުĂx܂"; - Text[ chinese_traditional ] = "wܶqw䴩"; + Text[ japanese ] = "指名された引数は指定されたオブジェクトから支援されません"; + Text[ chinese_traditional ] = "指定的自變量不受指定物件的支援"; Text[ arabic ] = " "; - Text[ dutch ] = "Genoemde argumenten wordt niet ondersteund door het aangegeven object"; - Text[ chinese_simplified ] = "ָ֧Ա"; + Text[ dutch ] = "Genoemde argumenten worden niet ondersteund door het opgegeven object"; + Text[ chinese_simplified ] = "给定对象不支持指定的自变量"; Text[ greek ] = " "; - Text[ korean ] = " õ ü ʽϴ."; + Text[ korean ] = "지정된 개체에서 지정된 독립 변수를 지원하지 않습니다."; Text[ turkish ] = "Adlandrlm argmanlar, belirtilen nesne tarafndan desteklenmiyor"; Text[ language_user1 ] = " "; - Text[ catalan ] = "El objeto indicado no apoya los argumentos nombrados"; + Text[ catalan ] = "L'objecte indicat no permet els arguments anomenats"; + Text[ thai ] = "ไม่สนับสนุนอาร์กิวเม้นท์ที่มีชื่อด้วยวัตถุที่ให้มา"; }; String SbERR_BAD_LOCALE & ERRCODE_RES_MASK { @@ -2316,25 +2392,26 @@ Resource RID_BASIC_START Text [ portuguese_brazilian ] = "Object doesn't support current locale setting" ; Text [ portuguese ] = "O objecto indicado no suporta a configurao local actual" ; Text [ french ] = "L'objet indiqu ne supporte pas l'environnement linguistique actuel." ; - Text [ dutch ] = "De huidige lokale instellingen worden niet ondersteund door het aangegeven object" ; - Text [ spanish ] = "La configuracin local actual no es apoyada por el objeto dado" ; + Text [ dutch ] = "De huidige lokale instellingen worden niet ondersteund door het opgegeven object" ; + Text [ spanish ] = "El entorno local actual no admite el objeto indicado." ; Text [ danish ] = "Det aktuelle omrdeskema understttes ikke af det angivne objekt" ; Text [ swedish ] = "De aktuella lokala instllningarna understds inte av angivet objekt" ; - Text [ finnish ] = "Annettu objekti ei tue nykyist kieliasetusta" ; + Text [ finnish ] = "Annettu objekti ei tue nykyist kieliasetusta." ; Text [ english_us ] = "The current locale setting is not supported by the given object" ; - Text[ chinese_simplified ] = "ǰľֲ趨ܸ֧"; - Text[ russian ] = " "; + Text[ chinese_simplified ] = "当前的语言设定不受给定对象的支持"; + Text[ russian ] = " "; Text[ polish ] = "Biece ustawienie lokalne nie jest obsugiwane przez podany obiekt"; - Text[ japanese ] = "݂۰ِݒ͎w肵ުĂx܂"; - Text[ chinese_traditional ] = "e]ww䴩"; + Text[ japanese ] = "現在のローカル設定は指定したオブジェクトから支援されません"; + Text[ chinese_traditional ] = "使用中的語言設定不受指定物件的支援"; Text[ arabic ] = " "; - Text[ dutch ] = "De huidige lokale instellingen worden niet ondersteund door het aangegeven object"; - Text[ chinese_simplified ] = "ǰľֲ趨ܸ֧"; + Text[ dutch ] = "De huidige lokale instellingen worden niet ondersteund door het opgegeven object"; + Text[ chinese_simplified ] = "当前的语言设定不受给定对象的支持"; Text[ greek ] = " "; - Text[ korean ] = " õ ü ʽϴ."; + Text[ korean ] = "지정된 개체에서 현재의 로컬 설정을 지원하지 않습니다."; Text[ turkish ] = "Yrlkteki yerel ayarlar, belirtilen nesne tarafndan desteklenmiyor"; Text[ language_user1 ] = " "; - Text[ catalan ] = "La configuracin local actual no es apoyada por el objeto dado"; + Text[ catalan ] = "L'objecte indicat no permet el parmetre local actual"; + Text[ thai ] = "ไม่สนับสนุนการตั้งค่าที่ปัจจุบันด้วยวัตถุที่ให้มา"; }; String SbERR_NAMED_NOT_FOUND & ERRCODE_RES_MASK { @@ -2346,24 +2423,25 @@ Resource RID_BASIC_START Text [ portuguese ] = "Impossvel encontrar o argumento mencionado" ; Text [ french ] = "L'argument cit est introuvable" ; Text [ dutch ] = "Genoemd argument niet gevonden" ; - Text [ spanish ] = "No se encontr el argumento nombrado" ; + Text [ spanish ] = "El argumento mencionado no se encontr " ; Text [ danish ] = "Det nvnte argument blev ikke fundet" ; Text [ swedish ] = "Angivet argument hittades inte" ; - Text [ finnish ] = "Nimetty argumenttia ei lydy" ; + Text [ finnish ] = "Nimetty argumenttia ei lydy." ; Text [ english_us ] = "Named argument not found" ; - Text[ chinese_simplified ] = "ûҵָԱ"; - Text[ russian ] = " "; + Text[ chinese_simplified ] = "没有找到指定的自变量"; + Text[ russian ] = " "; Text[ polish ] = "Nazwanego argumentu nie znaleziono"; - Text[ japanese ] = "w͌܂"; - Text[ chinese_traditional ] = "Swܶq"; + Text[ japanese ] = "指名した引数は見つかりません"; + Text[ chinese_traditional ] = "沒有找到指定的自變量"; Text[ arabic ] = " "; Text[ dutch ] = "Genoemd argument niet gevonden"; - Text[ chinese_simplified ] = "ûҵָԱ"; + Text[ chinese_simplified ] = "没有找到指定的自变量"; Text[ greek ] = " "; - Text[ korean ] = " ã ߽ϴ."; + Text[ korean ] = "지정된 독립 변수를 찾지 못했습니다."; Text[ turkish ] = "Adlandrlan argman bulunamad"; Text[ language_user1 ] = " "; - Text[ catalan ] = "No se encontr el argumento nombrado"; + Text[ catalan ] = "No s'ha trobat l'objecte anomenat"; + Text[ thai ] = "ไม่พบอาร์กิวเม้นท์ที่มีชื่อ"; }; String SbERR_NOT_OPTIONAL & ERRCODE_RES_MASK { @@ -2378,21 +2456,22 @@ Resource RID_BASIC_START Text [ spanish ] = "El argumento no es opcional" ; Text [ danish ] = "Argumentet er ikke valgfrit" ; Text [ swedish ] = "Argumentet r inte valfritt" ; - Text [ finnish ] = "Argumentti ei ole valinnainen" ; + Text [ finnish ] = "Argumentti ei ole valinnainen." ; Text [ english_us ] = "Argument is not optional" ; - Text[ chinese_simplified ] = "ǿѡԱ"; - Text[ russian ] = " "; + Text[ chinese_simplified ] = "非可选的自变量"; + Text[ russian ] = " "; Text[ polish ] = "Argument nie jest opcjonalny"; - Text[ japanese ] = "͵݂ł͂܂"; - Text[ chinese_traditional ] = "Di諸ܶq"; + Text[ japanese ] = "引数はオプションではありません"; + Text[ chinese_traditional ] = "非可選的自變量"; Text[ arabic ] = " "; Text[ dutch ] = "Het argument is niet optioneel"; - Text[ chinese_simplified ] = "ǿѡԱ"; + Text[ chinese_simplified ] = "非可选的自变量"; Text[ greek ] = " "; - Text[ korean ] = " ɼ ƴմϴ."; + Text[ korean ] = "독립 변수는 사용자 지정되지 않습니다."; Text[ turkish ] = "Argman istee bal deil"; Text[ language_user1 ] = " "; - Text[ catalan ] = "El argumento no es opcional"; + Text[ catalan ] = "L'argument no s opcional"; + Text[ thai ] = "อาร์กิวเม้นท์ไม่ใช่ทางเลือก"; }; String SbERR_WRONG_ARGS & ERRCODE_RES_MASK { @@ -2409,19 +2488,20 @@ Resource RID_BASIC_START Text [ swedish ] = "Felaktigt antal argument" ; Text [ finnish ] = "Virheellinen mr argumentteja" ; Text [ english_us ] = "Invalid number of arguments" ; - Text[ chinese_simplified ] = "ЧԱĿ"; + Text[ chinese_simplified ] = "无效的自变量数目"; Text[ russian ] = " "; Text[ polish ] = "Nieprawidowa ilo argumentw"; - Text[ japanese ] = "̐܂"; - Text[ chinese_traditional ] = "LĪܶqƥ"; + Text[ japanese ] = "引数の数が正しくありません"; + Text[ chinese_traditional ] = "無效的自變量數目"; Text[ arabic ] = " "; Text[ dutch ] = "Ongeldig aantal argumenten"; - Text[ chinese_simplified ] = "ЧԱĿ"; + Text[ chinese_simplified ] = "无效的自变量数目"; Text[ greek ] = " "; - Text[ korean ] = " Ʋ"; + Text[ korean ] = "독립 변수 수가 잘못되었습니다."; Text[ turkish ] = "Argman says yanl"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Nmero errneo de argumentos"; + Text[ catalan ] = "El nombre d'arguments no s vlid"; + Text[ thai ] = "จำนวนอาร์กิวเม้นท์ไม่ถูกต้อง"; }; String SbERR_NOT_A_COLL & ERRCODE_RES_MASK { @@ -2436,21 +2516,22 @@ Resource RID_BASIC_START Text [ spanish ] = "El objeto no es una lista" ; Text [ danish ] = "Objektet er ingen liste" ; Text [ swedish ] = "Objektet r ingen lista" ; - Text [ finnish ] = "Objekti ei ole luettelo" ; + Text [ finnish ] = "Objekti ei ole luettelo." ; Text [ english_us ] = "Object is not a list" ; - Text[ chinese_simplified ] = "һе"; + Text[ chinese_simplified ] = "对象不是一个列单"; Text[ russian ] = " "; Text[ polish ] = "Obiekt nie jest list"; - Text[ japanese ] = "ުĂؽĂł͂܂"; - Text[ chinese_traditional ] = "O@ӲM"; + Text[ japanese ] = "オブジェクトはリストではありません"; + Text[ chinese_traditional ] = "物件不是一個清單"; Text[ arabic ] = " "; Text[ dutch ] = "Object is geen lijst"; - Text[ chinese_simplified ] = "һе"; + Text[ chinese_simplified ] = "对象不是一个列单"; Text[ greek ] = " "; - Text[ korean ] = "ü Ͽ ۼ ʾҽϴ."; + Text[ korean ] = "개체는 목록이 아닙니다."; Text[ turkish ] = "Nesne bir liste deil"; Text[ language_user1 ] = " "; - Text[ catalan ] = "El objeto no es una lista"; + Text[ catalan ] = "L'objecte no s una llista"; + Text[ thai ] = "วัตถุไม่ีอยู่ในรายการ"; }; String SbERR_BAD_ORDINAL & ERRCODE_RES_MASK { @@ -2462,25 +2543,26 @@ Resource RID_BASIC_START Text [ portuguese_brazilian ] = "Invalid ordinal" ; Text [ portuguese ] = "Ordinal incorrecto" ; Text [ french ] = "Nombre ordinal non valable" ; - Text [ dutch ] = "Ongeldig ranggetal" ; + Text [ dutch ] = "Ongeldig rangtelwoord" ; Text [ spanish ] = "Nmero ordinal no vlido" ; Text [ danish ] = "Ugyldigt ordenstal" ; Text [ swedish ] = "Ogiltigt ordningstal" ; - Text [ finnish ] = "Virheellinen jrjestysnumero" ; + Text [ finnish ] = "Virheellinen jrjestysluku" ; Text [ english_us ] = "Invalid ordinal number" ; - Text[ chinese_simplified ] = "Ч"; - Text[ russian ] = " "; + Text[ chinese_simplified ] = "序号无效"; + Text[ russian ] = " "; Text[ polish ] = "Nieprawidowa liczba porzdkowa"; - Text[ japanese ] = "͖ł"; - Text[ chinese_traditional ] = "ǸL"; + Text[ japanese ] = "序数は無効です"; + Text[ chinese_traditional ] = "序號無效"; Text[ arabic ] = " "; - Text[ dutch ] = "Ongeldig ranggetal"; - Text[ chinese_simplified ] = "Ч"; + Text[ dutch ] = "Ongeldig rangtelwoord"; + Text[ chinese_simplified ] = "序号无效"; Text[ greek ] = " "; - Text[ korean ] = "ȿ "; + Text[ korean ] = "잘못된 서수"; Text[ turkish ] = "Sra says geersiz"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Nmero ordinal no vlido"; + Text[ catalan ] = "El nmero ordinal no s vlid"; + Text[ thai ] = "เลขแสดงลำดับไม่ถูกต้อง"; }; String SbERR_DLLPROC_NOT_FOUND & ERRCODE_RES_MASK { @@ -2491,25 +2573,26 @@ Resource RID_BASIC_START Text [ portuguese_brazilian ] = "Specified DLL function not found" ; Text [ portuguese ] = "Funo DLL especificada no foi encontrada" ; Text [ french ] = "La fonction DLL indique est introuvable" ; - Text [ dutch ] = "Aangegeven DLL- functie niet gevonden" ; + Text [ dutch ] = "Opgegeven DLL-functie niet gevonden" ; Text [ spanish ] = "No se encontr la funcin DLL especificada" ; Text [ danish ] = "Den angivne DDL-funktion blev ikke fundet" ; Text [ swedish ] = "Angiven DLL-funktion hittades inte" ; - Text [ finnish ] = "Mritetty DLL-toimintoa ei lytynyt" ; + Text [ finnish ] = "Mritetty DLL-funktiota ei lytynyt." ; Text [ english_us ] = "Specified DLL function not found" ; - Text[ chinese_simplified ] = "ûҵָ DLL "; - Text[ russian ] = " DLL "; + Text[ chinese_simplified ] = "没有找到指定的 DLL 功能"; + Text[ russian ] = " DLL "; Text[ polish ] = "Podanej funkcji DLL nie znaleziono"; - Text[ japanese ] = "w肳ꂽDLL@\\͌܂"; - Text[ chinese_traditional ] = "SwDLL\\"; + Text[ japanese ] = "指定されたDLL機能は見つかりません"; + Text[ chinese_traditional ] = "沒有找到指定的DLL功能"; Text[ arabic ] = " DLL "; - Text[ dutch ] = "Aangegeven DLL- functie niet gevonden"; - Text[ chinese_simplified ] = "ûҵָ DLL "; + Text[ dutch ] = "Opgegeven DLL-functie niet gevonden"; + Text[ chinese_simplified ] = "没有找到指定的 DLL 功能"; Text[ greek ] = " DLL"; - Text[ korean ] = "ǵ DLL Լã߽ϴ."; + Text[ korean ] = "지정된 DLL 기능을 찾지 못했습니다."; Text[ turkish ] = "Belirtilen DLL ilevi bulunamad"; Text[ language_user1 ] = " "; - Text[ catalan ] = "No se encontr la funcin DLL especificada"; + Text[ catalan ] = "No s'ha trobat la funci DLL indicada"; + Text[ thai ] = "ไม่พบฟังก์ชั่น DLL ที่ระบุ "; }; String SbERR_BAD_CLIPBD_FORMAT & ERRCODE_RES_MASK { @@ -2520,26 +2603,27 @@ Resource RID_BASIC_START Text [ italian ] = "Formato clipboard non valido" ; Text [ portuguese_brazilian ] = "Invalid clipboard format" ; Text [ portuguese ] = "Formato da rea de transferncia no vlido" ; - Text [ french ] = "Le format de presse-papiers souhait est incorrect." ; + Text [ french ] = "Format de presse-papiers incorrect" ; Text [ dutch ] = "Ongeldige indeling voor Klembord" ; Text [ spanish ] = "Formato de portapapeles no vlido" ; Text [ danish ] = "Ugyldigt udklipsholderformat" ; Text [ swedish ] = "Ogiltigt urklippsformat" ; Text [ finnish ] = "Virheellinen leikepydn muoto" ; Text [ english_us ] = "Invalid clipboard format" ; - Text[ chinese_simplified ] = "Чļʽ"; - Text[ russian ] = " "; + Text[ chinese_simplified ] = "无效的剪贴板格式"; + Text[ russian ] = " "; Text[ polish ] = "Nieprawidowy format schowka"; - Text[ japanese ] = "دްޏł"; - Text[ chinese_traditional ] = "LĪŶKï榡"; + Text[ japanese ] = "クリップボード書式が無効です"; + Text[ chinese_traditional ] = "無效的剪貼簿格式"; Text[ arabic ] = " "; Text[ dutch ] = "Ongeldige indeling voor Klembord"; - Text[ chinese_simplified ] = "Чļʽ"; + Text[ chinese_simplified ] = "无效的剪贴板格式"; Text[ greek ] = " "; - Text[ korean ] = "ȿ Ŭ "; + Text[ korean ] = "클립보드 서식이 잘못되었습니다."; Text[ turkish ] = "Geersiz pano format"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Formato de portapapeles no vlido"; + Text[ catalan ] = "El format del porta-retalls no s vlid"; + Text[ thai ] = "รูปแบบคลิปบอร์ดไม่ถูกต้อง"; }; String SbERR_PROPERTY_NOT_FOUND & ERRCODE_RES_MASK { @@ -2551,24 +2635,25 @@ Resource RID_BASIC_START Text [ portuguese ] = "O objecto no tem esta propriedade" ; Text [ french ] = "L'objet ne possde pas cette proprit" ; Text [ dutch ] = "Object heeft deze eigenschap niet" ; - Text [ spanish ] = "El objeto no tiene esta propiedad" ; + Text [ spanish ] = "El objeto no dispone de esta propiedad" ; Text [ danish ] = "Objektet har ikke denne egenskab" ; Text [ swedish ] = "Objektet har inte denna egenskap" ; Text [ finnish ] = "Objektilla ei ole tt ominaisuutta" ; Text [ english_us ] = "Object does not have this property" ; - Text[ chinese_simplified ] = "߱"; + Text[ chinese_simplified ] = "对象不具备这个属性"; Text[ russian ] = " "; Text[ polish ] = "Obiekt nie ma tej waciwoci"; - Text[ japanese ] = "ުĂɂ̑͂܂"; - Text[ chinese_traditional ] = "Ƴoݩ"; + Text[ japanese ] = "オブジェクトにこの属性はありません"; + Text[ chinese_traditional ] = "物件不具備這個屬性"; Text[ arabic ] = " "; Text[ dutch ] = "Object heeft deze eigenschap niet"; - Text[ chinese_simplified ] = "߱"; + Text[ chinese_simplified ] = "对象不具备这个属性"; Text[ greek ] = " "; - Text[ korean ] = "ü ʽϴ."; + Text[ korean ] = "개체가 이 등록 정보를 가지고 있지 않습니다."; Text[ turkish ] = "Nesne bu zellie sahip deil"; Text[ language_user1 ] = " "; - Text[ catalan ] = "El objeto no tiene esta propiedad"; + Text[ catalan ] = "L'objecte no t aquesta propietat"; + Text[ thai ] = "วัตถุไม่มีคุณสมบัตินี้"; }; String SbERR_METHOD_NOT_FOUND & ERRCODE_RES_MASK { @@ -2580,24 +2665,25 @@ Resource RID_BASIC_START Text [ portuguese ] = "O objecto no dispe deste mtodo" ; Text [ french ] = "L'objet ne possde pas cette mthode" ; Text [ dutch ] = "Object kent deze methode niet" ; - Text [ spanish ] = "El objeto no tiene este mtodo" ; + Text [ spanish ] = "El objeto no dispone de este mtodo" ; Text [ danish ] = "Objekt har ikke denne metode" ; Text [ swedish ] = "Objektet har inte denna metod" ; - Text [ finnish ] = "Objektilla ei ole tt menetelm" ; + Text [ finnish ] = "Objektilla ei ole tt menetelm." ; Text [ english_us ] = "Object does not have this method" ; - Text[ chinese_simplified ] = "߱"; + Text[ chinese_simplified ] = "对象不具备这个方法"; Text[ russian ] = " "; Text[ polish ] = "Obiekt nie ma tej metody"; - Text[ japanese ] = "ުĂɂҿނ͂܂"; - Text[ chinese_traditional ] = "ƳoӤk"; + Text[ japanese ] = "オブジェクトにこのメソッドはありません"; + Text[ chinese_traditional ] = "物件不具備這個方法"; Text[ arabic ] = " "; Text[ dutch ] = "Object kent deze methode niet"; - Text[ chinese_simplified ] = "߱"; + Text[ chinese_simplified ] = "对象不具备这个方法"; Text[ greek ] = " "; - Text[ korean ] = "ü ҵ带 ʽϴ."; + Text[ korean ] = "개체가 이 메소드를 가지고 있지 않습니다."; Text[ turkish ] = "Nesne bu ynteme sahip deil"; Text[ language_user1 ] = " "; - Text[ catalan ] = "El objeto no tiene este mtodo"; + Text[ catalan ] = "L'objecte no t aquest mtode"; + Text[ thai ] = "วัตถุไม่มีวิธีการนี้"; }; String SbERR_ARG_MISSING & ERRCODE_RES_MASK { @@ -2612,21 +2698,22 @@ Resource RID_BASIC_START Text [ spanish ] = "Falta el argumento requerido" ; Text [ danish ] = "Pkrvet argument mangler" ; Text [ swedish ] = "Ndvndigt argument saknas" ; - Text [ finnish ] = "Vaadittu argumentti puuttuu" ; + Text [ finnish ] = "Vaadittu argumentti puuttuu." ; Text [ english_us ] = "Required argument lacking" ; - Text[ chinese_simplified ] = "ȱٱҪԱ"; - Text[ russian ] = " "; + Text[ chinese_simplified ] = "缺少必要的自变量"; + Text[ russian ] = " "; Text[ polish ] = "Brakuje wymaganego argumentu"; - Text[ japanese ] = "KvȈ܂"; - Text[ chinese_traditional ] = "ʤ֥nܶq"; + Text[ japanese ] = "必要な引数が足りません"; + Text[ chinese_traditional ] = "缺少必要的自變量"; Text[ arabic ] = " "; Text[ dutch ] = "Vereist argument ontbreekt"; - Text[ chinese_simplified ] = "ȱٱҪԱ"; + Text[ chinese_simplified ] = "缺少必要的自变量"; Text[ greek ] = " "; - Text[ korean ] = "û ϴ"; + Text[ korean ] = "필요한 독립 변수가 없습니다."; Text[ turkish ] = "Gerekli argman eksik"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Falta el argumento requerido"; + Text[ catalan ] = "Manca un argument necessari"; + Text[ thai ] = "่ต้องการที่จะไม่มีอาร์กิวเม้นท์"; }; String SbERR_BAD_NUMBER_OF_ARGS & ERRCODE_RES_MASK { @@ -2644,19 +2731,20 @@ Resource RID_BASIC_START Text [ swedish ] = "Ogiltigt antal argument" ; Text [ finnish ] = "Virheellinen mr argumentteja" ; Text [ english_us ] = "Invalid number of arguments" ; - Text[ chinese_simplified ] = "ЧԱĿ"; + Text[ chinese_simplified ] = "无效的自变量数目"; Text[ russian ] = " "; Text[ polish ] = "Nieprawidowa ilo argumentw"; - Text[ japanese ] = "̐ɖ肪܂"; - Text[ chinese_traditional ] = "ܶqƥصL"; + Text[ japanese ] = "引数の数に問題があります"; + Text[ chinese_traditional ] = "自變量數目無效"; Text[ arabic ] = " "; Text[ dutch ] = "Ongeldig aantal argumenten"; - Text[ chinese_simplified ] = "ЧԱĿ"; + Text[ chinese_simplified ] = "无效的自变量数目"; Text[ greek ] = " "; - Text[ korean ] = " ȿ "; + Text[ korean ] = "독립 변수 수가 잘못되었습니다."; Text[ turkish ] = "Argman says geersiz"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Nmero de argumentos no vlido"; + Text[ catalan ] = "El nombre d'arguments no s vlid"; + Text[ thai ] = "จำนวนอาร์กิวเม้นท์ไม่ถูกต้อง"; }; String SbERR_METHOD_FAILED & ERRCODE_RES_MASK { @@ -2674,19 +2762,20 @@ Resource RID_BASIC_START Text [ swedish ] = "Fel vid utfrandet av en metod" ; Text [ finnish ] = "Virhe suoritettaessa menetelm" ; Text [ english_us ] = "Error executing a method" ; - Text[ chinese_simplified ] = "зʱ"; - Text[ russian ] = " "; + Text[ chinese_simplified ] = "运行方法时发生错误"; + Text[ russian ] = " "; Text[ polish ] = "Bd w wykonywaniu metody"; - Text[ japanese ] = "ҿގs̴װ"; - Text[ chinese_traditional ] = "BkɵoͿ~"; + Text[ japanese ] = "メソッド実行中のエラー"; + Text[ chinese_traditional ] = "運行方法時發生錯誤"; Text[ arabic ] = " "; Text[ dutch ] = "Fout in uitvoering van een methode"; - Text[ chinese_simplified ] = "зʱ"; + Text[ chinese_simplified ] = "运行方法时发生错误"; Text[ greek ] = " "; - Text[ korean ] = "ҵ "; + Text[ korean ] = "메소드 실행 중 오류"; Text[ turkish ] = "Yntemin yrtlmesinde hata"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Error al ejecutar un mtodo"; + Text[ catalan ] = "S'ha produt un error en executar un mtode"; + Text[ thai ] = "วิธีการกระทำผิดพลาด"; }; String SbERR_SETPROP_FAILED & ERRCODE_RES_MASK { @@ -2697,25 +2786,26 @@ Resource RID_BASIC_START Text [ portuguese_brazilian ] = "Unable to set property" ; Text [ portuguese ] = "Foi impossvel definir propriedade" ; Text [ french ] = "Impossible de dfinir la proprit" ; - Text [ dutch ] = "Eigenschap kon niet worden ingesteld" ; + Text [ dutch ] = "Eigenschap kan niet worden ingesteld" ; Text [ spanish ] = "No se pudo determinar la propiedad" ; Text [ danish ] = "Det var ikke muligt at definere egenskaben" ; Text [ swedish ] = "Egenskap kunde inte definieras" ; Text [ finnish ] = "Ominaisuuden asettaminen ei onnistu" ; Text [ english_us ] = "Unable to set property" ; - Text[ chinese_simplified ] = "ȷ"; + Text[ chinese_simplified ] = "无法确定属性"; Text[ russian ] = " "; Text[ polish ] = "Waciwo nie moga zosta zdefiniowana"; - Text[ japanese ] = "͎wł܂ł"; - Text[ chinese_traditional ] = "LkTwݩ"; + Text[ japanese ] = "属性は指定できませんでした"; + Text[ chinese_traditional ] = "無法確定屬性"; Text[ arabic ] = " "; - Text[ dutch ] = "Eigenschap kon niet worden ingesteld"; - Text[ chinese_simplified ] = "ȷ"; + Text[ dutch ] = "Eigenschap kan niet worden ingesteld"; + Text[ chinese_simplified ] = "无法确定属性"; Text[ greek ] = " "; - Text[ korean ] = " ϴ."; + Text[ korean ] = "등록 정보를 설정하지 못했습니다."; Text[ turkish ] = "zellik tanmlanamad"; Text[ language_user1 ] = " "; - Text[ catalan ] = "No se pudo determinar la propiedad"; + Text[ catalan ] = "No es pot definir la propietat"; + Text[ thai ] = "ไม่สามารถตั้งค่าคุณสมบัติได้"; }; String SbERR_GETPROP_FAILED & ERRCODE_RES_MASK { @@ -2726,25 +2816,26 @@ Resource RID_BASIC_START Text [ portuguese_brazilian ] = "Unable to get property" ; Text [ portuguese ] = "Foi impossvel determinar a propriedade" ; Text [ french ] = "Impossible de dterminer la proprit" ; - Text [ dutch ] = "Eigenschap kon niet worden vastgesteld" ; + Text [ dutch ] = "Eigenschap kan niet worden vastgesteld" ; Text [ spanish ] = "No se pudo determinar la propiedad" ; Text [ danish ] = "Det var ikke muligt at bestemme egenskaben" ; Text [ swedish ] = "Egenskap gick inte att bestmma" ; - Text [ finnish ] = "Ominaisuuden mrittminen ei onnistu" ; + Text [ finnish ] = "Ominaisuuden mrittminen ei onnistu." ; Text [ english_us ] = "Unable to determine property" ; - Text[ chinese_simplified ] = ""; + Text[ chinese_simplified ] = "无法读出属性"; Text[ russian ] = " "; Text[ polish ] = "Waciwo nie moga zosta zdefiniowana"; - Text[ japanese ] = "͊m߂邱Ƃł܂ł"; - Text[ chinese_traditional ] = "LkŪXݩ"; + Text[ japanese ] = "属性は確かめることができませんでした"; + Text[ chinese_traditional ] = "無法讀出屬性"; Text[ arabic ] = " "; - Text[ dutch ] = "Eigenschap kon niet worden vastgesteld"; - Text[ chinese_simplified ] = ""; + Text[ dutch ] = "Eigenschap kan niet worden vastgesteld"; + Text[ chinese_simplified ] = "无法读出属性"; Text[ greek ] = " "; - Text[ korean ] = " ϴ."; + Text[ korean ] = "등록 정보를 지정하지 못했습니다."; Text[ turkish ] = "zellik belirlenemedi"; Text[ language_user1 ] = " "; - Text[ catalan ] = "No se pudo determinar la propiedad"; + Text[ catalan ] = "No es pot determinar la propietat"; + Text[ thai ] = "ไม่สามารถกำหนดคุณสมบัติได้"; }; // Compiler errors. These are not runtime errors. String SbERR_UNEXPECTED & ERRCODE_RES_MASK @@ -2762,19 +2853,20 @@ Resource RID_BASIC_START Text [ swedish ] = "Ovntad symbol: $(ARG1)" ; Text [ finnish ] = "Odottamaton symboli: $(ARG1)" ; Text [ english_us ] = "Unexpected symbol: $(ARG1)" ; - Text[ chinese_simplified ] = "ͼ꣺$(ARG1)"; - Text[ russian ] = " : $(ARG1)"; + Text[ chinese_simplified ] = "意外的图标:$(ARG1)"; + Text[ russian ] = " : $(ARG1)"; Text[ polish ] = "Nieoczekiwany symbol: $(ARG1)"; - Text[ japanese ] = "sKȼ: $(ARG1)"; - Text[ chinese_traditional ] = "N~ϥܡG$(ARG1)"; + Text[ japanese ] = "不適当なシンボル: $(ARG1)"; + Text[ chinese_traditional ] = "意外的圖示:$(ARG1)"; Text[ arabic ] = "$(ARG1) : "; Text[ dutch ] = "Onverwacht symbool: $(ARG1)"; - Text[ chinese_simplified ] = "ͼ꣺$(ARG1)"; + Text[ chinese_simplified ] = "意外的图标:$(ARG1)"; Text[ greek ] = " : $(ARG1)"; - Text[ korean ] = "䱸 ȣ: $(ARG1)"; + Text[ korean ] = "예상치 않은 기호: $(ARG1)"; Text[ turkish ] = "Beklenmeyen simge: $(ARG1)"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Smbolo inesperado: $(ARG1)"; + Text[ catalan ] = "No s'esperava el smbol: $(ARG1)"; + Text[ thai ] = "สัญลักษณ์ที่ไม่ได้คาดหวังไว้: $(ARG1)"; }; String SbERR_EXPECTED & ERRCODE_RES_MASK { @@ -2791,19 +2883,20 @@ Resource RID_BASIC_START Text [ swedish ] = "Frvntad: $(ARG1)" ; Text [ finnish ] = "Odotettiin: $(ARG1)" ; Text [ english_us ] = "Expected: $(ARG1)" ; - Text[ chinese_simplified ] = "ȴ$(ARG1)"; - Text[ russian ] = ": $(ARG1)"; + Text[ chinese_simplified ] = "等待:$(ARG1)"; + Text[ russian ] = ": $(ARG1)"; Text[ polish ] = "Oczekiwany: $(ARG1)"; - Text[ japanese ] = "Kv: $(ARG1)"; - Text[ chinese_traditional ] = "ݡG$(ARG1)"; + Text[ japanese ] = "必要項目: $(ARG1)"; + Text[ chinese_traditional ] = "等待:$(ARG1)"; Text[ arabic ] = "$(ARG1) :"; Text[ dutch ] = "Verwacht: $(ARG1)"; - Text[ chinese_simplified ] = "ȴ$(ARG1)"; + Text[ chinese_simplified ] = "等待:$(ARG1)"; Text[ greek ] = ": $(ARG1)"; - Text[ korean ] = "䱸: $(ARG1)"; + Text[ korean ] = "필요 항목: $(ARG1)"; Text[ turkish ] = "Beklenen: $(ARG1)"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Se espera: $(ARG1)"; + Text[ catalan ] = "S'esperava: $(ARG1)"; + Text[ thai ] = "ที่คาดหวัง: $(ARG1)"; }; String SbERR_SYMBOL_EXPECTED & ERRCODE_RES_MASK { @@ -2820,19 +2913,20 @@ Resource RID_BASIC_START Text [ swedish ] = "Symbol frvntad" ; Text [ finnish ] = "Symboli oletuksena" ; Text [ english_us ] = "Symbol expected" ; - Text[ chinese_simplified ] = "ȴͼ"; - Text[ russian ] = " "; + Text[ chinese_simplified ] = "等待图标"; + Text[ russian ] = " "; Text[ polish ] = "Oczekiwany symbol"; - Text[ japanese ] = "قKvł"; - Text[ chinese_traditional ] = "ݹϥ"; + Text[ japanese ] = "シンボルが必要です"; + Text[ chinese_traditional ] = "等待圖示"; Text[ arabic ] = " "; Text[ dutch ] = "Symbool verwacht"; - Text[ chinese_simplified ] = "ȴͼ"; + Text[ chinese_simplified ] = "等待图标"; Text[ greek ] = " "; - Text[ korean ] = "ȣ 䱸"; + Text[ korean ] = "기호가 필요"; Text[ turkish ] = "Simge bekleniyor"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Smbolo esperado"; + Text[ catalan ] = "S'esperava un smbol"; + Text[ thai ] = "สัญลักษณ์ที่คาดหวัง"; }; String SbERR_VAR_EXPECTED & ERRCODE_RES_MASK { @@ -2849,19 +2943,20 @@ Resource RID_BASIC_START Text [ swedish ] = "Variabel frvntad" ; Text [ finnish ] = "Muuttuja oletuksena" ; Text [ english_us ] = "Variable expected" ; - Text[ chinese_simplified ] = "ȴ"; - Text[ russian ] = " "; + Text[ chinese_simplified ] = "等待变量"; + Text[ russian ] = " "; Text[ polish ] = "Zmienna oczekiwana"; - Text[ japanese ] = "ϐKvł"; - Text[ chinese_traditional ] = "ܶq"; + Text[ japanese ] = "変数が必要です"; + Text[ chinese_traditional ] = "等待變量"; Text[ arabic ] = " "; Text[ dutch ] = "Variabele verwacht"; - Text[ chinese_simplified ] = "ȴ"; + Text[ chinese_simplified ] = "等待变量"; Text[ greek ] = " "; - Text[ korean ] = " 䱸"; + Text[ korean ] = "변수가 필요"; Text[ turkish ] = "Deiken bekleniyor"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Se requiere una variable"; + Text[ catalan ] = "S'esperava una variable"; + Text[ thai ] = "ตัวแปรที่คาดหวัง"; }; String SbERR_LABEL_EXPECTED & ERRCODE_RES_MASK { @@ -2876,21 +2971,22 @@ Resource RID_BASIC_START Text [ spanish ] = "Se requiere una etiqueta" ; Text [ danish ] = "Etiket forventes" ; Text [ swedish ] = "Etikett frvntad" ; - Text [ finnish ] = "Nimi oletuksena" ; + Text [ finnish ] = "Selite oletuksena" ; Text [ english_us ] = "Label expected" ; - Text[ chinese_simplified ] = "ȴ"; - Text[ russian ] = " "; + Text[ chinese_simplified ] = "等待标号"; + Text[ russian ] = " "; Text[ polish ] = "Oczekiwana etykieta"; - Text[ japanese ] = "قKvł"; - Text[ chinese_traditional ] = "ݼи"; + Text[ japanese ] = "ラベルが必要です"; + Text[ chinese_traditional ] = "等待標號"; Text[ arabic ] = " "; Text[ dutch ] = "Naam verwacht"; - Text[ chinese_simplified ] = "ȴ"; + Text[ chinese_simplified ] = "等待标号"; Text[ greek ] = " "; - Text[ korean ] = " 䱸"; + Text[ korean ] = "레이블이 필요"; Text[ turkish ] = "Etiket bekleniyor"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Se requiere una etiqueta"; + Text[ catalan ] = "S'esperava una etiqueta"; + Text[ thai ] = "ป้ายชื่อที่คาดหวัง"; }; String SbERR_LVALUE_EXPECTED & ERRCODE_RES_MASK { @@ -2902,24 +2998,25 @@ Resource RID_BASIC_START Text [ portuguese ] = "Impossvel atribuir o valor" ; Text [ french ] = "Impossible d'attribuer la valeur" ; Text [ dutch ] = "Waarde kan niet worden toegewezen" ; - Text [ spanish ] = "No se puede asignar el valor" ; + Text [ spanish ] = "El valor no se puede asignar" ; Text [ danish ] = "Vrdien kan ikke tildeles" ; Text [ swedish ] = "Vrdet kan inte tilldelas" ; - Text [ finnish ] = "Arvoa ei voi kytt" ; + Text [ finnish ] = "Arvoa ei voi kytt." ; Text [ english_us ] = "Value cannot be applied" ; - Text[ chinese_simplified ] = "ֵָ"; - Text[ russian ] = " "; + Text[ chinese_simplified ] = "无法指定数值"; + Text[ russian ] = " "; Text[ polish ] = "Nie mona zastosowa wartoci"; - Text[ japanese ] = "l͊蓖Ă܂"; - Text[ chinese_traditional ] = "Lkwƭ"; + Text[ japanese ] = "数値は割り当てられません"; + Text[ chinese_traditional ] = "無法指定數值"; Text[ arabic ] = " "; Text[ dutch ] = "Waarde kan niet worden toegewezen"; - Text[ chinese_simplified ] = "ֵָ"; + Text[ chinese_simplified ] = "无法指定数值"; Text[ greek ] = " "; - Text[ korean ] = " Ҵ ϴ."; + Text[ korean ] = "값을 할당할 수 없습니다."; Text[ turkish ] = "Deer atanamyor"; Text[ language_user1 ] = " "; - Text[ catalan ] = "No se puede asignar el valor"; + Text[ catalan ] = "No es pot aplicar el valor"; + Text[ thai ] = "ไม่สามารถใช้์ค่าได้"; }; String SbERR_VAR_DEFINED & ERRCODE_RES_MASK { @@ -2934,21 +3031,22 @@ Resource RID_BASIC_START Text [ spanish ] = "La variable $(ARG1) ya se ha definido" ; Text [ danish ] = "Variabel $(ARG1) er allerede defineret" ; Text [ swedish ] = "Variabeln $(ARG1) r redan definierad" ; - Text [ finnish ] = "Muuttuja $(ARG1) on jo mritetty" ; + Text [ finnish ] = "Muuttuja $(ARG1) on jo mritetty." ; Text [ english_us ] = "Variable $(ARG1) already defined" ; - Text[ chinese_simplified ] = "Ѿ˱ $(ARG1)"; + Text[ chinese_simplified ] = "已经定义了变量 $(ARG1)"; Text[ russian ] = " $(ARG1) "; Text[ polish ] = "Zmienna $(ARG1) ju zdefiniowana"; - Text[ japanese ] = "ϐ$(ARG1)͂łɒ`Ă܂"; - Text[ chinese_traditional ] = "wgwqFܶq $(ARG1)"; + Text[ japanese ] = "変数$(ARG1)はすでに定義されています"; + Text[ chinese_traditional ] = "已經定義了變量 $(ARG1)"; Text[ arabic ] = " $(ARG1) "; Text[ dutch ] = "Variabele $(ARG1) reeds gedefinieerd"; - Text[ chinese_simplified ] = "Ѿ˱ $(ARG1)"; + Text[ chinese_simplified ] = "已经定义了变量 $(ARG1)"; Text[ greek ] = " $(ARG1) "; - Text[ korean ] = "$(ARG1)() ̹ ǵǾ ֽϴ."; + Text[ korean ] = "변수 $(ARG1)이(가) 이미 정의되어 있습니다."; Text[ turkish ] = "Deiken $(ARG1) tanmlanm durumda"; Text[ language_user1 ] = " "; - Text[ catalan ] = "La variable $(ARG1) ya se ha definido"; + Text[ catalan ] = "La variable $(ARG1) ja s'ha definit"; + Text[ thai ] = "ระบุตัวแปร $(ARG1) แล้ว"; }; String SbERR_PROC_DEFINED & ERRCODE_RES_MASK { @@ -2965,19 +3063,20 @@ Resource RID_BASIC_START Text [ swedish ] = "Sub- eller funktionsproceduren $(ARG1) r redan definierad" ; Text [ finnish ] = "Alitoiminto tai funktiotoiminto $(ARG1) on jo mritetty" ; Text [ english_us ] = "Sub procedure or function procedure $(ARG1) already defined" ; - Text[ chinese_simplified ] = "Ѿ˷ֹ̻ $(ARG1)"; - Text[ russian ] = " $(ARG1) "; + Text[ chinese_simplified ] = "已经定义了分过程或函数过程 $(ARG1)"; + Text[ russian ] = " $(ARG1) "; Text[ polish ] = "Procedura podrzdna lub funkcyjna ju zostaa zdefiniowana $(ARG1)"; - Text[ japanese ] = "Sub܂Functionۼެ$(ARG1)͂łɒ`Ă܂"; - Text[ chinese_traditional ] = "wgwqFL{ΨƹL{$(ARG1)"; + Text[ japanese ] = "SubまたはFunctionプロシージャ$(ARG1)はすでに定義されています"; + Text[ chinese_traditional ] = "已經定義了分過程或函數過程$(ARG1)"; Text[ arabic ] = " $(ARG1) "; Text[ dutch ] = "Sub- of functieprocedure $(ARG1) reeds gedefinieerd"; - Text[ chinese_simplified ] = "Ѿ˷ֹ̻ $(ARG1)"; + Text[ chinese_simplified ] = "已经定义了分过程或函数过程 $(ARG1)"; Text[ greek ] = " (Sub) (Function) $(ARG1) "; - Text[ korean ] = " ν Ǵ ν $(ARG1) £̹ ǵǾ ֽϴ"; + Text[ korean ] = "서브 프로시저 또는 기능 프로시저 $(ARG1)이(가) 이미 정의되어 있습니다."; Text[ turkish ] = "Alt yordam ya da ilev yordam $(ARG1) tanmlanm durumda"; Text[ language_user1 ] = " "; - Text[ catalan ] = "El procedimiento de funcin o subordinado $(ARG1) ya est definido"; + Text[ catalan ] = "El subprocediment o el procediment de funci $(ARG1) ja s'ha definit"; + Text[ thai ] = "ระบุกระบวนคำสั่งย่อยหรือกระบวนฟังก์ชั่น $(ARG1) แล้ว"; }; String SbERR_LABEL_DEFINED & ERRCODE_RES_MASK { @@ -2992,21 +3091,22 @@ Resource RID_BASIC_START Text [ spanish ] = "La etiqueta $(ARG1) ya est definida" ; Text [ danish ] = "Etiket $(ARG1) er allerede defineret" ; Text [ swedish ] = "Etiketten $(ARG1) r redan definierad" ; - Text [ finnish ] = "Nimi $(ARG1) on jo mritetty" ; + Text [ finnish ] = "Selite $(ARG1) on jo mritetty." ; Text [ english_us ] = "Label $(ARG1) already defined" ; - Text[ chinese_simplified ] = "Ѿ˱ $(ARG1)"; - Text[ russian ] = " $(ARG1) "; + Text[ chinese_simplified ] = "已经定义了标记 $(ARG1)"; + Text[ russian ] = " $(ARG1) "; Text[ polish ] = "Etykieta $(ARG1) zostaa ju zdefiniowana"; - Text[ japanese ] = "$(ARG1)͂łɒ`Ă܂"; - Text[ chinese_traditional ] = "wgwqFаO$(ARG1)"; + Text[ japanese ] = "ラベル$(ARG1)はすでに定義されています"; + Text[ chinese_traditional ] = "已經定義了標記$(ARG1)"; Text[ arabic ] = " $(ARG1) "; Text[ dutch ] = "Naam $(ARG1) reeds gedefinieerd"; - Text[ chinese_simplified ] = "Ѿ˱ $(ARG1)"; + Text[ chinese_simplified ] = "已经定义了标记 $(ARG1)"; Text[ greek ] = " $(ARG1) "; - Text[ korean ] = " $(ARG1)() ̹ ǵǾ ֽϴ."; + Text[ korean ] = "레이블 $(ARG1)이(가) 이미 지정되어 있습니다."; Text[ turkish ] = "Etiket $(ARG1) tanmlanm durumda"; Text[ language_user1 ] = " "; - Text[ catalan ] = "La etiqueta $(ARG1) ya est definida"; + Text[ catalan ] = "L'etiqueta $(ARG1) ja s'ha definit"; + Text[ thai ] = "ระบุป้ายชื่อ $(ARG1) แล้ว"; }; String SbERR_UNDEF_VAR & ERRCODE_RES_MASK { @@ -3023,19 +3123,20 @@ Resource RID_BASIC_START Text [ swedish ] = "Variabeln $(ARG1) hittades inte" ; Text [ finnish ] = "Muuttujaa $(ARG1) ei lytynyt" ; Text [ english_us ] = "Variable $(ARG1) not found" ; - Text[ chinese_simplified ] = "ûҵ $(ARG1)"; + Text[ chinese_simplified ] = "没有找到变量 $(ARG1)"; Text[ russian ] = " $(ARG1) "; Text[ polish ] = "Zmiennej $(ARG1) nie znaleziono"; - Text[ japanese ] = "ϐ$(ARG1)͌܂"; - Text[ chinese_traditional ] = "Sܶq$(ARG1)"; + Text[ japanese ] = "変数$(ARG1)は見つかりません"; + Text[ chinese_traditional ] = "沒有找到變量$(ARG1)"; Text[ arabic ] = " $(ARG1) "; Text[ dutch ] = "Variabele $(ARG1) niet gevonden"; - Text[ chinese_simplified ] = "ûҵ $(ARG1)"; + Text[ chinese_simplified ] = "没有找到变量 $(ARG1)"; Text[ greek ] = " $(ARG1) "; - Text[ korean ] = " $(ARG1)() ã ߽ϴ."; + Text[ korean ] = "변수 $(ARG1)을(를) 찾지 못했습니다."; Text[ turkish ] = "Deiken $(ARG1) bulunamad"; Text[ language_user1 ] = " "; - Text[ catalan ] = "No se encontr la variable $(ARG1)"; + Text[ catalan ] = "No s'ha trobat la variable $(ARG1)"; + Text[ thai ] = "ไม่พบตัวแปร $(ARG1) "; }; String SbERR_UNDEF_ARRAY & ERRCODE_RES_MASK { @@ -3050,21 +3151,22 @@ Resource RID_BASIC_START Text [ spanish ] = "No se encontr la matriz o procedimiento $(ARG1)" ; Text [ danish ] = "Array eller procedure $(ARG1) blev ikke fundet" ; Text [ swedish ] = "Array eller procedur $(ARG1) hittades inte" ; - Text [ finnish ] = "Matriisia tai toimintoa $(ARG1) ei lytynyt" ; + Text [ finnish ] = "Taulukkoa tai toimintoa $(ARG1) ei lytynyt." ; Text [ english_us ] = "Array or procedure $(ARG1) not found" ; - Text[ chinese_simplified ] = "ûҵ $(ARG1)"; + Text[ chinese_simplified ] = "没有找到数组或过程 $(ARG1)"; Text[ russian ] = " $(ARG1) "; Text[ polish ] = "Tablicy lub procedury $(ARG1) nie znaleziono"; - Text[ japanese ] = "z܂ۼެ$(ARG1)͌܂"; - Text[ chinese_traditional ] = "SCιL{$(ARG1)"; + Text[ japanese ] = "配列またはプロシージャ$(ARG1)は見つかりません"; + Text[ chinese_traditional ] = "沒有找到行列或過程$(ARG1)"; Text[ arabic ] = "$(ARG1) "; Text[ dutch ] = "Matrix of procedure $(ARG1) niet gevonden"; - Text[ chinese_simplified ] = "ûҵ $(ARG1)"; + Text[ chinese_simplified ] = "没有找到数组或过程 $(ARG1)"; Text[ greek ] = " $(ARG1)"; - Text[ korean ] = "迭 Ǵ ν $(ARG1)() ã ߽ϴ."; + Text[ korean ] = "배열 또는 프로시저 $(ARG1)을(를) 찾지 못했습니다."; Text[ turkish ] = "Dizi ya da yordam $(ARG1) bulunamad"; Text[ language_user1 ] = " "; - Text[ catalan ] = "No se encontr la matriz o procedimiento $(ARG1)"; + Text[ catalan ] = "No s'ha trobat la matriu o el procediment $(ARG1)"; + Text[ thai ] = "ไม่พบแถวลำดับหรือกระบวนคำสั่ง $(ARG1) "; }; String SbERR_UNDEF_PROC & ERRCODE_RES_MASK { @@ -3081,19 +3183,20 @@ Resource RID_BASIC_START Text [ swedish ] = "Proceduren $(ARG1) hittades inte" ; Text [ finnish ] = "Toimintoa $(ARG1) ei lytynyt" ; Text [ english_us ] = "Procedure $(ARG1) not found" ; - Text[ chinese_simplified ] = "ûҵ $(ARG1)"; + Text[ chinese_simplified ] = "没有找到过程 $(ARG1)"; Text[ russian ] = " $(ARG1) "; Text[ polish ] = "Procedury $(ARG1) nie znaleziono"; - Text[ japanese ] = "ۼެ$(ARG1)͌܂"; - Text[ chinese_traditional ] = "SL{$(ARG1)"; + Text[ japanese ] = "プロシージャ$(ARG1)は見つかりません"; + Text[ chinese_traditional ] = "沒有找到過程$(ARG1)"; Text[ arabic ] = "$(ARG1) "; Text[ dutch ] = "Procedure $(ARG1) niet gevonden"; - Text[ chinese_simplified ] = "ûҵ $(ARG1)"; + Text[ chinese_simplified ] = "没有找到过程 $(ARG1)"; Text[ greek ] = " $(ARG1) "; - Text[ korean ] = "ν $(ARG1)ã߽ϴ."; + Text[ korean ] = "프로시저 $(ARG1)을(를) 찾지 못했습니다."; Text[ turkish ] = "Yordam $(ARG1) bulunamad"; Text[ language_user1 ] = " "; - Text[ catalan ] = "No se encontr el procedimiento $(ARG1)"; + Text[ catalan ] = "No s'ha trobat el procediment $(ARG1)"; + Text[ thai ] = "ไม่พบกระบวนคำสั่ง $(ARG1) "; }; String SbERR_UNDEF_LABEL & ERRCODE_RES_MASK { @@ -3108,21 +3211,22 @@ Resource RID_BASIC_START Text [ spanish ] = "La etiqueta $(ARG1) no est definida" ; Text [ danish ] = "Etket $(ARG1) er udefineret" ; Text [ swedish ] = "Etiketten $(ARG1) r odefinierad" ; - Text [ finnish ] = "Nimit $(ARG1) ei ole mritetty" ; + Text [ finnish ] = "Selitett $(ARG1) ei ole mritetty" ; Text [ english_us ] = "Label $(ARG1) undefined" ; - Text[ chinese_simplified ] = "δ $(ARG1)"; - Text[ russian ] = " $(ARG1) "; + Text[ chinese_simplified ] = "尚未定义标记 $(ARG1)"; + Text[ russian ] = " $(ARG1) "; Text[ polish ] = "Etykieta $(ARG1) nie jest zdefionowana"; - Text[ japanese ] = "$(ARG1)͒`Ă܂"; - Text[ chinese_traditional ] = "|wqаO$(ARG1)"; + Text[ japanese ] = "ラベル$(ARG1)は定義されていません"; + Text[ chinese_traditional ] = "尚未定義標記$(ARG1)"; Text[ arabic ] = " $(ARG1) "; Text[ dutch ] = "Naam $(ARG1) niet gedefinieerd"; - Text[ chinese_simplified ] = "δ $(ARG1)"; + Text[ chinese_simplified ] = "尚未定义标记 $(ARG1)"; Text[ greek ] = " $(ARG1)"; - Text[ korean ] = " $(ARG1)(ǵ ʾҽϴ."; + Text[ korean ] = "레이블 $(ARG1)이(가) 정의되지 않았습니다."; Text[ turkish ] = "Etiket $(ARG1) tanmlanmad"; Text[ language_user1 ] = " "; - Text[ catalan ] = "La etiqueta $(ARG1) no est definida"; + Text[ catalan ] = "No s'ha definit l'etiqueta $(ARG1)"; + Text[ thai ] = "ไม่ได้ระบุป้ายชื่อ $(ARG1) "; }; String SbERR_UNDEF_TYPE & ERRCODE_RES_MASK { @@ -3139,19 +3243,20 @@ Resource RID_BASIC_START Text [ swedish ] = "Oknd datatyp $(ARG1)" ; Text [ finnish ] = "Tuntematon tietotyyppi $(ARG1)" ; Text [ english_us ] = "Unknown data type $(ARG1)" ; - Text[ chinese_simplified ] = " $(ARG1)"; + Text[ chinese_simplified ] = "不明的数据类型 $(ARG1)"; Text[ russian ] = " $(ARG1)"; Text[ polish ] = "Nieznany typ danych $(ARG1)"; - Text[ japanese ] = "sް̎$(ARG1)"; - Text[ chinese_traditional ] = " $(ARG1)"; + Text[ japanese ] = "不明なデータの種類$(ARG1)"; + Text[ chinese_traditional ] = "不明的資料類型 $(ARG1)"; Text[ arabic ] = "$(ARG1) "; Text[ dutch ] = "Onbekend gegevenstype $(ARG1)"; - Text[ chinese_simplified ] = " $(ARG1)"; + Text[ chinese_simplified ] = "不明的数据类型 $(ARG1)"; Text[ greek ] = " $(ARG1)"; - Text[ korean ] = "˷ $(ARG1)"; + Text[ korean ] = "알 수 없는 데이터 형식 $(ARG1)"; Text[ turkish ] = "Bilinmeyen veri tipi $(ARG1)"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Tipo de datos $(ARG1) desconocido"; + Text[ catalan ] = "Tipus de dades desconegut $(ARG1)"; + Text[ thai ] = "ไม่รู้จักชนิดข้อมูล $(ARG1)"; }; String SbERR_BAD_EXIT & ERRCODE_RES_MASK { @@ -3166,21 +3271,22 @@ Resource RID_BASIC_START Text [ spanish ] = "Se requiere salida $(ARG1)" ; Text [ danish ] = "Exit $(ARG1) forventes" ; Text [ swedish ] = "Exit $(ARG1) frvntat" ; - Text [ finnish ] = "Oletuksena Poistu kohteesta $(ARG1)" ; + Text [ finnish ] = "Oletuksena poistuminen kohteesta $(ARG1)" ; Text [ english_us ] = "Exit $(ARG1) expected" ; - Text[ chinese_simplified ] = "Ⱥ˳ $(ARG1)"; - Text[ russian ] = " $(ARG1)"; + Text[ chinese_simplified ] = "等候退出 $(ARG1)"; + Text[ russian ] = " Exit $(ARG1)"; Text[ polish ] = "Oczekiwany koniec $(ARG1)"; - Text[ japanese ] = "$(ARG1)̏IKvł"; - Text[ chinese_traditional ] = "hX$(ARG1)"; + Text[ japanese ] = "$(ARG1)の終了が必要です"; + Text[ chinese_traditional ] = "等候退出$(ARG1)"; Text[ arabic ] = " $(ARG1)"; Text[ dutch ] = "Afsluiten $(ARG1) verwacht"; - Text[ chinese_simplified ] = "Ⱥ˳ $(ARG1)"; + Text[ chinese_simplified ] = "等候退出 $(ARG1)"; Text[ greek ] = " Exit $(ARG1)"; - Text[ korean ] = "$(ARG1)䱸"; + Text[ korean ] = "$(ARG1) 종료가 필요합니다."; Text[ turkish ] = "k $(ARG1) bekleniyor"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Se requiere salida $(ARG1)"; + Text[ catalan ] = "S'esperava la sortida $(ARG1)"; + Text[ thai ] = "คาดหวังที่จะออกจาก $(ARG1) "; }; String SbERR_BAD_BLOCK & ERRCODE_RES_MASK { @@ -3197,19 +3303,20 @@ Resource RID_BASIC_START Text [ swedish ] = "Icke avslutat statementblock: $(ARG1) saknas" ; Text [ finnish ] = "Lausekelohko yh avoinna: $(ARG1) puuttuu" ; Text [ english_us ] = "Statement block still open: $(ARG1) missing" ; - Text[ chinese_simplified ] = "ȱδķֳ飺$(ARG1)"; - Text[ russian ] = " : $(ARG1)"; + Text[ chinese_simplified ] = "还缺少未结束的分程序块:$(ARG1)"; + Text[ russian ] = " : $(ARG1)"; Text[ polish ] = "Jeszcze otwarty blok instrukcji: brak $(ARG1)"; - Text[ japanese ] = "܂J܂܂̎wۯ: $(ARG1)܂"; - Text[ chinese_traditional ] = "ٯʤ֥{ǶG$(ARG1)"; + Text[ japanese ] = "まだ開いたままの指示ブロック: $(ARG1)が足りません"; + Text[ chinese_traditional ] = "還缺少未結束的分程序塊:$(ARG1)"; Text[ arabic ] = " : $(ARG1) "; Text[ dutch ] = "Instructieblok nog open: $(ARG1) ontbreekt"; - Text[ chinese_simplified ] = "ȱδķֳ飺$(ARG1)"; + Text[ chinese_simplified ] = "还缺少未结束的分程序块:$(ARG1)"; Text[ greek ] = " : $(ARG1) ."; - Text[ korean ] = "ùϿ Է»ס. :$(ARG1) ̣ ϴ."; + Text[ korean ] = "지시문 블록이 여전히 열려 있습니다: $(ARG1)이(가) 없습니다."; Text[ turkish ] = "Ak deyim bloku: $(ARG1) eksik"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Bloque de instrucciones incompleto: falta $(ARG1) "; + Text[ catalan ] = "El bloc d'instruccions encara s obert: falta $(ARG1)"; + Text[ thai ] = "บล็อคประโยคยังเปิดอยู่: $(ARG1) ตกหล่น"; }; String SbERR_BAD_BRACKETS & ERRCODE_RES_MASK { @@ -3220,25 +3327,26 @@ Resource RID_BASIC_START Text [ portuguese_brazilian ] = "Parentheses do not match" ; Text [ portuguese ] = "Erro nos parnteses" ; Text [ french ] = "Erreur de parenthses" ; - Text [ dutch ] = "Fout in het plaatsen van haakjes" ; + Text [ dutch ] = "Fout bij plaatsen van haakjes" ; Text [ spanish ] = "Los parntesis no coinciden" ; Text [ danish ] = "Fejl i parentesstrukturen" ; Text [ swedish ] = "Parentesfel" ; - Text [ finnish ] = "Sulkeet eivt vastaa toisiaan" ; + Text [ finnish ] = "Sulkeet eivt vastaa toisiaan." ; Text [ english_us ] = "Parentheses do not match" ; - Text[ chinese_simplified ] = ""; - Text[ russian ] = " "; + Text[ chinese_simplified ] = "括号组错误"; + Text[ russian ] = " "; Text[ polish ] = "Bd w ustawianiu nawiasw"; - Text[ japanese ] = "t̴װ"; - Text[ chinese_traditional ] = "Aտ~"; + Text[ japanese ] = "かっこ付けのエラー"; + Text[ chinese_traditional ] = "括號組錯誤"; Text[ arabic ] = " "; - Text[ dutch ] = "Fout in het plaatsen van haakjes"; - Text[ chinese_simplified ] = ""; + Text[ dutch ] = "Fout bij plaatsen van haakjes"; + Text[ chinese_simplified ] = "括号组错误"; Text[ greek ] = " "; - Text[ korean ] = "ȣ ʽϴ"; + Text[ korean ] = "맞지 않는 괄호"; Text[ turkish ] = "Ayralar uyumsuz"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Los parntesis no coinciden"; + Text[ catalan ] = "Els parntesis no concorden"; + Text[ thai ] = "วงเล็บไม่เข้ากัน"; }; String SbERR_BAD_DECLARATION & ERRCODE_RES_MASK { @@ -3253,21 +3361,22 @@ Resource RID_BASIC_START Text [ spanish ] = "El smbolo $(ARG1) ya se defini de otra manera" ; Text [ danish ] = "Symbolet $(ARG1) er allerede defineret anderledes" ; Text [ swedish ] = "Symbolen $(ARG1) r redan annorlunda definierad" ; - Text [ finnish ] = "Symboli $(ARG1) on jo mritetty toisella tavalla" ; + Text [ finnish ] = "Symboli $(ARG1) on jo mritetty toisella tavalla." ; Text [ english_us ] = "Symbol $(ARG1) already defined differently" ; - Text[ chinese_simplified ] = "Ѿжͼ $(ARG1)"; - Text[ russian ] = " $(ARG1) -"; + Text[ chinese_simplified ] = "已经另行定义了图标 $(ARG1)"; + Text[ russian ] = " $(ARG1) "; Text[ polish ] = "Symbol $(ARG1) zosta ju inaczej zdefiniowany"; - Text[ japanese ] = "$(ARG1)͂łɕʂɒ`Ă܂"; - Text[ chinese_traditional ] = "wgtwqFϥ$(ARG1)"; + Text[ japanese ] = "シンボル$(ARG1)はすでに別に定義されています"; + Text[ chinese_traditional ] = "已經另行定義了圖示$(ARG1)"; Text[ arabic ] = " $(ARG1) "; Text[ dutch ] = "Symbool $(ARG1) reeds anders gedefinieerd"; - Text[ chinese_simplified ] = "Ѿжͼ $(ARG1)"; + Text[ chinese_simplified ] = "已经另行定义了图标 $(ARG1)"; Text[ greek ] = " $(ARG1) "; - Text[ korean ] = "ȣ$(ARG1)(̹ ٸ ǵǾ ֽϴ"; + Text[ korean ] = "기호 $(ARG1)이(가) 이미 다르게 지정되어 있습니다."; Text[ turkish ] = "Simge $(ARG1) farkl bir biimde tanmlanm durumda"; Text[ language_user1 ] = " "; - Text[ catalan ] = "El smbolo $(ARG1) ya se defini de otra manera"; + Text[ catalan ] = "El smbol $(ARG1) ja s'ha definit d'una altra manera"; + Text[ thai ] = "ระบุสัญลักษณ์ $(ARG1) ที่ไม่เหมือนกันแล้ว"; }; String SbERR_BAD_PARAMETERS & ERRCODE_RES_MASK { @@ -3284,19 +3393,20 @@ Resource RID_BASIC_START Text [ swedish ] = "Parametern passar inte till proceduren" ; Text [ finnish ] = "Parametrit eivt vastaa toimintoa" ; Text [ english_us ] = "Parameters do not correspond to procedure" ; - Text[ chinese_simplified ] = "̲ƥ"; + Text[ chinese_simplified ] = "助变量和过程不匹配"; Text[ russian ] = " "; Text[ polish ] = "Parametry nie odpowiadaj procedurze"; - Text[ japanese ] = "Ұۼެɍ܂"; - Text[ chinese_traditional ] = "UܶqML{ǰt"; + Text[ japanese ] = "パラメータはプロシージャに合いません"; + Text[ chinese_traditional ] = "助變量和過程不匹配"; Text[ arabic ] = " "; Text[ dutch ] = "Parameters passen niet bij procedure"; - Text[ chinese_simplified ] = "̲ƥ"; + Text[ chinese_simplified ] = "助变量和过程不匹配"; Text[ greek ] = " "; - Text[ korean ] = "ĶͰ ν ʽϴ."; + Text[ korean ] = "매개 변수가 프로시저에 맞지 않습니다."; Text[ turkish ] = "Parametreler yordama uymuyor"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Los parmetros no coinciden con el procedimiento"; + Text[ catalan ] = "El parmetres no corresponen al procediment"; + Text[ thai ] = "พารามิเตอร์ไม่สอดคล้องกับกระบวนคำสั่ง"; }; String SbERR_BAD_CHAR_IN_NUMBER & ERRCODE_RES_MASK { @@ -3309,24 +3419,25 @@ Resource RID_BASIC_START Text [ portuguese ] = "Caracter incorrecto no nmero" ; Text [ french ] = "Le nombre contient un caractre incorrect" ; Text [ dutch ] = "Ongeldig teken in getal" ; - Text [ spanish ] = "Carcter incorrecto en el nmero" ; + Text [ spanish ] = "El nmero contiene un carcter incorrecto " ; Text [ danish ] = "Ugyldigt tegn i tallet" ; Text [ swedish ] = "Ogiltigt tecken i talet" ; Text [ finnish ] = "Virheellinen merkki luvussa" ; Text [ english_us ] = "Invalid character in number" ; - Text[ chinese_simplified ] = "ںЧַ"; - Text[ russian ] = " "; + Text[ chinese_simplified ] = "数字内含有无效的字符"; + Text[ russian ] = " "; Text[ polish ] = "Nieprawidowy znak w liczbie"; - Text[ japanese ] = "ɖȕ"; - Text[ chinese_traditional ] = "bƦrtLĪr"; + Text[ japanese ] = "数に無効な文字"; + Text[ chinese_traditional ] = "在數字內含有無效的字元"; Text[ arabic ] = " "; Text[ dutch ] = "Ongeldig teken in getal"; - Text[ chinese_simplified ] = "ںЧַ"; + Text[ chinese_simplified ] = "数字内含有无效的字符"; Text[ greek ] = " "; - Text[ korean ] = "ڿ ȿ ڡ"; + Text[ korean ] = "숫자에 잘못된 문자가 있습니다."; Text[ turkish ] = "Numara geersiz bir karakter ieriyor"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Carcter incorrecto en el nmero"; + Text[ catalan ] = "El nmero cont un carcter no vlid"; + Text[ thai ] = "ตัวอักขระที่เป็นตัวเลขไม่ถูกต้อง"; }; String SbERR_MUST_HAVE_DIMS & ERRCODE_RES_MASK { @@ -3338,25 +3449,26 @@ Resource RID_BASIC_START Text [ portuguese_brazilian ] = "Array needs dimensioning" ; Text [ portuguese ] = "Necessrio dimensionar matriz" ; Text [ french ] = "Vous devez dimensionner l'Array" ; - Text [ dutch ] = "Het aantal dimensies van de matrix moet worden nog bepaald" ; - Text [ spanish ] = "Hay que dimensionar el array" ; + Text [ dutch ] = "Het aantal dimensies van de matrix moet nog worden bepaald" ; + Text [ spanish ] = "Se debe dimensionar la matriz" ; Text [ danish ] = "Array skal dimensioneres" ; Text [ swedish ] = "Array mste dimensioneras" ; - Text [ finnish ] = "Matriisin on oltava mitoitettu" ; + Text [ finnish ] = "Taulukon on oltava mitoitettu." ; Text [ english_us ] = "Array must be dimensioned" ; - Text[ chinese_simplified ] = "Ϊ鶨߶"; + Text[ chinese_simplified ] = "必须为数组定尺度"; Text[ russian ] = " "; Text[ polish ] = "Macierz naley zwymiarowa"; - Text[ japanese ] = "z̎Kvł"; - Text[ chinese_traditional ] = "C]wnƭ"; + Text[ japanese ] = "配列の次元化が必要です"; + Text[ chinese_traditional ] = "行列必須設定好數值"; Text[ arabic ] = " "; - Text[ dutch ] = "Het aantal dimensies van de matrix moet worden nog bepaald"; - Text[ chinese_simplified ] = "Ϊ鶨߶"; + Text[ dutch ] = "Het aantal dimensies van de matrix moet nog worden bepaald"; + Text[ chinese_simplified ] = "必须为数组定尺度"; Text[ greek ] = " "; - Text[ korean ] = "迭 ũⰡ մϴ."; + Text[ korean ] = "배열 차원화가 필요합니다."; Text[ turkish ] = "Dizinin boyutlandrlmas gerekir"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Hay que dimensionar el array"; + Text[ catalan ] = "S'ha de dimensionar la matriu"; + Text[ thai ] = "แถวลำดับต้องมีมิติ"; }; String SbERR_NO_IF & ERRCODE_RES_MASK { @@ -3371,21 +3483,22 @@ Resource RID_BASIC_START Text [ spanish ] = "Else/Endif sin If" ; Text [ danish ] = "Else/Endif uden If" ; Text [ swedish ] = "Else/Endif utan If" ; - Text [ finnish ] = "Muuten/Ehdollinen lopetus ilman ehtoa" ; + Text [ finnish ] = "Else/Endif-ehto ilman If-ehtoa" ; Text [ english_us ] = "Else/Endif without If" ; - Text[ chinese_simplified ] = "Else/Endif If"; + Text[ chinese_simplified ] = "Else/Endif 不带 If"; Text[ russian ] = "Else/Endif If"; Text[ polish ] = "Else/Endif bez If"; Text[ japanese ] = "Else/Endif without If"; - Text[ chinese_traditional ] = "Else/Endif a If"; + Text[ chinese_traditional ] = "Else/Endif 不帶 If"; Text[ arabic ] = "If Else/Endif"; Text[ dutch ] = "Else/Endif zonder If"; - Text[ chinese_simplified ] = "Else/Endif If"; + Text[ chinese_simplified ] = "Else/Endif 不带 If"; Text[ greek ] = "Else/Endif If"; - Text[ korean ] = "IF ELSE/ELSEIF"; + Text[ korean ] = "IF 없는 ELSE/ELSEIF"; Text[ turkish ] = "If olmadan Else/Endif"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Else/Endif sin If"; + Text[ catalan ] = "Else/Endif sense If"; + Text[ thai ] = "Else/Endif ไม่มี If"; }; String SbERR_NOT_IN_SUBR & ERRCODE_RES_MASK { @@ -3401,21 +3514,22 @@ Resource RID_BASIC_START Text [ spanish ] = "$(ARG1) no est permitido dentro de un proceso" ; Text [ danish ] = "$(ARG1) er ikke tilladt indenfor en procedure" ; Text [ swedish ] = "$(ARG1) inte tilltet inuti en procedur" ; - Text [ finnish ] = "$(ARG1) ei sallittu toiminnossa" ; + Text [ finnish ] = "$(ARG1) ei ole sallittu toiminnossa." ; Text [ english_us ] = "$(ARG1) not allowed within a procedure" ; - Text[ chinese_simplified ] = "һڲ $(ARG1)"; + Text[ chinese_simplified ] = "在一个过程内部不允许 $(ARG1)"; Text[ russian ] = "$(ARG1) "; Text[ polish ] = "$(ARG1) niedopuszczalny w procedurze"; - Text[ japanese ] = "$(ARG1)ۼެł͋܂"; - Text[ chinese_traditional ] = "b@ӹL{\\$(ARG1)"; + Text[ japanese ] = "$(ARG1)プロシージャ内では許可されません"; + Text[ chinese_traditional ] = "在一個過程內部不允許$(ARG1)"; Text[ arabic ] = " $(ARG1)"; Text[ dutch ] = "$(ARG1) binnen een procedure niet toegestaan"; - Text[ chinese_simplified ] = "һڲ $(ARG1)"; + Text[ chinese_simplified ] = "在一个过程内部不允许 $(ARG1)"; Text[ greek ] = "$(ARG1) "; - Text[ korean ] = "$(ARG1)(£ν ȿ ʽϴ."; + Text[ korean ] = "$(ARG1)은(는) 프로시저 내부에서 허용되지 않습니다."; Text[ turkish ] = "Yordamda $(ARG1) geerli deil"; Text[ language_user1 ] = " "; - Text[ catalan ] = "$(ARG1) no est permitido dentro de un proceso"; + Text[ catalan ] = "$(ARG1) no est perms dins d'un procediment"; + Text[ thai ] = "ไม่อนุญาตให้ $(ARG1) อยู่ในกระบวนคำสั่ง"; }; String SbERR_NOT_IN_MAIN & ERRCODE_RES_MASK { @@ -3431,21 +3545,22 @@ Resource RID_BASIC_START Text [ spanish ] = "$(ARG1) no est permitido fuera de un proceso" ; Text [ danish ] = "$(ARG1) er ikke tilladt udenfor en procedure" ; Text [ swedish ] = "$(ARG1) inte tilltet utanfr en procedur" ; - Text [ finnish ] = "$(ARG1) ei sallittu toiminnon ulkopuolella" ; + Text [ finnish ] = "$(ARG1) ei ole sallittu toiminnon ulkopuolella." ; Text [ english_us ] = "$(ARG1) not allowed outside a procedure" ; - Text[ chinese_simplified ] = "һⲻ $(ARG1)"; + Text[ chinese_simplified ] = "在一个过程外不允许 $(ARG1)"; Text[ russian ] = "$(ARG1) "; Text[ polish ] = "$(ARG1) niedopuszczalny poza procedur"; - Text[ japanese ] = "$(ARG1)ۼެOł͋܂"; - Text[ chinese_traditional ] = "b@ӹL{~\\$(ARG1)"; + Text[ japanese ] = "$(ARG1)プロシージャ外では許可されません"; + Text[ chinese_traditional ] = "在一個過程外不允許$(ARG1)"; Text[ arabic ] = " $(ARG1)"; Text[ dutch ] = "$(ARG1) buiten een procedure niet toegestaan"; - Text[ chinese_simplified ] = "һⲻ $(ARG1)"; + Text[ chinese_simplified ] = "在一个过程外不允许 $(ARG1)"; Text[ greek ] = "$(ARG1) "; - Text[ korean ] = "$(ARG1)(£ν ۿ ʽϴ."; + Text[ korean ] = "$(ARG1)은(는) 프로시저 외부에서 허용되지 않습니다."; Text[ turkish ] = "Yordam dnda $(ARG1) geerli deil"; Text[ language_user1 ] = " "; - Text[ catalan ] = "$(ARG1) no est permitido fuera de un proceso"; + Text[ catalan ] = "$(ARG1) no est perms fora d'un procediment"; + Text[ thai ] = "ไม่อนุญาตให้ $(ARG1) อยู่นอกกระบวนคำสั่ง"; }; String SbERR_WRONG_DIMS & ERRCODE_RES_MASK { @@ -3460,21 +3575,22 @@ Resource RID_BASIC_START Text [ spanish ] = "Las dimensiones no coinciden" ; Text [ danish ] = "Dimensionsangivelserne svarer ikke til hinanden" ; Text [ swedish ] = "Dimensionsangivelser stmmer inte verens" ; - Text [ finnish ] = "Mitoitusmritykset eivt vastaa toisiaan" ; + Text [ finnish ] = "Mitoitusmritykset eivt vastaa toisiaan." ; Text [ english_us ] = "Dimension specifications do not match" ; - Text[ chinese_simplified ] = "߶ȵ趨ƥ"; + Text[ chinese_simplified ] = "定尺度的设定不匹配"; Text[ russian ] = " "; Text[ polish ] = "Dane wymiarowe nie s zgodne"; - Text[ japanese ] = "̎w͍Ă܂"; - Text[ chinese_traditional ] = "wؤo]wǰt"; + Text[ japanese ] = "次元の指定は合っていません"; + Text[ chinese_traditional ] = "定尺寸的設定不匹配"; Text[ arabic ] = " "; Text[ dutch ] = "Dimensiegegevens passen niet bij elkaar"; - Text[ chinese_simplified ] = "߶ȵ趨ƥ"; + Text[ chinese_simplified ] = "定尺度的设定不匹配"; Text[ greek ] = " ."; - Text[ korean ] = " ǰ ʽϴ."; + Text[ korean ] = "차원의 정의가 맞지 않습니다."; Text[ turkish ] = "Boyut verileri arasnda uyumazlk"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Las dimensiones no coinciden"; + Text[ catalan ] = "Les especificacions de dimensi no coincideixen"; + Text[ thai ] = "การระบุมิติไม่เข้ากัน"; }; String SbERR_BAD_OPTION & ERRCODE_RES_MASK { @@ -3491,19 +3607,20 @@ Resource RID_BASIC_START Text [ swedish ] = "Obekant alternativ: $(ARG1)" ; Text [ finnish ] = "Tuntematon asetus: $(ARG1)" ; Text [ english_us ] = "Unknown option: $(ARG1)" ; - Text[ chinese_simplified ] = "ѡ$(ARG1)"; - Text[ russian ] = " : $(ARG1)"; + Text[ chinese_simplified ] = "不明的选项:$(ARG1)"; + Text[ russian ] = " : $(ARG1)"; Text[ polish ] = "Nieznana opcja: $(ARG1)"; - Text[ japanese ] = "sȵ: $(ARG1)"; - Text[ chinese_traditional ] = "ﶵG$(ARG1)"; + Text[ japanese ] = "不明なオプション: $(ARG1)"; + Text[ chinese_traditional ] = "不明的選項:$(ARG1)"; Text[ arabic ] = "$(ARG1) : "; Text[ dutch ] = "Onbekende optie: $(ARG1)"; - Text[ chinese_simplified ] = "ѡ$(ARG1)"; + Text[ chinese_simplified ] = "不明的选项:$(ARG1)"; Text[ greek ] = " : $(ARG1)"; - Text[ korean ] = "˷ ɼ:$(ARG1)"; + Text[ korean ] = "알 수 없는 옵션: $(ARG1)"; Text[ turkish ] = "Bilinmeyen seenek: $(ARG1)"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Opcin desconocida: $(ARG1)"; + Text[ catalan ] = "Opci desconeguda: $(ARG1)"; + Text[ thai ] = "ไม่รู้จักตัวเลือก: $(ARG1)"; }; String SbERR_CONSTANT_REDECLARED & ERRCODE_RES_MASK { @@ -3520,19 +3637,20 @@ Resource RID_BASIC_START Text [ swedish ] = "Konstanten $(ARG1) r nydefinierad" ; Text [ finnish ] = "Vakio $(ARG1) mritetty uudelleen" ; Text [ english_us ] = "Constant $(ARG1) redefined" ; - Text[ chinese_simplified ] = "¶峣 $(ARG1)"; + Text[ chinese_simplified ] = "重新定义常数 $(ARG1)"; Text[ russian ] = " $(ARG1) "; Text[ polish ] = "Staa $(ARG1) ponownie zdefiniowana"; - Text[ japanese ] = "萔$(ARG1)͍Ē`܂"; - Text[ chinese_traditional ] = "swq`$(ARG1)"; + Text[ japanese ] = "定数$(ARG1)は再定義されます"; + Text[ chinese_traditional ] = "重新定義常數$(ARG1)"; Text[ arabic ] = "$(ARG1) "; Text[ dutch ] = "Constante $(ARG1) opnieuw gedefinieerd"; - Text[ chinese_simplified ] = "¶峣 $(ARG1)"; + Text[ chinese_simplified ] = "重新定义常数 $(ARG1)"; Text[ greek ] = " $(ARG1)"; - Text[ korean ] = " ǵ $(ARG1)"; + Text[ korean ] = "상수 $(ARG1)은(는) 다시 정의됩니다."; Text[ turkish ] = "Sabit $(ARG1) yeniden tanmland"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Constante $(ARG1) redefinida"; + Text[ catalan ] = "S'ha redefinit la constant $(ARG1)"; + Text[ thai ] = "ระบุค่าคงที่ $(ARG1) อีกครั้ง"; }; String SbERR_PROG_TOO_LARGE & ERRCODE_RES_MASK { @@ -3550,19 +3668,20 @@ Resource RID_BASIC_START Text [ swedish ] = "Programmet r fr stort" ; Text [ finnish ] = "Ohjelma on liian suuri" ; Text [ english_us ] = "Program too large" ; - Text[ chinese_simplified ] = "̫"; + Text[ chinese_simplified ] = "程序太大"; Text[ russian ] = " "; Text[ polish ] = "Program jest za duy"; - Text[ japanese ] = "۸т͑傫܂"; - Text[ chinese_traditional ] = "{Ӥj"; + Text[ japanese ] = "プログラムは大きすぎます"; + Text[ chinese_traditional ] = "程式太大"; Text[ arabic ] = " "; Text[ dutch ] = "Programma is te groot"; - Text[ chinese_simplified ] = "̫"; + Text[ chinese_simplified ] = "程序太大"; Text[ greek ] = " "; - Text[ korean ] = "α̡ʹ Ůϴ."; + Text[ korean ] = "프로그램이 너무 큽니다."; Text[ turkish ] = "Program ok byk"; Text[ language_user1 ] = " "; - Text[ catalan ] = "El programa es demasiado grande"; + Text[ catalan ] = "El programa s massa gran"; + Text[ thai ] = "โปรแกรมใหญ่เกินไป"; }; String SbERR_NO_STRINGS_ARRAYS & ERRCODE_RES_MASK { @@ -3575,24 +3694,25 @@ Resource RID_BASIC_START Text [ portuguese ] = "Sries de caracteres ou matrizes no permitidas" ; Text [ french ] = "Strings ou Arrays inadmissibles" ; Text [ dutch ] = "Tekenreeksen en matrices niet toegestaan" ; - Text [ spanish ] = "No estn permitidos strings o arrays" ; + Text [ spanish ] = "No estn permitidos strings ni matrices" ; Text [ danish ] = "Strenge eller arrays er ikke tilladte" ; Text [ swedish ] = "Strings eller arrays ej tilltna" ; - Text [ finnish ] = "Merkkijonot tai matriisit eivt ole sallittuja" ; + Text [ finnish ] = "Merkkijonot tai taulukot eivt ole sallittuja" ; Text [ english_us ] = "Strings or arrays not permitted" ; - Text[ chinese_simplified ] = "ִ"; - Text[ russian ] = " "; + Text[ chinese_simplified ] = "不允许字串或数组"; + Text[ russian ] = " "; Text[ polish ] = "Ciagi znakw lub macierze niedopuszczalne"; - Text[ japanese ] = "܂͔z͋܂"; - Text[ chinese_traditional ] = "\\rΦC"; + Text[ japanese ] = "文字列または配列は許可されません"; + Text[ chinese_traditional ] = "不允許字串或行列"; Text[ arabic ] = " "; Text[ dutch ] = "Tekenreeksen en matrices niet toegestaan"; - Text[ chinese_simplified ] = "ִ"; + Text[ chinese_simplified ] = "不允许字串或数组"; Text[ greek ] = " "; - Text[ korean ] = "Ʈ Ǵ 迭 ȿ ʽϴ."; + Text[ korean ] = "문자열 또는 배열이 허용되지 않습니다."; Text[ turkish ] = "Dizilimler ya da diziler geerli deil"; Text[ language_user1 ] = " "; - Text[ catalan ] = "No estn permitidos strings o arrays"; + Text[ catalan ] = "No estan permeses cadenes o matrius"; + Text[ thai ] = "ไม่อนุญาตให้มีสายอักขระหรือแถวลำดับ"; }; String ERRCODE_BASIC_EXCEPTION & ERRCODE_RES_MASK { @@ -3605,23 +3725,24 @@ Resource RID_BASIC_START Text [ french ] = "Exception $(ARG1)" ; Text [ dutch ] = "Er is een exceptie opgetreden $Arg1)" ; Text [ spanish ] = "Ha ocurrido la excepcin $(ARG1)" ; - Text [ danish ] = "Ikke indeholdt i VB-script" ; + Text [ danish ] = "Der er opstet en undtagelse $(ARG1)" ; Text [ swedish ] = "Det har uppsttt ett undantag $(ARG1)" ; - Text [ finnish ] = "Ei sislly VB-komentosarjaan" ; + Text [ finnish ] = "Poikkeus havaittu $(ARG1)" ; Text [ english_us ] = "An exception occurred $(ARG1)" ; - Text[ chinese_simplified ] = "һ쳣Ĵ $(ARG1)"; - Text[ russian ] = " $(ARG1)"; + Text[ chinese_simplified ] = "发生一个异常的错误 $(ARG1)"; + Text[ russian ] = " $(ARG1)"; Text[ polish ] = "Wystpi wyjtek $(ARG1)"; - Text[ japanese ] = "O܂ $(ARG1)"; - Text[ chinese_traditional ] = "oͤ@Ӳ`~ $(ARG1)"; + Text[ japanese ] = "例外が発生しました $(ARG1)"; + Text[ chinese_traditional ] = "發生一個異常的錯誤 $(ARG1)"; Text[ arabic ] = "VB script "; Text[ dutch ] = "Er is een exceptie opgetreden $Arg1)"; - Text[ chinese_simplified ] = "һ쳣Ĵ $(ARG1)"; + Text[ chinese_simplified ] = "发生一个异常的错误 $(ARG1)"; Text[ greek ] = " $(ARG1)"; - Text[ korean ] = "VB ũƮԵǾ ʽϴ."; + Text[ korean ] = "예외가 발생했습니다 $(ARG1)"; Text[ turkish ] = "VBScript'te mevcut deil"; Text[ language_user1 ] = " "; - Text[ catalan ] = "No est contenido en el script VB"; + Text[ catalan ] = "No est contingut en el script VB"; + Text[ thai ] = "ไม่มีใน VB script"; }; }; // Hinweis: IDS_SBERR_TERMINATED = IDS_SBERR_START+2000. @@ -3633,26 +3754,27 @@ String IDS_SBERR_TERMINATED Text [ italian ] = "La macro in corso stata interrotta" ; Text [ portuguese_brazilian ] = "Stopped currently running macro" ; Text [ portuguese ] = "A macro em execuo foi cancelada" ; - Text [ french ] = "La macro en cours a t interrompue" ; - Text [ dutch ] = "Actuele macro werd onderbroken" ; - Text [ spanish ] = "Se ha interrumpido la macro activa" ; + Text [ french ] = "La macro en excution a t interrompue." ; + Text [ dutch ] = "Huidige macro is onderbroken" ; + Text [ spanish ] = "La macro activa ha sido interrumpida" ; Text [ danish ] = "Den aktuelle makro blev afbrudt" ; Text [ swedish ] = "Det aktuella makrot avbrts" ; - Text [ finnish ] = "Suoritettava makro on keskeytetty" ; + Text [ finnish ] = "Suoritettava makro on keskeytetty." ; Text [ english_us ] = "The macro running has been interrupted" ; - Text[ chinese_simplified ] = "жкꡣ"; + Text[ chinese_simplified ] = "中断运行宏。"; Text[ russian ] = " "; Text[ polish ] = "Wykonywane makro zostao przerwane"; - Text[ japanese ] = "ϸۍƂf܂"; - Text[ chinese_traditional ] = "_B楨C"; + Text[ japanese ] = "マクロ作業が中断されました"; + Text[ chinese_traditional ] = "中斷運行巨集。"; Text[ arabic ] = " "; - Text[ dutch ] = "Actuele macro werd onderbroken"; - Text[ chinese_simplified ] = "жкꡣ"; + Text[ dutch ] = "Huidige macro is onderbroken"; + Text[ chinese_simplified ] = "中断运行宏。"; Text[ greek ] = " "; - Text[ korean ] = "ũ ߴܵǾϴ."; + Text[ korean ] = "매크로 실행이 중단되었습니다."; Text[ turkish ] = "Yrtlen makro kesildi"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Se ha interrumpido la macro activa"; + Text[ catalan ] = "S'ha interromput la macro activa"; + Text[ thai ] = "การทำงานของมาโครถูกขัดจังหวะ"; }; String IDS_SBERR_STOREREF { @@ -3663,26 +3785,27 @@ String IDS_SBERR_STOREREF Text [ danish ] = "Referencen bliver ikke gemt: "; Text [ french ] = "Impossible d'enregistrer la rfrence : "; Text [ swedish ] = "Referens sparas inte: "; - Text [ dutch ] = "Verwijzing wordt niet opgeslagen: "; + Text [ dutch ] = "Verwijzing wordt niet opgeslagen:"; Text [ spanish ] = "No se guardar la referencia: "; Text [ english_us ] = "Reference will not be saved: "; - Text[ chinese_simplified ] = ": "; + Text[ chinese_simplified ] = "不存盘引用: "; Text[ language_user1 ] = " "; Text[ russian ] = " : "; Text[ polish ] = "Odwoanie nie zostao zapisane: "; - Text[ japanese ] = "QƂ͕ۑ܂: "; - Text[ chinese_traditional ] = "xsѷӡG "; + Text[ japanese ] = "参照は保存されません: "; + Text[ chinese_traditional ] = "不儲存參照: "; Text[ arabic ] = ": "; - Text[ dutch ] = "Verwijzing wordt niet opgeslagen: "; - Text[ chinese_simplified ] = ": "; + Text[ dutch ] = "Verwijzing wordt niet opgeslagen:"; + Text[ chinese_simplified ] = "不存盘引用: "; Text[ greek ] = " : "; - Text[ korean ] = " ʾҽϴ. "; + Text[ korean ] = "참조가 저장되지 않았습니다. "; Text[ turkish ] = "Referans kaydedilmeyecek: "; Text [ ENGLISH ] = "reference will not be saved: " ; Text [ norwegian ] = "reference will not be saved: " ; Text [ italian ] = "Il riferimento non viene salvato: " ; Text [ finnish ] = "Viitett ei tallenneta: " ; - Text[ catalan ] = "No se guardar la referencia: "; + Text[ catalan ] = "No es desar la referncia: "; + Text[ thai ] = "จะไม่บันทึกการอ้างอิง: "; }; String ERRCODE_BASMGR_LIBLOAD & ERRCODE_RES_MASK { @@ -3701,20 +3824,21 @@ String ERRCODE_BASMGR_LIBLOAD & ERRCODE_RES_MASK Text [ danish ] = "Fejl ved indlsning af biblioteket '$(ARG1)'" ; Text [ portuguese_brazilian ] = "Fehler beim Laden der Bibliothek '$(ARG1)" ; Text [ portuguese ] = "Erro ao carregar a biblioteca '$(ARG1)" ; - Text[ chinese_simplified ] = "װʱ'$(ARG1)'"; - Text[ russian ] = " '$(ARG1)'"; + Text[ chinese_simplified ] = "装入库时发生错误'$(ARG1)'"; + Text[ russian ] = " '$(ARG1)'"; Text[ polish ] = "Bd przy adowaniu biblioteki '$(ARG1)'"; - Text[ japanese ] = "'$(ARG1)' ײ̓ǂݍݎ̴װ"; - Text[ chinese_traditional ] = "J{wɵoͿ~'$(ARG1)'"; + Text[ japanese ] = "'$(ARG1)' ライブラリの読み込み時のエラー"; + Text[ chinese_traditional ] = "載入程式庫時發生錯誤<$(ARG1)>"; Text[ arabic ] = "'$(ARG1)' "; Text[ dutch ] = "Fout bij laden van bibliotheek '$(ARG1)'"; - Text[ chinese_simplified ] = "װʱ'$(ARG1)'"; + Text[ chinese_simplified ] = "装入库时发生错误'$(ARG1)'"; Text[ greek ] = " '$(ARG1)'"; - Text[ korean ] = "̺귯 $(ARG1) εÿ "; + Text[ korean ] = "라이브러리 $(ARG1) 로드 중에 오류"; Text[ turkish ] = "Kitapl ykleme srasnda hata '$(ARG1)'"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Error al cargar la biblioteca '$(ARG1)'"; - Text[ finnish ] = "Virhe ladattaessa kirjastoa '$(ARG1)'"; + Text[ catalan ] = "S'ha produt un error en carregar la biblioteca '$(ARG1)'"; + Text[ finnish ] = "Virhe ladattaessa kirjastoa $(ARG1)"; + Text[ thai ] = "โหลดไลบรารี '$(ARG1) ผิดพลาด'"; }; String ERRCODE_BASMGR_LIBSAVE & ERRCODE_RES_MASK { @@ -3724,7 +3848,7 @@ String ERRCODE_BASMGR_LIBSAVE & ERRCODE_RES_MASK /* ### ACHTUNG: Neuer Text in Resource? Fehler beim Speichern der Bibliothek: '$(ARG1)' : Fehler beim Speichern der Bibliothek: ''$(ARG1)'' */ Text = "Fehler beim Speichern der Bibliothek: '$(ARG1)'" ; Text [ ENGLISH ] = "Fehler beim Speichern der Bibliothek: '$(ARG1)'" ; - Text [ dutch ] = "Fout bij het opslaan van bibliotheek: '$(ARG1)'" ; + Text [ dutch ] = "Fout bij opslaan van bibliotheek: '$(ARG1)'" ; Text [ english_us ] = "Error saving library: '$(ARG1)'" ; Text [ italian ] = "Errore nel salvare la library: '$(ARG1)'" ; Text [ spanish ] = "Error al guardar la biblioteca: '$(ARG1)'" ; @@ -3733,20 +3857,21 @@ String ERRCODE_BASMGR_LIBSAVE & ERRCODE_RES_MASK Text [ danish ] = "Fejl under forsg p at gemme biblioteket: '$(ARG1)'" ; Text [ portuguese ] = "Erro ao guardar a biblioteca: '$(ARG1)" ; Text [ portuguese_brazilian ] = "Fehler beim Speichern der Bibliothek: '$(ARG1)" ; - Text[ chinese_simplified ] = "̿ʱ '$(ARG1)'"; - Text[ russian ] = " : '$(ARG1)'"; + Text[ chinese_simplified ] = "存盘库时发生错误 '$(ARG1)'"; + Text[ russian ] = " : '$(ARG1)'"; Text[ polish ] = "Bd przy zapisie biblioteki '$(ARG1)'"; - Text[ japanese ] = "ײؕۑ̴װ: '$(ARG1)'"; - Text[ chinese_traditional ] = "xs{wɵoͿ~'$(ARG1)'"; + Text[ japanese ] = "ライブラリ保存時のエラー: '$(ARG1)'"; + Text[ chinese_traditional ] = "儲存程式庫時發生錯誤<$(ARG1)>"; Text[ arabic ] = "'$(ARG1)' : "; - Text[ dutch ] = "Fout bij het opslaan van bibliotheek: '$(ARG1)'"; - Text[ chinese_simplified ] = "̿ʱ '$(ARG1)'"; + Text[ dutch ] = "Fout bij opslaan van bibliotheek: '$(ARG1)'"; + Text[ chinese_simplified ] = "存盘库时发生错误 '$(ARG1)'"; Text[ greek ] = " : '$(ARG1)'"; - Text[ korean ] = "̺귯 $(ARG1) ÿ "; + Text[ korean ] = "라이브러리 $(ARG1) 저장 중 오류"; Text[ turkish ] = "Kitapl kaydetme srasnda hata: '$(ARG1)'"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Error al guardar la biblioteca: '$(ARG1)'"; - Text[ finnish ] = "Virhe tallennettaessa kirjastoa: $(ARG1)"; + Text[ catalan ] = "S'ha produt un error en desar la biblioteca: '$(ARG1)'"; + Text[ finnish ] = "Virhe tallennettaessa kirjastoa: '$(ARG1)'"; + Text[ thai ] = "บันทึกไลบรารีผิดพลาด: '$(ARG1) '"; }; String ERRCODE_BASMGR_MGROPEN & ERRCODE_RES_MASK { @@ -3756,7 +3881,7 @@ String ERRCODE_BASMGR_MGROPEN & ERRCODE_RES_MASK /* ### ACHTUNG: Neuer Text in Resource? Das BASIC aus der Datei '$(ARG1)' konnte nicht initialisiert werden : Das BASIC aus der Datei ''$(ARG1)'' konnte nicht initialisiert werden */ Text = "Das BASIC aus der Datei '$(ARG1)' konnte nicht initialisiert werden" ; Text [ english ] = "The BASIC from the file '$(ARG1)' could not be initialized" ; - Text [ dutch ] = "BASIC in bestand '$(ARG1)' kon niet worden genitialiseerd" ; + Text [ dutch ] = "BASIC in bestand '$(ARG1)' kan niet worden genitialiseerd" ; Text [ english_us ] = "The BASIC from the file '$(ARG1)' could not be initialized" ; Text [ italian ] = "Impossibile inizializzare il BASIC dal file '$(ARG1)'" ; Text [ spanish ] = "No se pudo inicializar el Basic del archivo '$(ARG1)'" ; @@ -3765,26 +3890,27 @@ String ERRCODE_BASMGR_MGROPEN & ERRCODE_RES_MASK Text [ danish ] = "Det var ikke muligt at initialisere BASIC fra filen '$(ARG1)'" ; Text [ portuguese ] = "Impossvel inicializar BASIC do ficheiro '$(ARG1)'" ; Text [ portuguese_brazilian ] = "Das BASIC aus der Datei '$(ARG1)' konnte nicht initialisiert werden" ; - Text[ chinese_simplified ] = "ļ'$(ARG1)' ʼ BASIC"; - Text[ russian ] = " BASIC '$(ARG1)' "; + Text[ chinese_simplified ] = "无法从文件'$(ARG1)' 初始化 BASIC"; + Text[ russian ] = " BASIC '$(ARG1)'"; Text[ polish ] = "BASIC z pliku '$(ARG1)' nie mg zosta zainicjowany"; - Text[ japanese ] = "'$(ARG1)' ̧قBASIC͏ł܂ł"; - Text[ chinese_traditional ] = "Lkqɮ'$(ARG1)'lBASIC"; + Text[ japanese ] = "'$(ARG1)' ファイルのBASICは初期化できませんでした"; + Text[ chinese_traditional ] = "無法從檔案'$(ARG1)'初始化BASIC"; Text[ arabic ] = "'$(ARG1)' BASIC "; - Text[ dutch ] = "BASIC in bestand '$(ARG1)' kon niet worden genitialiseerd"; - Text[ chinese_simplified ] = "ļ'$(ARG1)' ʼ BASIC"; + Text[ dutch ] = "BASIC in bestand '$(ARG1)' kan niet worden genitialiseerd"; + Text[ chinese_simplified ] = "无法从文件'$(ARG1)' 初始化 BASIC"; Text[ greek ] = " BASIC '$(ARG1)'."; - Text[ korean ] = " $(ARG1)κ BASIC ʱȭ߽ϴ."; + Text[ korean ] = "파일 $(ARG1)(으)로부터 BASIC을 초기화하지 못했습니다."; Text[ turkish ] = "'$(ARG1)' dosyasndan BASIC kurulamad"; Text[ language_user1 ] = " "; - Text[ catalan ] = "No se pudo inicializar el Basic del archivo '$(ARG1)'"; - Text[ finnish ] = "Tiedoston '$(ARG1)' BASIC-osuutta ei voitu alustaa"; + Text[ catalan ] = "No es pot inicialitzar el Basic del fitxer '$(ARG1)'"; + Text[ finnish ] = "Tiedoston $(ARG1) BASIC-osuutta ei voitu alustaa."; + Text[ thai ] = " ไม่สามารถเริ่ม BASIC จากแฟ้ม '$(ARG1)'ได้ "; }; String ERRCODE_BASMGR_MGRSAVE & ERRCODE_RES_MASK { Text = "Fehler beim Speichern des BASIC's: '$(ARG1)'" ; Text [ english ] = "Error saving BASIC: '$(ARG1)'" ; - Text [ dutch ] = "Fout bij het opslaan van BASIC: '$(ARG1)'" ; + Text [ dutch ] = "Fout bij opslaan van BASIC: '$(ARG1)'" ; Text [ english_us ] = "Error saving BASIC: '$(ARG1)'" ; Text [ italian ] = "Errore nel salvare il BASIC: '$(ARG1)'" ; Text [ spanish ] = "Error al guardar BASIC: '$(ARG1)'" ; @@ -3793,20 +3919,21 @@ String ERRCODE_BASMGR_MGRSAVE & ERRCODE_RES_MASK Text [ danish ] = "Fejl under forsg p at gemme BASIC: '$(ARG1)'" ; Text [ portuguese ] = "Erro ao guardar BASIC: '$(ARG1)'" ; Text [ portuguese_brazilian ] = "Fehler beim Speichern des Basics: '$(ARG1)" ; - Text[ chinese_simplified ] = "BASICʱ'$(ARG1)'"; - Text[ russian ] = " BASIC: '$(ARG1)'"; + Text[ chinese_simplified ] = "存盘BASIC时发生错误:'$(ARG1)'"; + Text[ russian ] = " BASIC': '$(ARG1)'"; Text[ polish ] = "Bd przy zapisie biblioteki BASIC: '$(ARG1)'"; - Text[ japanese ] = "BASICۑ̴װ: '$(ARG1)'"; - Text[ chinese_traditional ] = "xsBASICɵoͿ~G'$(ARG1)'"; + Text[ japanese ] = "BASIC保存時のエラー: '$(ARG1)'"; + Text[ chinese_traditional ] = "儲存BASIC時發生錯誤:'$(ARG1)'"; Text[ arabic ] = "'$(ARG1)' :BASIC "; - Text[ dutch ] = "Fout bij het opslaan van BASIC: '$(ARG1)'"; - Text[ chinese_simplified ] = "BASICʱ'$(ARG1)'"; + Text[ dutch ] = "Fout bij opslaan van BASIC: '$(ARG1)'"; + Text[ chinese_simplified ] = "存盘BASIC时发生错误:'$(ARG1)'"; Text[ greek ] = " BASIC: '$(ARG1)'"; - Text[ korean ] = "BASIC ÿ :$(ARG1)"; + Text[ korean ] = "BASIC 저장 중 오류 : '$(ARG1)'"; Text[ turkish ] = "BASIC'i kaydetme srasnda hata: '$(ARG1)'"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Error al guardar BASIC: '$(ARG1)'"; - Text[ finnish ] = "Virhe tallennettaessa BASIC-kohdetta: $(ARG1)"; + Text[ catalan ] = "S'ha produt un error en desar el BASIC: '$(ARG1)'"; + Text[ finnish ] = "Virhe tallennettaessa BASIC-kohdetta: '$(ARG1)'"; + Text[ thai ] = "บันทึก BASIC ผิดพลาด: '$(ARG1) '"; }; String ERRCODE_BASMGR_REMOVELIB & ERRCODE_RES_MASK { @@ -3815,56 +3942,75 @@ String ERRCODE_BASMGR_REMOVELIB & ERRCODE_RES_MASK Text [ dutch ] = "Fout bij verwijderen van bibliotheek" ; Text [ english_us ] = "Error removing library" ; Text [ italian ] = "Errore nell'eliminare la library" ; - Text [ spanish ] = "Error al eliminar la biblioteca" ; + Text [ spanish ] = "Error al borrar la biblioteca" ; Text [ french ] = "Erreur lors de la suppression de la bibliothque" ; Text [ swedish ] = "Fel vid borttagande av bibliotek" ; Text [ danish ] = "Fejl under sletning af biblioteket" ; Text [ portuguese ] = "Erro ao eliminar a biblioteca" ; Text [ portuguese_brazilian ] = "Fehler beim entfernen der Bibliothek" ; - Text[ chinese_simplified ] = "ɾʱ"; - Text[ russian ] = " "; + Text[ chinese_simplified ] = "删除库时发生错误"; + Text[ russian ] = " "; Text[ polish ] = "Bd przy usuwaniu biblioteki"; - Text[ japanese ] = "ײ؍폜̴װ"; - Text[ chinese_traditional ] = "R{wɵoͿ~"; + Text[ japanese ] = "ライブラリ削除時のエラー"; + Text[ chinese_traditional ] = "刪除程式庫時發生錯誤"; Text[ arabic ] = " "; Text[ dutch ] = "Fout bij verwijderen van bibliotheek"; - Text[ chinese_simplified ] = "ɾʱ"; + Text[ chinese_simplified ] = "删除库时发生错误"; Text[ greek ] = " "; - Text[ korean ] = "̺귯 ÿ "; + Text[ korean ] = "라이브러리 삭제 중 오류"; Text[ turkish ] = "Kitapl kaldrma srasnda hata"; Text[ language_user1 ] = " "; - Text[ catalan ] = "Error al eliminar la biblioteca"; + Text[ catalan ] = "S'ha produt un error en eliminar la biblioteca"; Text[ finnish ] = "Virhe poistettaessa kirjastoa"; + Text[ thai ] = "เอาไลบรารีออกผิดพลาด"; }; String ERRCODE_BASMGR_UNLOADLIB & ERRCODE_RES_MASK { Text = "Die Bibliothek konnte nicht aus dem Speicher entfernt werden." ; Text [ ENGLISH ] = "Die Bibliothek konnte nicht aus dem Speicher entfernt werden." ; - Text [ dutch ] = "De bibliotheek kon niet uit het geheugen worden verwijderd." ; + Text [ dutch ] = "De bibliotheek kan niet uit het geheugen worden verwijderd." ; Text [ english_us ] = "The library could not be removed from memory." ; Text [ italian ] = "Impossibile eliminare la library dalla memoria." ; - Text [ spanish ] = "No se pudo eliminar la biblioteca de la memoria." ; + Text [ spanish ] = "La biblioteca no se pudo borrar de la memoria." ; Text [ french ] = "Impossible de supprimer la bibliothque de la mmoire." ; Text [ swedish ] = "Det gick inte att ta bort biblioteket frn minnet." ; Text [ danish ] = "Det var ikke muligt at slette biblioteket fra hukommelsen." ; Text [ portuguese ] = "Foi impossvel remover a biblioteca da memria." ; Text [ portuguese_brazilian ] = "Die Bibliothek konnte nicht aus dem Speicher entfernt werden." ; - Text[ chinese_simplified ] = "ڴ"; - Text[ russian ] = " ."; + Text[ chinese_simplified ] = "无法从内存清除程序库"; + Text[ russian ] = " ."; Text[ polish ] = "Biblioteki nie mona byo usun z pamici."; - Text[ japanese ] = "ײ폜ł܂łB"; - Text[ chinese_traditional ] = "{wLkqO餺MC"; + Text[ japanese ] = "ライブラリはディスクから削除できませんでした。"; + Text[ chinese_traditional ] = "程式庫無法從記憶體內清除。"; Text[ arabic ] = ". "; - Text[ dutch ] = "De bibliotheek kon niet uit het geheugen worden verwijderd."; - Text[ chinese_simplified ] = "ڴ"; + Text[ dutch ] = "De bibliotheek kan niet uit het geheugen worden verwijderd."; + Text[ chinese_simplified ] = "无法从内存清除程序库"; Text[ greek ] = " "; - Text[ korean ] = "̺귯 ߽ϴ."; + Text[ korean ] = "메모리로부터 라이브러리를 제거하지 못했습니다."; Text[ turkish ] = "Kitaplk bellekten silinemedi."; Text[ language_user1 ] = " "; - Text[ catalan ] = "No se pudo eliminar la biblioteca de la memoria."; + Text[ catalan ] = "No s'ha pogut eliminar la biblioteca de la memria."; Text[ finnish ] = "Kirjastoa ei voitu poistaa muistista."; + Text[ thai ] = "ไม่สามารถเอาไลบรารีออกจากหน่วยความจำได้"; }; + + + + + + + + + + + + + + + + + diff --git a/basic/source/classes/sbintern.cxx b/basic/source/classes/sbintern.cxx index 65246dac8da4..7f1dbbffb0aa 100644 --- a/basic/source/classes/sbintern.cxx +++ b/basic/source/classes/sbintern.cxx @@ -2,9 +2,9 @@ * * $RCSfile: sbintern.cxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: ab $ $Date: 2001-11-26 16:25:01 $ + * last change: $Author: hr $ $Date: 2003-03-18 16:28:31 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -100,6 +100,7 @@ SbiGlobals::SbiGlobals() eLanguageMode = SB_LANG_BASIC; pErrStack = NULL; pTransliterationWrapper = NULL; + bBlockCompilerError = FALSE; } SbiGlobals::~SbiGlobals() diff --git a/basic/source/classes/sbunoobj.cxx b/basic/source/classes/sbunoobj.cxx index b3850155732e..bbac088fed66 100644 --- a/basic/source/classes/sbunoobj.cxx +++ b/basic/source/classes/sbunoobj.cxx @@ -2,9 +2,9 @@ * * $RCSfile: sbunoobj.cxx,v $ * - * $Revision: 1.22 $ + * $Revision: 1.23 $ * - * last change: $Author: ab $ $Date: 2002-08-29 10:49:59 $ + * last change: $Author: hr $ $Date: 2003-03-18 16:28:31 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -89,19 +89,25 @@ #include <rtl/strbuf.hxx> +#include <com/sun/star/uno/XComponentContext.hpp> +#include <com/sun/star/uno/DeploymentException.hpp> #include <com/sun/star/lang/XTypeProvider.hpp> #include <com/sun/star/lang/XMultiServiceFactory.hpp> +#include <com/sun/star/lang/XServiceInfo.hpp> #include <com/sun/star/beans/PropertyAttribute.hpp> #include <com/sun/star/beans/PropertyConcept.hpp> #include <com/sun/star/beans/MethodConcept.hpp> #include <com/sun/star/beans/XPropertySet.hpp> #include <com/sun/star/script/XAllListener.hpp> #include <com/sun/star/script/XInvocationAdapterFactory.hpp> +#include <com/sun/star/script/XTypeConverter.hpp> #include <com/sun/star/container/XNameAccess.hpp> #include <com/sun/star/container/XHierarchicalNameAccess.hpp> #include <com/sun/star/reflection/XIdlArray.hpp> #include <com/sun/star/reflection/XIdlReflection.hpp> #include <com/sun/star/reflection/XIdlClassProvider.hpp> +#include <com/sun/star/reflection/XTypeDescription.hpp> + using namespace com::sun::star::uno; using namespace com::sun::star::lang; @@ -129,9 +135,6 @@ TYPEINIT1(SbUnoProperty,SbxProperty) TYPEINIT1(SbUnoObject,SbxObject) TYPEINIT1(SbUnoClass,SbxObject) -//#define U2S(Str) String( OUStringToOString( Str, RTL_TEXTENCODING_ASCII_US ) ) -//#define S2U(Str) OStringToOUString( OString( (Str).GetStr() ), RTL_TEXTENCODING_ASCII_US ) - typedef WeakImplHelper1< XAllListener > BasicAllListenerHelper; // Flag, um immer ueber Invocation zu gehen @@ -143,15 +146,30 @@ static String ID_DBG_SUPPORTEDINTERFACES( RTL_CONSTASCII_USTRINGPARAM("Dbg_Suppo static String ID_DBG_PROPERTIES( RTL_CONSTASCII_USTRINGPARAM("Dbg_Properties") ); static String ID_DBG_METHODS( RTL_CONSTASCII_USTRINGPARAM("Dbg_Methods") ); -static String ID_NAMESPACES( RTL_CONSTASCII_USTRINGPARAM("Namespaces") ); -static String ID_NAMESPACE_COM( RTL_CONSTASCII_USTRINGPARAM("com") ); -static String ID_NAMESPACE_SUN( RTL_CONSTASCII_USTRINGPARAM("sun") ); -static String ID_NAMESPACE_STAR( RTL_CONSTASCII_USTRINGPARAM("star") ); - static String aIllegalArgumentExceptionName ( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.lang.IllegalArgumentException" ) ); +Reference< XComponentContext > getComponentContext_Impl( void ) +{ + static Reference< XComponentContext > xContext; + + // Haben wir schon CoreReflection, sonst besorgen + if( !xContext.is() ) + { + Reference< XMultiServiceFactory > xFactory = comphelper::getProcessServiceFactory(); + Reference< XPropertySet > xProps( xFactory, UNO_QUERY ); + OSL_ASSERT( xProps.is() ); + if (xProps.is()) + { + xProps->getPropertyValue( + OUString( RTL_CONSTASCII_USTRINGPARAM("DefaultContext") ) ) >>= xContext; + OSL_ASSERT( xContext.is() ); + } + } + return xContext; +} + // CoreReflection statisch speichern Reference< XIdlReflection > getCoreReflection_Impl( void ) { @@ -160,20 +178,127 @@ Reference< XIdlReflection > getCoreReflection_Impl( void ) // Haben wir schon CoreReflection, sonst besorgen if( !xCoreReflection.is() ) { - Reference< XMultiServiceFactory > xFactory = comphelper::getProcessServiceFactory(); - if ( xFactory.is() ) + Reference< XComponentContext > xContext = getComponentContext_Impl(); + if( xContext.is() ) + { + xContext->getValueByName( + OUString( RTL_CONSTASCII_USTRINGPARAM("/singletons/com.sun.star.reflection.theCoreReflection") ) ) + >>= xCoreReflection; + OSL_ENSURE( xCoreReflection.is(), "### CoreReflection singleton not accessable!?" ); + } + if( !xCoreReflection.is() ) { - Reference< XInterface > xI = xFactory->createInstance( rtl::OUString::createFromAscii("com.sun.star.reflection.CoreReflection") ); - //if (xI.is()) - //{ - xCoreReflection = Reference<XIdlReflection>::query( xI ); - //xI->queryInterface( XIdlReflection::getSmartUik(), xCoreReflection ); - //} + throw DeploymentException( + OUString( RTL_CONSTASCII_USTRINGPARAM("/singletons/com.sun.star.reflection.theCoreReflection singleton not accessable") ), + Reference< XInterface >() ); } } return xCoreReflection; } +// Hold TypeProvider statically +Reference< XHierarchicalNameAccess > getTypeProvider_Impl( void ) +{ + static Reference< XHierarchicalNameAccess > xAccess; + + // Haben wir schon CoreReflection, sonst besorgen + if( !xAccess.is() ) + { + Reference< XComponentContext > xContext = getComponentContext_Impl(); + if( xContext.is() ) + { + xContext->getValueByName( + OUString( RTL_CONSTASCII_USTRINGPARAM("/singletons/com.sun.star.reflection.theTypeDescriptionManager") ) ) + >>= xAccess; + OSL_ENSURE( xAccess.is(), "### TypeDescriptionManager singleton not accessable!?" ); + } + if( !xAccess.is() ) + { + throw DeploymentException( + OUString( RTL_CONSTASCII_USTRINGPARAM + ("/singletons/com.sun.star.reflection.theTypeDescriptionManager singleton not accessable") ), + Reference< XInterface >() ); + } + } + return xAccess; +} + +// Hold TypeConverter statically +Reference< XTypeConverter > getTypeConverter_Impl( void ) +{ + static Reference< XTypeConverter > xTypeConverter; + + // Haben wir schon CoreReflection, sonst besorgen + if( !xTypeConverter.is() ) + { + Reference< XComponentContext > xContext = getComponentContext_Impl(); + if( xContext.is() ) + { + Reference<XMultiComponentFactory> xSMgr = xContext->getServiceManager(); + xTypeConverter = Reference<XTypeConverter>( + xSMgr->createInstanceWithContext( + OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.script.Converter")), + xContext ), UNO_QUERY ); + } + if( !xTypeConverter.is() ) + { + throw DeploymentException( + OUString( RTL_CONSTASCII_USTRINGPARAM + ("com.sun.star.script.Converter service not accessable") ), + Reference< XInterface >() ); + } + } + return xTypeConverter; +} + +String implGetExceptionMsg( Exception& e, const String& aExceptionType_ ); + +Any convertAny( const Any& rVal, const Type& aDestType ) +{ + Any aConvertedVal; + Reference< XTypeConverter > xConverter = getTypeConverter_Impl(); + try + { + aConvertedVal = xConverter->convertTo( rVal, aDestType ); + } + catch( IllegalArgumentException& e1 ) + { + StarBASIC::Error( ERRCODE_BASIC_EXCEPTION, + implGetExceptionMsg( e1, aIllegalArgumentExceptionName ) ); + return aConvertedVal; + } + catch( CannotConvertException& e2 ) + { + String aCannotConvertExceptionName + ( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.lang.IllegalArgumentException" ) ); + StarBASIC::Error( ERRCODE_BASIC_EXCEPTION, + implGetExceptionMsg( e2, aCannotConvertExceptionName ) ); + return aConvertedVal; + } + return aConvertedVal; +} + + +// #105565 Special Object to wrap a strongly typed Uno Any +class SbUnoAnyObject: public SbxObject +{ + Any mVal; + +public: + SbUnoAnyObject( const Any& rVal ) + : SbxObject( String() ) + , mVal( rVal ) + {} + + const Any& getValue( void ) + { return mVal; } + + TYPEINFO(); +}; + +TYPEINIT1(SbUnoAnyObject,SbxObject) + + // TODO: Spaeter auslagern Reference<XIdlClass> TypeToIdlClass( const Type& rType ) { @@ -277,11 +402,11 @@ SbxDataType unoToSbxType( TypeClass eType ) //case TypeClass_INT: eRetType = SbxINT; break; case TypeClass_SHORT: eRetType = SbxINTEGER; break; case TypeClass_LONG: eRetType = SbxLONG; break; - //case TypeClass_HYPER: break; + case TypeClass_HYPER: eRetType = SbxSALINT64; break; //case TypeClass_UNSIGNED_OCTET: break; case TypeClass_UNSIGNED_SHORT: eRetType = SbxUSHORT; break; case TypeClass_UNSIGNED_LONG: eRetType = SbxULONG; break; - //case TypeClass_UNSIGNED_HYPER: break; + case TypeClass_UNSIGNED_HYPER: eRetType = SbxSALUINT64;break; //case TypeClass_UNSIGNED_INT: eRetType = SbxUINT; break; //case TypeClass_UNSIGNED_BYTE: eRetType = SbxUSHORT; break; } @@ -375,37 +500,35 @@ void unoToSbxValue( SbxVariable* pVar, const Any& aValue ) Reference< XIdlClass > xIdlTargetClass = TypeToIdlClass( aType ); Reference< XIdlArray > xIdlArray = xIdlTargetClass->getArray(); sal_Int32 i, nLen = xIdlArray->getLen( aValue ); + + typelib_TypeDescription * pTD = 0; + aType.getDescription( &pTD ); + OSL_ASSERT( pTD && pTD->eTypeClass == typelib_TypeClass_SEQUENCE ); + Type aElementType( ((typelib_IndirectTypeDescription *)pTD)->pType ); + ::typelib_typedescription_release( pTD ); + // In Basic Array anlegen SbxDimArrayRef xArray; + SbxDataType eSbxElementType = unoToSbxType( aElementType.getTypeClass() ); + xArray = new SbxDimArray( eSbxElementType ); if( nLen > 0 ) { - xArray = new SbxDimArray( SbxVARIANT ); - xArray->unoAddDim( 0, nLen - 1 ); + xArray->unoAddDim32( 0, nLen - 1 ); // Elemente als Variablen eintragen for( i = 0 ; i < nLen ; i++ ) { // Elemente wandeln Any aElementAny = xIdlArray->get( aValue, (UINT32)i ); - //Any aElementAny = pSeqReflection->get( aValue, (UINT32)i ); - SbxVariableRef xVar = new SbxVariable( SbxVARIANT ); + SbxVariableRef xVar = new SbxVariable( eSbxElementType ); unoToSbxValue( (SbxVariable*)xVar, aElementAny ); // Ins Array braten - short nIndex = (short)i; - xArray->Put( (SbxVariable*)xVar, &nIndex ); + xArray->Put32( (SbxVariable*)xVar, &i ); } } else { - typelib_TypeDescription * pTD = 0; - aType.getDescription( &pTD ); - OSL_ASSERT( pTD && pTD->eTypeClass == typelib_TypeClass_SEQUENCE ); - Type aElementType( ((typelib_IndirectTypeDescription *)pTD)->pType ); - ::typelib_typedescription_release( pTD ); - - SbxDataType eSbxElementType = unoToSbxType( aElementType.getTypeClass() ); - xArray = new SbxDimArray( eSbxElementType ); xArray->unoAddDim( 0, -1 ); } @@ -421,7 +544,6 @@ void unoToSbxValue( SbxVariable* pVar, const Any& aValue ) break; /* - case TypeClass_SEQUENCE: break; case TypeClass_VOID: break; case TypeClass_UNKNOWN: break; @@ -449,11 +571,11 @@ void unoToSbxValue( SbxVariable* pVar, const Any& aValue ) //case TypeClass_INT: break; case TypeClass_SHORT: { sal_Int16 val; aValue >>= val; pVar->PutInteger( val ); } break; case TypeClass_LONG: { sal_Int32 val; aValue >>= val; pVar->PutLong( val ); } break; - //case TypeClass_HYPER: break; + case TypeClass_HYPER: { sal_Int64 val; aValue >>= val; pVar->PutInt64( val ); } break; //case TypeClass_UNSIGNED_OCTET:break; case TypeClass_UNSIGNED_SHORT: { sal_uInt16 val; aValue >>= val; pVar->PutUShort( val ); } break; case TypeClass_UNSIGNED_LONG: { sal_uInt32 val; aValue >>= val; pVar->PutULong( val ); } break; - //case TypeClass_UNSIGNED_HYPER:break; + case TypeClass_UNSIGNED_HYPER: { sal_uInt64 val; aValue >>= val; pVar->PutUInt64( val ); } break; //case TypeClass_UNSIGNED_INT: break; //case TypeClass_UNSIGNED_BYTE: break; default: pVar->PutEmpty(); break; @@ -526,25 +648,22 @@ Type getUnoTypeForSbxValue( SbxValue* pVal ) SbxDimArray* pArray = (SbxDimArray*)pObj; // es muss ein eindimensionales Array sein - short nLower, nUpper; - if( pArray->GetDims() == 1 && pArray->GetDim( 1, nLower, nUpper ) ) + sal_Int32 nLower, nUpper; + if( pArray->GetDims() == 1 && pArray->GetDim32( 1, nLower, nUpper ) ) { - INT32 nSize = nUpper - nLower + 1; - Type aElementType; - if( nSize == 0 ) - { - aElementType = getUnoTypeForSbxBaseType( (SbxDataType)(pArray->GetType() & 0xfff) ); - } - else + Type aElementType = getUnoTypeForSbxBaseType( (SbxDataType)(pArray->GetType() & 0xfff) ); + + if( aElementType.getTypeClass() == TypeClass_VOID ) { // Wenn alle Elemente des Arrays vom gleichen Typ sind, wird // der genommen, sonst wird das ganze als Any-Sequence betrachtet sal_Bool bNeedsInit = sal_True; - short nIdx = nLower; - for( UINT32 i = 0 ; i < nSize ; i++,nIdx++ ) + INT32 nSize = nUpper - nLower + 1; + INT32 nIdx = nLower; + for( sal_uInt32 i = 0 ; i < nSize ; i++,nIdx++ ) { - SbxVariableRef xVar = pArray->Get( &nIdx ); + SbxVariableRef xVar = pArray->Get32( &nIdx ); Type aType = getUnoTypeForSbxValue( (SbxVariable*)xVar ); if( bNeedsInit ) { @@ -579,6 +698,11 @@ Type getUnoTypeForSbxValue( SbxValue* pVal ) { aRetType = ((SbUnoObject*)(SbxBase*)xObj)->getUnoAny().getValueType(); } + // SbUnoAnyObject? + else if( xObj->ISA(SbUnoAnyObject) ) + { + aRetType = ((SbUnoAnyObject*)(SbxBase*)xObj)->getValue().getValueType(); + } // Sonst ist es ein Nicht-Uno-Basic-Objekt -> default==void liefern } // Kein Objekt, Basistyp konvertieren @@ -595,6 +719,14 @@ Any sbxToUnoValue( SbxVariable* pVar, const Type& rType, Property* pUnoProperty // Konvertierung von Sbx nach Uno ohne bekannte Zielklasse fuer TypeClass_ANY Any sbxToUnoValue( SbxVariable* pVar ) { + SbxDataType eBaseType = pVar->SbxValue::GetType(); + if( eBaseType == SbxOBJECT ) + { + SbxBaseRef xObj = (SbxBase*)pVar->GetObject(); + if( xObj.Is() && xObj->ISA(SbUnoAnyObject) ) + return ((SbUnoAnyObject*)(SbxBase*)xObj)->getValue(); + } + Type aType = getUnoTypeForSbxValue( pVar ); TypeClass eType = aType.getTypeClass(); @@ -666,6 +798,16 @@ Any sbxToUnoValue( SbxVariable* pVar, const Type& rType, Property* pUnoProperty return aRetVal; } + SbxDataType eBaseType = pVar->SbxValue::GetType(); + if( eBaseType == SbxOBJECT ) + { + SbxBaseRef xObj = (SbxBase*)pVar->GetObject(); + if( xObj.Is() && xObj->ISA(SbUnoAnyObject) ) + { + return ((SbUnoAnyObject*)(SbxBase*)xObj)->getValue(); + } + } + TypeClass eType = rType.getTypeClass(); switch( eType ) { @@ -721,10 +863,10 @@ Any sbxToUnoValue( SbxVariable* pVar, const Type& rType, Property* pUnoProperty xIdlTargetClass->createObject( aRetVal ); // es muss ein eindimensionales Array sein - short nLower, nUpper; - if( pArray->GetDims() == 1 && pArray->GetDim( 1, nLower, nUpper ) ) + sal_Int32 nLower, nUpper; + if( pArray->GetDims() == 1 && pArray->GetDim32( 1, nLower, nUpper ) ) { - INT32 nSeqSize = nUpper - nLower + 1; + sal_Int32 nSeqSize = nUpper - nLower + 1; Reference< XIdlArray > xArray = xIdlTargetClass->getArray(); xArray->realloc( aRetVal, nSeqSize ); @@ -741,12 +883,13 @@ Any sbxToUnoValue( SbxVariable* pVar, const Type& rType, Property* pUnoProperty ((typelib_IndirectTypeDescription *)pSeqTD)->pType; Type aElemType( pElementTD->pWeakRef ); #endif + Reference< XIdlClass > xElementClass = TypeToIdlClass( aElemType ); // Alle Array-Member umwandeln und eintragen - short nIdx = nLower; + sal_Int32 nIdx = nLower; for( sal_Int32 i = 0 ; i < nSeqSize ; i++,nIdx++ ) { - SbxVariableRef xVar = pArray->Get( &nIdx ); + SbxVariableRef xVar = pArray->Get32( &nIdx ); // Wert von Sbx nach Uno wandeln Any aAnyValue = sbxToUnoValue( (SbxVariable*)xVar, aElemType ); @@ -823,12 +966,12 @@ Any sbxToUnoValue( SbxVariable* pVar, const Type& rType, Property* pUnoProperty } //case TypeClass_INT: break; case TypeClass_SHORT: aRetVal <<= (sal_Int16)( pVar->GetInteger() ); break; - case TypeClass_LONG: aRetVal <<= (sal_Int32)( pVar->GetLong() ); break; - //case TypeClass_HYPER: break; + case TypeClass_LONG: aRetVal <<= (sal_Int32)( pVar->GetLong() ); break; + case TypeClass_HYPER: aRetVal <<= (sal_Int64)( pVar->GetInt64() ); break; //case TypeClass_UNSIGNED_OCTET:break; case TypeClass_UNSIGNED_SHORT: aRetVal <<= (sal_uInt16)( pVar->GetUShort() ); break; case TypeClass_UNSIGNED_LONG: aRetVal <<= (sal_uInt32)( pVar->GetULong() ); break; - //case TypeClass_UNSIGNED_HYPER:break; + case TypeClass_UNSIGNED_HYPER: aRetVal <<= (sal_uInt64)( pVar->GetUInt64() ); break; //case TypeClass_UNSIGNED_INT: break; //case TypeClass_UNSIGNED_BYTE: break; } @@ -873,10 +1016,40 @@ String Impl_GetInterfaceInfo( const Reference< XInterface >& x, const Reference< return aRetStr; } +String getDbgObjectName( const String& rClassName, SbUnoObject* pUnoObj ) +{ + String aName = rClassName; + if( !rClassName.Len() ) + { + Any aToInspectObj = pUnoObj->getUnoAny(); + TypeClass eType = aToInspectObj.getValueType().getTypeClass(); + Reference< XInterface > xObj; + if( eType == TypeClass_INTERFACE ) + xObj = *(Reference< XInterface >*)aToInspectObj.getValue(); + if( xObj.is() ) + { + Reference< XServiceInfo > xServiceInfo( xObj, UNO_QUERY ); + if( xServiceInfo.is() ) + aName = xServiceInfo->getImplementationName(); + } + } + + if( !aName.Len() ) + aName.AppendAscii( "Unknown" ); + + String aRet; + if( aName.Len() > 20 ) + aRet.AppendAscii( "\n" ); + aRet.AppendAscii( "\"" ); + aRet += aName; + aRet.AppendAscii( "\":" ); + return aRet; +} + // Dbg-Hilfsmethode zum Auslesen der in einem Object implementierten Interfaces -String Impl_GetSupportedInterfaces( const String& rName, const Any& aToInspectObj ) +String Impl_GetSupportedInterfaces( const String& rClassName, SbUnoObject* pUnoObj ) { - //static Reference< XIdlClass > xUsrObjectClass = UsrObject::getUsrObjectIdlClass(); + Any aToInspectObj = pUnoObj->getUnoAny(); // #54898: Nur TypeClass Interface zulasssen TypeClass eType = aToInspectObj.getValueType().getTypeClass(); @@ -884,9 +1057,7 @@ String Impl_GetSupportedInterfaces( const String& rName, const Any& aToInspectOb if( eType != TypeClass_INTERFACE ) { aRet += ID_DBG_SUPPORTEDINTERFACES; - aRet.AppendAscii( " not available for \"" ); - aRet += rName; - aRet.AppendAscii( "\"\n(TypeClass is not TypeClass_INTERFACE)" ); + aRet.AppendAscii( " not available.\n(TypeClass is not TypeClass_INTERFACE)\n" ); } else { @@ -898,13 +1069,9 @@ String Impl_GetSupportedInterfaces( const String& rName, const Any& aToInspectOb Reference< XTypeProvider > xTypeProvider( x, UNO_QUERY ); aRet.AssignAscii( "Supported interfaces by object " ); - if( xTypeProvider.is() ) - aRet.AppendAscii( "(using XTypeProvider) " ); - if( rName.Len() > 20 ) - aRet.AppendAscii( "\n" ); - aRet.AppendAscii( "(Type \"" ); - aRet += rName; - aRet.AppendAscii( "\"):\n" ); + String aObjName = getDbgObjectName( rClassName, pUnoObj ); + aRet += aObjName; + aRet.AppendAscii( "\n" ); if( xTypeProvider.is() ) { // Interfaces der Implementation holen @@ -972,14 +1139,11 @@ String Dbg_SbxDataType2String( SbxDataType eType ) } // Dbg-Hilfsmethode zum Anzeigen der Properties eines SbUnoObjects -String Impl_DumpProperties( const String& rName, SbUnoObject* pUnoObj ) +String Impl_DumpProperties( const String& rClassName, SbUnoObject* pUnoObj ) { String aRet( RTL_CONSTASCII_USTRINGPARAM("Properties of object ") ); - if( rName.Len() > 20 ) - aRet.AppendAscii( "\n" ); - aRet.AppendAscii( "(Type \"" ); - aRet += rName; - aRet.AppendAscii( "\"):" ); + String aObjName = getDbgObjectName( rClassName, pUnoObj ); + aRet += aObjName; // Uno-Infos auswerten, um Arrays zu erkennen Reference< XIntrospectionAccess > xAccess = pUnoObj->getIntrospectionAccess(); @@ -991,7 +1155,7 @@ String Impl_DumpProperties( const String& rName, SbUnoObject* pUnoObj ) } if( !xAccess.is() ) { - aRet.AppendAscii( "\nUnknown, no introspection available" ); + aRet.AppendAscii( "\nUnknown, no introspection available\n" ); return aRet; } @@ -1052,14 +1216,11 @@ String Impl_DumpProperties( const String& rName, SbUnoObject* pUnoObj ) } // Dbg-Hilfsmethode zum Anzeigen der Methoden eines SbUnoObjects -String Impl_DumpMethods( const String& rName, SbUnoObject* pUnoObj ) +String Impl_DumpMethods( const String& rClassName, SbUnoObject* pUnoObj ) { String aRet( RTL_CONSTASCII_USTRINGPARAM("Methods of object ") ); - if( rName.Len() > 20 ) - aRet.AppendAscii( "\n" ); - aRet.AppendAscii( "(Type \"" ); - aRet += rName; - aRet.AppendAscii( "\"):" ); + String aObjName = getDbgObjectName( rClassName, pUnoObj ); + aRet += aObjName; // XIntrospectionAccess, um die Typen der Parameter auch ausgeben zu koennen Reference< XIntrospectionAccess > xAccess = pUnoObj->getIntrospectionAccess(); @@ -1071,7 +1232,7 @@ String Impl_DumpMethods( const String& rName, SbUnoObject* pUnoObj ) } if( !xAccess.is() ) { - aRet.AppendAscii( "\nUnknown, no introspection available" ); + aRet.AppendAscii( "\nUnknown, no introspection available\n" ); return aRet; } Sequence< Reference< XIdlMethod > > methods = xAccess->getMethods @@ -1080,6 +1241,11 @@ String Impl_DumpMethods( const String& rName, SbUnoObject* pUnoObj ) SbxArray* pMethods = pUnoObj->GetMethods(); USHORT nMethodCount = pMethods->Count(); + if( !nMethodCount ) + { + aRet.AppendAscii( "\nNo methods found\n" ); + return aRet; + } USHORT nPropsPerLine = 1 + nMethodCount / 30; for( USHORT i = 0; i < nMethodCount; i++ ) { @@ -1163,7 +1329,7 @@ void SbUnoObject::SFX_NOTIFY( SfxBroadcaster& rBC, const TypeId& rBCType, // Id == -1: Implementierte Interfaces gemaess ClassProvider anzeigen if( nId == -1 ) // Property ID_DBG_SUPPORTEDINTERFACES" { - String aRetStr = Impl_GetSupportedInterfaces( GetClassName(), getUnoAny() ); + String aRetStr = Impl_GetSupportedInterfaces( GetClassName(), this ); pVar->PutString( aRetStr ); } // Id == -2: Properties ausgeben @@ -1331,7 +1497,6 @@ void SbUnoObject::SFX_NOTIFY( SfxBroadcaster& rBC, const TypeId& rBCType, const Reference< XIdlClass >& rxClass = rInfo.aType; //const XIdlClassRef& rxClass = pUnoParams[i]; - com::sun::star::uno::Type aType( rxClass->getTypeClass(), rxClass->getName() ); // ACHTUNG: Bei den Sbx-Parametern den Offset nicht vergessen! @@ -1357,6 +1522,7 @@ void SbUnoObject::SFX_NOTIFY( SfxBroadcaster& rBC, const TypeId& rBCType, } // Methode callen + GetSbData()->bBlockCompilerError = TRUE; // #106433 Block compiler errors for API calls try { if( mxUnoAccess.is() ) @@ -1439,6 +1605,7 @@ void SbUnoObject::SFX_NOTIFY( SfxBroadcaster& rBC, const TypeId& rBCType, { } */ + GetSbData()->bBlockCompilerError = FALSE; // #106433 Unblock compiler errors } } else @@ -1558,7 +1725,8 @@ SbUnoObject::SbUnoObject( const String& aName, const Any& aUnoObj_ ) } SbUnoObject::~SbUnoObject() -{} +{ +} // #76470 Introspection on Demand durchfuehren @@ -1595,7 +1763,7 @@ void SbUnoObject::doIntrospection( void ) } catch( RuntimeException& e ) { - String aMsg = implGetExceptionMsg( e ); + StarBASIC::Error( ERRCODE_BASIC_EXCEPTION, implGetExceptionMsg( e ) ); } if( !mxUnoAccess.is() ) @@ -2220,28 +2388,22 @@ void RTL_Impl_EqualUnoObjects( StarBASIC* pBasic, SbxArray& rPar, BOOL bWrite ) // UnoScope zu suchen und fuer Sbx zu wrappen SbxVariable* findUnoClass( const String& rName ) { - // CoreReflection holen - Reference< XIdlReflection > xCoreReflection = getCoreReflection_Impl(); - if( !xCoreReflection.is() ) - return NULL; - - // Klasse suchen - Reference< XIdlClass > xClass = xCoreReflection->forName( rName ); - - // #95264: Allow start only with explicit namespaces object or "com" - // OLD: #72382 Klasse wird jetzt immer angelegt, da Module unbekannt sind + // #105550 Check if module exists SbUnoClass* pUnoClass = NULL; - if( xClass.is() ) - { - pUnoClass = new SbUnoClass( rName, xClass ); - } - else if( rName.EqualsIgnoreCaseAscii( ID_NAMESPACES ) ) - { - pUnoClass = new SbUnoClass( rName, NS_ROOT ); - } - else if( rName.EqualsIgnoreCaseAscii( ID_NAMESPACE_COM ) ) + + Reference< XHierarchicalNameAccess > xTypeAccess = getTypeProvider_Impl(); + Reference< XTypeDescription > xTypeDesc; + if( xTypeAccess->hasByHierarchicalName( rName ) ) { - pUnoClass = new SbUnoClass( rName, NS_COM ); + Any aRet = xTypeAccess->getByHierarchicalName( rName ); + aRet >>= xTypeDesc; + + if( xTypeDesc.is() ) + { + TypeClass eTypeClass = xTypeDesc->getTypeClass(); + if( eTypeClass == TypeClass_MODULE || eTypeClass == TypeClass_CONSTANTS ) + pUnoClass = new SbUnoClass( rName ); + } } return pUnoClass; } @@ -2291,17 +2453,8 @@ SbxVariable* SbUnoClass::Find( const XubString& rName, SbxClassType t ) { // Vollqualifizierten Namen erweitern String aNewName = GetName(); - - // #95264: Special code for start with namespaces object - if( meNamespaceStatus == NS_ROOT ) - { - aNewName = rName; - } - else - { - aNewName.AppendAscii( "." ); - aNewName += rName; - } + aNewName.AppendAscii( "." ); + aNewName += rName; // CoreReflection holen Reference< XIdlReflection > xCoreReflection = getCoreReflection_Impl(); @@ -2344,24 +2497,7 @@ SbxVariable* SbUnoClass::Find( const XubString& rName, SbxClassType t ) // Sonst wieder als Klasse annehmen if( !pRes ) { - SbUnoClass* pNewClass = NULL; - if( meNamespaceStatus == NS_ROOT || - meNamespaceStatus == NS_FREE || - meNamespaceStatus == NS_COM_SUN_STAR ) - { - pNewClass = new SbUnoClass( aNewName, NS_FREE ); - } - else if( meNamespaceStatus == NS_COM ) - { - if( rName.EqualsIgnoreCaseAscii( ID_NAMESPACE_SUN ) ) - pNewClass = new SbUnoClass( aNewName, NS_COM_SUN ); - } - else if( meNamespaceStatus == NS_COM_SUN ) - { - if( rName.EqualsIgnoreCaseAscii( ID_NAMESPACE_STAR ) ) - pNewClass = new SbUnoClass( aNewName, NS_COM_SUN_STAR ); - } - + SbxVariable* pNewClass = findUnoClass( aNewName ); if( pNewClass ) { Reference< XIdlClass > xClass; @@ -2369,12 +2505,6 @@ SbxVariable* SbUnoClass::Find( const XubString& rName, SbxClassType t ) SbxObjectRef xWrapper = (SbxObject*)pNewClass; pRes->PutObject( xWrapper ); } - - // neue Klasse erzeugen - // Reference< XIdlClass > xClass; - // pRes = new SbxVariable( SbxVARIANT ); - // SbxObjectRef xWrapper = (SbxObject*)new SbUnoClass( aNewName, xClass ); - // pRes->PutObject( xWrapper ); } } } @@ -2669,7 +2799,7 @@ sal_Bool SAL_CALL InvocationToAllListenerMapper::hasProperty(const OUString& Nam void SbRtl_CreateUnoListener( StarBASIC* pBasic, SbxArray& rPar, BOOL bWrite ) //RTLFUNC(CreateUnoListener) { - // Wir brauchen mindestens 1 Parameter + // Wir brauchen 2 Parameter if ( rPar.Count() != 3 ) { StarBASIC::Error( SbERR_BAD_ARGUMENT ); @@ -2712,9 +2842,14 @@ void SbRtl_CreateUnoListener( StarBASIC* pBasic, SbxArray& rPar, BOOL bWrite ) if( !aTmp.hasValue() ) return; - p->xSbxObj = new SbUnoObject( aListenerClassName, aTmp ); + SbUnoObject* pUnoObj = new SbUnoObject( aListenerClassName, aTmp ); + p->xSbxObj = pUnoObj; p->xSbxObj->SetParent( pBasic ); + // #100326 Register listener object to set Parent NULL in Dtor + SbxArrayRef xBasicUnoListeners = pBasic->getUnoListeners(); + xBasicUnoListeners->Insert( pUnoObj, xBasicUnoListeners->Count() ); + // Objekt zurueckliefern SbxVariableRef refVar = rPar.Get(0); refVar->PutObject( p->xSbxObj ); @@ -2745,3 +2880,73 @@ void RTL_Impl_GetDefaultContext( StarBASIC* pBasic, SbxArray& rPar, BOOL bWrite } } +//======================================================================== +// Creates a Basic wrapper object for a strongly typed Uno value +// 1. parameter: Uno type as full qualified type name, e.g. "byte[]" +// void RTL_Impl_GetDefaultContext( StarBASIC* pBasic, SbxArray& rPar, BOOL bWrite ) +void RTL_Impl_CreateUnoValue( StarBASIC* pBasic, SbxArray& rPar, BOOL bWrite ) +{ + // 2 parameters needed + if ( rPar.Count() != 3 ) + { + StarBASIC::Error( SbERR_BAD_ARGUMENT ); + return; + } + + // Klassen-Name der struct holen + String aTypeName = rPar.Get(1)->GetString(); + SbxVariable* pVal = rPar.Get(2); + + // Check the type + Reference< XHierarchicalNameAccess > xTypeAccess = getTypeProvider_Impl(); + Any aRet; + try + { + aRet = xTypeAccess->getByHierarchicalName( aTypeName ); + } + catch( NoSuchElementException& e1 ) + { + String aNoSuchElementExceptionName + ( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.container.NoSuchElementException" ) ); + StarBASIC::Error( ERRCODE_BASIC_EXCEPTION, + implGetExceptionMsg( e1, aNoSuchElementExceptionName ) ); + return; + } + Reference< XTypeDescription > xTypeDesc; + aRet >>= xTypeDesc; + TypeClass eTypeClass = xTypeDesc->getTypeClass(); + Type aDestType( eTypeClass, aTypeName ); + + + // Preconvert value + Any aVal = sbxToUnoValue( pVal ); + Any aConvertedVal = convertAny( aVal, aDestType ); + + /* + // Convert + Reference< XTypeConverter > xConverter = getTypeConverter_Impl(); + try + { + aConvertedVal = xConverter->convertTo( aVal, aDestType ); + } + catch( IllegalArgumentException& e1 ) + { + StarBASIC::Error( ERRCODE_BASIC_EXCEPTION, + implGetExceptionMsg( e1, aIllegalArgumentExceptionName ) ); + return; + } + catch( CannotConvertException& e2 ) + { + String aCannotConvertExceptionName + ( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.lang.IllegalArgumentException" ) ); + StarBASIC::Error( ERRCODE_BASIC_EXCEPTION, + implGetExceptionMsg( e2, aCannotConvertExceptionName ) ); + return; + } + */ + + SbxVariableRef refVar = rPar.Get(0); + SbxObjectRef xUnoAnyObject = new SbUnoAnyObject( aConvertedVal ); + refVar->PutObject( xUnoAnyObject ); +} + diff --git a/basic/source/classes/sbxmod.cxx b/basic/source/classes/sbxmod.cxx index c7fbcb50aaa4..1ae32d0ddde0 100644 --- a/basic/source/classes/sbxmod.cxx +++ b/basic/source/classes/sbxmod.cxx @@ -2,9 +2,9 @@ * * $RCSfile: sbxmod.cxx,v $ * - * $Revision: 1.11 $ + * $Revision: 1.12 $ * - * last change: $Author: ab $ $Date: 2002-10-25 10:03:13 $ + * last change: $Author: hr $ $Date: 2003-03-18 16:28:32 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -559,13 +559,14 @@ void ClearUnoObjectsInRTL_Impl( StarBASIC* pBasic ) // #67781 Rueckgabewerte der Uno-Methoden loeschen clearUnoMethods(); + ClearUnoObjectsInRTL_Impl_Rek( pBasic ); + // Oberstes Basic suchen SbxObject* p = pBasic; while( p->GetParent() ) p = p->GetParent(); - - // Rekursiven Loeschvorgang ausloesen - ClearUnoObjectsInRTL_Impl_Rek( (StarBASIC*)p ); + if( ((StarBASIC*)p) != pBasic ) + ClearUnoObjectsInRTL_Impl_Rek( (StarBASIC*)p ); } // Ausfuehren eines BASIC-Unterprogramms diff --git a/basic/source/comp/buffer.cxx b/basic/source/comp/buffer.cxx index 9c9a8b553d02..286867e597bd 100644 --- a/basic/source/comp/buffer.cxx +++ b/basic/source/comp/buffer.cxx @@ -2,9 +2,9 @@ * * $RCSfile: buffer.cxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: mh $ $Date: 2001-10-17 18:53:05 $ + * last change: $Author: hr $ $Date: 2003-03-18 16:28:34 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -82,7 +82,7 @@ SbiBuffer::SbiBuffer( SbiParser* p, short n ) SbiBuffer::~SbiBuffer() { - delete pBuf; + delete[] pBuf; } // Rausreichen des Puffers @@ -113,13 +113,13 @@ BOOL SbiBuffer::Check( USHORT n ) { pParser->Error( SbERR_PROG_TOO_LARGE ); nInc = 0; - delete pBuf; pBuf = NULL; + delete[] pBuf; pBuf = NULL; return FALSE; } else { if( nSize ) memcpy( p, pBuf, nSize ); - delete pBuf; + delete[] pBuf; pBuf = p; pCur = pBuf + nOff; nSize += nn; diff --git a/basic/source/comp/dim.cxx b/basic/source/comp/dim.cxx index f28699c5b72b..8160365ba551 100644 --- a/basic/source/comp/dim.cxx +++ b/basic/source/comp/dim.cxx @@ -2,9 +2,9 @@ * * $RCSfile: dim.cxx,v $ * - * $Revision: 1.8 $ + * $Revision: 1.9 $ * - * last change: $Author: ab $ $Date: 2002-08-12 12:04:52 $ + * last change: $Author: hr $ $Date: 2003-03-18 16:28:34 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -329,10 +329,24 @@ void SbiParser::DefVar( SbiOpcode eOp, BOOL bStatic ) if( pDim ) { - pDef->SetDims( pDim->GetDims() ); - SbiExpression aExpr( this, *pDef, pDim ); - aExpr.Gen(); - aGen.Gen( _DCREATE, pDef->GetId(), pDef->GetTypeId() ); + if( eOp == _REDIMP ) + { + SbiExpression aExpr( this, *pDef, NULL ); + aExpr.Gen(); + aGen.Gen( _REDIMP_ERASE ); + + pDef->SetDims( pDim->GetDims() ); + SbiExpression aExpr2( this, *pDef, pDim ); + aExpr2.Gen(); + aGen.Gen( _DCREATE_REDIMP, pDef->GetId(), pDef->GetTypeId() ); + } + else + { + pDef->SetDims( pDim->GetDims() ); + SbiExpression aExpr( this, *pDef, pDim ); + aExpr.Gen(); + aGen.Gen( _DCREATE, pDef->GetId(), pDef->GetTypeId() ); + } } else { diff --git a/basic/source/comp/exprnode.cxx b/basic/source/comp/exprnode.cxx index 6f4c41c41688..6df66b4cad5b 100644 --- a/basic/source/comp/exprnode.cxx +++ b/basic/source/comp/exprnode.cxx @@ -2,9 +2,9 @@ * * $RCSfile: exprnode.cxx,v $ * - * $Revision: 1.5 $ + * $Revision: 1.6 $ * - * last change: $Author: mh $ $Date: 2001-10-17 18:53:05 $ + * last change: $Author: hr $ $Date: 2003-03-18 16:28:34 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -63,9 +63,7 @@ #define HUGE_VAL HUGE #include <math.h> -#ifndef _TOOLS_SOLMATH_HXX //autogen wg. SolarMath -#include <tools/solmath.hxx> -#endif +#include <rtl/math.hxx> #include "sbcomp.hxx" #pragma hdrstop #include "expr.hxx" @@ -441,7 +439,7 @@ void SbiExprNode::FoldConstants() nVal = (double) ( ~ll | lr ); eType = SbxLONG; break; } - if( SolarMath::IsINF( nVal ) || SolarMath::IsNAN( nVal ) ) + if( !::rtl::math::isFinite( nVal ) ) pGen->GetParser()->Error( SbERR_MATH_OVERFLOW ); // Den Datentyp wiederherstellen, um Rundungsfehler diff --git a/basic/source/comp/sbcomp.cxx b/basic/source/comp/sbcomp.cxx index 8f7ef9275a03..6f44384fb47a 100644 --- a/basic/source/comp/sbcomp.cxx +++ b/basic/source/comp/sbcomp.cxx @@ -2,9 +2,9 @@ * * $RCSfile: sbcomp.cxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: mh $ $Date: 2001-10-17 18:53:05 $ + * last change: $Author: hr $ $Date: 2003-03-18 16:28:34 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -67,6 +67,12 @@ #include "sbcomp.hxx" #include "image.hxx" + +#ifndef PRODUCT +// For debugging only +void dbg_SaveDisassembly( SbModule* pModule ); +#endif + // Diese Routine ist hier definiert, damit der Compiler als eigenes Segment // geladen werden kann. @@ -118,6 +124,14 @@ BOOL SbModule::Compile() if( pBasic ) pBasic->ClearAllModuleVars(); } + +#ifndef PRODUCT + // Disassembly functionality for debugging + bool bDisassemble = false; + if( bDisassemble ) + dbg_SaveDisassembly( this ); +#endif + return bRet; } diff --git a/basic/source/comp/scanner.cxx b/basic/source/comp/scanner.cxx index 6bee3325636d..61cd7b21cab7 100644 --- a/basic/source/comp/scanner.cxx +++ b/basic/source/comp/scanner.cxx @@ -2,9 +2,9 @@ * * $RCSfile: scanner.cxx,v $ * - * $Revision: 1.6 $ + * $Revision: 1.7 $ * - * last change: $Author: mh $ $Date: 2001-10-17 18:53:05 $ + * last change: $Author: hr $ $Date: 2003-03-18 16:28:35 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -61,7 +61,7 @@ #include "sbcomp.hxx" #pragma hdrstop -#include <stdio.h> // sprintf() +#include <stdio.h> #include <string.h> #include <ctype.h> #if defined (ICC) || defined (WTC) || defined(__powerc) || defined ( MAC ) || defined UNX @@ -69,9 +69,7 @@ #else #include <math.h> // atof() #endif -#ifndef _SOLMATH_HXX //autogen wg. SolarMath -#include <tools/solmath.hxx> -#endif +#include <rtl/math.hxx> #ifndef _TOOLS_INTN_HXX #include <tools/intn.hxx> #endif @@ -119,6 +117,11 @@ void SbiScanner::UnlockColumn() void SbiScanner::GenError( SbError code ) { + if( GetSbData()->bBlockCompilerError ) + { + bAbort = TRUE; + return; + } if( !bError && bErrors ) { BOOL bRes = TRUE; @@ -316,8 +319,7 @@ BOOL SbiScanner::NextSym() GenError( SbERR_BAD_CHAR_IN_NUMBER ); } // #57844 Lokalisierte Funktion benutzen - int nErrno; - nVal = SolarMath::StringToDouble( buf, ',', '.', nErrno ); + nVal = rtl_math_uStringToDouble( buf, buf+(p-buf), '.', ',', NULL, NULL ); // ALT: nVal = atof( buf ); ndig -= comma; diff --git a/basic/source/comp/symtbl.cxx b/basic/source/comp/symtbl.cxx index 7535fd9d817d..0b9373f7d9bc 100644 --- a/basic/source/comp/symtbl.cxx +++ b/basic/source/comp/symtbl.cxx @@ -2,9 +2,9 @@ * * $RCSfile: symtbl.cxx,v $ * - * $Revision: 1.4 $ + * $Revision: 1.5 $ * - * last change: $Author: ab $ $Date: 2002-08-12 11:57:34 $ + * last change: $Author: hr $ $Date: 2003-03-18 16:28:35 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -121,10 +121,10 @@ short SbiStringPool::Add( double n, SbxDataType t ) char buf[ 40 ]; switch( t ) { - case SbxINTEGER: sprintf( buf, "%d", (short) n ); break; - case SbxLONG: sprintf( buf, "%ld", (long) n ); break; - case SbxSINGLE: sprintf( buf, "%.6g", (float) n ); break; - case SbxDOUBLE: sprintf( buf, "%.16g", n ); break; + case SbxINTEGER: snprintf( buf, sizeof(buf), "%d", (short) n ); break; + case SbxLONG: snprintf( buf, sizeof(buf), "%ld", (long) n ); break; + case SbxSINGLE: snprintf( buf, sizeof(buf), "%.6g", (float) n ); break; + case SbxDOUBLE: snprintf( buf, sizeof(buf), "%.16g", n ); break; } return Add( String::CreateFromAscii( buf ) ); } diff --git a/basic/source/inc/opcodes.hxx b/basic/source/inc/opcodes.hxx index 35db6e3a4ff4..69471892358a 100644 --- a/basic/source/inc/opcodes.hxx +++ b/basic/source/inc/opcodes.hxx @@ -2,9 +2,9 @@ * * $RCSfile: opcodes.hxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: ab $ $Date: 2001-09-04 07:24:55 $ + * last change: $Author: hr $ $Date: 2003-03-18 16:28:36 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -186,6 +186,7 @@ enum SbiOpcode { _GLOBAL_P, // Globale Variable definieren, die beim Neustart von Basic // nicht ueberschrieben wird, P=PERSIST (+StringID+Typ) _FIND_G, // Sucht globale Variable mit Spezialbehandlung wegen _GLOBAL_P + _DCREATE_REDIMP, // Objekt-Array redimensionieren (+StringId+StringID) SbOP2_END }; diff --git a/basic/source/inc/runtime.hxx b/basic/source/inc/runtime.hxx index 17bed03d81e6..157600ecf0f1 100644 --- a/basic/source/inc/runtime.hxx +++ b/basic/source/inc/runtime.hxx @@ -2,9 +2,9 @@ * * $RCSfile: runtime.hxx,v $ * - * $Revision: 1.15 $ + * $Revision: 1.16 $ * - * last change: $Author: ab $ $Date: 2002-11-28 16:34:02 $ + * last change: $Author: hr $ $Date: 2003-03-18 16:28:36 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -77,9 +77,7 @@ #ifndef _OSL_FILE_HXX_ #include <osl/file.hxx> #endif -#ifndef _TOOLS_SOLMATH_HXX //autogen wg. SolarMath -#include <tools/solmath.hxx> -#endif +#include <rtl/math.hxx> #ifndef _LANG_HXX #include <tools/lang.hxx> #endif @@ -444,6 +442,7 @@ class SbiRuntime void StepOPEN( USHORT, USHORT ), StepSTATIC( USHORT, USHORT ); void StepTCREATE(USHORT,USHORT), StepDCREATE(USHORT,USHORT); void StepGLOBAL_P( USHORT, USHORT ),StepFIND_G( USHORT, USHORT ); + void StepDCREATE_REDIMP(USHORT,USHORT), StepDCREATE_IMPL(USHORT,USHORT,BOOL); public: xub_StrLen nLine,nCol1,nCol2; // aktuelle Zeile, Spaltenbereich SbiRuntime* pNext; // Stack-Chain @@ -468,7 +467,7 @@ public: inline void checkArithmeticOverflow( double d ) { - if( SolarMath::IsINF( d ) || SolarMath::IsNAN( d ) ) + if( !::rtl::math::isFinite( d ) ) StarBASIC::Error( SbERR_MATH_OVERFLOW ); } diff --git a/basic/source/inc/sbintern.hxx b/basic/source/inc/sbintern.hxx index 0d84b924a324..7572d5c5c608 100644 --- a/basic/source/inc/sbintern.hxx +++ b/basic/source/inc/sbintern.hxx @@ -2,9 +2,9 @@ * * $RCSfile: sbintern.hxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: ab $ $Date: 2001-11-26 16:29:09 $ + * last change: $Author: hr $ $Date: 2003-03-18 16:28:36 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -116,6 +116,7 @@ struct SbiGlobals SbLanguageMode eLanguageMode; // Flag fuer Visual-Basic-Script-Modus SbErrorStack* pErrStack; // Stack fuer die im Fehlerfall abgebaute SbiRuntime Kette ::utl::TransliterationWrapper* pTransliterationWrapper; // For StrComp + BOOL bBlockCompilerError; SbiGlobals(); ~SbiGlobals(); diff --git a/basic/source/runtime/dllmgr.cxx b/basic/source/runtime/dllmgr.cxx index 52ce532dfc3a..bcb5248eceef 100644 --- a/basic/source/runtime/dllmgr.cxx +++ b/basic/source/runtime/dllmgr.cxx @@ -2,9 +2,9 @@ * * $RCSfile: dllmgr.cxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: hjs $ $Date: 2000-11-06 13:30:56 $ + * last change: $Author: hr $ $Date: 2003-03-18 16:28:37 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -368,8 +368,8 @@ void SbiDllMgr::FreeDllHandle( SbiDllHandle hLib ) SbiDllProc SbiDllMgr::GetProcAddr(SbiDllHandle hLib, const ByteString& rProcName) { - char buf1 [128]; - char buf2 [128]; + char buf1 [128] = ""; + char buf2 [128] = ""; SbiDllProc pProc = 0; short nOrd = 0; @@ -379,12 +379,17 @@ SbiDllProc SbiDllMgr::GetProcAddr(SbiDllHandle hLib, const ByteString& rProcName nOrd = atoi( rProcName.GetBuffer()+1 ); // Moegliche Parameter weg: - strcpy( buf1, rProcName.GetBuffer() ); + DBG_ASSERT( sizeof(buf1) > rProcName.Len(), + "SbiDllMgr::GetProcAddr: buffer to small!" ); + strncpy( buf1, rProcName.GetBuffer(), sizeof(buf1)-1 ); char *p = strchr( buf1, '#' ); if( p ) *p = 0; - strcpy( buf2, "_" ); - strcat( buf2, buf1 ); + + DBG_ASSERT( sizeof(buf2) > strlen(buf1) + 1, + "SbiDllMgr::GetProcAddr: buffer to small!" ); + strncpy( buf2, "_", sizeof(buf2)-1 ); + strncat( buf2, buf1, sizeof(buf2)-1-strlen(buf2) ); #if defined(WIN) || defined(WNT) if( nOrd > 0 ) @@ -604,7 +609,7 @@ void* SbiDllMgr::CreateStack( SbxArray* pArgs, USHORT& rSize ) nLen = rStr.Len() + 1; char* pStr = new char[ nLen ]; - strcpy( pStr, rStr.GetBuffer() ); + strcpy( pStr, rStr.GetBuffer() ); // #100211# - checked // ist nicht so sauber, aber wir sparen ein Pointerarray DBG_ASSERT(sizeof(UINT32)>=sizeof(char*),"Gleich krachts im Basic"); pVar->SetUserData( (UINT32)pStr ); @@ -658,7 +663,7 @@ void* SbiDllMgr::CreateStack( SbxArray* pArgs, USHORT& rSize ) { char* pStr = new char[ pVar->GetString().Len() + 1 ]; ByteString aByteStr( pVar->GetString(), gsl_getSystemTextEncoding() ); - strcpy( pStr, aByteStr.GetBuffer() ); + strcpy( pStr, aByteStr.GetBuffer() ); // #100211# - checked // ist nicht so sauber, aber wir sparen ein Pointerarray DBG_ASSERT(sizeof(UINT32)>=sizeof(char*),"Gleich krachts im Basic"); pVar->SetUserData( (UINT32)pStr ); diff --git a/basic/source/runtime/methods.cxx b/basic/source/runtime/methods.cxx index 84d705dd1223..7c0b6125d05b 100644 --- a/basic/source/runtime/methods.cxx +++ b/basic/source/runtime/methods.cxx @@ -2,9 +2,9 @@ * * $RCSfile: methods.cxx,v $ * - * $Revision: 1.47 $ + * $Revision: 1.48 $ * - * last change: $Author: ab $ $Date: 2002-11-27 12:26:45 $ + * last change: $Author: hr $ $Date: 2003-03-18 16:28:37 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -93,9 +93,7 @@ #ifndef _ZFORLIST_HXX //autogen #include <svtools/zforlist.hxx> #endif -#ifndef _TOOLS_SOLMATH_HXX //autogen wg. SolarMath -#include <tools/solmath.hxx> -#endif +#include <rtl/math.hxx> #include <tools/urlobj.hxx> #include <osl/time.h> #include <unotools/charclass.hxx> @@ -144,6 +142,11 @@ #include <com/sun/star/io/XStream.hpp> #include <com/sun/star/io/XSeekable.hpp> +#ifndef PRODUCT +#include <com/sun/star/io/XTextOutputStream.hpp> +#include <com/sun/star/io/XActiveDataSource.hpp> +#endif + using namespace comphelper; using namespace rtl; using namespace osl; @@ -212,6 +215,7 @@ using namespace com::sun::star::io; #pragma option -w-par #endif + static void FilterWhiteSpace( String& rStr ) { rStr.EraseAllChars( ' ' ); @@ -987,9 +991,9 @@ RTLFUNC(Hex) char aBuffer[16]; SbxVariableRef pArg = rPar.Get( 1 ); if ( pArg->IsInteger() ) - sprintf( aBuffer,"%X", pArg->GetInteger() ); + snprintf( aBuffer, sizeof(aBuffer), "%X", pArg->GetInteger() ); else - sprintf( aBuffer,"%lX", pArg->GetLong() ); + snprintf( aBuffer, sizeof(aBuffer), "%lX", pArg->GetLong() ); rPar.Get(0)->PutString( String::CreateFromAscii( aBuffer ) ); } } @@ -1218,9 +1222,9 @@ RTLFUNC(Oct) char aBuffer[16]; SbxVariableRef pArg = rPar.Get( 1 ); if ( pArg->IsInteger() ) - sprintf( aBuffer,"%o", pArg->GetInteger() ); + snprintf( aBuffer, sizeof(aBuffer), "%o", pArg->GetInteger() ); else - sprintf( aBuffer,"%lo", pArg->GetLong() ); + snprintf( aBuffer, sizeof(aBuffer), "%lo", pArg->GetLong() ); rPar.Get(0)->PutString( String::CreateFromAscii( aBuffer ) ); } } @@ -1453,8 +1457,7 @@ RTLFUNC(Val) else { // #57844 Lokalisierte Funktion benutzen - int nErrno; - nResult = SolarMath::StringToDouble( aStr.GetBuffer(), ',', '.', nErrno ); + nResult = ::rtl::math::stringToDouble( aStr, '.', ',', NULL, NULL ); // ATL: nResult = strtod( aStr.GetStr(), &pEndPtr ); } @@ -1529,7 +1532,7 @@ RTLFUNC(CDateToIso) double aDate = rPar.Get(1)->GetDate(); char Buffer[9]; - sprintf( Buffer, "%04ld%02ld%02ld", + snprintf( Buffer, sizeof( Buffer ), "%04ld%02ld%02ld", implGetDateYear( aDate ), implGetDateMonth( aDate ), implGetDateDay( aDate ) ); @@ -1827,7 +1830,7 @@ RTLFUNC(Time) { // Time$: hh:mm:ss char buf[ 20 ]; - sprintf( buf, "%02d:%02d:%02d", + snprintf( buf, sizeof(buf), "%02d:%02d:%02d", aTime.GetHour(), aTime.GetMin(), aTime.GetSec() ); aRes = String::CreateFromAscii( buf ); } @@ -3891,3 +3894,37 @@ RTLFUNC(FileExists) StarBASIC::Error( SbERR_BAD_ARGUMENT ); } +#ifndef PRODUCT +// For debugging only +void dbg_SaveDisassembly( SbModule* pModule ) +{ + Reference< XSimpleFileAccess > xSFI; + Reference< XTextOutputStream > xTextOut; + Reference< XOutputStream > xOut; + Reference< XMultiServiceFactory > xSMgr = getProcessServiceFactory(); + if( xSMgr.is() ) + { + Reference< XSimpleFileAccess > xSFI = Reference< XSimpleFileAccess >( xSMgr->createInstance + ( OUString::createFromAscii( "com.sun.star.ucb.SimpleFileAccess" ) ), UNO_QUERY ); + if( xSFI.is() ) + { + String aFile( RTL_CONSTASCII_USTRINGPARAM("file:///d:/BasicAsm.txt") ); + if( xSFI->exists( aFile ) ) + xSFI->kill( aFile ); + xOut = xSFI->openFileWrite( aFile ); + Reference< XInterface > x = xSMgr->createInstance( OUString::createFromAscii( "com.sun.star.io.TextOutputStream" ) ); + Reference< XActiveDataSource > xADS( x, UNO_QUERY ); + xADS->setOutputStream( xOut ); + xTextOut = Reference< XTextOutputStream >( x, UNO_QUERY ); + } + } + + if( xTextOut.is() ) + { + String aDisassemblyStr; + pModule->Disassemble( aDisassemblyStr ); + xTextOut->writeString( aDisassemblyStr ); + } + xOut->closeOutput(); +} +#endif diff --git a/basic/source/runtime/runtime.cxx b/basic/source/runtime/runtime.cxx index 3a721a51d6d7..004ccc305f78 100644 --- a/basic/source/runtime/runtime.cxx +++ b/basic/source/runtime/runtime.cxx @@ -2,9 +2,9 @@ * * $RCSfile: runtime.cxx,v $ * - * $Revision: 1.13 $ + * $Revision: 1.14 $ * - * last change: $Author: ab $ $Date: 2002-11-28 16:38:10 $ + * last change: $Author: hr $ $Date: 2003-03-18 16:28:37 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -223,6 +223,7 @@ SbiRuntime::pStep2 SbiRuntime::aStep2[] = {// Alle Opcodes mit zwei Operanden MEMBER(SbiRuntime::StepGLOBAL_P), // Globale Variable definieren, die beim Neustart // von Basic nicht ueberschrieben wird (+StringID+Typ) MEMBER(SbiRuntime::StepFIND_G), // Sucht globale Variable mit Spezialbehandlung wegen _GLOBAL_P + MEMBER(SbiRuntime::StepDCREATE_REDIMP), // Objekt-Array redimensionieren (+StringID+StringID) }; diff --git a/basic/source/runtime/step0.cxx b/basic/source/runtime/step0.cxx index 7410ef7fadd2..d2df1bc449b9 100644 --- a/basic/source/runtime/step0.cxx +++ b/basic/source/runtime/step0.cxx @@ -2,9 +2,9 @@ * * $RCSfile: step0.cxx,v $ * - * $Revision: 1.11 $ + * $Revision: 1.12 $ * - * last change: $Author: ab $ $Date: 2002-11-18 08:38:20 $ + * last change: $Author: hr $ $Date: 2003-03-18 16:28:38 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -472,6 +472,7 @@ void SbiRuntime::StepREDIMP() sal_Int32* pLowerBounds = new sal_Int32[nDims]; sal_Int32* pUpperBounds = new sal_Int32[nDims]; sal_Int32* pActualIndices = new sal_Int32[nDims]; + if( nDimsOld != nDimsNew ) { bRangeError = TRUE; @@ -521,9 +522,10 @@ void SbiRuntime::StepREDIMP() implCopyDimArray( pNewArray, pOldArray, nDims - 1, 0, pActualIndices, pLowerBounds, pUpperBounds ); } - delete pUpperBounds; - delete pLowerBounds; - delete pActualIndices; + + delete[] pUpperBounds; + delete[] pLowerBounds; + delete[] pActualIndices; refRedimpArray = NULL; } } @@ -613,7 +615,7 @@ void SbiRuntime::StepARGV() // Before fix of #94916: // if( pVal->ISA(SbxMethod) || pVal->ISA(SbxProperty) ) - if( pVal->ISA(SbxMethod) ) + if( pVal->ISA(SbxMethod) || pVal->ISA(SbUnoProperty) ) { // Methoden und Properties evaluieren! SbxVariable* pRes = new SbxVariable( *pVal ); diff --git a/basic/source/runtime/step1.cxx b/basic/source/runtime/step1.cxx index b5c43c90cae4..0301b1fa0c79 100644 --- a/basic/source/runtime/step1.cxx +++ b/basic/source/runtime/step1.cxx @@ -2,9 +2,9 @@ * * $RCSfile: step1.cxx,v $ * - * $Revision: 1.5 $ + * $Revision: 1.6 $ * - * last change: $Author: ab $ $Date: 2002-08-09 10:29:47 $ + * last change: $Author: hr $ $Date: 2003-03-18 16:28:38 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -61,9 +61,7 @@ #include <stdlib.h> #include <svtools/sbx.hxx> -#ifndef _TOOLS_SOLMATH_HXX //autogen wg. SolarMath -#include <tools/solmath.hxx> -#endif +#include <rtl/math.hxx> #include "runtime.hxx" #pragma hdrstop #include "sbintern.hxx" @@ -80,7 +78,6 @@ void SbiRuntime::StepLOADNC( USHORT nOp1 ) SbxVariable* p = new SbxVariable( SbxDOUBLE ); // #57844 Lokalisierte Funktion benutzen - int nErrno; String aStr = pImg->GetString( nOp1 ); // Auch , zulassen !!! USHORT iComma = aStr.Search( ',' ); @@ -92,7 +89,7 @@ void SbiRuntime::StepLOADNC( USHORT nOp1 ) aStr += '.'; aStr += aStr2; } - double n = SolarMath::StringToDouble( aStr.GetBuffer(), ',', '.', nErrno ); + double n = ::rtl::math::stringToDouble( aStr, '.', ',', NULL, NULL ); p->PutDouble( n ); PushVar( p ); diff --git a/basic/source/runtime/step2.cxx b/basic/source/runtime/step2.cxx index f1c76e06cb8b..579913747b34 100644 --- a/basic/source/runtime/step2.cxx +++ b/basic/source/runtime/step2.cxx @@ -2,9 +2,9 @@ * * $RCSfile: step2.cxx,v $ * - * $Revision: 1.8 $ + * $Revision: 1.9 $ * - * last change: $Author: ab $ $Date: 2002-11-28 16:38:11 $ + * last change: $Author: hr $ $Date: 2003-03-18 16:28:38 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -756,10 +756,42 @@ void SbiRuntime::StepCREATE( USHORT nOp1, USHORT nOp2 ) } } -// #56204 Objekt-Array kreieren (+StringID+StringID), DCREATE == Dim-Create void SbiRuntime::StepDCREATE( USHORT nOp1, USHORT nOp2 ) { + StepDCREATE_IMPL( nOp1, nOp2, FALSE ); +} + +void SbiRuntime::StepDCREATE_REDIMP( USHORT nOp1, USHORT nOp2 ) +{ + StepDCREATE_IMPL( nOp1, nOp2, TRUE ); +} + + +// Helper function for StepDCREATE_IMPL / bRedimp = true +void implCopyDimArray_DCREATE( SbxDimArray* pNewArray, SbxDimArray* pOldArray, short nMaxDimIndex, + short nActualDim, sal_Int32* pActualIndices, sal_Int32* pLowerBounds, sal_Int32* pUpperBounds ) +{ + sal_Int32& ri = pActualIndices[nActualDim]; + for( ri = pLowerBounds[nActualDim] ; ri <= pUpperBounds[nActualDim] ; ri++ ) + { + if( nActualDim < nMaxDimIndex ) + { + implCopyDimArray_DCREATE( pNewArray, pOldArray, nMaxDimIndex, nActualDim + 1, + pActualIndices, pLowerBounds, pUpperBounds ); + } + else + { + SbxVariable* pSource = pOldArray->Get32( pActualIndices ); + pNewArray->Put32( pSource, pActualIndices ); + } + } +} + +// #56204 Objekt-Array kreieren (+StringID+StringID), DCREATE == Dim-Create +void SbiRuntime::StepDCREATE_IMPL( USHORT nOp1, USHORT nOp2, BOOL bRedimp ) +{ SbxVariableRef refVar = PopVar(); + DimImpl( refVar ); // Das Array mit Instanzen der geforderten Klasse fuellen @@ -770,10 +802,11 @@ void SbiRuntime::StepDCREATE( USHORT nOp1, USHORT nOp2 ) return; } + SbxDimArray* pArray; if( xObj->ISA(SbxDimArray) ) { SbxBase* pObj = (SbxBase*)xObj; - SbxDimArray* pArray = (SbxDimArray*)pObj; + pArray = (SbxDimArray*)pObj; // Dimensionen auswerten short nDims = pArray->GetDims(); @@ -812,6 +845,58 @@ void SbiRuntime::StepDCREATE( USHORT nOp1, USHORT nOp2 ) } } } + + SbxDimArray* pOldArray = (SbxDimArray*)(SbxArray*)refRedimpArray; + if( pArray && pOldArray ) + { + short nDimsNew = pArray->GetDims(); + short nDimsOld = pOldArray->GetDims(); + short nDims = nDimsNew; + BOOL bRangeError = FALSE; + + // Store dims to use them for copying later + sal_Int32* pLowerBounds = new sal_Int32[nDims]; + sal_Int32* pUpperBounds = new sal_Int32[nDims]; + sal_Int32* pActualIndices = new sal_Int32[nDims]; + if( nDimsOld != nDimsNew ) + { + bRangeError = TRUE; + } + else + { + // Compare bounds + for( short i = 1 ; i <= nDims ; i++ ) + { + sal_Int32 lBoundNew, uBoundNew; + sal_Int32 lBoundOld, uBoundOld; + pArray->GetDim32( i, lBoundNew, uBoundNew ); + pOldArray->GetDim32( i, lBoundOld, uBoundOld ); + + lBoundNew = std::max( lBoundNew, lBoundOld ); + uBoundNew = std::min( uBoundNew, uBoundOld ); + short j = i - 1; + pActualIndices[j] = pLowerBounds[j] = lBoundNew; + pUpperBounds[j] = uBoundNew; + } + } + + if( bRangeError ) + { + StarBASIC::Error( SbERR_OUT_OF_RANGE ); + } + else + { + // Copy data from old array by going recursively through all dimensions + // (It would be faster to work on the flat internal data array of an + // SbyArray but this solution is clearer and easier) + implCopyDimArray_DCREATE( pArray, pOldArray, nDims - 1, + 0, pActualIndices, pLowerBounds, pUpperBounds ); + } + delete pUpperBounds; + delete pLowerBounds; + delete pActualIndices; + refRedimpArray = NULL; + } } // Objekt aus User-Type kreieren (+StringID+StringID) diff --git a/basic/util/makefile.mk b/basic/util/makefile.mk index ca3ba25872a6..2c3e5134756f 100644 --- a/basic/util/makefile.mk +++ b/basic/util/makefile.mk @@ -2,9 +2,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.11 $ +# $Revision: 1.12 $ # -# last change: $Author: hr $ $Date: 2002-04-30 14:32:19 $ +# last change: $Author: hr $ $Date: 2003-03-18 16:28:40 $ # # The Contents of this file are made available subject to the terms of # either of the following licenses @@ -96,8 +96,7 @@ SHL1STDLIBS= \ $(COMPHELPERLIB) \ $(UNOTOOLSLIB) \ $(SOTLIB) \ - $(VOSLIB) \ - $(XMLSCRIPTLIB) + $(VOSLIB) .IF "$(SOLAR_JAVA)" != "TRUE" SHL1STDLIBS+=$(SJLIB) @@ -123,50 +122,6 @@ DEFLIB1NAME =sb DEF1DES =StarBasic -# Light basic -LIB2TARGET=$(SLB)$/sbl.lib -LIB2FILES= \ - $(SLB)$/basicmgr.lib \ - $(SLB)$/classesl.lib \ - $(SLB)$/comp.lib \ - $(SLB)$/runtime.lib - -SHL2TARGET= sbl$(UPD)$(DLLPOSTFIX) -SHL2IMPLIB= basicl - -SHL2STDLIBS= \ - $(CPPULIB) \ - $(CPPUHELPERLIB) \ - $(TOOLSLIB) \ - $(SVTOOLLIB) \ - $(SVLLIB) \ - $(SVLIB) \ - $(VOSLIB) \ - $(SALLIB) \ - $(SVMEMLIB) \ - $(SOTLIB) \ - $(VOSLIB) \ - $(COMPHELPERLIB) \ - $(UNOTOOLSLIB) - -.IF "$(SOLAR_JAVA)" != "TRUE" -SHL2STDLIBS+=$(SJLIB) -.ENDIF -.IF "$(GUI)" != "UNX" -SHL2OBJS= \ - $(SLO)$/sb.obj -.ENDIF - -SHL2DEF= $(MISC)$/$(SHL2TARGET).def -SHL2LIBS= $(SLB)$/sbl.lib - -DEF2NAME =$(SHL2TARGET) -DEF2DEPN = \ - $(MISC)$/$(SHL2TARGET).flt $(SLB)$/sbl.lib - -DEFLIB2NAME =sbl -DEF2DES =StarBasic Light - RES1TARGET=$(PRJNAME) SRS1FILES= \ $(SRS)$/classes.srs @@ -205,19 +160,6 @@ $(MISC)$/$(SHL1TARGET).flt: makefile.mk @echo bad_alloc >> $@ @echo __CT >> $@ -$(MISC)$/$(SHL2TARGET).flt: makefile.mk - @echo ------------------------------ - @echo Making: $@ - @echo WEP > $@ - @echo LIBMAIN >> $@ - @echo LibMain >> $@ - @echo Sbi >> $@ - @echo SvRTL >> $@ - @echo SbRtl_ >> $@ - @echo exception >> $@ - @echo bad_alloc >> $@ - @echo __CT >> $@ - $(SRS)$/basic.srs: +$(TYPE) $(SRS)$/classes.srs + $(SRS)$/runtime.srs > $@ |