tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルiniファイルの取得
記事No772
投稿日: 2004/03/09(Tue) 11:05
投稿者ネネ
[OSのVer]:WindowsXP    [VBのVer]:VB.NET2003

プログラム初心者です。使い方が、まだまだぜんぜんわかりませんので教えてください。

INIファイルの文字列を読み出しについて質問します。

ここのワード検索で、INIファイルの事をして調べてみたのですが、
(hhttp://www.atmarkit.co.jp/fdotnet/dotnettips/039inifile/inifile.html)
のところに行けば参考になると書いてあったので、
行ってみました。
サンプルは書いてあったのですが使い方がわかりません(;;)
サンプルはこう書いてありました。

using System;
using System.IO;
using System.Text;
using System.Runtime.InteropServices;

class IniFileHandler {
  [DllImport("KERNEL32.DLL")]
  public static extern uint
    GetPrivateProfileString(string lpAppName,
    string lpKeyName, string lpDefault,
    StringBuilder lpReturnedString, uint nSize,
    string lpFileName);

  [DllImport("KERNEL32.DLL",
      EntryPoint="GetPrivateProfileStringA")]
  public static extern uint
    GetPrivateProfileStringByByteArray(string lpAppName,
    string lpKeyName, string lpDefault,
    byte [] lpReturnedString, uint nSize,
    string lpFileName);

  [DllImport("KERNEL32.DLL")]
  public static extern uint
    GetPrivateProfileInt( string lpAppName,
    string lpKeyName, int nDefault, string lpFileName );

  [DllImport("KERNEL32.DLL")]
  public static extern uint WritePrivateProfileString(
    string lpAppName,
    string lpKeyName,
    string lpString,
    string lpFileName);
}

・上の宣言はどこで宣言するのでしょうか? System.Windowsの所で宣言するのでしょうか?

' 文字列を読み出す
Dim sb As StringBuilder = New StringBuilder(1024)
IniFileHandler.GetPrivateProfileString("アプリ1", "キー1", "defaul
t", sb,
sb.Capacity, "c:\sample.ini")
Console.WriteLine("アプリ1セクションに含まれるキーキー1の値: {0}", sb.ToString())

・文字列を呼び出した結果はどこに格納されるのでしょうか?

変数 = 読み出した文字列の結果

という形ではないのでしょうか?

・INIファイルには
[aaa]
氏名 = 賀川

というのが書かれていたとします。

"アプリ1" というのは、[aaa]を指し、"キー1"というのは、氏名を指しているのですよね?

・sbとsb.Capacityの宣言はしなくてもよろしいのでしょうか?

・これを使用すれば、文字列を呼び出せるのでしょうか?

さっぱりわかりません。
長くなってしまってすいませんが、わかる方教えてください。
よろしくお願いします。

[ツリー表示へ]
タイトルRe: iniファイルの取得
記事No773
投稿日: 2004/03/09(Tue) 13:15
投稿者ぬーぼー

> ・上の宣言はどこで宣言するのでしょうか? System.Windowsの所で宣言するのでしょうか?
Import宣言は Module 【名前】の上に定義するか
クラス定義の上に定義すればいいです

>IniFileHandler.GetPrivateProfileString("アプリ1", "キー1", "defa
ul
>t", sb,
>sb.Capacity, "c:\sample.ini")
> ・文字列を呼び出した結果はどこに格納されるのでしょうか?
>
この場合、sbに格納されてますよ。

> 変数 = 読み出した文字列の結果
>
> という形ではないのでしょうか?
>
> ・INIファイルには
> [aaa]
> 氏名 = 賀川
>
> というのが書かれていたとします。
>
> "アプリ1" というのは、[aaa]を指し、"キー1"というのは、氏名を指して
いるのですよね?
そのとおりです。
>
> ・sbとsb.Capacityの宣言はしなくてもよろしいのでしょうか?
>
> ・これを使用すれば、文字列を呼び出せるのでしょうか?
>
【文字列変数名(String)】=sb.ToString() で文字列格納できますよ

[ツリー表示へ]
タイトルRe^2: iniファイルの取得
記事No774
投稿日: 2004/03/09(Tue) 14:30
投稿者ネネ
[OSのVer]:Windows    [VBのVer]:VB.NET  
>  

どうもありがとうございました。

コンパイルはしたものの、どうやって値を取得するのにずっと考えていました。
変数名.ToStringで、値を取得できるんですね。

でも、ToStringというのは、どういう意味なのでしょう?
これは決まりごとみたいなことなのでしょうか?
ToStringで、値が拾えるという事なのですか?
ということは、ToIntegerもあるのでしょうか?

また回答よろしくお願いします

[ツリー表示へ]
タイトルRe^3: iniファイルの取得
記事No775
投稿日: 2004/03/09(Tue) 14:51
投稿者ぬーぼー
[OSのVer]:Windows    [VBのVer]:VB.NET  
> [OSのVer]:Windows    [VBのVer]:VB.NET  
> >  
>
> どうもありがとうございました。
>
> コンパイルはしたものの、どうやって値を取得するのにずっと考えていました。
> 変数名.ToStringで、値を取得できるんですね。
>
> でも、ToStringというのは、どういう意味なのでしょう?
> これは決まりごとみたいなことなのでしょうか?
> ToStringで、値が拾えるという事なのですか?
> ということは、ToIntegerもあるのでしょうか?
>
> また回答よろしくお願いします
ToStringは、StringBuilder を String に変換しますよ。
また、ToIntegerは無いですが ToInt64などはあります

[ツリー表示へ]