ミ,,゚Д゚彡フサギコのフサフサDelphi談話室�E
■ このスレッドは過去ログ倉庫に格納されています
0345デフォルトの名無しさん
NGNG複雑化というのがなんともはやだけど、
それなら>>324の言う こういう感じのインターフェースはどう?
type TChars=set of Char;
type TSpliter=class
nowChar:char; //getCharで読んだ現在位置の文字
function getChar:char;virtual; //次の文字を読む
function isEOF:boolean;virtual; //もう文字が無いか
procedure Abort;virtual; //内部で使う例外発生
procedure skipBlank; //空白の間読み飛ばす
procedure CheckEOF; //そこで終ってなければ例外
procedure CheckChar (c:char); //次の文字がcで無ければ例外
procedure CheckChars(c:TChars); //次の文字が何れかでなければ例外
function GetNextStr (c:TChars); //引数でセパレートされる文字列を習得
function GetAccordChars(c:TChars); //一致する文字列を習得
function getInteger:Integer; //整数なら取り出す
end;
type TStringSpliter=class
constructor Create(src:string);
end;
使い方は TSpliter オブジェクトを作成して
"(数,数)" なら
s.CheckChar( '(' );
n1:= s.getInteger;
s.CheckChar( ',' );
n2:= s.getInteger;
s.CheckChar( ')' );
if not s.isEOF then s.Abort;
これなら、おなかこわさない?
■ このスレッドは過去ログ倉庫に格納されています