Форум программистов, компьютерный форум, киберфорум
Наши страницы

C++ Builder

Войти
Регистрация
Восстановить пароль
 
Dr.Xank
41 / 41 / 12
Регистрация: 13.10.2012
Сообщений: 379
#1

Ошибка при работе с ини файлами когда разделителем является не "=", а ":" - C++ Builder

03.02.2015, 13:11. Просмотров 404. Ответов 5
Метки нет (Все метки)

Всем привет.

Такая проблема имеются файлы ".ini" в них разделителем является не знак "=", а двоеточие ":" как с ними можно работать? Может есть где, что прописать?

пример ини файла.

Код
[InfectedObject]
Type: Service
Name: vmci
Type: Kernel driver (0x1)
Start: Boot (0x0)
ImagePath: system32\DRIVERS\vmci.sys
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.02.2015, 13:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка при работе с ини файлами когда разделителем является не "=", а ":" (C++ Builder):

Ошибка при компиляции: "E2275 { expected" и "E2040 Declaration terminated incorrectly" - C++ Builder
Здравствуйте! При компиляции выдает такую ошибку: C++ Error] Unit1.cpp(12): E2275 { expected Unit1.cpp(147): E2040 Declaration...

Ошибка при использовании OlePropertyGet("Documents").OleProcedure("Add") - C++ Builder
При использовании следующего кода: Word = CreateOleObject("Word.Application.8"); Word.OlePropertySet("Visible", true); ...

Ошибка при работе с com портом: "Не возможно открыть последовательный порт" - C++ Builder
Помогите пожалуйста, не могу понять в чем причина. Написал программу открытия com порта, а она выдает "Не возможно открыть последовательный...

Появляется ошибка "Unable to open file 'C0W32.OBJ'" при работе с двумя формами - C++ Builder
При работе с двумя формами выдает следующее: Fatal: Unable to open file 'C0W32.OBJ' что делать?

MessageBox - чтобы вместо "Yes" и "No" показывало "Да" и "Нет" - C++ Builder
Доброе время суток, как переделать int Key= Application->MessageBox(L"Text", L"Caption", MB_YESNO|MB_ICONQUESTION|MB_DEFBUTTON2); чтоб...

Открыть папку "мой компьютер", "панель управления", "program files" - C++ Builder
Нужно открыть папку "мой компьютер", "панель управления", "program files"

5
SatanaXIII
Супер-модератор
Эксперт С++
5650 / 2695 / 252
Регистрация: 01.11.2011
Сообщений: 6,588
Завершенные тесты: 1
03.02.2015, 13:44 #2
Если файл не слишком большой, то можно попробовать его перезаписать.
Можно попробовать станцевать от TStrem. То же, что и первый вариант, но просто без записи на диск.
Можно на крайняк отойти от ini-концепции и парсить врукопашную.

Но это так все, мозговой штурм.
1
Avazart
Эксперт С++
7432 / 5471 / 310
Регистрация: 10.12.2010
Сообщений: 24,383
Записей в блоге: 17
03.02.2015, 14:04 #3
Покопаться в исходниках на IniFile и сварганить свой класс.
0
Dr.Xank
41 / 41 / 12
Регистрация: 13.10.2012
Сообщений: 379
03.02.2015, 16:27  [ТС] #4
Придется самому парсить.
Цитата Сообщение от Avazart Посмотреть сообщение
Покопаться в исходниках на IniFile и сварганить свой класс.
А где его взять? Как я понял у меня только файлы .hpp.
0
Avazart
Эксперт С++
7432 / 5471 / 310
Регистрация: 10.12.2010
Сообщений: 24,383
Записей в блоге: 17
03.02.2015, 16:35 #5
Исходники на Delphi что должно быть и так понятно.
0
BRcr
4011 / 2301 / 155
Регистрация: 03.02.2011
Сообщений: 5,064
Записей в блоге: 10
04.02.2015, 15:16 #6
C:\Program Files (x86)\Embarcadero\RAD Studio\10.0\source\rtl\common\System.IniFiles.pas

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
{$IFDEF MSWINDOWS}
  { TIniFile - Encapsulates the Windows INI file interface
    (Get/SetPrivateProfileXXX functions) }
 
  TIniFile = class(TCustomIniFile)
  public
    destructor Destroy; override;
    function ReadString(const Section, Ident, Default: string): string; override;
    procedure WriteString(const Section, Ident, Value: String); override;
    procedure ReadSection(const Section: string; Strings: TStrings); override;
    procedure ReadSections(Strings: TStrings); override;
    procedure ReadSectionValues(const Section: string; Strings: TStrings); override;
    procedure EraseSection(const Section: string); override;
    procedure DeleteKey(const Section, Ident: String); override;
    procedure UpdateFile; override;
  end;
{$ELSE}
    TIniFile = class(TMemIniFile)
    public
      destructor Destroy; override;
    end;
{$ENDIF}
И вся реализация там же.
0
04.02.2015, 15:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.02.2015, 15:16
Привет! Вот еще темы с ответами:

Ищу исходник игры на С++, на подобие "Солитер", "Быки и коровы", "Змейка" и т. д - C++ Builder
Нужен код игры на С++, на подобие "Солитер", "Быки и коровы", "Змейка" и т. д. Или ссылки на исходники, не смогла их...

Найти частоту встречаемости следующих друг за другом символов "А", "В"и "С". - C++ Builder
В заданном тексте найти частоту встречаемости следующих друг за другом символов "А", "В"и "С". Я написала:void __fastcall...

Ошибка " Is not a valid integer value " или " sqrt: DOMAIN error " - C++ Builder
Добрый день! Программа должна рассчитать 2-ю диагональ и затем площадь ромба. Но когда присваиваю d2 = Edit3->Text и s = Edit3->Text,...

"Появление файла" при установке "флажка" - C++ Builder
подскажите пожалуйста как сделать,что бы при нажатии на первую кнопку например или при установлении первого флажка...появлялся первый файл...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.