Kirjautuminen

Haku

Tehtävät

Kilpailu

Ohjelmoi tekoäly!
Aikaa on 6.1. saakka.

Koodivinkit: QB64: Windowsin kielen tunnistaminen

Kirjoittaja: terrist

Kirjoitettu: 21.09.2018 – 14.02.2019

Tagit: työpöytä

En löytänyt QB64:stä komentoa jolla tunnistaa Windows-käyttäjän kieli, joten piti tehdä sellainen. Tästä hyötyä esim. peleissä, kielivalikon voi jättää pois. Suomen kielikoodi on 1035.

SCREEN 0
SHELL "PowerShell Get-Culture | out-file kieli.txt -encoding utf8"
OPEN "kieli.txt" FOR INPUT AS #1
FOR y = 1 TO 3
    INPUT #1, Rivi$
NEXT y
INPUT #1, Rivi$
CLOSE #1
Kielikoodi$ = LEFT$(Rivi$, 4)
IF Kielikoodi$ = "1035" THEN PRINT "TORTILLA TAVATAAN!" ELSE PRINT "MEET TORTILLA!"
_DISPLAY

Kommentit

Koodi123 [31.01.2019 17:13:57]

Lainaa #

Hyvä esimerkki. Itse en olisi osannut tehdä tuollaista. (ainakaan QB64:llä)

Metabolix [01.02.2019 14:10:23]

Lainaa #

Voisiko kielen tunnistamisen tehdä suoraan muuttujasta, ettei tarvitsisi ensin tulostaa ruudulle ja tutkia merkkien ASCII-arvoja? Voisiko silmukassa lukea vain tarvittavan määrän rivejä ja tallentaa muuttujaan vain sen rivin, jota tarvitaan, ja ehkä vielä erotella siitä pelkän kielikoodin? Tästä voisi sitten tehdä vaikka funktion, joka palauttaisi kielikoodin lukuna.

terrist [05.02.2019 12:53:45]

Lainaa #

PowerShell-ikkuna on jotenkin kryptattu, en saanut poimittua tietoja suoraan.

Metabolix [05.02.2019 12:59:32]

Lainaa #

Ei se data varmasti kryptattua ole, jos sen voi printillä tulostaa. Onko mahdollista, että tieto olisi yksinkertaisesti UTF-16-muodossa? Tällöin jokaisen ASCII-merkin vieressä on nollatavu.

terrist [05.02.2019 13:39:01]

Lainaa #

Olet oikeassa, päivitän koodin.

Lisäys: No nyt se on vähän fiksumpi :)

Kirjoita kommentti

Muista lukea kirjoitusohjeet.
Tietoa sivustosta