Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
ВнизStringGrid - выравнивание чисел по правому краю Найти похожие ветки
← →
Denizzz (2004-04-19 08:56) [0]Подскажите, пожалуйста, как сделать, чтобы в StringGrid числовые значения выравнивались по правому краю.
Заранее благодарю.
← →
Denizzz (2004-04-19 08:56) [0]Подскажите, пожалуйста, как сделать, чтобы в StringGrid числовые значения выравнивались по правому краю.
Заранее благодарю.
← →
Anatoly Podgoretsky © (2004-04-19 08:57) [1]OnDrawCell
← →
Anatoly Podgoretsky © (2004-04-19 08:57) [1]OnDrawCell
← →
Denizzz (2004-04-19 09:32) [2]А как реализовать?
← →
Denizzz (2004-04-19 09:32) [2]А как реализовать?
← →
Sun bittern © (2004-04-19 09:50) [3]В статьи загляни
← →
Sun bittern © (2004-04-19 09:50) [3]В статьи загляни
← →
Denizzz (2004-04-19 14:33) [4]для columno"в и row"ев мне понятно.
но как написать чтобы он определил, что в ячейке число, чтобы выравнять по правому краю
← →
Denizzz (2004-04-19 14:33) [4]для columno"в и row"ев мне понятно.
но как написать чтобы он определил, что в ячейке число, чтобы выравнять по правому краю
← →
Danilka © (2004-04-19 14:37) [5]
> как написать чтобы он определил, что в ячейке число
например, так:
try
StrToInt(xxx);
exept
// не число
end;
:))
самый легкий, но мне не очень нравицца
← →
Danilka © (2004-04-19 14:37) [5]
> как написать чтобы он определил, что в ячейке число
например, так:
try
StrToInt(xxx);
exept
// не число
end;
:))
самый легкий, но мне не очень нравицца
← →
[lamer]Barmaglot © (2004-04-19 14:39) [6]Val ?
← →
[lamer]Barmaglot © (2004-04-19 14:39) [6]Val ?
← →
Denizzz (2004-04-19 14:40) [7]а через if then это возможно?
← →
Denizzz (2004-04-19 14:40) [7]а через if then это возможно?
← →
Danilka © (2004-04-19 14:43) [8][7] Denizzz (19.04.04 14:40)
можно :))
IsNumber:=true;
try
StrToInt(xxx);
exept
IsNumber := false;
end;
if IsNumber then ...
А на самом деле, а если немного напрячься и написать? Не так уж и сложно. Число это строка которая содержит цифры и может содержать один разделитель целой и дробной части. В чем проблема?
← →
Danilka © (2004-04-19 14:43) [8][7] Denizzz (19.04.04 14:40)
можно :))
IsNumber:=true;
try
StrToInt(xxx);
exept
IsNumber := false;
end;
if IsNumber then ...
А на самом деле, а если немного напрячься и написать? Не так уж и сложно. Число это строка которая содержит цифры и может содержать один разделитель целой и дробной части. В чем проблема?
← →
[lamer]Barmaglot © (2004-04-19 14:50) [9]Через IF? запросто
procedure TForm1.Button1Click(Sender: TObject);
var
s: string;
i: real;
Code: integer;
begin
s:="11.1";
val(s, i, code);
if code=0 then MessageBox(Form1.Handle, "число", "число", mb_ok);
end;
← →
[lamer]Barmaglot © (2004-04-19 14:50) [9]Через IF? запросто
procedure TForm1.Button1Click(Sender: TObject);
var
s: string;
i: real;
Code: integer;
begin
s:="11.1";
val(s, i, code);
if code=0 then MessageBox(Form1.Handle, "число", "число", mb_ok);
end;
← →
TransparentGhost (2004-04-19 16:47) [10]A chem ne nravica TRY?
tol"ko vmesto StrToInt ispol"zovat" StrToFloat!
← →
TransparentGhost (2004-04-19 16:47) [10]A chem ne nravica TRY?
tol"ko vmesto StrToInt ispol"zovat" StrToFloat!
← →
pasha_golub © (2004-04-19 16:56) [11]OnDrawCell:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var IsInt:boolean;
begin
IsInt := True;
try
strtoint(TStringGrid(Sender).Cells[ACol,ARow]);
except
IsInt := False;
end;
with TStringGrid(Sender) do
if IsInt then
DrawText(Canvas.Handle,PChar(Cells[ACol,ARow]),length(Cells[ACol,ARow]),Rect,DT_SINGLELINE or DT_RIGHT)
else
DrawText(Canvas.Handle,PChar(Cells[ACol,ARow]),length(Cells[ACol,ARow]),Rect,DT_SINGLELINE or DT_LEFT);
end;
← →
pasha_golub © (2004-04-19 16:56) [11]OnDrawCell:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var IsInt:boolean;
begin
IsInt := True;
try
strtoint(TStringGrid(Sender).Cells[ACol,ARow]);
except
IsInt := False;
end;
with TStringGrid(Sender) do
if IsInt then
DrawText(Canvas.Handle,PChar(Cells[ACol,ARow]),length(Cells[ACol,ARow]),Rect,DT_SINGLELINE or DT_RIGHT)
else
DrawText(Canvas.Handle,PChar(Cells[ACol,ARow]),length(Cells[ACol,ARow]),Rect,DT_SINGLELINE or DT_LEFT);
end;
← →
WebErr © (2004-04-19 17:00) [12]ИМХО Val(,,Code) Code <> 0 - значит не число.
try-except - это на любителя!
← →
WebErr © (2004-04-19 17:00) [12]ИМХО Val(,,Code) Code <> 0 - значит не число.
try-except - это на любителя!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.034 c