Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.011 c
2-1149517596
Тимофей Юрьевич
2006-06-05 18:26
2006.06.25
код из txt в обработчик onclick


15-1149064855
0bsid
2006-05-31 12:40
2006.06.25
Delphi уроки $$


8-1135810572
MIDI
2005-12-29 01:56
2006.06.25
Как проиграть MIDI ?


6-1139813826
Pavlusha00
2006-02-13 09:57
2006.06.25
БД Через Proxy


1-1148025448
QuickFinder
2006-05-19 11:57
2006.06.25
Текстовые файлы огромного размера





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский