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はマイドキュメントフォルダーを示す |
ただ今製作中です。ご迷惑をおかけいたします。