123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
- <!--
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- -->
- <script:module xmlns:script="http://openoffice.org/2000/script" script:name="CommonLang" script:language="StarBasic">REM ***** BASIC *****
- ' Column A has the index 1
- Public Const SBCOLUMNNAME1 = 3 ' Stock names, sheet 1
- Public Const SBCOLUMNID1 = 4 ' Stock ID, sheet 1
- Public Const SBCOLUMNQUANTITY1 = 5 ' Stock quantity sheet 1
- Public Const SBCOLUMNRATE1 = 7 ' Price for stocks, sheet 1
- Public Const SBCOLUMNNAME2 = 3 ' Stock names, sheet 2
- Public Const SBCOLUMNDATE2 = 4 ' Transaction dates, sheet 2
- Public Const SBCOLUMNQUANTITY2 = 5 ' Transaction quantity, sheet 2
- Public Const SBCOLUMNRATE2 = 6 ' Price for stocks, sheet 2
- Public Const SBCOLUMNPROVPERCENT2 = 7 ' Provision in %, sheet 2
- Public Const SBCOLUMNPROVMIN2 = 8 ' Minimum provision, sheet 2
- Public Const SBCOLUMNPROVFIX2 = 9 ' Fixed provision, sheet 2
- Public Const SBCOLUMNPROCEEDS2 = 12 ' Profit, sheet 2
- Public Const SBCOLUMNQTYSOLD2 = 14 ' Quantity sold, sheet 2
- Public Const SBCOLUMNQTYREST2 = 15 ' Quantity not sold yet, sheet 2
- Public Const SBCOLUMNPRCREST2 = 16 ' Proportional price for quantity not sold yet, sheet 2
- Public Const SBCOLUMNREALPROC2 = 17 ' Realized proceeds, sheet 2
- Public Const SBCOLUMNDIVIDEND2 = 18 ' Dividend paid, sheet 2
- Public Const SBCOLUMNREALPROFIT2 = 19 ' Realized profit, sheet 2
- Public Const SBROWFIRSTTRANSACT2 = 8 ' First data row, sheet 2
- Public Const SBROWHEADER1 = 6 ' Headline, sheet 1
- Public Const SBMSGOK = 0
- Public Const SBMSGYESNO = 4
- Public Const SBMSGSTOP = 16
- Public Const SBMSGQUESTION = 32
- Public Const SBMSGDEFAULTBTN2 = 256
- Public Const SBHASID = 1 ' 0 = no ID, 1 = stocks have an ID
- Public Const SBDIALOGSELL = 1 ' Step for main dialog
- Public Const SBDIALOGBUY = 2 ' Step for main dialog
- Public Const SBBINARY = 0
- Public TransactMode as Integer
- Public Const LIFO = -1
- Public Const FIFO = 1
- Public Const HANDLEDIVIDEND = 1
- Public Const HANDLESPLIT = 2
- Global oDocument as Object
- Global oDocFormats() as Object
- Global oController as Object
- Global oFirstSheet as Object
- Global oBankSheet as Object
- Global oMovementSheet as Object
- Global sDocLanguage as String
- Global sDocCountry as String
- Global oSheets as Object
- Global oDocLocale as New com.sun.star.lang.Locale
- Global bEnableMarket as Boolean
- Global bEnableInternet as Boolean
- Global oMarketModel as Object
- Global oInternetModel as Object
- Global sCurCurrency$, sCurExtension$, sCurChartSource$, sCurStockIDLabel$, sCurSeparator$
- Public oNumberFormatter as Object
- Public bDebugmode as Boolean
- Global GlobListindex as Integer
- Public blabla() as String
- Public SplitDate as Date
- Public oChartSheet as Object
- Public oBackgroundSheet as Object
- Public Const SBDATECOLUMN = 3
- Public Const SBVALUECOLUMN = 4
- Public Const SBSTARTROW = 25
- Public Const SBCHARTPERIOD = 14
- Public Const SBINTERVAL = "d"
- Public sColumnHeader as String
- Public StartDate as Date
- Public EndDate as Date
- Public iCurRow as Integer
- Public iMaxRow as Integer
- Public iStartDay as Integer
- Public iStartMonth as Integer
- Public iStartYear as Integer
- Public iEndDay as Integer
- Public iEndMonth as Integer
- Public iEndYear as Integer
- Public oStatusLine as Object
- Public Today as Date
- Public sInterval as String
- Public ShortMonths(11,1)
- Public iStep as Integer
- Public sDepotCurrency as String
- Public iValueCol as Integer
- Public DlgReference as Object
- Public DlgTransaction as Object
- Public DlgStockRates as Object
- Public DlgStartUp as Object
- Public TransactModel as Object
- Public StockRatesModel as Object
- Public StartUpModel as Object
- Public StockRatesTitle(1 To 3)
- Public TransactTitle(1 To 2)
- Public NullList()
- Public sStartupWelcome$, sStartupChooseMarket$, sStartupHint$
- Public sMarket(7,10) as String
- Public sCountryMarket(7,10) as String
- Public cDlgCaption1$, cDlgCaption2$
- Public sMsgError$, sMsgNoName$, sMsgNoQuantity$, sMsgNoDividend$, sMsgNoExchangeRate$
- Public sMsgNoValidExchangeDate$, sMsgWrongExchangeDate$, sMsgSellTooMuch$, sMsgConfirm$
- Public sMsgFreeStock$, sMsgTotalLoss$, sMsgEndDatebeforeNow$, sMsgStartDatebeforeEndDate$
- Public sOk$, sCancel$
- Public sMsgAuthorization$, sMsgDeleteAll$
- Public SellMethod$
- Public cSplit$
- Global HistoryChartSource as String
- Public DateCellStyle as String
- Public CurrCellStyle as String
- Public sStartDate$, sEndDate$, sHistory$
- Public sInsertStockname$
- Public sProductname$, sTitle$
- Public sInsertStocks$, sStockname$, sNoInternetUpdate$, sMarketplace$, sNoInternetDataAvailable$
- Public sCheckInternetSettings as String
- Sub LoadLanguage()
- LoadDepotDialogs()
- Select Case sDocLanguage
- Case "de"
- LoadGermanLanguage()
- Case "en"
- LoadEnglishLanguage()
- Case "fr"
- LoadFrenchLanguage()
- Case "it"
- LoadItalianLanguage()
- Case "es"
- LoadSpanishLanguage()
- Case "sv"
- LoadSwedishLanguage()
- Case "ja"
- LoadJapaneseLanguage()
- Case "ko"
- LoadKoreanLanguage()
- Case "zh"
- If sDocCountry = "CN" Then
- LoadChineseSimpleLanguage()
- Else
- LoadChineseTradLanguage()
- End If
- End Select
- InitializeStartUpModel()
- End Sub
- Sub CompleteMarketList()
- Dim EuroIndex as Integer
- Dim LocCountry as String
- Dim LocLanguage as String
- Dim sLangList() as String
- Dim sCountryList() as String
- Dim sExtensionList() as String
- Dim MaxIndex as Integer
- Dim bIsLocale as Boolean
- GlobListIndex = -1
- For n = 0 To 5
- LocLanguage = sMarket(n,6)
- LocCountry = sMarket(n,7)
- If Instr(1,LocLanguage,";",SBBINARY) = 0 Then
- bIsLocale = CheckDocLocale(LocLanguage, LocCountry)
- Else
- EuroIndex = 0
- sLangList() = ArrayoutofString(LocLanguage, ";", MaxIndex)
- sCountryList() = ArrayoutofString(LocCountry, ";", MaxIndex)
- sExtensionList() = ArrayoutofString(sMarket(n,8), ";", MaxIndex)
- For m = 0 To MaxIndex
- bIsLocale = CheckDocLocale(sLangList(m), sCountryList(m))
- If bIsLocale Then
- EuroIndex = m
- Exit For
- End If
- Next m
- sMarket(n,6) = sLangList(EuroIndex)
- sMarket(n,7) = sCountryList(EuroIndex)
- sMarket(n,8) = sExtensionList(EuroIndex)
- End If
- If bIsLocale Then
- GlobListIndex = n
- Exit For
- End If
- Next n
- End Sub
- Sub LocalizedCurrencies()
- If GlobListIndex = -1 Then
- sCountryMarket(0,0) = "Euro"
- sCountryMarket(0,1) = chr(8364)
- sCountryMarket(0,2) = "Paris"
- sCountryMarket(0,3) = "http://fr.finance.yahoo.com/d/quotes.csv?s=<StockID>.PA&f=s4l1t1c1ghov&e=.csv"
- sCountryMarket(0,5) = "Code"
- sCountryMarket(0,6) = "fr"
- sCountryMarket(0,7) = "FR"
- sCountryMarket(0,8) = "40C"
- sCountryMarket(0,9) = "59/9"
- sCountryMarket(0,10) = "1"
- sCountryMarket(1,0) = "Euro"
- sCountryMarket(1,1) = chr(8364)
- sCountryMarket(1,2) = "Milano"
- sCountryMarket(1,3) = "http://it.finance.yahoo.com/d/quotes.csv?s=<StockID>.MI&f=sl1d1t1c1ohgv&e=.csv"
- sCountryMarket(1,5) = "Codice"
- sCountryMarket(1,6) = "it"
- sCountryMarket(1,7) = "IT"
- sCountryMarket(1,8) = "410"
- sCountryMarket(1,9) = "44"
- sCountryMarket(1,10) = "1"
- sCountryMarket(2,0) = "Euro"
- sCountryMarket(2,1) = chr(8364)
- sCountryMarket(2,2) = "Madrid"
- sCountryMarket(2,3) = "http://es.finance.yahoo.com/d/quotes.csv?s=<StockID>&m=MC&f=sl1d1t1c1ohgv&e=.csv"
- sCountryMarket(2,5) = "Simbolo"
- sCountryMarket(2,6) = "es"
- sCountryMarket(2,7) = "ES"
- sCountryMarket(2,8) = "40A"
- sCountryMarket(2,9) = "44"
- sCountryMarket(2,10) = "1"
- sCountryMarket(3,0) = "Dansk krone"
- sCountryMarket(3,1) = "kr"
- sCountryMarket(3,2) = "København"
- sCountryMarket(3,3) = "http://dk.finance.yahoo.com/d/quotes.csv?s=<StockID.CO&f=sl1d1t1c1ohgv&e=.csv"
- sCountryMarket(3,5) = "Aktiesymbol"
- sCountryMarket(3,6) = "da"
- sCountryMarket(3,7) = "DK"
- sCountryMarket(3,8) = "406"
- sCountryMarket(3,9) = "44"
- sCountryMarket(3,10) = "1"
- sCountryMarket(4,0) = "Svensk krona"
- sCountryMarket(4,1) = "kr"
- sCountryMarket(4,2) = "Stockholm"
- sCountryMarket(4,3) = "http://se.finance.yahoo.com/d/quotes.csv?s=<StockID>.L&f=sl1d1t1c1ohgv&e=.c"
- sCountryMarket(4,5) = "Kod"
- sCountryMarket(4,6) = "sv"
- sCountryMarket(4,7) = "SE"
- sCountryMarket(4,8) = "41D"
- sCountryMarket(4,9) = "44"
- sCountryMarket(4,10) = "1"
- ' Taiwan Dollar
- sCountryMarket(5,0) = "新臺幣"
- sCountryMarket(5,1) = "¥"
- sCountryMarket(5,2) = "代號"
- sCountryMarket(5,3) = "http://tw.finance.yahoo.com/d/quotes.csv?s=<StockID>.TW&f=sl1d1t1c1ohgv&e=.csv"
- sCountryMarket(5,5) = "代號"
- sCountryMarket(5,6) = "zh"
- sCountryMarket(5,7) = "TW"
- sCountryMarket(5,8) = "404"
- sCountryMarket(5,9) = "44"
- sCountryMarket(5,10) = "1"
- ' Chinese Yuan
- sCountryMarket(6,0) = "人民币"
- sCountryMarket(6,1) = "¥"
- sCountryMarket(6,2) = "代号"
- sCountryMarket(6,3) = "http://cn.finance.yahoo.com/d/quotes.csv?s=<StockID>.SS&f=sl1d1t1c1ohgv&e=.csv"
- sCountryMarket(6,5) = "代号"
- sCountryMarket(6,6) = "zh"
- sCountryMarket(6,7) = "CN"
- sCountryMarket(6,8) = "804"
- sCountryMarket(6,9) = "44"
- sCountryMarket(6,10) = "1"
-
- ' korean Won
- sCountryMarket(7,0) = "한국 원화"
- sCountryMarket(7,1) = "₩"
- sCountryMarket(7,2) = "서울"
- sCountryMarket(7,3) = "http://kr.finance.yahoo.com/d/quotes.csv?s=<StockID>.KS&f=snl1d1t1c1ohgv&e=.csv"
- sCountryMarket(7,5) = "종목 코드"
- sCountryMarket(7,6) = "ko"
- sCountryMarket(7,7) = "KR"
- sCountryMarket(7,8) = "412"
- sCountryMarket(7,9) = "44"
- sCountryMarket(7,10) = "2"
- ' sCountryMarket(5,0) = "Российский рубль"
- ' sCountryMarket(5,1) = "р."
- ' sCountryMarket(5,2) = ""
- ' sCountryMarket(5,3) = ""
- ' sCountryMarket(5,5) = ""
- ' sCountryMarket(5,6) = "ru"
- ' sCountryMarket(5,7) = "RU"
- ' sCountryMarket(5,8) = "-419"
- ' sCountryMarket(5,9) = ""
- '
- ' sCountryMarket(6,0) = "Złoty polski"
- ' sCountryMarket(6,1) = "zł"
- ' sCountryMarket(6,2) = ""
- ' sCountryMarket(6,3) = ""
- ' sCountryMarket(6,5) = "" 'Still Todo!!
- ' sCountryMarket(6,6) = "pl"
- ' sCountryMarket(6,7) = "PL"
- ' sCountryMarket(6,8) = "-415"
- ' sCountryMarket(6,9) = ""
- '
- ' sCountryMarket(7,0) = "Türkische Lira"
- ' sCountryMarket(7,1) = "TL"
- ' sCountryMarket(7,2) = ""
- ' sCountryMarket(7,3) = ""
- ' sCountryMarket(7,5) = "" 'Still Todo!!
- ' sCountryMarket(7,6) = "tr"
- ' sCountryMarket(7,7) = "TR"
- ' sCountryMarket(7,8) = "-41F"
- ' sCountryMarket(7,9) = ""
- Dim n as Integer
- Dim m as Integer
- ' Dim sCountryMarket(6,9) as String
-
- For n = 0 To Ubound(sCountryMarket(),1)
- If sDocLanguage = sCountryMarket(n,6) and sDocCountry = sCountryMarket(n,7) Then
- GlobListIndex = 6
- For m = 0 To 10
- sMarket(6,m) = sCountryMarket(n,m)
- Next m
- Exit For
- End If
- Next n
- End If
- End Sub
- Sub LoadDepotDialogs()
- DlgTransaction = LoadDialog("Depot", "Dialog2")
- DlgStockRates = LoadDialog("Depot", "Dialog3")
- DlgStartUp = LoadDialog("Depot", "Dialog4")
- TransactModel = DlgTransaction.Model
- StockRatesModel = DlgStockRates.Model
- StartUpModel = DlgStartUp.Model
- End Sub
- Sub InitializeStartUpModel()
- With StartUpModel
- .lblWelcome.Label = sStartupWelcome & Chr(13) & chr(13) & sStartUpChooseMarket
- sStartUpHint = ReplaceString(sStartUpHint, sHistory, "<History>")
- .lblHint.Label = sStartupHint
- ' .cmdGoOn.Enabled = Ubound(StartUpModel.lstMarkets.SelectedItems()) <> -1
- .cmdGoOn.Label = sOK
- .cmdCancel.Label = sCancel
- End With
- End Sub</script:module>
|