Avatar billede hopla Nybegynder
07. september 2001 - 14:38 Der er 9 kommentarer og
1 løsning

Uppercase og æøå

toUpperCase funktionen i Flash 5 virker tilsyneladende ikke på ÆØÅ. Hvis man fx. laver en

textVar= textVar.toUpperCase();

så vil følgende string:
\"må jeg låne et æble\"

se således ud:
\"Må JEG LåNE ET æBLE\"

...er der nogen let måde at gøre æøå til uppercase også?
Avatar billede jakoba Nybegynder
07. september 2001 - 14:56 #1

var dinstreng = \"må jeg låne et æble\";

var upperstr  = dinstreng.toUpperCase(); // nu mangler kun æ, ø og å
upperstr  = upperstr.replace( /æ/g ,\"Æ\");
upperstr  = upperstr.replace( /ø/g ,\"Ø\");
upperstr  = upperstr.replace( /å/g ,\"Å\");

alert( upperstr );  // så skulle den være der.

mvh JakobA
Avatar billede hopla Nybegynder
07. september 2001 - 15:10 #2
det dutter ikke...

det der ( /æ/g ,\"Æ\") 
giver fejl når jeg paster det ind i flash.

...ingen fejl hvis jeg skriver (\"æ\", \"Æ\") istedet men så er string\'en tomlige pludselig (?)


Avatar billede jakoba Nybegynder
07. september 2001 - 15:23 #3
kan du evt lægge det i en javascript section i filens html-del?
Avatar billede hopla Nybegynder
07. september 2001 - 15:32 #4
que?

taler du også dansk?
Avatar billede jakoba Nybegynder
07. september 2001 - 15:38 #5
sorry.  men mon ikke nikolajdu kommer forbi, han taler flash :-))
Avatar billede hoejrup Nybegynder
07. september 2001 - 17:01 #6
myString.toUpperCase();

/per
Avatar billede hoejrup Nybegynder
07. september 2001 - 17:40 #7
Her er et eksempel med et bogstav, som virker udemærket

lille = \"å\";
beregn = ord (lille);
omform = beregn - 32;
Stor = chr (omform);

Så skal det bare laves for hvert eneste bogstav i strengen. Efter følgende metode:

1. Få fat på strengens længde.
2. Undersøg det første bogstav i strengen
3. Hvis ASCII værdien svarer til et lille bogstav, så lav overstående beregning.
4. Byt det lille bogstav ud med det større i strengen
5. Processen gentages indtil tælleren er større end længden på strengen.

/per
Avatar billede hoejrup Nybegynder
07. september 2001 - 17:57 #8
Her er der en løsning i AS:

her = \"ASsadsdfåædfføfådøfå\";
maks = length (her);
for (count=1; count <= maks; count++) {
    valg = substring ( her, count, 1 );
    beregn = ord (valg);
    if (beregn>96) {
        stor = beregn - 32;
        Ny = Ny + chr ( stor );
    } else {
        Ny = Ny + valg;
    }
}

/per
Avatar billede lingoman Nybegynder
09. september 2001 - 21:34 #9
Selvom ActionScript ikke har javaScript\'s .replace funktion, kan vi emulere Jakoba\'s løsning ved at lave en actionScript funktion som gør det samme.
Når først vi har replace funktionen på plads er dette også en \'nem\' løsning.

fks.

textVar = \"må jeg låne et æble\"
tempVar = textVar.toUpperCase();

//tempVar = \"Må JEG LåNE ET æBLE\" fordi toUpperCase() kun virker på a til z

temp1 = replace(tempVar, \"æ\",\"Æ\");    //temp1 = \"Må JEG LåNE ET ÆBLE\"
temp2 = replace(temp1, \"ø\",\"Ø\");        //temp2 = \"Må JEG LåNE ET ÆBLE\"
temp3 = replace(temp2, \"å\",\"Å\");        //temp3 = \"MÅ JEG LÅNE ET ÆBLE\"



//Actionscript version af replace funktionen

function replace(origStr, searchStr,replaceStr) {

  var tempStr = \"\";
  var startIndex = 0;

  if (searchStr = \"\") {
    return origStr;
  }

  if (origStr.indexOf(searchStr) != -1) {
    while ((searchIndex = origStr.indexOf(searchStr, startIndex)) != -1) {
        tempStr += origStr.substring(startIndex,searchIndex);
        tempStr += replaceStr;
        startIndex = searchIndex + searchStr.length;
    }
    return tempStr + origStr.substring(startIndex);
  } else {
      return origStr;
  }
}

ActionScript replace funktionen er hentet fra Colin Moock\'s bog: ActionScript: The Definitive Guide


mvh geo
Avatar billede lingoman Nybegynder
10. september 2001 - 10:36 #10
Tak for point :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester