home *** CD-ROM | disk | FTP | other *** search
/ PC World 2004 January / PCWorld_2004-01_cd.bin / akce / openoffice / f_0315 / Init.xba < prev    next >
Extensible Markup Language  |  2003-03-27  |  16KB  |  533 lines

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
  3. <script:module xmlns:script="http://openoffice.org/2000/script" script:name="Init" script:language="StarBasic">Option Explicit
  4. REM  *****  BASIC  *****
  5.  
  6.  
  7.  
  8. Public Const SBRANGEUBOUND = 20
  9. Public StyleRangeAssignmentList(SBRANGEUBOUND)as String
  10. Public SelRangeList(SBRANGEUBOUND) as String
  11. Public RangeList(SBRANGEUBOUND) as String
  12. Public UnprotectList() as String
  13. Public FilterNames(2,1) as String
  14. Public bDoUnProtect as Boolean
  15. Public bCancelTask as Boolean
  16.  
  17. Public sREADY as String
  18. Public sPROTECT as String
  19. Public sCONTINUE as String
  20.  
  21. Public sSELTEMPL as String
  22. Public sSELCELL as String
  23. Public sCURRRANGES as String
  24. Public sTEMPLATES as String
  25.  
  26. Public sSOURCEFILE as String
  27. Public sSOURCEDIR as String
  28. Public sTARGETDIR as String
  29.  
  30. Public sStsPROGRESS as String
  31. Public sStsCELLPROGRSS as String
  32. Public sStsRELRANGES as String
  33. Public sStsRELSHEETRANGES as String
  34. Public sStsREPROTECT as String
  35.  
  36. Public sMsgSELDIR as String
  37. Public sMsgSELFILE as String
  38. Public sMsgTARGETDIR as String
  39. Public sMsgNOTTHERE as String
  40. Public sMsgDLGTITLE as String
  41. Public sMsgUNPROTECT as String
  42. Public sMsgPWPROTECT as String
  43. Public sMsgWRONGPW as String
  44. Public sMsgSHEETPROTECTED as String
  45. Public sMsgWARNING as String
  46. Public sMsgSHEETSNOPROTECT as String
  47. Public sMsgSHEETNOPROTECT as String
  48. Public sMsgCHOOSECURRENCY as String
  49. Public sMsgPASSWORD as String
  50. Public sMsgOK as String
  51. Public sMsgCANCEL as String
  52. Public sMsgFileInvalid as String
  53. Public sMsgNODIRECTORY as String
  54. Public sMsgDOCISREADONLY as String
  55. Public sMsgFileExists as String
  56. Public sMsgCancelConversion as String
  57. Public sMsgCancelTitle as String
  58. Public sCurrPORTUGUESE as String
  59. Public sCurrDUTCH as String
  60. Public sCurrFRENCH as String
  61. Public sCurrSPANISH as String
  62. Public sCurrITALIAN as String
  63. Public sCurrGERMAN as String
  64. Public sCurrBELGIAN as String
  65. Public sCurrIRISH as String
  66. Public sCurrLUXEMBOURG as String
  67. Public sCurrAUSTRIAN as String
  68. Public sCurrFINNISH as String
  69. Public sCurrGREEK as String
  70. Public sCurrUNKNOWN as String
  71. Public sCurrSYSUNKNOWN as String
  72.  
  73. Public sPrgsRETRIEVAL as String
  74. Public sPrgsCONVERTING as String
  75. Public sPrgsUNPROTECT as String
  76. Public sInclusiveSubDir as String
  77.  
  78. Public Const SBCOUNTRYCOUNT = 12
  79. Public CurMimeType as String
  80. Public CurCellCount as Long
  81. Public oSheets as Object
  82. Public oStyles as Object
  83. Public oStyle as Object
  84. Public oFormats as Object
  85. Public aSimpleStr as String
  86. Public nSimpleKey as Long
  87. Public aFormat() as Variant
  88. Public oRanges as Object
  89. Public oRange as Object
  90. Public nLanguage as integer
  91. Public nFormatLanguage as integer
  92. Public aCellFormat as Variant
  93. Public oDocument as Object
  94. Public StartCol, StartRow, EndCol, EndRow as String
  95. Public oSheet as Object
  96. Public IntStartCol,    IntStartRow, IntEndCol,    IntEndRow as integer
  97. Public oSelRanges as Object
  98. Public nFormatType as Integer
  99. Public sFormatCurrency as String
  100. Public sFormatLanguage as String
  101. Public CurSheetName as String
  102. Public oStatusLine as Object
  103. Public Const SBRELGET = 50
  104. Public StatusValue as Single
  105. Public TotCellCount as Long
  106. Public StyleIndex as Integer
  107. Public RangeIndex as Integer
  108. Public CurrIndex as Integer
  109. Public ActLangNumber(1) as Integer
  110. Public CurExtension(2) as String
  111. Public Currfactor as Double
  112. Public CurrSymbolList(2) as String
  113. Public CurrLanguage as String
  114. Public CurrValue(11,5)
  115. Public LangIDValue(11,2,2) as String
  116. Public PreName as String
  117. Public Separator as String
  118. Public BitmapDir as String
  119. Public TypeIndex as Integer, CSIndex as Integer, LangIndex as Integer, FSIndex as Integer
  120. Public oLocale as New com.sun.star.lang.Locale
  121. Public sEuroSign as String
  122. Public oPointer as Object
  123. Public sDocType as String
  124. Public bPreSelected as Boolean
  125. Public bRecursive as Boolean
  126. Public bCancelProtection as Boolean
  127. Public CurrRoundMode as Boolean
  128. Public bRangeListDefined as Boolean
  129. Public bDocHasProtectedSheets as Boolean
  130. Public sGOON as String
  131. Public sHELP as String
  132. Public sCANCEL as String
  133. Dim sEnd as String
  134.  
  135. Sub InitializeResources()
  136. Dim LocWorkPath as String
  137.     With DialogModel
  138.         ' Strings that are also needed by the Password Dialog
  139.         sGoOn = GetResText(1003)
  140.         sHelp = GetResText(1001)
  141.         sCANCEL = GetResText(1418)
  142.         sEnd = GetResText(1000)
  143.         sPROTECT = GetResText(1005)
  144.         sCONTINUE = GetResText(1007)
  145.         sSELTEMPL = GetResText(1106)
  146.         sSELCELL = GetResText(1107)
  147.         sCURRRANGES = GetResText(1108)
  148.         sTEMPLATES = GetResText(1109)
  149.         sStsPROGRESS = GetResText(1300)
  150.         sStsCELLPROGRSS = GetResText(1301)
  151.         sStsRELSHEETRANGES = GetResText(1302)
  152.         sStsRELRANGES = GetResText(1303)
  153.         sStsREPROTECT = GetResText(1304)
  154.         sREADY = GetResText(1400)
  155.         sMsgSELDIR = GetResText(1401)
  156.         sMsgSELFILE = GetResText(1402)
  157.         sMsgTARGETDIR = GetResText(1403)
  158.         sMsgNOTTHERE = GetResText(1404)
  159.         sMsgDLGTITLE = GetResText(1405)
  160.         sMsgUNPROTECT = GetResText(1406)
  161.         sMsgPWPROTECT = GetResText(1407)
  162.         sMsgWRONGPW = GetResText(1408)
  163.         sMsgSHEETPROTECTED = GetResText(1409)
  164.         sMsgWARNING = GetResText(1410)
  165.         sMsgSHEETSNOPROTECT = GetResText(1411)
  166.         sMsgSHEETNOPROTECT = GetResText(1412)
  167.         sMsgCHOOSECURRENCY = GetResText(1415)
  168.         sMsgPASSWORD = GetResText(1416)
  169.         sMsgOK = GetResText(1417)
  170.         sMsgCANCEL = GetResText(1418)
  171.         sMsgFILEINVALID = GetResText(1419)
  172.         sMsgFILEINVALID = ReplaceString(sMsgFILEINVALID,"%PRODUCTNAME", GetProductname())
  173.         SMsgNODIRECTORY = GetResText(1420)
  174.         sMsgDOCISREADONLY = GetResText(1421)
  175.         sMsgFileExists = GetResText(1422)
  176.         sMsgCancelConversion = GetResText(1423)
  177.         sMsgCancelTitle = GetResText(1424)
  178.         sCurrPORTUGUESE = GetResText(1500)
  179.         sCurrDUTCH = GetResText(1501)
  180.         sCurrFRENCH = GetResText(1502)
  181.         sCurrSPANISH = GetResText(1503)
  182.         sCurrITALIAN = GetResText(1504)
  183.         sCurrGERMAN = GetResText(1505)
  184.         sCurrBELGIAN = GetResText(1506)
  185.         sCurrIRISH = GetResText(1507)
  186.         sCurrLUXEMBOURG = GetResText(1508)
  187.         sCurrAUSTRIAN = GetResText(1509)
  188.         sCurrFINNISH = GetResText(1510)
  189.         sCurrGREEK = GetResText(1511)
  190.         sCurrUNKNOWN = GetResText(1511)
  191.         sCurrSYSUNKNOWN = GetResText(1512)        
  192.         .cmdCancel.Label =  sCANCEL
  193.         .cmdHelp.Label =  sHELP
  194.         .cmdBack.Label =  GetResText(1002)
  195.         .cmdGoOn.Label =  sGOON
  196.         .lblHint.Label =  GetResText(1004)
  197.         .lblCurrencies.Label = GetResText(1006)
  198.         .cmdBack.Enabled = False        
  199.         If .Step = 1 Then
  200.             .chkComplete.Label = GetResText(1100)
  201.             .hlnSelection.Label = GetResText(1101)
  202.             .optCellTemplates.Label = GetResText(1102)
  203.             .optSheetRanges.Label = GetResText(1103)
  204.             .optDocRanges.Label = GetResText(1104)
  205.             .optSelRange.Label = GetResText(1105)
  206.             sCURRRANGES = GetResText(1108)
  207.             .lblSelection.Label = sCURRRANGES
  208.         Else
  209.             .lblProgress.Label = sStsPROGRESS
  210.              .hlnExtent.Label = GetResText(1200)
  211.             .optSingleFile.Label = GetResText(1201) 
  212.              .optWholeDir.Label = GetResText(1202)
  213.              .chkProtect.Label = GetResText(1207)
  214.              .chkTextDocuments.Label = GetResText(1210) 
  215.  
  216.             sSOURCEFILE = GetResText(1203)
  217.             sSOURCEDIR = GetResText(1204)
  218.              .lblSource.Label = sSOURCEDIR
  219.              sInclusiveSubDir = GetResText(1205)
  220.              .chkRecursive.Label = sInclusiveSubDir
  221.             sTARGETDIR = GetResText(1206)
  222.              .lblTarget.Label = STARGETDIR 
  223.             
  224.             LocWorkPath = GetPathSettings("Work")
  225.             If Not oUcb.Exists(LocWorkPath) Then
  226.                 ShowNoOfficePathError()
  227.                 Stop
  228.             End If
  229.  
  230.             .txtSource.Text = ConvertfromUrl(LocWorkPath)
  231.             
  232.             SubstDir = .txtSource.Text
  233.             .txtTarget.Text = .txtSource.Text
  234.             .hlnProgress.Label = GetResText(1600)
  235.             .lblConfig.Label = GetResText(1603)
  236.             sPrgsRETRIEVAL = GetResText(1601)
  237.             sPrgsCONVERTING = GetResText(1602)
  238.             sPrgsUNPROTECT = GetResText(1604)
  239.         End If
  240.     End With
  241. End Sub
  242.  
  243. Sub InitializeLanguages()
  244.     sEuroSign = chr(8364)
  245.  
  246. ' CURRENCIES_PORTUGUESE
  247.     LangIDValue(0,0,0) = "pt"
  248.     LangIDValue(0,0,1) = ""
  249.     LangIDValue(0,0,2) = "-816"
  250.  
  251. ' CURRENCIES_DUTCH
  252.     LangIDValue(1,0,0) = "nl"
  253.     LangIDValue(1,0,1) = ""
  254.     LangIDValue(1,0,2) = "-413"
  255.  
  256. ' CURRENCIES_FRENCH
  257.     LangIDValue(2,0,0) = "fr"
  258.     LangIDValue(2,0,1) = ""
  259.     LangIDValue(2,0,2) = "-40C"
  260.  
  261. ' CURRENCIES_SPANISH
  262.     LangIDValue(3,0,0) = "es"
  263.     LangIDValue(3,0,1) = ""
  264.     LangIDValue(3,0,2) = "-40A"
  265.     
  266.     'Spanish modern
  267.     LangIDValue(3,1,0) = "es"
  268.     LangIDValue(3,1,1) = ""
  269.     LangIDValue(3,1,2) = "-C0A"
  270.  
  271.     'Spanish katalanic
  272.     LangIDValue(3,2,0) = "es"
  273.     LangIDValue(3,2,1) = ""
  274.     LangIDValue(3,2,2) = "-403"
  275.  
  276. ' CURRENCIES_ITALIAN
  277.     LangIDValue(4,0,0) = "it"
  278.     LangIDValue(4,0,1) = ""
  279.     LangIDValue(4,0,2) = "-410"
  280.  
  281. ' CURRENCIES_GERMAN
  282.     LangIDValue(5,0,0) = "de"
  283.     LangIDValue(5,0,1) = "DE"
  284.     LangIDValue(5,0,2) = "-407"
  285.  
  286. ' CURRENCIES_BELGIAN
  287.     LangIDValue(6,0,0) = "fr"
  288.     LangIDValue(6,0,1) = "BE"
  289.     LangIDValue(6,0,2) = "-80C"
  290.  
  291.     LangIDValue(6,1,0) = "nl"
  292.     LangIDValue(6,1,1) = "BE"
  293.     LangIDValue(6,1,2) = "-813"
  294.  
  295. ' CURRENCIES_IRISH
  296.     LangIDValue(7,0,0) = "en"
  297.     LangIDValue(7,0,1) = "IE"
  298.     LangIDValue(7,0,2) = "-1809"
  299.  
  300. ' CURRENCIES_LUXEMBOURG
  301.     LangIDValue(8,0,0) = "fr"
  302.     LangIDValue(8,0,1) = "LU"
  303.     LangIDValue(8,0,2) = "-140C"
  304.     
  305.     LangIDValue(8,1,0) = "de"
  306.     LangIDValue(8,1,1) = "LU"
  307.     LangIDValue(8,1,2) = "-1007"
  308.  
  309. ' CURRENCIES_AUSTRIAN
  310.     LangIDValue(9,0,0) = "de"
  311.     LangIDValue(9,0,1) = "AT"
  312.     LangIDValue(9,0,2) = "-C07"
  313.  
  314. ' CURRENCIES_FINNISH
  315.     LangIDValue(10,0,0) = "fi"
  316.     LangIDValue(10,0,1) = "FI"
  317.     LangIDValue(10,0,2) = "-40B"
  318.  
  319.     LangIDValue(10,1,0) = "sv"
  320.     LangIDValue(10,1,1) = "FI"
  321.     LangIDValue(10,1,2) = "-81D"
  322.  
  323. ' CURRENCIES_GREEK
  324.     LangIDValue(11,0,0) = "el"
  325.     LangIDValue(11,0,1) = "GR"
  326.     LangIDValue(11,0,2) = "-408"
  327. End Sub
  328.  
  329.  
  330.  
  331. Sub InitializeCurrencies()
  332. Dim i as Integer
  333.     GoOn = True
  334.  
  335.     CurrValue(0,0) = sCurrPORTUGUESE
  336.     ' real conversion rate
  337.     CurrValue(0,1) = 200.482
  338.     ' rounded conversion rate
  339.     CurrValue(0,2) = 200
  340.     CurrValue(0,3) = "Esc."
  341.     CurrValue(0,4) = "Esc."
  342.     CurrValue(0,5) = "PTE"
  343.  
  344.     CurrValue(1,0) = sCurrDUTCH
  345.     ' real conversion rate
  346.     CurrValue(1,1) = 2.20371
  347.     ' rounded conversion rate
  348.     CurrValue(1,2) = 2
  349.     CurrValue(1,3) = "F"
  350.     CurrValue(1,4) = "fl"
  351.     CurrValue(1,5) = "NLG"
  352.  
  353.     CurrValue(2,0) = sCurrFRENCH
  354.     ' real conversion rate
  355.     CurrValue(2,1) = 6.55957
  356.     ' rounded conversion rate
  357.     CurrValue(2,2) = 7
  358.     CurrValue(2,3) = "F"
  359.     CurrValue(2,4) = "F"
  360.     CurrValue(2,5) = "FRF"
  361.  
  362.     CurrValue(3,0) = sCurrSPANISH
  363.     ' real conversion rate
  364.     CurrValue(3,1) = 166.386
  365.     ' rounded conversion rate
  366.     CurrValue(3,2) = 170
  367.     CurrValue(3,3) = "Pts"
  368.     CurrValue(3,4) = "Pts"
  369.     CurrValue(3,5) = "ESP"
  370.  
  371.     CurrValue(4,0) = sCurrITALIAN
  372.     ' real conversion rate
  373.     CurrValue(4,1) = 1936.27
  374.     ' rounded conversion rate
  375.     CurrValue(4,2) = 2000
  376.     CurrValue(4,3) = "L."
  377.     CurrValue(4,4) = "L."
  378.     CurrValue(4,5) = "ITL"
  379.  
  380.     CurrValue(5,0) = sCurrGERMAN
  381.     ' real conversion rate
  382.     CurrValue(5,1) = 1.95583
  383.     ' rounded conversion rate
  384.     CurrValue(5,2) = 2
  385.     CurrValue(5,3) = "DM"
  386.     CurrValue(5,4) = "DM"
  387.     CurrValue(5,5) = "DEM"
  388.  
  389.     CurrValue(6,0) = sCurrBELGIAN
  390.     ' real conversion rate
  391.     CurrValue(6,1) = 40.3399
  392.     ' rounded conversion rate
  393.     CurrValue(6,2) = 40
  394.     CurrValue(6,3) = "FB"
  395.     CurrValue(6,4) = "BF"
  396.     CurrValue(6,5) = "BEF"
  397.  
  398.     CurrValue(7,0) = sCurrIRISH
  399.     ' real conversion rate
  400.     CurrValue(7,1) = 0.787564
  401.     ' rounded conversion rate
  402.     CurrValue(7,2) = 0.8
  403.     CurrValue(7,3) = "IR┬ú"
  404.     CurrValue(7,4) = "┬ú"
  405.     CurrValue(7,5) = "IEP"
  406.  
  407.     CurrValue(8,0) = sCurrLUXEMBOURG
  408.     ' real conversion rate
  409.     CurrValue(8,1) = 40.3399
  410.     ' rounded conversion rate
  411.     CurrValue(8,2) = 40
  412.     CurrValue(8,3) = "F"
  413.     CurrValue(8,4) = "F"
  414.     CurrValue(8,5) = "LUF"
  415.  
  416.     CurrValue(9,0) = sCurrAUSTRIAN
  417.     ' real conversion rate
  418.     CurrValue(9,1) = 13.7603
  419.     ' rounded conversion rate
  420.     CurrValue(9,2) = 15
  421.     CurrValue(9,3) = "├╢S"
  422.     CurrValue(9,4) = "S"
  423.     CurrValue(9,5) = "ATS"
  424.  
  425.     CurrValue(10,0) = sCurrFINNISH
  426.     ' real conversion rate
  427.     CurrValue(10,1) = 5.94573
  428.     ' rounded conversion rate
  429.     CurrValue(10,2) = 6
  430.     CurrValue(10,3) = "mk"
  431.     CurrValue(10,4) = "mk"
  432.     CurrValue(10,5) = "FIM"
  433.  
  434.     CurrValue(11,0) = sCurrGREEK
  435.     ' real conversion rate
  436.     CurrValue(11,1) = 340.750
  437.     ' rounded conversion rate
  438.     CurrValue(11,2) = 400
  439.     CurrValue(11,3) = chr(916) & chr(961) & chr(967)
  440.     CurrValue(11,4) = chr(916) & chr(961) & chr(967)
  441.     CurrValue(11,5) = "GRD"
  442.     i = -1
  443.     CurrSymbolList(0) = ""
  444.     CurrSymbolList(1) = ""
  445.     InitializeCurrencyValues(CurrIndex)
  446. End Sub
  447.  
  448.  
  449. Sub InitializeControls()
  450.     If CurrIndex = -1 Then
  451.         If DialogModel.Step = 1 Then
  452.             EnableStep1DialogControls(True, False, False)
  453.         ElseIf DialogModel.Step = 2 Then
  454.             EnableStep2DialogControls(True)
  455.         End If
  456.     End If
  457. End Sub    
  458.  
  459.  
  460. Sub InitializeConverter(oLocale, iDialogPage as Integer)
  461. Dim Isthere as Boolean
  462.     bCancelProtection = False
  463.     bRangeListDefined = False
  464.     PWIndex = -1
  465.     If iDialogPage = 1 Then
  466.         ToggleWindow(False)
  467.         sDocType = GetDocumentType(ThisComponent)
  468.         If sDocType = "sCalc" Then
  469.             bDocHasProtectedSheets = CheckSheetProtection(oSheets)
  470.         End If
  471.         oStatusline = ThisComponent.GetCurrentController.GetFrame.CreateStatusIndicator()
  472.     End If
  473.     DialogConvert = LoadDialog("Euro", "DlgConvert")
  474.     DialogModel = DialogConvert.Model
  475.     DialogPassword = LoadDialog("Euro", "DlgPassword")
  476.     PasswordModel = DialogPassword.Model
  477.     DialogModel.Step = iDialogPage
  478.     InitializeResources()
  479.     InitializeLanguages()
  480.     InitializeLocales(oLocale)
  481.     InitializeCurrencies()
  482.     InitializeControls()
  483.     BitmapDir = GetOfficeSubPath("Template", "wizard/bitmap")
  484.     If BitmapDir = "" Then
  485.         Stop
  486.     End If
  487.     FillUpCurrencyListbox()
  488.     DialogModel.imgPreview.ImageUrl = BitmapDir & "euro_" & DialogModel.Step & ".bmp"    
  489.     DialogConvert.Title = sMsgDLGTITLE
  490.     DialogModel.cmdGoOn.DefaultButton = True    
  491.     If iDialogPage = 1 Then
  492.         ToggleWindow(True)
  493.     End If
  494. End Sub
  495.  
  496.  
  497. Sub    InitializeCurrencyValues(CurrIndex)
  498.     If CurrIndex <> -1 Then
  499.         CurrLanguage = CurrValue(CurrIndex,0)
  500.         CurrFactor = CurrValue(CurrIndex,1)
  501.         CurrSymbolList(0) = CurrValue(CurrIndex,3)
  502.         CurrSymbolList(1) = CurrValue(CurrIndex,4)
  503.         CurrSymbolList(2) = CurrValue(CurrIndex,5)
  504.     End If
  505. End Sub        
  506.  
  507.  
  508. Function InitializeLocales(oLocale) as Boolean
  509. Dim i as Integer, n as Integer, m as Integer
  510. Dim sLanguage as String, sCountry as String
  511. Dim bTakeThisLocale as Boolean
  512.     sLanguage = oLocale.Language
  513.     sCountry = oLocale.Country
  514.     For n = 0 To SBCOUNTRYCOUNT - 1
  515.         For m = 0 TO 1
  516.             If DialogModel.Step = 2 Then
  517.                 bTakeThisLocale = LangIDValue(n,m,0) = sLanguage
  518.             Else
  519.                 bTakeThisLocale = LangIDValue(n,m,0) = sLanguage
  520.             End If
  521.             If bTakeThisLocale Then
  522.                 CurrIndex = n
  523.                 For i = 0 To 2
  524.                     CurExtension(i) = LangIDValue(CurrIndex,i,2)
  525.                 Next i
  526.                 InitializeLocales = True
  527.                 Exit Function
  528.             End If
  529.         Next m
  530.     Next n
  531.     CurrIndex = -1
  532.     InitializeLocales = False
  533. End Function</script:module>