ホーム
Top.Mail.Ru Yandeks.Metrika
フォーラム: "Main";
現在のアーカイブ:2002.01.08;
ダウンロード:[xml.tar.bz2];

ダウン

iniファイルから値を読み取る 似ている枝を探す


ходячий вопросник   (2001-12-15 08:50) [0]

Доброе время суток...

ReadSectionValues: он читает значения ключей в секциях, или значения ключей в секциях вместе с ключами?

Если второе то как сотворить первое?...

ありがとう。



Anatoly Podgoretsky   (2001-12-15 11:59) [1]

есть стоячий вопросник, хелп называется, ходить не пробовал, сходи очень помогает.



ходячий вопросник   (2001-12-15 12:18) [2]

Толя, миленький, шибко умным себя считаете?!

1. Мож я не так вопрос задал... Перезадам: Что именно читает ReadSectionValues???

2. Выдержка из хелпа:

Reads the values from all keys within a section of an INI file into a string list.

procedure ReadSectionValues(const Section: string; Strings: TStrings); override;

Поясняю: Читает значения ВСЕХ КЛЮЧЕЙ в секции из файла типа INI в String List.

Так вот мне считывает значения С ключами, а мне надо БЕЗ ключей.



evgeg   (2001-12-15 12:24) [3]

А попробовать и посмотреть, что получится, слабо?



ходячий вопросник   (2001-12-15 12:32) [4]

evgeg в каком смысле?
Третий день пробую...



ходячий вопросник   (2001-12-15 14:41) [5]

マスターズ!

Чего на такой вопрос ответить не можете?



Eduard   (2001-12-15 14:42) [6]

А я вот за 3 минуты попробовал, и сделал вывод, что ReadSectionValues читает значения вместе с ключами :)



ходячий вопросник   (2001-12-15 14:46) [7]

Eduard,что С КЛЮЧАМИ -говорю - третий день бьюсь, а БЕЗ КЛЮЧЕЙ???



ходячий вопросник   (2001-12-15 14:47) [8]

Просто глянь в мое цитирование HELP"a: там же черным по белому (в HELP"e) написано: значения ключей, а не строки секций???

Может другая функция есть?



Anatoly Podgoretsky   (2001-12-15 15:10) [9]

TStrings help (F1 ведь советовал же)
Names, Values

"Толя, миленький, шибко умным себя считаете?!" это потому что помню волшебную кнопку F1



ходячий вопросник   (2001-12-15 15:14) [10]

Анатолий, так получается, что я эту волшебную кнопку не помню?!
Функцию я где по-ващему вытащил?
Наверняка перлопатил пол-хелпа!



Anatoly Podgoretsky   (2001-12-15 15:43) [11]

Значит очень плохо смотрел, достаточно одной табулетки



evgeg   (2001-12-15 15:49) [12]

に適用されます

TIniFile object

宣言

procedure ReadSectionValues(const Section: string; Strings: TStrings);

説明

The ReadSectionValues method reads all the variables and their values of an entire section of an .INI file into a string object. You can then use the Values property of string and string list objects to access a specific string in the list of strings.

Это выдержка из help-а для Дельфи 2. В ней содержатся ответы на все твои вопросы.
А у тебя какая версия Дельфи?



ходячий вопросник   (2001-12-15 17:47) [13]

to evgeg:
Вообще то обычно D5 Enterprise юзаю, редко D3.



stasev   (2001-12-16 11:29) [14]

Ne znay kak vse,a ia delay tak:


procedure CorrectStrings(var Data: TMemo);
始まる
i:= 0;
while i < Data.Lines.Count do begin
Data.Lines[i]:= Data.Lines.Values[Data.Lines.Names[i]];
Inc(i);
終わり
終わり

始まる
試します
LogFile := TIniFile.Create(LogName);
with LogFile as TIniFile do begin
ReadSectionValues("Section Name", Memo1.Lines);
CorrectStrings(Memo1.Lines);
除きます
MessageDlg("Error reading MAP file !", mtError, [mbOk], 0);
終わり
終わり



stasev   (2001-12-16 11:32) [15]

v samom nachale zabil :)

procedure TfmMainEdit.OpenLog(LogName: string);
VAR
i、j:整数。
TempString: string;
DataStrings: TStrings;
//////////////////
a potom vse ostalnoe



Digitman   (2001-12-17 13:57) [16]

>ходячий вопросник

"Так вот мне считывает значения С ключами, а мне надо БЕЗ ключей."

структура INI-файла :

[セクション]

Key1 = Value1
Key2 = Value2
...
KeyN = ValueN

слева от знака "=" - имена ключей, справа - значения ключей. Не будет знака "=" - получишь как раз то, что ты получаешь (имена ключей в секции и их значения считываются вместе). А иначе как системе определить, где кончается имя ключа и начинается строковое представление его значения ?
При соблюдении формата INI-файла ф-ция ReadSectionValues() ДОЛЖНА прочитать в заранее подготовленный объект TSringList ТОЛЬКО значения ключей в указанной секции ! А для чтения списка ключей в секции предусмотрена совсем другая ф-ция - ReadSection(). И, если нет разделителей между ключами и значениями, ReadSection() вернет тебе тот же "бред", что и при вызове ReadSectionValues()



Дмитрий Д.   (2001-12-17 14:42) [17]

готовое решение:
//пример использования
//edit1.Text:=ReadIni("my.ini","section 1", "value1");

function ReadIni(FName, ASection, AString: string): string;
VAR
sIniFile: TIniFile;
sPath: string[60];
定数
S = "не могу прочитать файл";
始まる
GetDir(0, sPath);
sIniFile := TIniFile.Create(FName);
Result := sIniFile.ReadString(ASection, AString, S);
sIniFile.Free;
終わり



Digitman   (2001-12-17 15:01) [18]

真実を歪めたことをおizeびします。 ReadSectionValues()は、実際には「Key = Value」文字列全体を読み取ります。 キー値を個別に処理するには、TMemoクラスのオブジェクトを使用できます。 メソッドLines.Values()を使用すると、名前でキー値を取得できます(つまり、TMemoは、INIファイルのキーとして最も単純なレコードパーサーの機能を実装します)



ページ: 1 全枝

フォーラム: "Main";
現在のアーカイブ:2002.01.08;
ダウンロード:[xml.tar.bz2];

2階









メモリ:0.87 MB
時間:0.031 c
3-21989
ボリス
2001-12-06 15:50
2002.01.08
TQueryでクエリを作成すると、すべてのレコードがロードされます。


1-22257
Dmitry1
2001-12-14 16:53
2002.01.08
良い一日


14-22382
パノフ
2001-11-08 18:54
2002.01.08
継続http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1005233643&n=3


3-21904
アンドルー
2001-11-29 22:18
2002.01.08
クエリー


4-22454
エウゲニー
2001-10-31 07:40
2002.01.08
メモリからグラフィックの形式で表示





アフリカーンス語 アルバニア語 Arabic アルメニア語 アゼルバイジャン語 バスク ベラルーシ Bulgarian カタロニア語 中国語(簡体字) 中国語(繁体字) クロアチア チェコ語 デンマーク語 Dutch 英語 エストニア語 タガログ語 Finnish フランス語
ガリシア語 ジョージアン ドイツ語 ギリシャ語 ハイチ語 ヘブライ語 ヒンディー語 ハンガリー語 アイスランド語 Indonesian アイリッシュ イタリア語 日本語 Korean ラトビア語 リトアニア マケドニア語 Malay マルタ語 Norwegian
ペルシア語 ポリッシュ ポルトガル語 ルーマニア Russian セルビア Slovak スロベニア語 スペイン語 スワヒリ語 Swedish Thai トルコ語 ウクライナ語 ウルドゥー語 ベトナム語 ウェールズ語 イディッシュ語 ベンガル語 ボスニア語
セブアノ語 エスペラント グジャラート語 ハウサ語 モン族 イボ ジャワ語 カンナダ語 クメール語 ラオ語 ラテン マオリ語 マラーティー語 モンゴル語 ネパール語 パンジャブ語 ソマリ タミル語 テルグ語 ヨルバ語
ズールー語
Английский Французский Немецкий Итальянский ポルトガル語 Русский Испанский