Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 28.10.2019, 23:43
Maks19 Maks19 вне форума
Начинающий
 
Регистрация: 19.06.2019
Сообщения: 115
Версия Delphi: Delphi7
Репутация: 10
По умолчанию Передача данных через stringGrid

Здравствуйте! Как правильно передавать числовые данные через stringGrid? Какое событие нужно использовать? По аналогии OnChange для Edit.
Ответить с цитированием
  #2  
Старый 29.10.2019, 13:50
Аватар для Kailon
Kailon Kailon вне форума
Активный
 
Регистрация: 06.06.2010
Сообщения: 339
Версия Delphi: 10.4
Репутация: 429
Сообщение

Цитата:
Сообщение от Maks19
Как правильно передавать числовые данные через stringGrid?
Не совсем понятно, что значит передавать? Откуда? Куда?

Цитата:
Сообщение от Maks19
По аналогии OnChange для Edit
У StringGrid есть событие OnSetEditText, через которое можно выяснить, в какую ячейку и какой текст был введён, например:
Код:
procedure TForm1.StringGrid1SetEditText(Sender: TObject; ACol, ARow: Integer;
  const Value: string);
begin
  Caption := 'ACol: ' + IntToStr(ACol) + '; ARow: ' + IntToStr(ARow) +
    '; Text = "' + Value + '"';
end;
А через событие OnGetEditText можно получить координаты ячейки и её значение, которое было до редактирования.
__________________
Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете.

Последний раз редактировалось Kailon, 29.10.2019 в 13:56.
Ответить с цитированием
  #3  
Старый 29.10.2019, 21:36
Maks19 Maks19 вне форума
Начинающий
 
Регистрация: 19.06.2019
Сообщения: 115
Версия Delphi: Delphi7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Kailon
Не совсем понятно, что значит передавать? Откуда? Куда?


У StringGrid есть событие OnSetEditText, через которое можно выяснить, в какую ячейку и какой текст был введён, например:
Код:
procedure TForm1.StringGrid1SetEditText(Sender: TObject; ACol, ARow: Integer;
  const Value: string);
begin
  Caption := 'ACol: ' + IntToStr(ACol) + '; ARow: ' + IntToStr(ARow) +
    '; Text = "' + Value + '"';
end;
А через событие OnGetEditText можно получить координаты ячейки и её значение, которое было до редактирования.
Передавать исходные данные переменным.
Ответить с цитированием
  #4  
Старый 30.10.2019, 12:14
Аватар для Kailon
Kailon Kailon вне форума
Активный
 
Регистрация: 06.06.2010
Сообщения: 339
Версия Delphi: 10.4
Репутация: 429
Сообщение

Не совсем понятно, что именно Вы хотите. StringGrid работает только с текстовой информацией и следовательно чтоб преобразовать текст в число необходимо воспользоваться StrToInt ну или StrToFloat. А как узнать в какую ячейку и что вводилось, я уже приводил пример.
__________________
Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 16:58.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter