get_text.api


WZ6/マクロ集/ヘルプ

カーソル位置のtextapi()をtext.hから検索してコメントと共にステータスウィンドウに表示します。

//20091010 iprintfに変更
//20081108 #define行に対応
//20081029 かなり修正
#include <windows.h>
#include <text.h>
get_textapi{
title: カーソル位置のtextapiをtext.hからを引いてステータスに表示します。
	HTEXT text = getfocus();
	HTEXT word = getword(text);
	if (word){
		printf("検索文字列:%s\n",word);
		HTEXT wordapi=dup(word);
		jumptop(wordapi);insert(wordapi,\"\s");jumpend(wordapi);insert(wordapi,\"\([a-zA-Z]");
		HTEXT worddef=dup(word);
		jumptop(worddef);insert(worddef,\"#define\s");jumpend(worddef);insert(worddef,\"\s");
		HTEXT dic = new();
		load(dic,"wz://text.h");
		if (0 != search(dic,wordapi,SEARCH_RE|SEARCH_ALL)){
			jumpparatop(dic);
			if(searchinpara(dic,\"textapi\(\d*\)\s",SEARCH_RE)){
				iprintf("%s\n",dic);
			for(jumpnextpara(dic);!iscureof(dic);jumpnextpara(dic)){
					jumpparatop(dic);
				if(searchinpara(dic,"//",SEARCH_RE|SEARCH_CUR)){
						iprintf("%s\n",dic);
					}else{
						break;
					}
				}
			}else{
				iprintf("マクロ / textapi()ではないようです。\n");
			}
			
		}else if(0 != search(dic,worddef,SEARCH_RE|SEARCH_ALL)){
			iprintf("%s\n",dic);
			for(jumpnextpara(dic);!iscureof(dic);jumpnextpara(dic)){
				jumpparatop(dic);
				  if(searchinpara(dic,"#define",SEARCH_RE|SEARCH_CUR)){
					break;
				}else  if(searchinpara(dic,"//",SEARCH_RE|SEARCH_CUR)){
					iprintf("%s\n",dic);
				}else{
					("マクロ / textapi()ではないようです。\n");
				}
			}
		}else{
			iprintf("マクロ / textapi()ではないようです。\n");	
		}
	}else{
		iprintf("取得できませんでした。\n");
	}	
}
  • 修正しました。 -- 2008-10-29 20:52:26 (水)
  • WZM2.0.1でも動作しました。 -- 2008-11-06 22:22:55 (木)
  • #define行に対応しました。 -- 2008-11-08 21:42:04 (土)
  • ツールビューを開いておかないと表示しません。 -- 2009-10-09 (金) 21:54:45
  • 本体のtext-cリファレンス機能を使いましょう。 -- 2009-10-10 (土) 19:34:06
  • iprintfに変更 -- 2009-10-10 (土) 21:58:24