找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 592|回复: 2

[试用]:mdl 编程初步,看其与标准C的区别

[复制链接]
发表于 2003-3-15 15:57:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
这里提供给MDL初学者MDL的编译环境,同时给一个间间单单的例子(LX1.mc)。例子是检测计算机D:\下
是否有gxmyg.ini这个文件,如果有就在(0,0)初画4条线,如没有则显出错提示框。
    编译环境把本MDL解压到你的MS根目录下(可以不覆盖你原来的MDL),修改mdlset.bat和Bin目录下
的批处理文件里的路径成你安装MS的路径(如我的MS V/J是安装在D:\ustnp下面,我的bin目录是
为D:\ustnp\mdl\bin。
   把mdlset拷到你的windows目录下。
   好了,运行MS-DOS方式,运行MSSET.bat,到放lx1.mc的目录
  编译:msmcomp lx1.mc
  连接:mmlink lx1
  已生成lx1.ma。进MS运行看看.
  如果有资源,可以按MS自带的examples下的basic这个例子修改后,进到有主*.mc的目录下运行msmake.bat
就可完成编译。mdlmake.bat可以把编译时出错信息形成tmp.txt文件供查找。
  对了,本环境在MS的V8之前所有版本都可用。

附:lx1.mc  /*我发现带小括号的include文件名不能显示,附件里有本程序*/
#include     <mdl.h>            /* system include files */
#include     <global.h>
#include     <mselems.h>
#include     <tcb.h>
#include     <stdio.h>

Private int myg_checkFile(void)    /* 检查在D:盘跟目录下是否有gxmyg.ini这个文件 */
{
    FILE  *p;
    FILE  *fopen();
    char  tmp[32];

   strcpy(tmp,"d:\\gxmyg.ini");
   if((p=fopen(tmp,"r"))==NULL)
     {
   mdlOutput_printf(MSG_MESSAGE, "ERROR Open File");
   return FALSE;
     }
   fclose(p);
   return TRUE;
  }


void  main
(
int        argc,
char        *argv[]
)

{
    MSElement        line;
    Dpoint3d    pt[2];
    double      mast;
    int         ik;
    ULong       filePos;
   
  
if(!myg_checkFile())     /* 检查在D:盘跟目录下是否有gxmyg.ini这个文件 */
    {
     mdlOutput_printf (MSG_ERROR, "OH,WRONG"); /* 出错提示栏提示 */
     mdlDialog_openInfoBox("             您 是 非 法 使 用 者!\n \n如 果 您 需 使 用 Ustation 流 程 软 件 \n  请与 GXMYG 联系电话:4800450"); /* 提示框 */  
     mdlSystem_exit(NULL,1);  /* 退出程序 */
    }

mast=tcb->subpermast*tcb->uorpersub; /* 工作单位计算 */

for(ik=0;ik<4;ik++)  /* 画线 */
  {
    pt[0].x=0;
    pt[0].y=pt[1].y=ik*50*mast;
    pt[1].x=200*mast;

    if (mdlLine_create (&line, NULL, &pt[0]) == SUCCESS)  /*在(0,0)处开始画4条线 */
        {
        mdlElement_display (&line, NORMALDRAW);
        if ((filePos = mdlElement_add (&line)) == 0L)
            {
            mdlOutput_printf (MSG_ERROR,"error adding element, %d", "MygLine");  /* 出错提示栏提示 */
            }
        }
    }
}

注:仅一时高兴随便写个小小测试程序,望大家指正。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2003-3-17 10:28:15 | 显示全部楼层
判定一个文件是否存在最好不要用fopen/fclose,可直接用mdlFile_find或mdlFile_getFileAttributes。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-3-18 22:34:44 | 显示全部楼层
没错,其实我这段代码原来是用来读取加密代码用的。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-25 13:23 , Processed in 0.399097 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表