Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.04.2015, 21:23   #1
holms
Новичок
Джуниор
 
Регистрация: 19.04.2015
Сообщений: 6
По умолчанию Delphi 7: как сделать так, что бы edit выставляла значение на strnggrid

Помогите пожалуйста , как сделать что бы edit выставляла значение на strnggrid (rowcount) ?

Последний раз редактировалось Вадим Мошев; 19.04.2015 в 21:26.
holms вне форума Ответить с цитированием
Старый 19.04.2015, 21:29   #2
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Например, так (приблизительно):
Код:
stringGrid1.cells[номер_столбца, номер_строки]:=edit1.text;
Вадим Мошев вне форума Ответить с цитированием
Старый 19.04.2015, 21:34   #3
holms
Новичок
Джуниор
 
Регистрация: 19.04.2015
Сообщений: 6
По умолчанию

Спасибо уже
сделал

Код:
procedure TForm1.edt1Change(Sender: TObject);
begin
n:=StrToInt(edt1.Text);
strngrd1.RowCount:=n;
strngrd1.Visible :=True;
end;
Используйте тэг CODE (кнопка #) для оформления кода

Последний раз редактировалось Вадим Мошев; 19.04.2015 в 21:38.
holms вне форума Ответить с цитированием
Старый 19.04.2015, 21:37   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А теперь набери в эдите 1, еще 1 и еще любую цифру. Посмотри что получится. Для полноты впечатлений введи в него букву А например
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 19.04.2015, 21:41   #5
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
А теперь набери в эдите 1, еще 1 и еще любую цифру. Посмотри что получится. Для полноты впечатлений введи в него букву А например
Проблема будет раньше - переменная n - не объявлена.
Вадим Мошев вне форума Ответить с цитированием
Старый 19.04.2015, 21:42   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Объявлена она наверняка глобально, это не беда для начинающего
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 19.04.2015, 21:46   #7
holms
Новичок
Джуниор
 
Регистрация: 19.04.2015
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
А теперь набери в эдите 1, еще 1 и еще любую цифру. Посмотри что получится. Для полноты впечатлений введи в него букву А например
вот эта ошибка если ввести букву
Изображения
Тип файла: jpg Безымянный.jpg (10.5 Кб, 108 просмотров)
holms вне форума Ответить с цитированием
Старый 19.04.2015, 21:51   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Я бы в OnChange эдита это не делал. Проверить-то и в нем можно на валидность введенного, но дергать грид будет по каждому чиху. Проверить на валидность можно функцией TryStrToInt. Можно запретить в эдит вводить все кроме цифр. Что бы не дергало или в OnExit эдита, или в OnClick кнопки, где все проверить и настроить грид
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 19.04.2015, 21:56   #9
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
Сообщение от holms Посмотреть сообщение
вот эта ошибка если ввести букву
А всё потому, что вы, ни на что не глядя, переводите то, что вы написали в эдите в число. Если вы оставите поле Edit пустым, то получите ту же самую ошибку.

Цитата:
Сообщение от Аватар Посмотреть сообщение
Можно запретить в эдит вводить все кроме цифр.
Вот обработчик события, который позволяет это сделать:
Код:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
 if NOT (key in ['0'..'9', chr(8)]) then begin
  key:=chr(0);
 end;
end;
Цитата:
Сообщение от Аватар Посмотреть сообщение
Объявлена она наверняка глобально, это не беда для начинающего
Надо на ранних стадиях отучать объявлять переменные глобально
Вадим Мошев вне форума Ответить с цитированием
Старый 19.04.2015, 22:04   #10
holms
Новичок
Джуниор
 
Регистрация: 19.04.2015
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
А всё потому, что вы, ни на что не глядя, переводите то, что вы написали в эдите в число. Если вы оставите поле Edit пустым, то получите ту же самую ошибку.



Вот обработчик события, который позволяет это сделать:
Код:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
 if NOT (key in ['0'..'9', chr(8)]) then begin
  key:=chr(0);
 end;
end;


Надо на ранних стадиях отучать объявлять переменные глобально
все равно выбивает эту ошибку при наборе буквы либо пустого поля
holms вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
delfi 7 *Fantom* Помощь студентам 7 03.06.2013 01:06
Delfi *Fantom* Помощь студентам 7 28.05.2013 13:17
delfi to c# evander2711 Помощь студентам 0 22.12.2012 17:51
Delfi RS219 Свободное общение 1 18.05.2010 12:32