お知らせ

電子会議

ライブラリ

FDelphi サイト全文検索

Delphi FAQ一覧

サンプル蔵



FDelphi FAQ
15番会議室「FAQ編纂委員会」に寄せられた「よくある質問の答え」

[Q]
文字列先頭に半角空白($20)をつけてプログラムしていたところ、途中でなく なっていました。最後に怪しいとにらんだのが、パラメーターの保存読込に 使っていた、IniFile の読み書きです。どうなっているのですか?

[A]
Delphi には、IniFile の読み書きが簡単に行えるよう、TIniFile オブジェ
クトが用意されています(ユニット IniFiles を使用)。

先頭又は末端の半角スペースを有効にするためには、 

WriteStringで書き込みたい文字列を半角ダブルクォーテションマーク(")
で囲みます。

ReadStringで読み込む時の特別な処理必要ありません。
[例]
{----------------------------------------------------------
フォームに ListBox1 を配置。下記手続き WriteTopTailSpaceStr、
ReadTopTailSpaceStr をボタンなどで呼び出して下さい。
}
var
  IniFile: TIniFile;
  strRead: string;
  str:     string;
const
  IniErr='ERROR';

{=========================================================}
procedure TForm1.WriteTopTailSpaceStr;
begin
  IniFile:=TIniFile.Create(
    ChangeFileExt(Application.Exename,'.ini'));
  try
    with IniFile do begin
      WriteString('Test','TopSpaceStr','"  LikeThis"');
      WriteString('Test','TailSpaceStr','"LikeThis  "');
      WriteString('Test','TopTailSpaceStr','"  LikeThis  "');
  { 変数の場合は 
      WriteString('Test','Str','"'+str+'"');
    のようにします。  
  }
    end;
  finally
    IniFile.Free;
  end;
end; {TForm1.WriteTopTailSpaceStr}

{=========================================================}
procedure TForm1.ReadTopTailSpaceStr;

  {-------------------------------------------------------}
  procedure AddString(str: string);
  begin
    ListBox1.Items.Add(str);
    ListBox1.Items.Add(
      'Length(str)='+IntToStr(Length(str)));
  end;

begin
  IniFile:=TIniFile.Create(
    ChangeFileExt(Application.Exename,'.ini'));
  try
    with IniFile do begin
      strRead:=ReadString('Test','TopSpaceStr',IniErr);
      if strRead<>IniErr then AddString(strRead);
      strRead:=ReadString('Test','TailSpaceStr',IniErr);
      if strRead<>IniErr then AddString(strRead);
      strRead:=ReadString('Test','TopTailSpaceStr',IniErr);
      if strRead<>IniErr then AddString(strRead);
    end;
  finally
    IniFile.Free;
  end;
end; {TForm1.ReadTopTailSpaceStr}


ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum FDELPHIに寄せられる質問の中から、よくある質問への回答を FDELPHIのメンバーがまとめたものです。 したがって、これらの回答はボーランド株式会社がサポートする公式のものではなく、掲示されている内容についての問い合わせは受けられない場合があります。

Copyright 1996-1998 Delphi Users' ForumFAQ編纂委員会