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
Hyvä esimerkki. Itse en olisi osannut tehdä tuollaista. (ainakaan QB64:llä)
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.
PowerShell-ikkuna on jotenkin kryptattu, en saanut poimittua tietoja suoraan.
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.
Olet oikeassa, päivitän koodin.
Lisäys: No nyt se on vähän fiksumpi :)
Aihe on jo aika vanha, joten et voi enää vastata siihen.