Fórum Problemas com Virgula #279887
03/05/2005
0
Então é o seguinte,
Eu tenho um campo na base de dados que é VItem
VITEM VARCHAR2(15),
No Programa eu coloco ele para gerar um arquivo texto da seguinte maneira
Write(meutxt,´´+completa_string(15,dm_principal.query1VITEM.ASSTRING,´[b:e4749a7ae7]V[/b:e4749a7ae7]´));
Esta fucao de Completar STRING TEM O SEGUINTE
FUNCTION COMPLETA_STRING(TAMANHO:INTEGER;CAMPO,TIPO:STRING):STRING;
var n:integer;
BEGIN
WHILE LENGTH(CAMPO) < TAMANHO DO
BEGIN
IF TIPO =´S´ THEN
CAMPO:=CAMPO+´ ´ ELSE
IF TIPO =´K´ THEN
CAMPO:=CAMPO+´0´ ELSE
[b:e4749a7ae7] IF TIPO = ´V´ THEN
CAMPO:=´ ´+CAMPO;[/b:e4749a7ae7] IF TIPO = ´N´ THEN
CAMPO:=´0´+CAMPO;
END;
[b:e4749a7ae7]if (Tipo = ´V´) then//and (Campo<>´ N/C´) then
Begin
if trim(campo) = ´´ then
begin
delete(campo,tamanho-4,4);
insert(´0´,campo,Tamanho-1)
end
else
if copy(Campo,Length(Campo)-1,1) = ´,´ then
begin
delete(campo,1,1);
campo:=campo+´0´;
end
else
if copy(Campo,Length(Campo)-2,1) <> ´,´ then
begin
delete(campo,1,3);
campo:=campo+´00´;
end;
End;
[/b:e4749a7ae7] COMPLETA_STRING:=CAMPO;
END;
ENTÃO, QUE ACONTECE, NUM É QUE MESMO ASSIM NO ARQUIVO TEXTO O RAIO DA VIRGULA SAE !!!
NN15020500000100000000000[b:e4749a7ae7]1,35[/b:e4749a7ae7]000
SABE OQUE PODE ESTAR ACONTECENDO?
DESDE JÁ AGRADEÇO PELA COLABORAÇÃO DOS SENHORES!
Eu tenho um campo na base de dados que é VItem
VITEM VARCHAR2(15),
No Programa eu coloco ele para gerar um arquivo texto da seguinte maneira
Write(meutxt,´´+completa_string(15,dm_principal.query1VITEM.ASSTRING,´[b:e4749a7ae7]V[/b:e4749a7ae7]´));
Esta fucao de Completar STRING TEM O SEGUINTE
FUNCTION COMPLETA_STRING(TAMANHO:INTEGER;CAMPO,TIPO:STRING):STRING;
var n:integer;
BEGIN
WHILE LENGTH(CAMPO) < TAMANHO DO
BEGIN
IF TIPO =´S´ THEN
CAMPO:=CAMPO+´ ´ ELSE
IF TIPO =´K´ THEN
CAMPO:=CAMPO+´0´ ELSE
[b:e4749a7ae7] IF TIPO = ´V´ THEN
CAMPO:=´ ´+CAMPO;[/b:e4749a7ae7] IF TIPO = ´N´ THEN
CAMPO:=´0´+CAMPO;
END;
[b:e4749a7ae7]if (Tipo = ´V´) then//and (Campo<>´ N/C´) then
Begin
if trim(campo) = ´´ then
begin
delete(campo,tamanho-4,4);
insert(´0´,campo,Tamanho-1)
end
else
if copy(Campo,Length(Campo)-1,1) = ´,´ then
begin
delete(campo,1,1);
campo:=campo+´0´;
end
else
if copy(Campo,Length(Campo)-2,1) <> ´,´ then
begin
delete(campo,1,3);
campo:=campo+´00´;
end;
End;
[/b:e4749a7ae7] COMPLETA_STRING:=CAMPO;
END;
ENTÃO, QUE ACONTECE, NUM É QUE MESMO ASSIM NO ARQUIVO TEXTO O RAIO DA VIRGULA SAE !!!
NN15020500000100000000000[b:e4749a7ae7]1,35[/b:e4749a7ae7]000
SABE OQUE PODE ESTAR ACONTECENDO?
DESDE JÁ AGRADEÇO PELA COLABORAÇÃO DOS SENHORES!
Magnus@
Curtir tópico
+ 0
Responder
Posts
03/05/2005
Rômulo Barros
Segue abaixo uma rotina para retirar as vírgulas de uma string.
// Chamada
// Resultado
:wink: [u:d4c3a8fa47][i:d4c3a8fa47][b:d4c3a8fa47][color=blue:d4c3a8fa47]Espero ter ajudado.[/color:d4c3a8fa47][/b:d4c3a8fa47][/i:d4c3a8fa47][/u:d4c3a8fa47]
function RetiraVirgulas(AVariavel: String): String; begin Result := StringReplace(AVariavel,´,´,´´,[rfReplaceAll]); end;
// Chamada
procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage(RetiraVirgulas(´11,22,33,44,55,66,aa,bb,cc´)); end;
// Resultado
112233445566aabbcc
:wink: [u:d4c3a8fa47][i:d4c3a8fa47][b:d4c3a8fa47][color=blue:d4c3a8fa47]Espero ter ajudado.[/color:d4c3a8fa47][/b:d4c3a8fa47][/i:d4c3a8fa47][/u:d4c3a8fa47]
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)