![]() |
|
|
![]()
|
|
| Noman |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 21.4.2007 Где: /mnt/Nowhere Репутация: нет Всего: нет |
Доброго времени суток.
Я в C++ начинающий, и если мой вопрос покажется совсем глупым, сильно не пинайте. Я пишу программку, которая закрывает определенные процессы и отправляет копм в спящи режим. В главной форме имеется кнопка настроек на другую форму - где есть 5 полей ввода (Edit), чекбокс (Игнорировать наличие выгруженных приложений) и кнопки Ок и Отмена (BitBtn). Так вот, вопрос в следующем, как мне отправить все данные из полей Edit и переменную о состоянии чекбокса в *.ini файл, и как соответственно его прочесть в первой форме? И еще вопрос, можно ли сделать так, чтобы названия процессов можно было вводить руками, а можно выбрать через winapi? Заранее благодарен. |
|||
|
||||
| Klin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1938 Регистрация: 7.10.2002 Где: Краснодар Репутация: 20 Всего: 25 |
Что-то много вопрос, отвечу на основной (отправка информации). Я бы сделал так:
-------------------- Я человек - попробуйте обвинить меня за это. |
|||
|
||||
| Klin |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1938 Регистрация: 7.10.2002 Где: Краснодар Репутация: 20 Всего: 25 |
немного не понял Кстаити для чекбоксов можно так:
-------------------- Я человек - попробуйте обвинить меня за это. |
||||
|
|||||
| Noman |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 21.4.2007 Где: /mnt/Nowhere Репутация: нет Всего: нет |
Klin, сразу видно профи
Все работет, единственно такой вопрос - я создал memo1, но он мне по сути не нужен (только для отправки данных в файл) и я сделал его невидимым, но при отправке данных получается:
Это можно убрать? Я имел ввиду, чтобы можно было или вписать руками или выбрать приложение, как по кнопке "Обзор" Добавлено через 7 минут и 18 секунд Только наверное Memo1->Lines->Add(BoolToStr(CheckBox1->Checked,true)); Это сообщение отредактировал(а) Noman - 21.4.2007, 16:14 |
|||
|
||||
| Klin |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1938 Регистрация: 7.10.2002 Где: Краснодар Репутация: 20 Всего: 25 |
вообще-то нет У мемо есть свойство WordWrap ставишь false и все.
Есть компонент OpenDialog, можно использовать его или другие из вкладки Dialogs
само собой -------------------- Я человек - попробуйте обвинить меня за это. |
||||
|
|||||
| Noman |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 21.4.2007 Где: /mnt/Nowhere Репутация: нет Всего: нет |
Спасибо.
А как можно обойти такой вариант - если раза выставить настройки не закрывая программу, то соответственно они запишутся 2 раза. Насколько я понимаю, чтобы этого избежать надо выполнить проверку, но что именно надо проверять, и как. Хотя бы в общих чертах... |
|||
|
||||
| mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 3 Всего: 128 |
Могу дать два варианта.
1. Тупо ввести глобальную логическую переменную и после записи присваивать ей, например, false, а потом проверять при записи, а не является ли она false. Грубо, но работает. 2. Проверять при записи настроек, не совпадает ли только что выбранная настройка с уже записанной. |
|||
|
||||
| Klin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1938 Регистрация: 7.10.2002 Где: Краснодар Репутация: 20 Всего: 25 |
Зачем устраивать проверки?Насколько я знаю данные перезаписываются. Если же нет, то просто перед занисенем данных в memo сохраняем его пустым в указанный фал.
-------------------- Я человек - попробуйте обвинить меня за это. |
|||
|
||||
| Noman |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 21.4.2007 Где: /mnt/Nowhere Репутация: нет Всего: нет |
Получается так - открываю программу - захожу в настройки, ввожу туда какие-либо данные. Потом закрываю настройки и вновь, не закрывая саму программу, открываю настройки, и еще раз ввожу данные. После в ini файле получается следующее:
вместо
З.Ы. Я поставил WordWrap false, но это почему-то не помогло... Это сообщение отредактировал(а) Noman - 21.4.2007, 22:57 |
||||||
|
|||||||
| Klin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1938 Регистрация: 7.10.2002 Где: Краснодар Репутация: 20 Всего: 25 |
А, так у вас мемо постоянно добовляются данные!
-------------------- Я человек - попробуйте обвинить меня за это. |
|||
|
||||
| Noman |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 21.4.2007 Где: /mnt/Nowhere Репутация: нет Всего: нет |
То что надо А с помощью чего данные можно оттуда извлечь? То бишь по идее этот файл нужен только для того, чтобы настройки не слетали после закрытия программы, и при открытии оной, соответственно, прочитывала имеющийся data.ini В программе также присутствует таймер, который изменятся в зависимости от выбранной в настройках RadioButton. То есть запускается программа, смотрит на наличие установок и если не находит их, то остается без действий, а если настройки есть, то завершает выбранные ранее приложения, и в зависимости от выбранной RadioButton (а их 5 штук - "Отключено", "5 секунд", "10 секунд", "15 секунд", "20 секунд") выполняет заданные действия (это ф-ции Close() и Hibernate()). Как изменить значения интервала таймера я разобрался:
А как мне записать их в файл и выдернуть оттуда пока не понял.... |
||||
|
|||||
| mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 3 Всего: 128 |
Чего вы мучаетесь с Memo? Для работы с INI есть спец. класс TIniFile, который превосходно справляется и с записью, и с извлечением настроек. Изучение этого класса - 15 минут времени.
|
|||
|
||||
| Noman |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 21.4.2007 Где: /mnt/Nowhere Репутация: нет Всего: нет |
А какой вариант лучше использовать? TMemIniFile или TCustomIniFile?
Добавлено через 10 минут и 36 секунд Хм, а почему файл не хочет создаваться? (ошибок не пишет):
|
|||
|
||||
| Noman |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 21.4.2007 Где: /mnt/Nowhere Репутация: нет Всего: нет |
Даже код из примера файл упорно не создает
|
|||
|
||||
| mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 3 Всего: 128 |
Использовать ни то и ни другое, а просто TIniFile.
Файл создается, но создается он где-то на диске C. Я обычно создаю его так, чтобы проблем не было:
|
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |