Форум программистов, компьютерный форум, киберфорум
Pure Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/14: Рейтинг темы: голосов - 14, средняя оценка - 4.79
12 / 12 / 0
Регистрация: 29.08.2010
Сообщений: 613

Работа с несколькими ini-файлами

19.08.2012, 21:03. Показов 2927. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
помогите пожалуйста нужно в файле log2.ini найти keyword с самым наибольшим значением, затем в файле log3.ini найти значение этого keyword. Если оно не 2, то в log2.ini найти keyword со вторым по счёту значением и так же проверить в файлее log3.ini 2 или не 2 значение этого keyword, и так пока не будет 2.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.08.2012, 21:03
Ответы с готовыми решениями:

Работа с INI файлами
Кто может показать рабочий пример работы с ini файлом(тоесть открыть, считать, изменить и закрыть) вот что в инике: znachenie=1 ...

Работа с ini файлами
Добрый день, появился не большой вопрос! Мне нужно в программе работать с ini файлом который должен быть в папке с программой. А...

Работа с ini-файлами
есть ли какие-от возможности чтения и записи в ini-файл?

7
Эксперт по электронике
6493 / 3123 / 331
Регистрация: 28.10.2011
Сообщений: 12,277
Записей в блоге: 7
19.08.2012, 21:10
А не проще тогда найти в log3.ini ключ со значением 2 и задача решена.
1
12 / 12 / 0
Регистрация: 29.08.2010
Сообщений: 613
19.08.2012, 21:15  [ТС]
locm, в смысле ключ? в log3 очень много keyword'ов имеет значение 2, надо то у которого наибольшее значение в log2.ini
0
Эксперт по электронике
6493 / 3123 / 331
Регистрация: 28.10.2011
Сообщений: 12,277
Записей в блоге: 7
19.08.2012, 21:29
Ну а в чем проблема?
Считать все ключи из log2.ini сохранив их значения и позицию (или имя в зависимости от того, по какому критерию будут сравниваться с ключами из log3.ini).
Далее отсортировать список таким образом, чтобы наибольшее значение было в начале.
Потом останется только пройтись по уже отсортированному списку от начала и да кона, ища совпадения в log3.ini.
1
12 / 12 / 0
Регистрация: 29.08.2010
Сообщений: 613
19.08.2012, 23:04  [ТС]
locm, я не знаю как это сделать( помоги пожалуйста кодом.(
0
Эксперт по электронике
6493 / 3123 / 331
Регистрация: 28.10.2011
Сообщений: 12,277
Записей в блоге: 7
19.08.2012, 23:33
Прочитай все кличи из INI файла в связанный список.
Отсортируй список в порядке убывания.
Останется только пройтись в цикле по списку и найти аналогичные ключи в log3.ini.
1
12 / 12 / 0
Регистрация: 29.08.2010
Сообщений: 613
29.08.2012, 13:13  [ТС]
Цитата Сообщение от locm Посмотреть сообщение
Прочитай все кличи из INI файла в связанный список.
как конкретно это сделать?
0
Эксперт по электронике
6493 / 3123 / 331
Регистрация: 28.10.2011
Сообщений: 12,277
Записей в блоге: 7
29.08.2012, 14:44
Цитата Сообщение от aristov-96 Посмотреть сообщение
как конкретно это сделать
Функциями ExaminePreferenceKeys(), NextPreferenceKey() и другими.

Пример.
PureBasic
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
Enumeration
  #Window_0
EndEnumeration
 
 
Enumeration
  #Text_0
  #String_0
  #Button_0
  #Text_1
  #Tree_0
  #Text_2
  #String_1
EndEnumeration
 
Global NewList Preference_KeyValue.s()
 
Procedure ScanINI_File(FileName.s)
  PosList=0
  SetGadgetText(#String_1,"")
  ClearGadgetItems(#Tree_0)
  ClearList(Preference_KeyValue())
  If OpenPreferences(FileName)
    If ExaminePreferenceGroups()
      While NextPreferenceGroup()
        AddGadgetItem(#Tree_0,-1,PreferenceGroupName(),0,0)
        If  ExaminePreferenceKeys()
          While NextPreferenceKey()
            AddGadgetItem(#Tree_0,-1,PreferenceKeyName(),0,1)
            AddElement(Preference_KeyValue())
            Preference_KeyValue()=PreferenceKeyValue()
            SetGadgetItemData(#Tree_0, CountGadgetItems(#Tree_0)-1, PosList)
            PosList+1
          Wend
        EndIf
      Wend
    EndIf
    
    x=0
    PreferenceGroup("")
    If ExaminePreferenceKeys()
      While NextPreferenceKey()
        If x=0
          AddGadgetItem(#Tree_0,-1,"Ключи без раздела",0,0)
          x=1
        EndIf
        AddGadgetItem(#Tree_0,-1,PreferenceKeyName(),0,1)
        AddElement(Preference_KeyValue())
        Preference_KeyValue()=PreferenceKeyValue()
        SetGadgetItemData(#Tree_0, CountGadgetItems(#Tree_0)-1, PosList)
        PosList+1
      Wend
    EndIf
    ClosePreferences()
  Else
    MessageRequester("", "Нет файла", #MB_OK|#MB_ICONERROR)
  EndIf
EndProcedure
 
Procedure Open_Window_0()
  If OpenWindow(#Window_0, 303, 234, 399, 335, "Просмотр INI файла",  #PB_Window_MinimizeGadget | #PB_Window_Invisible | #PB_Window_TitleBar | #PB_Window_ScreenCentered )
      TextGadget(#Text_0, 5, 10, 100, 15, "Путь к INI файлу:")
      StringGadget(#String_0, 105, 5, 255, 20, "", #PB_String_ReadOnly) ;: DisableGadget(#String_0, 1)
       SetGadgetColor(#String_0, #PB_Gadget_BackColor, $F0F0F0)
      ButtonGadget(#Button_0, 365, 5, 30, 20, "....")
      TextGadget(#Text_1, 5, 35, 100, 15, "Структура файла:")
      TreeGadget(#Tree_0, 5, 50, 180, 280, #PB_Tree_AlwaysShowSelection)
      TextGadget(#Text_2, 195, 35, 180, 15, "Данные ключа:")
      StringGadget(#String_1, 190, 50, 205, 280, "", 2099207) ;: DisableGadget(#String_1, 1)
       SetGadgetColor(#String_1, #PB_Gadget_BackColor, $F0F0F0)
      HideWindow(#Window_0, 0)
  EndIf
EndProcedure
 
Open_Window_0()
 
Repeat
  Event=WaitWindowEvent()
  If Event=#PB_Event_Gadget
    If EventGadget()=#Button_0
      File.s=OpenFileRequester("","","INI файлы|*.ini|Все файлы|*.*",0)
      If File<>"" And FileSize(File)>0
        SetGadgetText(#String_0,File)
        ScanINI_File(File)
      Else
        SetGadgetText(#String_0,"")
        SetGadgetText(#String_1,"")
        ClearGadgetItems(#Tree_0)
      EndIf
      
    ElseIf EventGadget()=#Tree_0
      If EventType()=#PB_EventType_LeftClick
        Pos=GetGadgetState(#Tree_0)
        If GetGadgetItemAttribute(#Tree_0,Pos, #PB_Tree_SubLevel)=1
          PosList=GetGadgetItemData(#Tree_0, Pos)
          SelectElement(Preference_KeyValue(), PosList)
          SetGadgetText(#String_1,Preference_KeyValue())
        EndIf
      EndIf
    EndIf
  EndIf
Until Event=#PB_Event_CloseWindow
Вложения
Тип файла: zip ScanINI_File.zip (15.3 Кб, 35 просмотров)
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.08.2012, 14:44
Помогаю со студенческими работами здесь

Работа ini файлами
Делаю программу по визуальным компонентам, нужно чтобы изменения в программе сохранялись, пишет ошибку что не подходят типы данных. ...

Работа с Ini-файлами
Добрый день читающие и просматривающие. Обращаюсь к вам за помощью/советом. Развивая свой проект захотел сделать следующее: имеется...

Работа с ini - файлами
Uses IniFiles; var t: TIniFile; Begin t.Create ('Config.ini'); t.WriteString ('Window','Title','Form'); t.WriteInteger...

Работа с INI файлами
Можно ли использовать ini файл без создания классов? Раньше всё делал через Borland C++ Теперь же VS 2015 C# Было раньше просто ...

Работа с ini файлами
Всем привет! В папке с программой у меня хранятся ini файлы. Ребят, можно ли как-то сделать, чтобы по нажатию кнопки необходимые мне ini...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru