Problemas com Virgula

Delphi

03/05/2005

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!


Magnus@

Magnus@

Curtidas 0

Respostas

Rômulo Barros

Rômulo Barros

03/05/2005

Segue abaixo uma rotina para retirar as vírgulas de uma string.

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]


GOSTEI 0
POSTAR