43 / 1 / 1
Регистрация: 05.01.2014
Сообщений: 337

Запись состояний элементов VCL

06.05.2014, 13:11. Показов 2391. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
Подскажите пожалуйста код, который позволяет записать в файл в обработчике события кнопки заданное состояние RadioButton, то есть записать не количество Items в файл, а именно текущий ItemIndex в файл
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.05.2014, 13:11
Ответы с готовыми решениями:

запись состояний порта lpc1343
Разбираюсь тут с lpc1343. Возникла необходимость считать состояния с определенных портов (по типу PINB или GPIOx_IDR на STM32) в...

Сортировка и умножение элементов матриц (VCL)
Давно на дельфи не писал, помогите, пожалуйста. Надо с визуальными компонентами.

машина состояний
Здравствуйте. Подскажите пожалуйста, что почитать про машины состояний,а то ничего дельного нагуглить не могу.

25
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
21.11.2014, 11:57
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Pir12345 Посмотреть сообщение
как сделать так, чтобы булева функция была как событие на Button1Click ?
Для этого выделите кнопку в редакторе формы. Перейдите в инспектор объектов. Во вкладке с событиями кнопки напротив надписи OnClick выберите название требуемой функции. При этом функция должна быть объявлена как __published член формы.

Ну или самое простое: уберите входной параметр функции и положите ее в OnClick кнопки. А из фунции сохранения выкиньте все проверки и условия, и пишите сразу прям все.
0
43 / 1 / 1
Регистрация: 05.01.2014
Сообщений: 337
21.11.2014, 12:16  [ТС]
уберите входной параметр функции и положите ее в OnClick кнопки - входной параметр какой функции? не совсем понял
0
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
21.11.2014, 12:31
Типа вот так (работоспособность не проверял):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
bool SaveControlState( /*TObject *ctrl*/ ) // Вот это параметр
{
const String FileName = "D:\\111\\memosave.txt";
 
TStringList *sl = new TStringList();
if( FileExists( FileName ) )
  sl->LoadFromFile( FileName );
 
sl->Add( " Tame = " + Now().FormatString( "hh:mm:ssss" ) );
 
  {
  sl->Add( " Value = " + IntToStr(
                                 ( static_cast<TRadioGroup*> (ctrl) )->ItemIndex )
                                 );
  }
  {
  sl->Add( " Value = press" );
  }
  {
  sl->Add( " Text = \"" + ( static_cast<TMemo*> (ctrl) )->Text + "\"");
  }
 
sl->SaveToFile( FileName );
 
delete sl;
 
return true;
}
0
43 / 1 / 1
Регистрация: 05.01.2014
Сообщений: 337
21.11.2014, 12:43  [ТС]
Ругается на ctrl в 20 и 13 строчках - неопознаны
C++
1
2
3
4
void __fastcall TForm1::Button1Click(TObject *Sender)
{
SaveControlState(TObject *ctrl);
}
Ему не нравится

C++
1
2
3
4
void __fastcall TForm1::Button1Click(TObject *ctrl)
{
SaveControlState();
}
Так принимает
0
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
21.11.2014, 12:47
Цитата Сообщение от Pir12345 Посмотреть сообщение
Ругается на ctrl в 20 и 13 строчках - неопознаны
Ну подпишите заместо
Цитата Сообщение от SatanaXIII Посмотреть сообщение
( static_cast<TRadioGroup*> (ctrl) )
ваше TRadioGroup1.
А заместо
Цитата Сообщение от SatanaXIII Посмотреть сообщение
( static_cast<TMemo*> (ctrl) )
ваше TMemo1.

Цитата Сообщение от Pir12345 Посмотреть сообщение
Ему не нравится
Ясен день:
C++
1
2
3
4
void __fastcall TForm1::Button1Click(TObject *Sender)
{
SaveControlState( /*TObject *ctrl*/ ); // Мы ж его там вон убрали
}
0
 Аватар для BRcr
4043 / 2333 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
22.11.2014, 20:09
Цитата Сообщение от Pir12345 Посмотреть сообщение
А как сделать так, чтобы булева функция была как событие на Button1Click ?
То есть само нажатие Button1 записывать в файл не нужно, а нужно по нажатию Button1 записывать текущие состояния компонент на форме.
Или по другому, изменил Item на Radiogroup, а потом чтобы это записать в файл, нужно нажать Button1
Просто делаешь цикл прохода по всем визуальным контролам формы, записывая интересующие свойства. У формы есть список Controls для этих целей...

Не по теме:

Цитата Сообщение от SatanaXIII Посмотреть сообщение
do
{
//...
}while( false ); // Для тех, кто не любит goto
Скорее, для тех, кто регулярно любит мозг себе и окружающим.:D

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.11.2014, 20:09
Помогаю со студенческими работами здесь

Поиск в пространстве состояний
Здравствуйте. Не могли бы Вы помочь решить задачу, которую мне подсунул коллега. Произвести поиск в пространстве состояний. Дан...

Диаграммы действий и состояний
Я новичок.Кто может объяснить по скайпу, пожалуйста, отпишитесь. Смотрел кучу литературы но так и не понял как связать между собой агенты и...

Поиск в пространстве состояний
Поиск пространств и состояний (в глубину, в ширину,евристический поиск) Поиск в пространстве состояний (в глубину, в ширину,...

Машина состояний. АТiny2313.
Здраствуйте. Столкнулся с такой проблемой: формировал последовательность импульсов в порт, так вот если основной цикл пуст, то всё работает...

Массив состояний заказа
Добрейшего вечера! Соль задания была в чем - создать массив состояний заказа, создать enum-ы под состояния заказа и нужно ввести в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
26
Ответ Создать тему
Опции темы

Новые блоги и статьи
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений. . . .
21 мат мед. Планы на развитие модели здравоСохранения
anaschu 01.06.2026
AnyLogic: план развития симуляционной модели рабочего коллектива — динамический абсентеизм, реальные данные, три сценария сравнения Продолжаю серию постов о дискретно-событийной модели рабочего. . .
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru