ホーム   フォーラム   FAQ
 
メインメニュー
ログイン
ユーザー名:

パスワード:


パスワード紛失

設定ファイルから値を取得する方法について

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2010-7-30 18:46 | 最終変更
yone  半人前   投稿数: 30
nullさん こんにちは

Get.dllが使用可能であれば、
UDF('get.finiget','foge.ini','FOO','BAR')という形で
値の取得が可能だと思います。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2010-7-29 16:53 | 最終変更
null  長老   投稿数: 191
追加で回答していただいた yoshi さん、y-sakamoto さん、 Jiro123 さん、ありがとうございます。

> @ で指定する設定ファイルの書式はコマンドラインの書式と同等です。
なるほど。@ 指定にはそう言う仕様があるのですね。

本来の質問とはだいぶズレてしまいましたが、自分が作成する ini ファイルを INIGet() を使用して
読込む場合はコマンドラインの形式と同等のフォーマットにしたいと思います。

何となく無さそうなので、UDF を書いた方が手っ取り早い気もするのですが、
それ以外の一般的な ini ファイルに関しては、上記仕様がある以上、
INIGet() は使えないので、他の方法が無いかもう暫く探したいと思います。

投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2010-7-29 15:21
Jiro123  長老   投稿数: 271
yoshiさんが書かれているように、
@で指定する設定ファイルの書式はコマンドラインの書式と同等です。

取得する際のINIGet関数のパラメータの書式も同じです。

[FOO]BAR を取得したいのであれば、foo.iniも

[FOO]BAR=1

と記述してあげる必要があります。

投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2010-7-29 15:07
null  長老   投稿数: 191
> ○[FOO]BAR=AAA
はい。foge.ini の内容がこれであれば取得出来ます。

> @foge.ini 内でセクション名を明記していらっしゃいますでしょうか?
上の方にも書いていますが、foge.ini は以下の通りです。
勿論、セクション名も書いています。
-- ここから
[FOO]
BAR=1
-- ここまで

これを INIGet('[FOO]BAR') で取得することが使用している環境では何故か出来ないのです(SP1b)
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2010-7-29 13:00
y-sakamoto  新米   投稿数: 7
@foge.ini内でセクション名を明記していらっしゃいますでしょうか?
何も指定しなければ[MAGIC_ENV]セクション内のコマンド名と認識されてしまいます。

×BAR=AAA
○[foo]BAR=AAA
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2010-7-23 7:51
yoshi  半人前   投稿数: 33
こんにちは。
すでに試されているならばすいません。

@設定ファイルはコマンドラインと同等の設定内容になるので、
/[foo] ← 不要かもしれません。
/[foo]BAR=AAA
で試されてはいかがでしょうか?
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2010-7-22 14:47
null  長老   投稿数: 191
色々変えてみたりしているんですが、何故か空文字が返ってきます。
まあ、そこさえ注意していれば使い道はあると思います。

回答ありがとうございました。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2010-7-22 13:18
pu_mahalo  長老 居住地: 大阪  投稿数: 775
こんにちは Puです

>ただ、IniGet('[FOO]BAR') では取得出来ませんでした。
>不具合なのか、そう言うものなのか判りませんが(1.8 SP1b)

当方も1.8SP1B」ですが
問題なく取得できてますが...([FOO]ではないですが)

う〜ん なんなんでしょう
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2010-7-21 16:59
null  長老   投稿数: 191
> uniStudio.exe /ini=magic.ini @foge.ini
なるほど、コマンドで指定するんですね。
次のようなショートカットを作成したところ、
IniGet('BAR') で foge.ini の BAR の値を取得出来ました。
@a.ini とか続けて指定すればそれも読込むようです。

"C:\Program Files\uniPaaS\Studio V1Plus\Projects\test\test.edp" /ini=magic.ini @foge.ini @a.ini @b.ini

foge.ini
[FOO]
BAR=AAA

ただ、IniGet('[FOO]BAR') では取得出来ませんでした。
不具合なのか、そう言うものなのか判りませんが(1.8 SP1b)

投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2010-7-21 9:58
pu_mahalo  長老 居住地: 大阪  投稿数: 775
こんにちは Puです

uniStudio.exe /ini=magic.ini @foge.ini
です
INIGet('[FOO]BAR') で取得出来ますが
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2010-7-16 15:30
null  長老   投稿数: 191
> @付きで INIの後ろに指定する
すいません。使用方法が判りません。
Magic.ini の最終行に @foge.ini を追加してみましたが、
INIGet('[FOO]BAR') で取得出来ませんでした。
何か違うんでしょうね・・・

foge.ini
[FOO]
BAR=1
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2010-7-16 14:24
pu_mahalo  長老 居住地: 大阪  投稿数: 775
こんにちは Puです

INIGETで事たりると思いますが
私は 別途 TEXTファイルに 項目を記述して
そのTEXTファイルを@付きで INIの後ろに指定するだけで
INIGETで 色々な項目が取得できるので
標準機能で事足りるかと


投票数:1 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 .3 .4 .5 .6 | 投稿日時 2010-7-16 10:51
null  長老   投稿数: 191
ちょっと相談です。前々から思っていたのですが、Magic.ini 以外の
個々に作った設定ファイルの値を楽に取得する方法は無いのでしょうか?
(取得方法が判らないのではなく楽に取得したいというところがポイントです)

OSEnvGet() で環境変数が、IniGet() で Magic.ini の環境設定値が取得出来ますよね。
それに近い感覚で自分が作成した foge.ini などの設定ファイルから設定値を取得するような方法、
又は foge.xml に設定値を保存しておいて、そこからコマンド一発で取得するような方法って無いのでしょうか?

このような関数を用意して対応しています、この UDF を使っています等の情報がありましたらお願いします。
投票数:0 平均点:0.00

  条件検索へ


Copyright (C) Magic Software Japan K.K. All Rights Reserved.
個人情報保護方針 会員規約