Форум: "Базы";
Текущий архив: 2002.07.08;
Скачать: [xml.tar.bz2];
ВнизКак изменить формат данных в TDBEdit Найти похожие ветки
← →
Eraser (2002-06-08 00:15) [0]Данные из числового поля БД в TDBEdit выводится в виде:
66,98477563783298, а нужно 66,98. Никак не могу понять как?
И еще вопрос вдогонку - надо чтобы числа располагались справа в TDBEdit?
Заранее благодарен.
← →
kaif (2002-06-08 01:08) [1]Это делается не на уровне TDBEdit, а на уровне TDataSet. Нужно создать persistent поля, если они еще не созданы. И у соответствующего поля придать сзначения свойствам:
Align = taRightJustify и DisplayFormat = "### ### ##0.00"
← →
Eraser (2002-06-08 12:21) [2]А поподрбнее можно для тех кто в танке. Я в TDBEdit данные добавляю так:
DBEdit1->DataField = DataModul->ADOQuery->Fields->Fields[i]->FieldName;
работаю через ADO
← →
Anatoly Podgoretsky (2002-06-08 12:30) [3]В D5 нет такого синтаксиса
← →
Eraser (2002-06-08 12:52) [4]Ну каюсь это написано на Builder5, но принцип то должен быть тот же что и в D5?
← →
angelcom (2002-06-15 13:43) [5]Я делал следующее:
//////////////////////////////////////////////////////////////////
function Okrug(a1: ShortString;b1:ShortString): ShortString;
var
a: Variant;
s,s1,s2,s3,s4,s5,s6,s7:String;
begin
if (b1="1") or (b1="10") or (b1="100") or (b1="1000") then
if a1>"" then
begin
s:=a1;
s1:=copy(s,1,1);
while (s1<>",") and (s>"") do
begin
s2:=s2+s1;
delete(s,1,1);
s1:=copy(s,1,1);
end;
if s1="," then
delete(s,1,1);
if s>"" then
begin
if b1="1" then
begin
s3:=copy(s,1,1);
if s3>"" then
if strtoint(s3)>=5 then
a:=0+strtoint(s2)+1
else
a:=s2;
s1:="";
s2:=a;
end;
if b1="10" then
begin
s5:=s1;
s1:=copy(s,1,1);
if s1="" then
s1:="0";
delete(s,1,1);
s3:=copy(s,1,1);
if s3>"" then
begin
if strtoint(s3)>=5 then
begin
a:=0+strtoint(s1)+1;
s1:=a;
end;
if strtoint(s1)>=10 then
begin
delete(s1,1,1);
s2:=inttostr(strtoint(s2)+1);
end;
end;
end;
if b1="100" then
begin
s5:=s1;
s4:=copy(s,1,1);
if s4="" then
s4:="0";
delete(s,1,1);
s1:=copy(s,1,1);
if s1="" then
s1:="0";
delete(s,1,1);
s3:=copy(s,1,1);
if s3>"" then
begin
if strtoint(s3)>=5 then
begin
a:=0+strtoint(s1)+1;
s1:=a;
end;
if strtoint(s1)>=10 then
begin
delete(s1,1,1);
s4:=inttostr(strtoint(s4)+1);
end;
if strtoint(s4)>=10 then
begin
delete(s4,1,1);
s2:=inttostr(strtoint(s2)+1);
end;
end;
end;
if b1="1000" then
begin
s5:=s1;
s4:=copy(s,1,1);
if s4="" then
s4:="0";
delete(s,1,1);
s1:=copy(s,1,1);
if s1="" then
s1:="0";
delete(s,1,1);
s7:=copy(s,1,1);
if s7="" then
s7:="0";
delete(s,1,1);
s6:=copy(s,1,1);
if s6>"" Then
Begin
if StrToInt(s6)>=5 then
begin
a:=0+strtoint(s7)+1;
s7:=a;
End;
if strtoint(s7)>=10 then
begin
delete(s7,1,1);
s4:=inttostr(strtoint(s1)+1);
end;
if strtoint(s1)>=10 then
begin
delete(s1,1,1);
s4:=inttostr(strtoint(s4)+1);
end;
if strtoint(s4)>=10 then
begin
delete(s4,1,1);
s2:=inttostr(strtoint(s2)+1);
end;
end;
end;
end;
End;
a:=s2+s5+s4+s1+s7;
result:=a;
end;
//////////////////////////////////////////////////////////////////
Затем в процедуре:
var
TrK:String;
begin
....
GSM_KOMTr.Caption := Okrug(TrK,"10");
....
Долго, при больших объемах но зато точно.
Может кто-то подскажет лучше...
← →
Anatoly Podgoretsky (2002-06-15 13:59) [6](DBEdit1.Field as TNumericField).DisplayFormat = "0.00"
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.07.08;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c