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

Вниз

stringgrid delphi почему не работает backspace как прописать?   Найти похожие ветки 

 
damtakon   (2013-05-14 10:59) [0]

как внести эту клавишу 8?


 
"Добрый Сок"   (2013-05-14 11:04) [1]

что значит не работает?

+[goEditing] и при нажатии на нее стирается символ слева в редактируемой ячейке.

А какие у вас ожидания? Ожидаете что она пойдет устроится работать экскаваторщиком? :)


 
damtakon   (2013-05-14 11:08) [2]

когда вводишь ячейки какое либо число последний символ не удоляется при помощи backspace при нажании на эжту кнопку просто не чего не происходит


 
brother ©   (2013-05-14 11:25) [3]

что делали с гридом?, ибо этого не может быть...


 
"Добрый Сок"   (2013-05-14 11:27) [4]

удаляется.
Последний символ, если ячейка в режиме редактирования
Все содержимое, если ячейка не в редактировании, но выбрана.

Возможно проблема в доп. коде, который написан уже вами
пример неработающего - в студию


 
damtakon   (2013-05-14 11:29) [5]

http://rghost.ru/45986388 вот исходник


 
"Добрый Сок"   (2013-05-14 11:36) [6]

медитировать над кодом

procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char);
begin
 if (StringGrid1.Col = 1) and (StringGrid1.Row = 1) then
   begin
     Key := #0;
     exit;
   end;

 if (Key < "0") or (Key > "9") then
   Key := #0;
end;


 
damtakon   (2013-05-14 11:40) [7]

и что делать чтобы заработало?


 
damtakon   (2013-05-14 11:42) [8]

убрал из кода это вроде работать стала кнопка


 
"Добрый Сок"   (2013-05-14 11:42) [9]

для начала объясните, что делает этот код
когда это сможете, тогда станет очевидно что надо дописать/поправить


 
damtakon   (2013-05-14 11:44) [10]

помойму этот код не дает написание буквенных символов точно уже не помню


 
damtakon   (2013-05-14 11:45) [11]

после того как с кода убрал буквы в таблицу теперь вводить можно но надо уцбрать их возможность вводу ну и чтобы backspace тоже работал при этом


 
"Добрый Сок"   (2013-05-14 12:08) [12]

правильно,

>  if (Key < "0") or (Key > "9") then
>    Key := #0;

тут написано
если
 клавиша меньше нуля
 ИЛИ
 клавиша больше девяти
тогда
 обнулить нажатие (вот и ничего и не происходило)

Способ1
надо добавить проверку на backspace
если
 клавиша меньше нуля
 ИЛИ
 клавиша больше девяти
тогда
 если
     клавиша не backspace
 тогда
     обнулить нажатие
 
Код клавиши backspace - #8; // Key = #8;

--------
Способ2
А лучше переписать наоборот
если НЕ
 (клавиша больше нуля
 И
 клавиша меньше девяти)
 ИЛИ клавиша backspace
тогда
  обнулить нажатие
--------
Способ3
Еще лучше - давать вводить все.
А уже во время вычислений проверить цифры там или нет,
если нет попросить исправить


 
turbouser ©   (2013-05-14 12:13) [13]

 if (not(Key in ["0" .. "9"])) or ((StringGrid1.Col = 1) and (StringGrid1.Row = 1)) then
 begin
   Key := #0;
   exit;
 end;


 
turbouser ©   (2013-05-14 12:14) [14]

т.е.
 if (not(Key in ["0" .. "9", #8, #46])) or ((StringGrid1.Col = 1) and (StringGrid1.Row = 1)) then
 begin
   Key := #0;
   exit;
 end;


 
damtakon   (2013-05-14 12:22) [15]

спасибо теперь работает


 
"Добрый Сок"   (2013-05-14 12:29) [16]


> turbouser ©

Злой ты - чел так и не поймет ведь, препод завалит одним вопросом
А я - добрый :) и сок еще :))



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

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

Наверх




Память: 0.5 MB
Время: 0.005 c
2-1368522852
Ponchik
2013-05-14 13:14
2014.03.09
Рамка Image


6-1271163307
pvr
2010-04-13 16:55
2014.03.09
IdHTTP + SSL


15-1380039505
Кто б сомневался
2013-09-24 20:18
2014.03.09
Запустить программу после выхода из StandBy (XPx64)


15-1379395335
БарЛог
2013-09-17 09:22
2014.03.09
Вспомнить Советскую фантастику


2-1368514793
damtakon
2013-05-14 10:59
2014.03.09
stringgrid delphi почему не работает backspace как прописать?