Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Создание массива из файла


Автор: Serious2008 22.1.2013, 23:34
Здравствуйте у меня есть файл вот такого стиля
Код

help:Это помощь
info:Это информация

Подскажите пожалуйста какой-нибудь код, который будет брать информацию из этого файла и делать массив типа
Код

[help] => Это помощь
[info] => Это информация

И это на Дельфях всё надо. 

Автор: Данкинг 23.1.2013, 00:10
Что конкретно не получается: открыть файл? Распарсить строку?

Автор: northener 23.1.2013, 00:11
Цитата(Serious2008 @  22.1.2013,  23:34 Найти цитируемый пост)
Здравствуйте у меня есть файл вот такого стиля

Не понятен "стиль" файла, ибо непонятно как термин "стиль" вы понимаете.

Цитата(Serious2008 @  22.1.2013,  23:34 Найти цитируемый пост)
Подскажите пожалуйста какой-нибудь код, который будет брать информацию из этого файла и делать массив типа
1:[help] => Это помощь
2:[info] => Это информация

А тут не понятно что вы имеете в виду под "массивовами типа".

Автор: Serious2008 23.1.2013, 00:40
Цитата(northener @  23.1.2013,  00:11 Найти цитируемый пост)
Не понятен "стиль" файла, ибо непонятно как термин "стиль" вы понимаете.

Это означает что в файле много строк, и в каждой строке задано таким образом
ключ для будущего массива:{Это просто разделитель}Значение для этого ключа.

Цитата(northener @  23.1.2013,  00:11 Найти цитируемый пост)
А тут не понятно что вы имеете в виду под "массивовами типа".


Чтобы я мог по ключу массива например help получать строку, Это справка.
т.е. типа 
writeln(a['help']);
выдавало на экран "Это справка".

Я уже delphi и pascal года 2-3 не открывал, мозг забыл стандартные команды, а мне нужно эту маленькую функцию реализовать, вот и полез на форум с просьбой

Автор: northener 23.1.2013, 01:08
Класс TStringList вам не поможет?
У этого класса есть свойства  Names  и Values.

Цитата(Serious2008 @  23.1.2013,  00:40 Найти цитируемый пост)
Я уже delphi и pascal года 2-3 не открывал, мозг забыл стандартные команды,

Это "отмазка". Пока забудем её.

Автор: Keeper89 23.1.2013, 02:06
Самый легкий способ следующий:
1) Загружаем файл черед TStringList.LoadFromFile
2) Ставим TStringList.DelimitedText = ':'
2) Ставим TStringList.NameValueSeparator = ':' // (Спасибо Bems, поправил ;))
3) Вызываем TStringList.Values['help']

Автор: bems 23.1.2013, 06:08
Keeper89, только не DelimitedText = ':' а NameValueSeparator := ':'

Автор: Serious2008 30.1.2013, 02:23
Цитата(Keeper89 @ 23.1.2013,  02:06)
Самый легкий способ следующий:
1) Загружаем файл черед TStringList.LoadFromFile
2) Ставим TStringList.DelimitedText = ':'
2) Ставим TStringList.NameValueSeparator = ':' // (Спасибо Bems, поправил ;))
3) Вызываем TStringList.Values['help']

Спасибо вот это как то что надо. Отлично курсач почти готов.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)