![]() |
|
|
#1
|
|||
|
|||
|
С помощью Query делаю выборку из DB, выборку построчно добавляю в MEMO, и сохраняю в текстовый фаил.
Код:
begin
Memo1.Clear;
with Query1 do
begin
First;
while not EOF do
begin memo1.lines.add(''+FieldByName('MD').Text+#9''+FieldByName('Borepress').Text+#9''+FieldByName('Annpress').Text);
Next;
end;
Memo1.Lines.SaveToFile('c:\1.txt');
end;
end;Код HTML:
Вопрос как сделать так что-бы столбцы выравнивались по правому краю? Вот как бы хотелось Код:
1474.21 73 68 1481.46 72 68 1489.7 70 79 1489.7 67 76 1490.35 68 69 1491.28 66 75 1491.28 66 72 1491.28 66 72 1491.28 67 71 1494.99-9999.25-9999.25 1498.33 59 70 1498.46 50 52 1498.46 26 59 1498.8 30 47 1499.12 69 69 1500.53 65 74 1500.53 61 72 1500.53 61 72 1500.53 57 68 1500.53 58 68 1500.53 59 71 |
|
#2
|
|||
|
|||
|
Как вариант, что-то вроде этого :
Код:
memo1.lines.add(''+BuildString(FieldByName('MD').AsString,10,32,0)+' '+BuildString(FieldByName('Borepress').AsString,10,32,0)+' '+BuildString(FieldByName('Annpress').AsString,10,32,0));
function BuildString(S:String; CountChar:integer; CharCode:byte=32; Nr:integer=1): string;
{Дополняет строку S символами CharCode до CountChar}
{Nr<=0 - слева, >0 - справа}
Var
i,m : integer;
begin
Result:=S;
while length(Result)<CountChar do
begin
if Nr>0 then begin
Result:=Result+Chr(CharCode);
end
else begin
Result:=Chr(CharCode)+Result;
end;
end;
end;
|
|
#3
|
||||
|
||||
|
Ну а так?
Код:
memo1.lines.add(Format('%10.2f %10.2f %10.2f',[FieldByName('MD').AsFloat,FieldByName('Borepress').AsFloat,FieldByName('Annpress').AsFloat])); |