//小文字のaを大文字Aに置き換える。小文字bを大文字BBBBBに置き換える program tips0013_2; {$APPTYPE CONSOLE} uses SysUtils; var S,R :string; Sp,Rp:PChar; //Char型のポインタ定義 begin S:='abcabc&<>'; R:=' '; Sp:=PChar(S); //変数SをPCharでキャスト(型変換)して、変数Sのアドレスをポインターに代入する Rp:=PChar(R); //変数RをPCharでキャスト(型変換)して、変数Rのアドレスをポインターに代入する while Sp^ <> #0 do //変数Sの末尾を検出するまでループする #0はnull begin case Sp^ of //変数Sのポインタの示す内容を調べる 'a': //'a'ならば大文字の'A'を変数Rにセットする Rp^:='A'; 'b': //'b'ならば5バイトの'BBBBB'を変数Rにセットし、変数Rのポインタをインクリメント(+4)する begin StrCopy(Rp,'BBBBB'); inc(Rp,4); end; else Rp^ := Sp^; //上記以外の文字ならば、変数Sから変数Rへ1バイトコピーする end; inc(Sp); //変数Sのポインタをインクリメント(+1)する inc(Rp); //変数Rのポインタをインクリメント(+1)する end; WriteLn(S); //変数Sを出力する WriteLn(R); //変数Rを出力する end.