Edukiak

# ScriptForge.Region zerbitzua

Region zerbitzuak eskualde-ezarpenei lotutako programazio-kontuak maneiatzeko erabili daitezkeen propietateen bilduma bat eskaintzen du. Honakoak egiteko erabili daitezke:

- Eskualdearen araberako ezarpenak, adibidez zenbakien formatua, moneta eta denbora-zonak, atzitzea.

- Denbora-zonak bihurtzea eta udako ordutegiaren (DST) desplazamenduak kalkulatzea.

- Zenbakiak testu bihurtzea onartutako edozein hizkuntzatan.

## Definizioak

### Eskualdeko ezarpena edo eskualdea

Hizkuntza bat eta herrialde bat konbinatzen dituen kate bat, "hi-HE" formatukoa. Hizkuntzaren zatia 2 edo 3 minuskularekin adierazten da, ondoren marratxoa jartzen da eta azkenean herrialdea adierazten duten 2 maiuskula jartzen dira.

Adibidez, "en-US" katea Estatu Batuetako ingelesari dagokio; "fr-BE" katea Belgikako frantsesa da; eta abar.

Zenbait kasutan, ez da beharrezkoa eskualde-ezarpen osoa erabiltzea, eta aski da hizkuntza edo herrialdea zehaztearekin.

Propietate eta metodo askok eskualde-ezarpen bat onartzen dute argumentu gisa. Ez bada eskualde-ezarpenik zehazten, erabiltzaile-interfazearena erabiliko da. Hori Platform zerbitzuraren OfficeLocale propietatean dago definituta.

### Ordu-zona

"Eskualdea/Hiria" motako katea, adibidez "Europe/Berlin", edo ordu-eremu baten IDa, adibidez "UTC" edo "GMT-8:00". Begiratu List of tz database timezones wiki-orria ordu-eremuen balizko izenen eta IDen zerrenda bat kontsultatzeko.

Region zerbitzuaren edozein metodori baliogabea den ordu-zona bat ematen bazaio, ez da exekuzio-garaiko errore bat sortuko. Horren ordez, UTCDateTime eta UTCNow metodoek eta antzekoek uneko sistema eragilearen data eta ordua itzuliko dute.

Ordu-zonaren eta Greenwich Meridian Time (GMT) denboraren arteko tartea minututan adierazten da.

Udako ordutegia (DST) desplazamendu gehigarria da.

Denbora-zonaren eta DSTaren desplazamenduak positiboak edo negatiboak izan daitezke.

## Zerbitzuari deitzea

Region zerbitzua erabiltzeko, lehenengo ScriptForge liburutegia kargatu edo inportatu behar da:

• Basic makroak erabiltzkeo, ScriptForge liburutegia kargatu behar da honako instrukzioa erabiliz:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
• Python scriptak erabiltzeko, berriz, scriptforge modulu baten inportazioa behar dute:
from scriptforge import CreateScriptService

Beheko adibideek, Basic eta Python lengoaietan emandakoek, Region zerbitzuaren instantzia bat sortzen dute eta Country propietatea atzitzen dute.

##### Basic lengoaian

        GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
        Dim oRegion As Variant
        oRegion = CreateScriptService("Region")
        MsgBox oRegion.Country("en-US") ' Estatu Batuak

##### Python lengoaian

        from scriptforge import CreateScriptService
        oRregion = CreateScriptService("Region")
        bas = CreateScriptService("Basic")
        bas.MsgBox(oRegion.Country("en-US"))

## Propietateak

Behean zerrendatutako propietate guztiek locale argumentua onartzen dute, kate gisa. Zenbait propietatek "hi-HE" formatua behar dute, eta beste batzuek "hi" edo "HE" onartu dezakete sarrera gisa.

Izena | Irakurtzeko soilik | Mota | Eskualde-ezarpena | Deskribapena
--- | --- | --- | --- | ---
Country | Bai | String | "la‑CO" "CO" | Emandako eskualde bati ingelesez dagokion herrialde-izena itzultzen du.
Currency | Bai | String | "la-CO" "CO" | Zehaztutako eskualdearen ISo 4217 moneta-kodea itzultzen du.
DatePatterns | Bai | Kate-matrizea | "la-CO" | Zeron oinarritutako kate-matrize bat itzultzen du, zehaztutako eskualderako datak onartzeko ereduak dituena.
DateSeparator | Bai | String | "la-CO" | Emandako eskualdean erabiltzen den data-bereizlea itzultzen du.
DayAbbrevNames | Bai | Kate-matrizea | "la-CO" "la" | Zeron oinarritutako kate-matrize bat itzultzen du zehaztutako hizkuntzan asteko egunek dituzten izen laburtuekin.
DayNames | Bai | Kate-matrizea | "la-CO" "la" | Zeron oinarritutako kate-matrize bat itzultzen du zehaztutako hizkuntzan asteko egunek dituzten izenekin.
DayNarrowNames | Bai | Kate-matrizea | "la-CO" "la" | Zeron oinarritutako kate-matrize bat itzultzen du zehaztutako hizkuntzan asteko egunek dituzten izenen inizialekin.
DecimalPoint | Bai | String | "la-CO" | Zehaztutako eskualdean zenbakietarako erabiltzen den dezimalen bereizlea itzultzen du.
Language | Bai | String | "la-CO" "la" | Zehaztutako eskualdeko hizkuntzaren izena itzultzen du, ingelesez.
ListSeparator | Bai | String | "la-CO" | Zehaztutako eskualdean erabilitako zerrenda-bereizlea itzultzen du.
MonthAbbrevNames | Bai | Kate-matrizea | "la-CO" "la" | Zeron oinarritutako kate-matrize bat itzultzen du zehaztutako hizkuntzako hilabete-izen laburtuekin.
MonthNames | Bai | Kate-matrizea | "la-CO" "la" | Zeron oinarritutako kate-matrize bat itzultzen du zehaztutako hizkuntzako hilabete-izenen zerrendarekin.
MonthNarrowNames | Bai | Kate-matrizea | "la-CO" "la" | Zeron oinarritutako kate-matrize bat itzultzen du zehaztutako hizkuntzan hilabeteek dituzten izenen inizialekin.
ThousandSeparator | Bai | String | "la-CO" | Zehaztutako eskualdean zenbakietan erabiltzen den milakoen bereizlea itzultzen du.
TimeSeparator | Bai | String | "la-CO" | Zehaztutako eskualdea orduari formatua emateko erabiltzen den bereizlea itzultzen du.

Region zerbitzuaren metodoen zerrenda
DSTOffset LocalDateTime | Number2Text TimeZoneOffset | UTCDateTime UTCNow

## DSTOffset

Emandako eskualde eta denbora-zona bati aplikatu dakiokeen udako ordutegiaren (DST) desplazamendu gehigarri kalkulatzen du, minututan.

### Sintaxia:

svc.DSTOffset(localdatetime: date, timezone: str, opt locale: str): int

### Parametroak:

localdatetime: Tokiko data eta ordua, data gisa adierazita.

timezone: Desplazamendua kalkulatuko zaion denbora-zona.

locale: Denbora-tartea kalkulatuko zaion herrialdearen eskualde-ezarpena, "hi-HE" edo "HE" formatuan. Balio lehenetsia Platform zerbitzuaren OfficeLocale propietatean definitutako eskualde-ezarpena da.

### Adibidea:

##### Basic lengoaian

          ' "America/Los_Angeles" ordu-zonan aplikagarria den tartea kalkulatzen du
          Dim aDateTime As Date, offset As Integer
          aDateTime = DateSerial(2022, 7, 1) + TimeSerial(16, 0, 0)
          offset = oRegion.DSTOffset(aDateTime, "America/Los_Angeles", "US") ' 60 (minutu)
          aDateTime = DateSerial(2022, 1, 1) + TimeSerial(16, 0, 0)
          offset = oRegion.DSTOffset(aDateTime, "America/Los_Angeles", "US") ' 0 (minutu)

##### Python lengoaian

          import datetime
          aDateTime = datetime.datetime(2022, 7, 1, 16, 0, 0)
          offset = oRegion.DSTOffset(aDateTime, "America/Los_Angeles", "US") ' 60 (minutu)
          aDateTime = datetime.datetime(2022, 1, 1, 16, 0, 0)
          offset = oRegion.DSTOffset(aDateTime, "America/Los_Angeles", "US") ' 0 (minutu)

## LocalDateTime

UTC data eta ordu baterako tokiko data eta ordua kalkulatzen ditu.

### Sintaxia:

svc.LocalDateTime(utcdatetime: date, timezone: str, opt locale: str): date

### Parametroak:

utcdatetime: UTC data eta ordua, data-objektu bat erabiliz adieraziak.

timezone: Tokiko ordua kalkulatuko zaion ordu-zona.

locale: Tokiko ordua kalkulatuko zaion herrialdearen eskualde-ezarpena, "hi-HE" edo "HE" formatuan. Balio lehenetsia Platform zerbitzuaren OfficeLocale propietatean definitutako eskualde-ezarpena da.

### Adibidea:

##### Basic lengoaian

          ' 2022ko ekainaren 6a, 10:30:45 (UTC denbora gisa erabilia hemen)
          Dim UTCTime As Date, localTime As Date
          UTCTime = DateSerial(2022, 6, 23) + TimeSerial(10, 30, 45)
          ' Brasilgo Sao Pauloko tokiko ordua kalkulatzen du
          ' 2022ko ekainaren 6a, 07:30:45
          localTime = oRegion.LocalDateTime(UTCTime, "America/Sao_Paulo", "BR")

##### Python lengoaian

          import datetime
          utcTime = datetime.datetime(2022, 6, 23, 10, 30, 45)
          localTime = oRegion.LocalDateTime(utcTime, "America/Sao_Paulo", "BR")

## Number2Text

Zenbakiak eta moneten balioak idatzizko testu bihurtzen ditu unean onartzen den edozein hizkuntzatarako.

Onartutako hizkuntzak ezagutzeko, begiratu XNumberText Interface API erreferentzia.

### Sintaxia:

svc.Number2Text(number: any, opt locale: str): str

### Parametroak:

number: Idatzizko testu bihurtuko den zenbakia. Zenbaki modura zein kate modura eman daiteke. Kate bat ematen bada, zenbakia nola idatzi behar den zehazten duen aurrizki bat eraman behar du. Posible da, baita ere, ISO 4217 moneta-kodeak ematea. Begiratu beheko adibideak informazio gehiagorako.

locale: Zenbakia bihurtuko den hizkuntzaren eskualde-ezarpena, "hi-HE" edo "HE" formatuan. Balio lehenetsia Platform zerbitzuaren OfficeLocale propietatean definitutako eskualde-ezarpena da.

### Adibidea:

##### Basic lengoaian

          ' "One hundred five" itzultzen du
          Dim numText As String
          numText = oRegion.Number2Text(105, "en-US")
          ' "Two point four two" itzultzen du
          numText = oRegion.Number2Text(2.42, "en-US")
          ' "Twenty-five euro and ten cents" itzultzen du. Begiratu nola ageri den "EUR" moneta-ikurra
          numText = oRegion.Number2Text("EUR 25.10", "en-US")
          ' "Fifteenth" itzulten du, Begiratu "ordinal" aurrizkia
          numText = oRegion.Number2Text("ordinal 15", "en-US")

##### Python lengoaian

          numText = oRegion.Number2Text(105, "en-US")
          numText = oRegion.Number2Text(2.42, "en-US")
          numText = oRegion.Number2Text("EUR 25.10", "en-US")
          numText = oRegion.Number2Text("ordinal 15", "en-US")

Emandako hizkuntza batean onartzen diren aurrizki guztien zerrenda bat eskuratzeko, deitu Number2Text funtzioari "help" argumentu bereziarekin. Beheko adibidean, eskualde-ezarpena "en-US" dela onartuta, "en-US" hizkuntzarako erabilgarri dauden aurrizkien zerrenda erakutsiko da MsgBox koadroan:

          prefixes = oRegion.Number2Text("help")
          MsgBox prefixes
          ' one, two, three
          ' ordinal: first, second, third
          ' ordinal-number: 1st, 2nd, 3rd
          ' year: nineteen ninety-nine, two thousand, two thousand one
          ' currency (for example, USD): two U.S. dollars and fifty cents
          ' money USD: two and 50/100 U.S. dollars

Mezu-koadroaren lehen lerroak ez du aurrizkirik, horrek esan nahi du formatu estandarra dela. Hurrengo lerroek aurrizkia dute, eta formatu horrekin zenbait zenbaki nola ikusiko diren.

Hizkuntza bakoitzak bere aurrizki multzo propioa du. Erabilgarri dagoen aurrizki kopurua aldatu egiten da hizkuntzaz hizkuntza.

Hizkuntza edo eskualde-ezarpen jakin baten aurrizkien zerrenda eskuratzeko, bigarren argumentu modura zehaztu daiteke Number2Text funtzioan. Beheko adibideak "pt-BR" eskualde-ezarpenerako dauden aurrizkiak erakusten ditu:

          prefixes = oRegion.Number2Text("help", "pt-BR")
          MsgBox prefixes
          ' um, dois, três
          ' feminine: uma, duas, três
          ' masculine: um, dois, três
          ' ordinal-feminine: primeira, segunda, terceira
          ' ordinal-masculine: primeiro, segundo, terceiro
          ' ordinal-number-feminine: 1.ª, 2.ª, 3.ª
          ' ordinal-number-masculine: 1.º, 2.º, 3.º

## TimeZoneOffset

GMT orduaren eta emandako ordu-zonaren eta eskualde-ezarpenaren arteko desplazamendua itzultzen du, minututan.

### Sintaxia:

svc.TimeZoneOffset(timezone: str, opt locale: str): int

### Parametroak:

timezone: GMT orduarekiko desplazamendua kalkulatuko zaion ordu-zona.

locale: Denbora-desplazamendua kalkulatuko zaion herrialdea zehazten duen eskualde-ezarpena, "hi-HE" edo "HE" formatuan. Balio lehenetsia Platform zerbitzuaren OfficeLocale propietatean definitutako eskualde-ezarpena da.

### Adibidea:

##### Basic lengoaian

          Dim offset As Integer
          offset = oRegion.TimeZoneOffset("America/New_York", "US") ' -300
          offset = oRegion.TimeZoneOffset("Europe/Berlin", "DE") ' 60

##### Python lengoaian

          offset = oRegion.TimeZoneOffset("America/New_York", "US") # -300
          offset = oRegion.TimeZoneOffset("Europe/Berlin", "DE") # 60

## UTCDateTime

Emandako ordu-zona bateko UTC data eta ordua itzultzen du.

### Sintaxia:

svc.UTCDateTime(localdatetime: date, timezone: str, opt locale: str): date

### Parametroak:

localdatetime: Ordu-zona jakin bateko tokiko data eta ordua, data gisa adierazita.

timezone: localdatetime argumentuari dagokion ordu-zona.

locale: localdatetime argumentua zein herrialdetarako zehaztu den dioen eskualde-ezarpena, "hi-HE" edo "HE" formatuan. Balio lehenetsia Platform zerbitzuaren OfficeLocale propietatean definitutako eskualde-ezarpena da.

### Adibidea:

##### Basic lengoaian

          ' Data/ordua Berlinen, 2022ko ekainaren 23a, 14:30:00
          Dim localDT As Date, utcTime As Date
          localDT = DateSerial(2022, 6, 23) + TimeSerial(14, 30, 0)
          ' UTC data/ordua 2022ko ekainaren 23a, 12:30:00, da
          utcTime = oRegion.UTCDateTime(localDT, "Europe/Berlin", "DE")

##### Python lengoaian

          import datetime
          localDT = datetime.datetime(2022, 6, 23, 14, 30, 0)
          utcTime = oRegion.UTCDateTime(localDT, "Europe/Berlin", "DE")

## UTCNow

Uneko UTC data eta ordua itzultzen ditu, ordu-zona bat eta eskualde-ezarpen bat emanda.

Metodo honek sistema eragilearen data eta ordua erabiltzen ditu UTC ordua kalkulatzeko.

### Sintaxia:

svc.UTCNow(timezone: str, opt locale: str): date

### Parametroak:

timezone: Uneko UTC ordua kalkulatuko zaion ordu-zona.

locale: Uneko UTC ordua kalkulatuko zaion herrialdea zehazten duen eskualde-ezarpena, "hi-HE" edo "HE" formatuan. Balio lehenetsia Platform zerbitzuaren OfficeLocale propietatean definitutakoa da.

### Adibidea:

##### Basic lengoaian

          ' Demagun sistema eragilearen ordua 2022ko ekainaren 23a, 10:42:00, dela
          ' Ordenagailua Europa/Berlinen badago, UTC ordua 2022ko ekainaren 23a, 08:42:00, izango da
          Dim utcTime As Date
          utcTime = oRegion.UTCNow("Europe/Berlin", "DE")

##### Python lengoaian

          utcTime = oRegion.UTCNow("Europe/Berlin", "DE")

Erlazionatutako gaiak

ScriptForge.Platform zerbitzua