função copy

Delphi

15/10/2006

Caros colegas ao tentar imprimir direto na lpt1 (matricial) o conteudo de um campo da base de dados que tem tamanho 30 estou utilizando a função copy para permitir que seja impressos só os 25 caractres iniciais. Acontece que quando imprimie um determinado registro que tem menos de 25 carcteres o dado da coluna seguinte fica desalinhado dos outros.

Me parece que isso faz parte da função copy pois ela não considera espaços em branco no final da string correto?

Se alguem puder me ajudar agradeço desde já

Gilson Heleno
ghsol@uol.com.br


Ghsol

Ghsol

Curtidas 0

Respostas

Steve_narancic

Steve_narancic

15/10/2006

Crie uma função que coloque espaços em branco no final do texto para preencher a quantidade de caracteres e ai sim de um copy


GOSTEI 0
Tiagorocha

Tiagorocha

15/10/2006

Eu acho mais prático usar a função format: Format(´¬-25s´,[CampoDaTabela]);


GOSTEI 0
Nigro

Nigro

15/10/2006

ShowMessage(Edit1.Text + Replicate(´*´, 25 - Length(Edit1.Text)));

function Replicate(cLetra: string; nNum: Integer): string;
var i: integer;
cString: string;
begin
cString := ´´;
for i := 1 to nNum do
begin
cString := cString + cLetra;
end;
Result := cString;
end;


GOSTEI 0
Ghsol

Ghsol

15/10/2006

Caros Parceiros obrigado pelas dicas apesar de ter conseguido resolver de outra forma

Até a próxima[/list]


GOSTEI 0
Tiagorocha

Tiagorocha

15/10/2006

E qual seria a outra forma? Estou curioso... :o


GOSTEI 0
Nigro

Nigro

15/10/2006

Pois é... compartilhe com todos...


GOSTEI 0
POSTAR