Форум: "Начинающим";
Текущий архив: 2006.06.25;
Скачать: [xml.tar.bz2];
ВнизГоспода подскажите пожалуйста как сделать чтобы в таблицу Найти похожие ветки
← →
JTAG (2006-06-04 15:59) [0]StringGrid вводились числа только от 0 до 255?
← →
Галинка © (2006-06-04 21:29) [1]Проверять Cells на значение ??
← →
JTAG (2006-06-04 22:16) [2]Ну да, когда человек вводит число, чтобы оно в процессе ввода проверялось не больше ли 255, если больше , то не вводится.
← →
Джо © (2006-06-04 22:21) [3]Ну, делай свою проверку в обработчиках событий OnSelEditText, OnExit или OnKeyPress — в зависимости от способа, выбранного для реагирования на некорректный ввод.
← →
JTAG (2006-06-04 22:27) [4]Спасибо!
← →
Kolan © (2006-06-04 22:27) [5]
procedure TForm1.StringGrid1SetEditText(Sender: TObject; ACol,
ARow: Integer; const Value: String);
begin
if (StrToInt((Sender as TStringGrid).Cells[ACol, ARow]) > 255) or
(StrToInt((Sender as TStringGrid).Cells[ACol, ARow]) < 0)
then
(Sender as TStringGrid).Cells[ACol, ARow] := "";
end;
Как-то так наверно.
PS
Проверить не смог, тк забыл что нужно выставить чтобы разрешить ввод..
← →
Джо © (2006-06-04 22:31) [6]> Проверить не смог, тк забыл что нужно выставить чтобы разрешить
> ввод..
goEditing в Options.
> Как-то так наверно.
Этот вариант просто будет выбрасывать исключения при попытках ввести нечисловые значения. Есть хорошая функция, возвращающая Boolean — TryIntToStr.
← →
Kolan © (2006-06-04 22:36) [7]
procedure TForm1.StringGrid1SetEditText(Sender: TObject; ACol,
ARow: Integer; const Value: String);
begin
if (StrToInt((Sender as TStringGrid).Cells[ACol, ARow]) > 255) or
(StrToInt((Sender as TStringGrid).Cells[ACol, ARow]) < 0)
then
(Sender as TStringGrid).Cells[ACol, ARow] := "";
end;
Как-то так наверно.
PS
Проверить не смог, тк забыл что нужно выставить чтобы разрешить ввод..
← →
Kolan © (2006-06-04 22:41) [8]
var
CellValue: Integer;
ConvertResult: Boolean;
begin
ConvertResult := TryStrToInt((Sender as TStringGrid).Cells[ACol, ARow],
CellValue);
if ConvertResult and ((CellValue > 255) or (CellValue < 0)) then
(Sender as TStringGrid).Cells[ACol, ARow] := "";
end;
Так то лучьше :)
← →
Kolan © (2006-06-04 22:43) [9]Ну и еще сеть хорошая вешь
with
← →
MsGuns © (2006-06-05 10:44) [10]>Kolan © (04.06.06 22:41) [8]
>Так то лучьше :)
Ничего хорошего.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.06.25;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.009 c