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

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.002 c
2-1368886530
Suffer
2013-05-18 18:15
2014.03.09
переменные в DLL


15-1379795402
Юрий
2013-09-22 00:30
2014.03.09
С днем рождения ! 22 сентября 2013 воскресенье


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


2-1368607169
Аделина
2013-05-15 12:39
2014.03.09
Срочно нужна помочь в исправлении ошибок!


15-1380227403
Юрий
2013-09-27 00:30
2014.03.09
С днем рождения ! 27 сентября 2013 пятница





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