2002-04-15 06:19:21 -05:00
|
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
|
<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
|
|
|
|
|
<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 proce 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"
|
2002-08-15 08:42:02 -05:00
|
|
|
|
Public sColumnHeader as String
|
2002-04-15 06:19:21 -05:00
|
|
|
|
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
|
2002-11-21 06:26:55 -06:00
|
|
|
|
Public iValueCol as Integer
|
2002-04-15 06:19:21 -05:00
|
|
|
|
|
|
|
|
|
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$
|
|
|
|
|
|
2002-11-21 06:26:55 -06:00
|
|
|
|
Public sMarket(7,10) as String
|
|
|
|
|
Public sCountryMarket(7,10) as String
|
2002-04-15 06:19:21 -05:00
|
|
|
|
|
|
|
|
|
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"
|
2002-11-21 06:26:55 -06:00
|
|
|
|
sCountryMarket(0,10) = "1"
|
2002-04-15 06:19:21 -05:00
|
|
|
|
|
|
|
|
|
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"
|
2002-11-21 06:26:55 -06:00
|
|
|
|
sCountryMarket(1,10) = "1"
|
2002-04-15 06:19:21 -05:00
|
|
|
|
|
|
|
|
|
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"
|
2002-11-21 06:26:55 -06:00
|
|
|
|
sCountryMarket(2,10) = "1"
|
2002-04-15 06:19:21 -05:00
|
|
|
|
|
|
|
|
|
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"
|
2002-11-21 06:26:55 -06:00
|
|
|
|
sCountryMarket(3,10) = "1"
|
2002-04-15 06:19:21 -05:00
|
|
|
|
|
|
|
|
|
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"
|
2002-11-21 06:26:55 -06:00
|
|
|
|
sCountryMarket(4,10) = "1"
|
2002-04-15 06:19:21 -05:00
|
|
|
|
|
|
|
|
|
' 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"
|
2002-11-21 06:26:55 -06:00
|
|
|
|
sCountryMarket(5,10) = "1"
|
2002-04-15 06:19:21 -05:00
|
|
|
|
|
|
|
|
|
' 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"
|
2002-11-21 06:26:55 -06:00
|
|
|
|
sCountryMarket(6,10) = "1"
|
|
|
|
|
|
2002-04-15 06:19:21 -05:00
|
|
|
|
' korean Won
|
2002-11-21 06:26:55 -06:00
|
|
|
|
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"
|
2002-04-15 06:19:21 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
' 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
|
2002-11-21 06:26:55 -06:00
|
|
|
|
For m = 0 To 10
|
2002-04-15 06:19:21 -05:00
|
|
|
|
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>
|