|
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編纂委員会
|