Fórum VDOPRINT caracteres especiais #364659
06/10/2008
0
:lol: 8) :shock:
Ken_masters
Curtir tópico
+ 0Posts
07/10/2008
Eniorm
a dica que eu te recomendo para que vc faça um teste ai é colocar mais ou menos assim
Print(01,´N´+#167);
esse 167 equivale ao código ASCII para º, e 166 para ª
abraço
Gostei + 0
07/10/2008
Ken_masters
function trocaletra(L : string): string;
var
i : Integer;
caracter, nova : string;
begin
for i := 1 to Length(L) do
begin
caracter := l[i];
if caracter = ´º´ then
begin
caracter := ´?´
end;
nova := nova + caracter;
caracter := ´´;
end;
Result := nova;
end;
Gostei + 0
07/10/2008
Eniorm
Independente da posição do caractere, pode ser usado normalmente
Veja
´Classificação Nº 123´
Eu faria assim
Print(01,´Classificacao N´+#167+´ 123´);
abraços
Gostei + 0
07/10/2008
Ken_masters
´ o ultimo registro do dia doi o nº 33´ e o meu proximo registro pode ser
´ o Nº do registro foi removido ´
com aquela funcao eu faço uma varredura na string inteira e localizo o ´º´ em qualquer parte da string e automaticamente ja substituo por ´?´ q é equivalente ao º na impressora.. bom funcionou!
Gostei + 0
07/10/2008
Eniorm
poderiamos simplificar para que ficasse mais ou menos assim
while (Pos(´º´,suastring) <> 0) do
suastring[Pos(´º´,suastring)] := #167;
Gostei + 0
07/10/2008
Eniorm
o resultado de Alt+167 é º, mas de #167 é ?
fiz um teste aqui, e o retorno para o caractere º é o código ascii 186
então, tente assim
while (Pos(´º´,suastring) <> 0) do suastring[Pos(´º´,suastring)] := 167;
Gostei + 0
07/10/2008
Eniorm
o correto é
while (Pos(´º´,suastring) <> 0) do suastring[Pos(´º´,suastring)] := 186; // corrija aqui
tenta ai quem sabe da certo, caso contrário, eu recomendo vc dar uma pesquisada no forum sobre VDO
[url]vdo.sourceforge.net[/url]
abraços
Gostei + 0
08/10/2008
Ken_masters
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)