Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
43 / 1 / 1
Регистрация: 05.01.2014
Сообщений: 337

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

06.05.2014, 13:11. Показов 2274. Ответов 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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru