Basic a utf8

Makropolecenia i funkcje w języku Basic
arek
Posty: 50
Rejestracja: wt cze 02, 2009 5:23 pm

Basic a utf8

Post autor: arek »

Próbuje napisać rostą instrukcję select ale dostaję błąd na literze ĝ jest to znak z utf. Jak coś takiego ominąć.

A makro ma przyporządkowywać na podstawie podanej nazwy kraju jago kategorię.

Kod: Zaznacz cały

Sub landkategorio(lando) as string
   dim s as string
   s = "C"
   
   select case lando
 
          Case Alĝerio        
   
     s = "A"
          Case  Ĉeĥio
     s = "B"
   end select
return s
End Sub
arek
Posty: 50
Rejestracja: wt cze 02, 2009 5:23 pm

Re: Basic a utf8

Post autor: arek »

Wpadłem, że trzeba w "" ale teraz na samej linijce select Case lando dostaję błąd: Argument nie jest opcionalny. O co chodzi?

Kod: Zaznacz cały

Function landkategorio(lando) as string
  dim s as string
  s = "C" 
  select Case lando
    Case "Alĝerio", "Angolo", "Benino",  "Bocvano",  "Burkino",  "Burundo",  "Centr-Afrika Respubliko",  "Ĉado",  "Ebura Bordo",  "Egiptio",  "Ekvatora Gvineo",  "Eritreo",  "Etiopio",  "Gabono",  "Gambio",  "Ganao",  "Gvineo",  "Gvineo Bisaŭa",  "Ĝibutio",  "Kabo-Verdo",  "Kameruno",  "Kenjo",  "Komoroj",  "Respubliko Kongo",  "Kongo Kinŝasa",  "Lesoto",  "Liberio",  "Libio",  "Madagaskaro",  "Malavio",  "Malio",  "Maroko",  "Maŭricio",  "Maŭritanio"
          landkategorio = "A"
    Case "Ĉeĥio", "Estonio", "Grekio", "Hispanio", "Hungario", "Latvio", "Litovio", "Pollando", "Slovakio", "Slovenio"
          landkategorio = "B"
    Case else
        landkategorio = "C"           
  End Select  
     
End Function
Jan_J
Posty: 4583
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Basic a utf8

Post autor: Jan_J »

W StarBasicu nie ma problemów z UTF-8. Kłopoty wynikają stąd, że prawdopodobnie wywołujesz funkcję bez parametru. Spróbuj tak:

Kod: Zaznacz cały

sub test()
 x= landkategorio("Alĝerio")
end sub
Będzie dobrze.
JJ
LO (24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
arek
Posty: 50
Rejestracja: wt cze 02, 2009 5:23 pm

Re: Basic a utf8

Post autor: arek »

Problem okazał się być inny, gdyż kolumna zawierająca dane, której komórki były podstawiane jako argumenty tegoż makra, zawierały oprócz tekstu odstępy przed i po (tzw. spacje) ale funkcja trim() rozwiązała ten problem.
W każdym razie dziękuję za pomoc i zainteresowanie tematem. :)
ODPOWIEDZ