SA-MP Forums Archive
[Tool/Web/Other] Contador: Strings Literais. - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+----- Forum: Lançamentos/Releases (https://sampforum.blast.hk/forumdisplay.php?fid=56)
+----- Thread: [Tool/Web/Other] Contador: Strings Literais. (/showthread.php?tid=376522)



Contador: Strings Literais. - rjjj - 10.09.2012

Contador : Strings Literais.
Por rjjj ou Ken




Objetivo do programa:




Facilitar o cбlculo do tamanho ideal que variбveis arrays que armazenam strings devem ter .





Informaзхes:




Quando uma string й analisada da forma que estб no cуdigo-fonte do programa, ela й literal.



Em Pawn, por exemplo, a seguinte string literal de um arquivo .pwn :


pawn Код:
"String\046;"

Seria isto durante a execuзгo do cуdigo :


pawn Код:
"String."

Sem levar em conta o caractere EOS (null), que finaliza as strings na memуria.



O programa que fiz indica o nъmero de cells que determinada string literal ocuparia durante o processamento, e, consequentemente, o tamanho que uma variбvel array que fosse armazenб-la deveria ter.



Isso й algo bem simples de se fazer se o caractere de escape (\) e placeholders (%s, %d, etc) nгo forem envolvidos. E й aн que entra o contador que produzi .



Ele pode detectar estes sнmbolos como placeholders:


pawn Код:
%s
%d
%i
%c
%f
%x
%b
%%

E qualquer caractere especial derivado do uso do de escape.



Hб tambйm vбrias opзхes de substituiзгo de placeholders selecionadas para o desenvolvimento em SA-MP .





Notas importantes:




Assim que o programa for aberto, aparecerб um espaзo em branco.



Coloque nele a string literal a ter seu tamanho calculado, junto com as aspas ou com o operador de stringizing, como por exemplo :


pawn Код:
"String"


E clique em OK para saber o tamanho ideal que uma array deve ter para contк-la.



No exemplo que citei, esse valor seria 7 :


pawn Код:
new Array[7];
strcat(Array, "String");


Se a string tiver placeholders, como esta:


pawn Код:
"Nome: %s.  Idade: %d."

Marque a opзгo "Identificar Placeholders" e clique em OK .



O placeholder %s serб encontrado na string e depois o %d. Marque as opзхes que achar melhor.



Sempre que escolher "Outros", preencha o espaзo em branco que surgirб а direita com o nъmero mбximo de caracteres (sem contar com o EOS) que poderiam entrar no lugar do placeholder durante a execuзгo do arquivo .amx .





Crйditos:




rjjj ou Ken pela feitura do contador.





Atualizaзхes:




Corrigido um erro relativo ao sнmbolo %%.
Solucionado um problema na detecзгo de certos caracteres.





Download:




Clique Aqui





OBS: Nгo retire os crйditos !!



OBS2: O programa foi feito para Windows, com a linguagem C/C++ atravйs do IDE Borland C++ Builder .




Espero ter ajudado .


Re: Contador: Strings Literais. - jpeg - 10.09.2012

first, mt bom xD!


Re: Contador: Strings Literais. - Douglas_prt - 10.09.2012

Elimine os espaзos gigantes entre o texto, fica dificil fazer uma leitura razoбvel quando se tem que deslocar o olhar '50 metros pra baixo'.

P.S: Ainda nгo li...

@EDIT

Hm, parece estar a funcionar lindamente!


Re: Contador: Strings Literais. - Dolby - 10.09.2012

Cool.
Parabйns.


Re: Contador: Strings Literais. - paulor - 10.09.2012

Muito bom Rjjj, Parabйns, esse й completamente deferente de outros, Testado e aprovado!!


Re: Contador: Strings Literais. - dPlaYer_ - 10.09.2012

.'


Re: Contador: Strings Literais. - Kuddy - 10.09.2012

debйsti.


Re: Contador: Strings Literais. - 4LiSs0N - 10.09.2012

Muito bom parabens


Re: Contador: Strings Literais. - Q.I - 10.09.2012

very nice sempre a surprender a board parabens.


Re: Contador: Strings Literais. - zSuYaNw - 10.09.2012

da para fazer isto em javascript,
mais tudo bem, bom trabalho.