tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルiniFileについて
記事No11807
投稿日: 2008/03/18(Tue) 09:30
投稿者窓側ni
当方環境はWinXp,VB6.0を使用しています。VBを初めてまだ3週間の初心者です。
質問をさせていただきます。
フォームを開いたときにテキストボックス、コンボボックス内にiniFileからキーを取得し、初期設定という形でデフォルトであらかじめ文字列を表示させているのですが、逆にテキストボックス、コンボボックスに入力された文字列をiniFileに書き込めて、さらに書き込まれた文字列をiniFileに保存という事は可能でしょうか?
当方調べては見たのですが、コードに直接書き込みたい文字列を入力する方法しか見つけられませんでした。
長文申し訳ないですが、よろしければアドバイスをお願いします。

[ツリー表示へ]
タイトルRe: iniFileについて
記事No11808
投稿日: 2008/03/18(Tue) 09:56
投稿者いな
> コンボボックスに入力された文字列をiniFileに書き込めて、
> さらに書き込まれた文字列をiniFileに保存という事は可能でしょうか?

Iniファイルへの読み書きは、
今どんな手法を行っているかはわかりませんが、
ありふれたやり方として、API関数を使用します。

読込
GetPrivateProfileString
書込
WritePrivateProfileString


Public Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As String, ByVal lpFileName As String) As Long

Call WritePrivateProfileString("INI_SEC", "INI_KEY", "書き込みたい値", "c:\test.ini")

[ツリー表示へ]
タイトルRe^2: iniFileについて
記事No11809
投稿日: 2008/03/18(Tue) 10:13
投稿者窓側ni
いなさん、
レス有り難うございます。大変参考になります。

当方はAPI関数、
Private Declare Function WritePrivateProfileString Lib "kernel32" Alias _
    "WritePrivateProfileStringA" ( _
        ByVal lpApplicationName As String, _
        ByVal lpKeyName As Any, _
        ByVal lpString As Any, _
        ByVal lpFileName As String) As Long
を使用しています。

できればコードに直接値を書き込むのではなく、テキストボックスに直接入力された文字列(値)をiniFileの指定したキーに書き込むということなんですけど、可能なんでしょうか?

[ツリー表示へ]
タイトルRe^3: iniFileについて
記事No11810
投稿日: 2008/03/18(Tue) 10:20
投稿者neptune
こんにちは

> できればコードに直接値を書き込むのではなく、テキストボックスに直接入力された文字
>列(値)をiniFileの指定したキーに書き込むということなんですけど、可能なんでしょう
か?
testboxにはtextプロパティってのがありますが。調べてますか?

[ツリー表示へ]
タイトルRe^4: iniFileについて
記事No11811
投稿日: 2008/03/18(Tue) 10:42
投稿者窓側ni
neptuneさん、
レス有り難うございます。
textプロパティはわかります。
コードからTextBoxに入力された値はiniFileの指定されたキーに書き込むという記述は難しいのでしょうか。
答えにあまりなっていなく申し訳ないです。

[ツリー表示へ]
タイトルRe^5: iniFileについて
記事No11812
投稿日: 2008/03/18(Tue) 11:20
投稿者いな
例えば

設定ファイルが、c:\test.iniにあると仮定して、

Text1に入力された値を
指定されたセクション:"INI_SEC"
指定されたキー:"INI_KEY"
に書き込みたい場合

Call WritePrivateProfileString("INI_SEC", "INI_KEY", Text1.Text, "c:\test.ini")

です。

さらに、さらに
セクションやキーもテキストボックスで指定したい場合
指定されたセクション:txtSEC'テキストオブジェクト
指定されたキー:txtKey'テキストオブジェクト

Call WritePrivateProfileString(txtSEC.Text, txtKey.Text, Text1.Text, "c:\test.ini")

です。

[ツリー表示へ]
タイトルRe^6: iniFileについて
記事No11815
投稿日: 2008/03/18(Tue) 12:05
投稿者窓側ni
いなさん、

レス有り難うございます。
質問の説明が不十分で申し訳なかったのですが、非常に解りやすく、無事解決できました。
また機会があればお願いします。

[ツリー表示へ]