INIファイルの読み書き

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
返信する
メッセージ
作成者
popopo(^^)

INIファイルの読み書き

#1 投稿記事 by popopo(^^) »

こんにちは。AB始めたばかりのpopopoという者です。
あるツールを作っているのですが、設定を保存するINIファイルの読み書き
の仕方がわかりません。
GetPrivateProfieStringとかいうAPIもあるようですが、
使い方がよくわかりません。
それとも、レジストリに保存した方がいいんでしょうか・・・・・
僕は、レジストリに保存するとアンインストールの時に
レジストリを消去しないといけないので、
できるだけINIファイルがいいのですが・・・。
だれか教えてください(_ _)
7
記事: 473
登録日時: 2005年5月31日(火) 18:51
お住まい: 新潟県
連絡する:

Re: INIファイルの読み書き

#2 投稿記事 by 7 »

> こんにちは。AB始めたばかりのpopopoという者です。
こんにちは。なんか可愛らしいHNですね...(笑)

> GetPrivateProfieStringとかいうAPIもあるようですが、
> 使い方がよくわかりません。 [MSDN]WritePrivateProfileString
[MSDN]GetPrivateProfileString
[VC++のクラスと関数に関するメモ]iniファイルの作成

忙しいのでAB用のサンプルコードは、どなたか!
konisi
記事: 893
登録日時: 2005年7月25日(月) 13:27
お住まい: 埼玉県東松山市
連絡する:

#3 投稿記事 by konisi »

INIファイルの操作はやったことがないのですが、こんな感じでよろしかったでしょうか?

コード: 全て選択

#console

Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (lpAppName As *Byte,lpKeyName As *Byte,lpString As *Byte,lpFileName As *Byte) As BOOL
Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (lpAppName As *Byte,lpKeyName As *Byte,lpDefault As *Byte,lpReturnedString As *Byte,nSize As DWord,lpFileName As *Byte) As DWord

Dim ret As Long
Dim DirAddr[MAX_PATH-1] As Byte
Dim FileAddr[MAX_PATH-1] As Byte
Dim buf[255] As Byte

Const INIFileName="1.ini"

'iniファイルへの絶対パスを作る
GetCurrentDirectory(MAX_PATH-1,DirAddr)
wsprintf(FileAddr,"%s\%s",DirAddr,INIFileName)

'書き込み
ret=WritePrivateProfileString("Section1","Test","読み込み成功",FileAddr)
If ret then Print "書き込み成功"

'読み込み
GetPrivateProfileString("Section1","Test","読み込み失敗",buf,255,FileAddr)
Print MakeStr(buf)

Sleep(-1)
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。

に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
のぶあや
記事: 22
登録日時: 2006年10月14日(土) 10:52
お住まい: 愛知

#4 投稿記事 by のぶあや »

先日実践コードモジュールにiniファイルを操作するクラスを投稿したのでよければどうぞ

iniファイルクラス
http://www.activebasic.com/forum/viewtopic.php?t=2347
整数値・文字列の読み書き、改行コードを含む文字列の読み書き、キー・セクションの消去ができます


サンプルコード
返信する