Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.11.07;
Скачать: [xml.tar.bz2];

Вниз

Ограничение на ввод в Stringgrid   Найти похожие ветки 

 
Настенька   (2004-10-21 20:15) [0]

я меня есть стринггрид. я хочу, чтобы в 1 ячейку можно было вводить только цифры, а во 2 - только буквы. как это сделать?


 
begin...end ©   (2004-10-22 08:52) [1]

TStringGrid.OnSetEditText ?


 
RDen   (2004-10-22 09:10) [2]

StringGridGetEditMask


 
Настенька   (2004-10-23 08:28) [3]

нет я делала так на событие onkeypress
if not (key in ["0".."9",#10,#13]) then key:=#0;
это круто работает, но для всего стринггрида, а мне надо для каждой ячейки свое ограничение


 
Amoeba ©   (2004-10-23 13:47) [4]


> Настенька   (23.10.04 08:28) [3]
> нет я делала так на событие onkeypress
> if not (key in ["0".."9",#10,#13]) then key:=#0;
> это круто работает, но для всего стринггрида, а мне надо
> для каждой ячейки свое ограничение

Тогда смотри посты [1] и [2].


 
Настенька   (2004-10-23 15:42) [5]

извините, что такое посты? и где их смотреть?


 
Amoeba ©   (2004-10-23 15:45) [6]


> Настенька   (23.10.04 15:42) [5]
> извините, что такое посты? и где их смотреть?

Если не поняла - то имеются в виду ответы [1] и [2].


 
Настенька   (2004-10-23 15:51) [7]

ну а какой из них правильный и как их использовать? помогите кодом


 
Amoeba ©   (2004-10-23 16:41) [8]

Вполне можно обрабатывать OnKeyPress, как у тебя сделано, только при это нужно отслеживать в какую ячейку делатся ввод (св-ва Row и Col) и в зависимости от этого задавать неообходимые ограничения на ввод. Это сделать очень просто.


 
begin...end ©   (2004-10-23 19:26) [9]


> [7] Настенька   (23.10.04 15:51)


> помогите кодом

Вы меня расстроили, Настенька. Я теперь расстроенный. :о(


 
GanibalLector ©   (2004-10-23 19:52) [10]


procedure TForm1.StringGrid1SetEditText(Sender: TObject; ACol,
 ARow: Integer; const Value: String);
var i:integer;  
begin
if acol=3 then begin
if length(value)>1 then
stringgrid1.cells[acol,arow]:="1";
for i:=1 to length(value) do
if (value[i]<"1") or (value[i]>"8") then
stringgrid1.cells[acol,arow]:="1";
                      end;
if acol=2 then begin
if length(value)>6 then
stringgrid1.cells[acol,arow]:="0";
for i:=1 to length(value) do
if ((value[i]<"0") or (value[i]>"9"))then
stringgrid1.cells[acol,arow]:="0";
              end;
if acol=1 then begin
if length(value)>13 then
stringgrid1.cells[acol,arow]:="&#210;&#206;&#194;&#192;&#208;"+inttostr(arow);
for i:=1 to length(value) do
if value[i]=";"then
...
...


 
atruhin ©   (2004-10-24 08:04) [11]

>>GanibalLector ©   (23.10.04 19:52) [10]
Извени но это галимотья.
StringGrid.GetEditMask и в зависимости от номера активной колонки возвращаем маску. Вопрос решается в 2 строки.


 
Настенька   (2004-10-24 08:48) [12]

нет лучше на onkeypress, там код в 1 строку, а мистер GanibalLector сделал код в 23 строки.



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

Форум: "Основная";
Текущий архив: 2004.11.07;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.047 c
3-1096816746
Muchacho
2004-10-03 19:19
2004.11.07
Unicode в InterBase


14-1098353462
Pentium133
2004-10-21 14:11
2004.11.07
Пропал ObjectInspector


1-1098779002
Brooks Seth
2004-10-26 12:23
2004.11.07
Млин...


3-1096895604
Alex_V
2004-10-04 17:13
2004.11.07
Как избавиться от изменения размеров


4-1096702312
dir__er
2004-10-02 11:31
2004.11.07
hWindow to hProcess





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский