1 (изменено: sergeyols, 2015-07-04 08:25:19)

Тема: AHK: ini. Как сделать считывание всей информации

В общем, мне нужно, чтобы из определенного ини файла считывалась информация в переменные с названием ключа.
Т.е. в файле у нас: "Information=Test", а получаем переменную с названием "Information", содержимое "Test"

2

Re: AHK: ini. Как сделать считывание всей информации

sergeyols, ознакомьтесь с этой темой, отредактируйте заголовок.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3

Re: AHK: ini. Как сделать считывание всей информации

Т.е. вы заранее не знаете, какие у вас будут переменные? Как тогда вы их будете использовать?

4

Re: AHK: ini. Как сделать считывание всей информации

Точно не знаю. Я надеялся, что когда все переменные будут известны, по тому же способу, что определение ключа я и буду их брать. Но вообще, кажется, я нашел альтернативу.

5

Re: AHK: ini. Как сделать считывание всей информации

Построчный fileread с regex парсингом: всё что слева от знака равенства - имя переменной, всё что справа - записать её значением.

6

Re: AHK: ini. Как сделать считывание всей информации

Это как раз всем понятно, переозвучивая вопрос выше -  не "как", а "нафига"? И что делать с переменной, название которой заранее не знаешь.

7

Re: AHK: ini. Как сделать считывание всей информации

YMP пишет:

Т.е. вы заранее не знаете, какие у вас будут переменные? Как тогда вы их будете использовать?

Я уже писал в какой-то теме про самомодифицирующиеся AHK скрипты (которые модифицируют свой собственный код в процессе работы) и выполнение генерируемых "на лету" строк как кода.

8

Re: AHK: ini. Как сделать считывание всей информации

Ну и что, что вы писали? Вопрос-то мой не к вам был.

9

Re: AHK: ini. Как сделать считывание всей информации

Просто я предполагаю, что автор ваяет на AHK, что-то типа самомодифицирующегося/автособираемого кода. Для этого ему и нужно, чтобы содержимое ini-файла интерпретировалось как AHK-код

Прошу простить. Просто автора нет вот я и решил "встрять"

10

Re: AHK: ini. Как сделать считывание всей информации

Построчный fileread

IniRead позволяет сначала узнать имена секций (если нужно), а далее извлечь содержимое секции.


[Section1]
Key1=Data=1
Key2=Data=2
Key3=Data=3
[Section2]
Key11=Data=11
Key22=Data=22
Key33=Data=33

Path=C:\Users\sergey\Desktop\file.ini
IniRead, Sections, % Path, , , % A_Space
Loop, parse, Sections, `n
{
    IniRead, Data, % Path, % A_LoopField, , % A_Space
    Loop, parse, Data, `n 
        RegExMatch(A_LoopField, "(.*?)=(.*)", OutputVar)
        , %OutputVar1% := OutputVar2 
}
MsgBox % Key1 "`n" Key2 "`n" Key3
MsgBox % Key11 "`n" Key22 "`n" Key33
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

11

Re: AHK: ini. Как сделать считывание всей информации

А как обработать такой код? Тоже использовать iniread?

<?xml version="1.0"?>
<notebook version="2813" uid="bf1fbe51-d00c-4dcd-a495-05392cee7c3a">
    <tags>
    </tags>
    <sections>
        <section id="0" num="0" name="Главная" color="#005af0" />
    </sections>
    <note uid="50bb80da-3f32-4b3d-a305-73a224ce43c4" 
        title="Заметка 2" 
        created="20150704T210200" 
        modified="20150704T210200" 
        source="" 
        link="" 
        remarks="" 
        tags="Теги/Тег_Б" 
        section="0" 
        plainText="1"><![CDATA[Это вторая моя заметка]]></note>
    <note uid="50bb80da-3f32-4b3d-a305-73a224ce43c3" 
        title="ЗАМЕТКА1" 
        created="20150704T205925" 
        modified="20150704T211727" 
        source="" 
        link="" 
        remarks="" 
        tags="Тег_А Теги/Тег_Б" 
        section="0" 
        plainText="1"><![CDATA[[Тест]]]></note>
</notebook>

12

Re: AHK: ini. Как сделать считывание всей информации

Доктор ТуамОсес пишет:

А как обработать такой код? Тоже использовать iniread?

ComObjCreate()
Сценарии объектной модели документа DOM XML средствами OLE-Automation
VBScript: работа с XML с помощью компонента Chilkat XML

VBS: Конфигурационный файл. Структура.
JScript: Вывести значение тега из XML-файла на страницу HTA-приложения
WSH: Обработка XML
WSH: Поиск и извлечение текста из XML
VBS: Изменение значения переменной в XML файле
VBS: XMLDOM