- UID
- 112996
- 积分
- 215
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2004-3-13
- 最后登录
- 1970-1-1
|
发表于 2004-5-28 19:11:17
|
显示全部楼层
Corilla , 你在另外一个贴子中提出同样的问题,我在21日 把你的程序改写后已贴出,你没有看到
啊?该改写后的程序已在我的AutoCAD中试运行正常。在这里我再次 把该程序提供如下:
- void TextToText()
- {
- struct resbuf *cb, *ed1, *ed2, *tmp;
- ads_name ent1,ent2;
- ads_point pickPt1,pickPt2;
- char *sp1, *sp2;
- int es;
- es = acedEntSel("\nPick first text: ", ent1, pickPt1);
- if (es != RTNORM) return;
- ed1 = acdbEntGet(ent1);
- for (cb =ed1; cb; cb =cb->rbnext) {
- if (cb->restype==0) {
- if (strcmp(cb->resval.rstring,"TEXT") != 0) {
- acutRelRb(ed1);
- acutPrintf("你选择的实体错误,请指定字符实体!");
- return;
- }
- } else if (cb->restype==1) {
- sp1 = cb->resval.rstring;
- }
- }
- es = acedEntSel("\nPick second text: ", ent2, pickPt2);
- if (es != RTNORM) {
- acutRelRb(ed1);
- return;
- }
- ed2 = acdbEntGet(ent2);
- for (cb =ed2; cb; cb =cb->rbnext) {
- if (cb->restype==0) {
- if (strcmp(cb->resval.rstring,"TEXT") != 0) {
- acutRelRb(ed1);
- acutRelRb(ed2);
- acutPrintf("你选择的实体错误,请指定字符实体!");
- return; //
- }
- } else if (cb->restype==1) {
- tmp = acutBuildList(RTSTR, sp1, 0);
- sp2 = cb->resval.rstring;
- cb->resval.rstring = tmp->resval.rstring;
- tmp->resval.rstring = sp2;
- acutRelRb(tmp);
- break;
- }
- }
- acdbEntMod(ed2);
- acdbEntUpd(ent2);
- acutRelRb(ed1);
- acutRelRb(ed2);
- }
复制代码 |
|