Object Oriented XBASE Forum
VFPToolkit.strings CLASS
文字列を取り扱うstrings CLASSについて解説します。具体的なプログラミングの方法については、VFPToolkit.dialogs
CLASSの解説をあらかじめご参照ください。
C#におけるMethodのSyntax体系は、XBASE言語体系を踏襲しています。ここでは、利用の多いXBASE言語互換のMethodを取り上げて解説します。ここで取り上げないメソッドはヘルプでご確認ください。
クラスの使用を下記のように宣言します。
using VfpDialog =
VFPToolkit.dialogs;
using VfpStr = VFPToolkit.strings;
| メソッド | サンプルコード |
| AllTrim / Trim( ) 文字列の前後の空白を除去 LTrim( ) 文字列の先頭側の空白を除去 RTrim() 文字列の後側の空白を除去 Len( ) 文字列の文字数を戻す |
private void button1_Click(object sender, System.EventArgs e)
{
string sText = " 前後に3スペースづつ ";
VfpDialog.MessageBox("AllTrim>"+VfpStr.AllTrim(sText)+"<\n"
+VfpStr.LTrim(sText)+"<\n"
+VfpStr.RTrim(sText)+"<");
VfpDialog.MessageBox(VfpStr.Str(VfpStr.Len(sText)));
}
// 文字数は半角も全角も1文字と数えられます。バイト数ではありません
|
| Asc( ) 半角文字をアスキーコード数値に変換 Chr( ) アスキーコードを文字に変換 Str( ) 数値を文字列に変換 Val( ) 文字型で与えられた半角数字文字列を数値に変換 |
private void button1_Click(object sender, System.EventArgs e)
{
VfpDialog.MessageBox("Aのアスキーコードは" + VfpStr.Str(VfpStr.Asc('A')));
VfpDialog.MessageBox("Chr(65)は" + VfpStr.Chr(65));
VfpDialog.MessageBox("999+1="+VfpStr.Str(VfpStr.Val("999")+VfpStr.Val("1")));
}
|
| At( ) At("検索字","検索する対象文字列"[ ,出現数]) 対象文字列から検索する文字の出現位置を 返す。[出現数]は省略可。先頭から検索し指定 出現数のところでの先頭からの文字位置を返す RAt( ) At()とは逆に対象文字列の終端から出現する 位置を探すが戻り値は文字列の先頭からの値 StrTran( ) StrTran("変換文字列","検索文字列","置換文字列") 変換文字列に検索文字が含まれているかを探し 存在があれば置換文字列で置き換える |
private void button1_Click(object sender, System.EventArgs e)
{
VfpDialog.MessageBox(VfpStr.Str(VfpStr.At("GH","ABCGFGHIJK")));
VfpDialog.MessageBox(VfpStr.Str(VfpStr.At("C","ABCDCDA",2)));
VfpDialog.MessageBox(VfpStr.Str(VfpStr.RAt("GH","ABCGFGHIJK")));
VfpDialog.MessageBox(VfpStr.Str(VfpStr.RAt("C","ABCDCDA",2)));
VfpDialog.MessageBox(VfpStr.StrTran("東京都新宿区新宿","新宿","港"));
}
// StrTranは変換位置や変換数も指定できるとヘルプにありますが
正常に動作しないようです。
|
| Space( ) Space(数値) 指定数値分のスペース文字列に変換 Replicate( ) Replicate("文字列",繰り返し数値) 指定文字列を指示数値分繰り返し、文字列を構成 SubStr( ) SubStr("文字列",切り出し先頭文字位置,切り出す文字数) 文字列の指定先頭文字位置から文字数を切り出す PadC( ) / PadL( ) / PadR( ) PadC("文字列",整形数値[ ,'囲み文字']) PadL("文字列",整形数値[ ,'左埋め込み文字']) PadR("文字列",整形数値[ ,'右埋め込み文字']) 既存文字列に指示文字を付加して指定文字数に整形 PadCは前後に振分け、PadLは先頭側、PadRは後方側 埋め込み文字を省略の場合はスペースとなる |
private void button1_Click(object sender, System.EventArgs e)
{
VfpDialog.MessageBox("20バイトのスペース>"+VfpStr.Space(20)+"<");
VfpDialog.MessageBox(VfpStr.Replicate("あい",10));
VfpDialog.MessageBox(VfpStr.SubStr("東京都新宿区西新宿",4,3));
VfpDialog.MessageBox(VfpStr.PadC("あいう",10,'#'));
VfpDialog.MessageBox(VfpStr.PadL("あいう",10,'*'));
VfpDialog.MessageBox(VfpStr.PadR("あいう",10,'&'));
}
|
| StrToFile( ) StrToFile("書き込む文字列","ファイル名"[ ,true]) 指定ファイルに文字列を出力 ファイルが無ければ 新規に作成し第3パラメータを省略すると上書き保存 となる、trueを付加するとアペンドで既存ファイルの 終端に付加して保存 FileToStr( ) FileToStr("ファイル名") 指定テキストファイルから内容を文字列データとして 取得する |
private void button1_Click(object sender, System.EventArgs e)
{
string cfMyDoc
= System.Environment.GetFolderPath(
System.Environment.SpecialFolder.Personal);
string sText = "テストデータの書き込み\r\n";
cfMyDoc = cfMyDoc + "\\STRTOFILETEST.TXT";
VfpDialog.MessageBox(cfMyDoc);
VfpStr.StrToFile(sText,cfMyDoc);
sText = "さらに追加のテキストも簡単に書き込める\r\n";
VfpStr.StrToFile(sText,cfMyDoc,true);
VfpDialog.MessageBox("書き込み内容は:\n"+VfpStr.FileToStr(cfMyDoc));
System.Diagnostics.Process.Start("notepad.exe",cfMyDoc);
}
// cfMyDocはマイドキュメントフォルダーを示す
|
ただ今製作中です。ご迷惑をおかけいたします。