[GMS] Acentuação

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

[GMS] Acentuação

Mensagem por vinians em Ter 11 Set 2012, 13:57

Precisei criar um script para retirar acentos das palavras do aplicativo que estou fazendo. Veja a rotina abaixo (na integra)
Código:

var acentos, s_acentos, str, i, j;
acentos  = "ÁÃÀáãàÉéÍíÓÕÔÔóõôòÚúÇç";
s_acentos = "AAAaaaEeIiOOOOooooUuCc";
str    = argument0;
str_new = "";
for (i = 0; i < string_length(str); i+= 1)
{
    ch  = string_copy(str, i + 1, 1);
    for (j = 0; j < string_length(acentos); j+= 1)
    {
        ac = string_copy(acentos, j + 1, 1);
        if (ch == ac) then
        {
            ch = string_copy(s_acentos, j + 1, 1)
            break; 
        }
    }
    str_new += ch;
}
return str_new;
Ela funciona perfeitamente no GM8 mas não está funcionando de jeito nenhum no GMS. Alguma sugestão ?
Flws!
Obs. Podia criar uma secao especifica para GMS ...

vinians

Ranking : Nota B
Número de Mensagens : 2490
Idade : 27
Data de inscrição : 18/09/2008
Notas recebidas : B-C-A-C
Reputação : 52
Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 1

http://xcreatorgames.weebly.com/

Voltar ao Topo Ir em baixo

Re: [GMS] Acentuação

Mensagem por Jiraya em Ter 11 Set 2012, 14:51

tente isso

Código:

var acentos,s_acentos,i,c,f;
acentos  = "ÁÃÀáãàÉéÍíÓÕÔÔóõôòÚúÇç";
s_acentos = "AAAaaaEeIiOOOOooooUuCc";

for(i=1;i<=string_length(argument0);i+=1)
{c=string_char_at(argument0,i);p=string_pos(c,acentos);
    if(p)
    {
    argument0=string_delete(argument0,i,1);
    argument0=string_insert(string_char_at(s_acentos,p),argument0,i)
    };
}
return(argument0);

aqui funcionou no [target]html5

Jiraya

Ranking : Nota A
Número de Mensagens : 1134
Data de inscrição : 20/03/2010
Notas recebidas : A+A
Reputação : 108
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 1

https://www.facebook.com/seito.washiro.7

Voltar ao Topo Ir em baixo

Re: [GMS] Acentuação

Mensagem por vinians em Ter 11 Set 2012, 15:08

Jiraya escreveu:tente isso

Código:

var acentos,s_acentos,i,c,f;
acentos  = "ÁÃÀáãàÉéÍíÓÕÔÔóõôòÚúÇç";
s_acentos = "AAAaaaEeIiOOOOooooUuCc";

for(i=1;i<=string_length(argument0);i+=1)
{c=string_char_at(argument0,i);p=string_pos(c,acentos);
    if(p)
    {
    argument0=string_delete(argument0,i,1);
    argument0=string_insert(string_char_at(s_acentos,p),argument0,i)
    };
}
return(argument0);

aqui funcionou no [target]html5
Aqui no meu ela funcionou igual a minha função, ou seja, retornou a string com acento... acho que pode ser alguma coisa da string do GM ser um ANSI_STRING e ele não tratar isso corretamente..
Flws!

vinians

Ranking : Nota B
Número de Mensagens : 2490
Idade : 27
Data de inscrição : 18/09/2008
Notas recebidas : B-C-A-C
Reputação : 52
Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 1

http://xcreatorgames.weebly.com/

Voltar ao Topo Ir em baixo

Re: [GMS] Acentuação

Mensagem por moisesBR em Ter 11 Set 2012, 15:24

Aproveitando o tópico... Ué vc quer tirar? Eu é quero saber é como colocar acentos num draw text!

moisesBR

Número de Mensagens : 873
Idade : 40
Data de inscrição : 24/10/2009
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://inprovise.blogspot.com/

Voltar ao Topo Ir em baixo

Re: [GMS] Acentuação

Mensagem por Kabeção em Ter 11 Set 2012, 17:33

Pelo visto
Código:
chr(ord('a')) = 'a' // true
chr(ord('á')) = 'á' // false

string_replace_all parece funcionar
Código:
var acentos,s_acentos,re,i;

acentos  = "ÁÃÀáãàÉéÍíÓÕÔÔóõôòÚúÇç";
s_acentos = "AAAaaaEeIiOOOOooooUuCc";
re = argument0;

for (i = 1; i <= string_length(acentos); i += 1) {
    re = string_replace_all(re,string_char_at(acentos,i),string_char_at(s_acentos,i));
}

return re;

Kabeção

Ranking : Sem avaliações
Número de Mensagens : 2314
Data de inscrição : 08/06/2008
Reputação : 100
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 3
   : 0
   : 1

http://blackcapapps.blogspot.com.br/

Voltar ao Topo Ir em baixo

Re: [GMS] Acentuação

Mensagem por Thiago_o_programador em Ter 11 Set 2012, 17:49

Eu é quero saber é como colocar acentos num draw text!
Só respondendo, basta criar uma font, e depois seta-la como all digits na sua propria edição, depois usa-la livremente.

Thiago_o_programador

Ranking : Nota D
Número de Mensagens : 709
Idade : 19
Data de inscrição : 14/05/2009
Notas recebidas : D - C - D - C
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 1

http://www.jogosdahora.maisblog.net

Voltar ao Topo Ir em baixo

Re: [GMS] Acentuação

Mensagem por vinians em Ter 11 Set 2012, 17:54

Kabeção escreveu:Pelo visto
Código:
chr(ord('a')) = 'a' // true
chr(ord('á')) = 'á' // false

string_replace_all parece funcionar
Código:
var acentos,s_acentos,re,i;

acentos  = "ÁÃÀáãàÉéÍíÓÕÔÔóõôòÚúÇç";
s_acentos = "AAAaaaEeIiOOOOooooUuCc";
re = argument0;

for (i = 1; i <= string_length(acentos); i += 1) {
    re = string_replace_all(re,string_char_at(acentos,i),string_char_at(s_acentos,i));
}

return re;
Nos testes que fiz aqui, ele devolveu a string do mesmo jeito que recebeu. Postei esta dúvida la na YoYo e me parece ser um problema das funções string do GMS pois é tudo UTF-8 e ele está fazendo alguma confusão na comparação, e lembrando, no GM 8 a minha função funciona perfeitamente.
Flws!

vinians

Ranking : Nota B
Número de Mensagens : 2490
Idade : 27
Data de inscrição : 18/09/2008
Notas recebidas : B-C-A-C
Reputação : 52
Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 1

http://xcreatorgames.weebly.com/

Voltar ao Topo Ir em baixo

Re: [GMS] Acentuação

Mensagem por Conteúdo patrocinado Hoje à(s) 08:00


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum