//#HTMLマークエスケープ //<>&"などを<と言う形に変換 void MarkEscape(TX* text) { BOOL bSelect = FALSE; char hexh, hexl, c; int CurPos; //カーソル位置保存 CurPos = txGetAddress(text); if (txSelectGetMode(text)) { //選択範囲されていれば bSelect = TRUE; txWalkStart(text); txJumpAddress(text, txGetAddressSelectTop(text)); } else { //先頭にカーソル移動 txJumpPara(text,1); } //メインループ while(!txIsCurEof(text)) { if (bSelect && !txIsWalking(text)) break; switch (txReadChar(text)) { case '<': txDeletePrev(text); txInsert(text,"<"); break; case '>': txDeletePrev(text); txInsert(text,">"); break; case '&': txDeletePrev(text); txInsert(text,"&"); break; case '"': txDeletePrev(text); txInsert(text,"""); break; } } if (bSelect == TRUE) { //選択範囲ウォーク終了 txWalkEnd(text); } //カーソル位置の復元 txJumpAddress(text, CurPos); }