Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.11;
Скачать: CL | DM;

Вниз

StringGrid - выравнивание чисел по правому краю   Найти похожие ветки 

 
Denizzz   (2004-04-19 08:56) [0]

Подскажите, пожалуйста, как сделать, чтобы в StringGrid числовые значения выравнивались по правому краю.
Заранее благодарю.


 
Anatoly Podgoretsky ©   (2004-04-19 08:57) [1]

OnDrawCell


 
Denizzz   (2004-04-19 09:32) [2]

А как реализовать?


 
Sun bittern ©   (2004-04-19 09:50) [3]

В статьи загляни


 
Denizzz   (2004-04-19 14:33) [4]

для columno"в и row"ев мне понятно.
но как написать чтобы он определил, что в ячейке число, чтобы выравнять по правому краю


 
Danilka ©   (2004-04-19 14:37) [5]


> как написать чтобы он определил, что в ячейке число

например, так:

try
 StrToInt(xxx);
exept
// не число
end;

:))
самый легкий, но мне не очень нравицца


 
[lamer]Barmaglot ©   (2004-04-19 14:39) [6]

Val ?


 
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 ...

А на самом деле, а если немного напрячься и написать? Не так уж и сложно. Число это строка которая содержит цифры и может содержать один разделитель целой и дробной части. В чем проблема?


 
[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!


 
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 - это на любителя!



Страницы: 1 вся ветка

Текущий архив: 2004.04.11;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.03 c
1-1082525196
[BAD]Angel
2004-04-21 09:26
2004.04.11
как узнать количество файлов в папке?


3-1081795892
Ну вобщем это мой ник
2004-04-12 22:51
2004.04.11
Господа, Простите мою наглость, не могли ли бы вы накидать ссылок


3-1081441564
Somebody
2004-04-08 20:26
2004.04.11
http://www.ibase.ru/devinfo/dbexpress.htm


14-1082360010
Developerr
2004-04-19 11:33
2004.04.11
Смешанный домен Windows 2000


6-1076087080
Andrey1234
2004-02-06 20:04
2004.04.11
Подскажите - почему я данные не получаю? (TClientSocket)