[Tool/Web/Other] Contador: Strings Literais.
#1

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 .
Reply
#2

first, mt bom xD!
Reply
#3

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!
Reply
#4

Cool.
Parabйns.
Reply
#5

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

.'
Reply
#7

debйsti.
Reply
#8

Muito bom parabens
Reply
#9

very nice sempre a surprender a board parabens.
Reply
#10

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


Forum Jump:


Users browsing this thread: 4 Guest(s)