一直觉得SAS得帮助做的很棒,想不到9.2考虑得更加完善

居然提供了一个Learning to Use SAS 这个帮助,很完善得例子,把SAS得每个模块都讲了,非常多,并且有详细得例子,例子看起来也特别简单易懂

如图:

大家把例子全部过一遍,基本上就把SAS得功能全部走一遍了

很好

如下一个调用外部DLL函数的例子:

/****************************************************************/
 /*          S A S   S A M P L E   L I B R A R Y                 */
 /*                                                              */
 /*    NAME: EXDLL1                                              */
 /*   TITLE: External DLL Example 1 : Calling Functions within  +*/
 /*          External DLLs from the DATA Step                    */
 /* PRODUCT: SAS                                                 */
 /*  SYSTEM: Windows                                             */
 /*    KEYS: MODULE                                              */
 /*   PROCS:                                                     */
 /*    DATA:                                                     */
 /*     REF:                                                     */
 /*    MISC:                                                     */
 /*    DESC: Demonstrates how to use the SAS System's MODULE     */
 /*          functions/call routines to utilize both API and     */
 /*          user-written functions located within Dynamic Link  */
 /*          Libraries (DLLs).  In this example, the Windows API */
 /*          function "MessageBoxA" is being called to display   */
 /*          a dialog box with message text and 2 push buttons.  */
 /****************************************************************/
 
 /* Assign the MODULE routine specific fileref "SASCBTBL".       */
 /* This fileref points to an attribute table definition table   */
 /* used to describe the parameters and responses for each       */
 /* function, the name of the DLL they are located in, and their */
 /* architecture.  There must be an entry in this table for each */
 /* function called by the MODULE routine.  In this example we   */
 /* are creating a temporary work file utilizing the CATALOG     */
 /* access method (new to 6.11).                                 */
 
 FILENAME SASCBTBL CATALOG "work.temp.attrfile.source";
 
 /* This DATA step dynamically creates an attribute table to     */
 /* define the MessageBoxA API function used in the example      */
 /* code below.  NOTE: Using an incorrect attribute definition   */
 /* could abnormally terminate your SAS session or, even worse,  */
 /* halt your operating system.  CAUTION IS ADVISED!!            */
 
 DATA _NULL_;
    FILE SASCBTBL;
 
    PUT "ROUTINE MessageBoxA";
    PUT "    MINARG=4";
    PUT "    MAXARG=4";
    PUT "    STACKPOP=CALLED";
    PUT "    MODULE=USER32";
    PUT "    RETURNS=LONG;";
    PUT "  ARG 1 NUM  BYVALUE FORMAT=PIB4.;";
    PUT "  ARG 2 CHAR         FORMAT=$CSTR200.;";
    PUT "  ARG 3 CHAR         FORMAT=$CSTR200.;";
    PUT "  ARG 4 NUM  BYVALUE FORMAT=PIB4.;";
 RUN;
 
 /*--------------------------------------------------------------*/
 /* The following SAS macro variables are defined to simplify    */
 /* the specification of the parameters to the MessageBoxA       */
 /* function.                                                    */
 /*--------------------------------------------------------------*/
 /*   Buttons or Button Groups                                   */
 %LET MBOK     = 0;     /* [OK] - Default                        */
 %LET MBOKCAN  = 1;     /* [OK]  [Cancel]                        */
 %LET MBABREIG = 2;     /* [Abort]  [Retry]  [Ignore]            */
 %LET MBYENOCA = 3;     /* [Yes]  [No]  [Cancel]                 */
 %LET MBYESNO  = 4;     /* [Yes]  [No]                           */
 %LET MBRETCAN = 5;     /* [Retry]  [Cancel]                     */
 /*   Icons                                                      */
 %LET MBNOICON = 0;     /* No icon - Default                     */
 %LET MBISTOP = 16;     /* A 'STOP' icon                         */
 %LET MBIQUEST = 32;    /* A question mark icon                  */
 %LET MBIEXCLA = 48;    /* An exclamation mark icon              */
 %LET MBIINFOR = 64;    /* An information 'i' icon               */
 /*   Default Button                                             */
 %LET MBDEFB1  = 0;     /* 1st button is the default - Default   */
 %LET MBDEFB2  = 256;   /* 2nd button is the default             */
 %LET MBDEFB3  = 512;   /* 3rd button is the default             */
 /*   Response Codes  (NOTE: These indicate the button selected) */
 %LET MBIDOK   = 1;     /* [OK] was selected                     */
 %LET MBIDCAN  = 2;     /* [Cancel] was selected                 */
 %LET MBIDABO  = 3;     /* [Abort] was selected                  */
 %LET MBIDRET  = 4;     /* [Retry] was selected                  */
 %LET MBIDIGN  = 5;     /* [Ignore] was selected                 */
 %LET MBIDYES  = 6;     /* [Yes] was selected                    */
 %LET MBIDNO   = 7;     /* [No] was selected                     */
 %LET MBIDERR  = 0;     /* An API error occurred (check params)  */
 /*--------------------------------------------------------------*/
 /* MessageBoxA PARAMETERS AND RETURN CODES:                     */
 /* Usage:                                                       */
 /*   Response = MessageBoxA(0, Message, Caption, Style)         */
 /*                                                              */
 /* Response - The value returned from the function indicating   */
 /*            what action the user took (see Response Codes     */
 /*            above).                                           */
 /* Message  - The text to appear in the body of the dialog.     */
 /* Caption  - Text to be used in for the dialog's caption.      */
 /* Style    - A number indicating features required in the      */
 /*            dialog box (icons and buttons).  The number is    */
 /*            derived by adding one value from each of the      */
 /*            first 3 sections above (Buttons or Button Groups, */
 /*            Icons and Default Button) together.               */
 /*--------------------------------------------------------------*/
 
 /* Use the MODULE interface to call the MessageBoxA function.   */
 
 DATA _NULL_;
     response = MODULEN("MessageBoxA", 0,
   "This is the text that appears as the dialog message.",
   "THIS IS THE CAPTION TEXT",
   &MBOKCAN + &MBIINFOR + &MBDEFB1);
 
     SELECT (response);
  WHEN (&MBIDOK)
      PUT "The [OK] button was selected.";
  WHEN (&MBIDCAN)
      PUT "The [CANCEL] button was selected.";
  WHEN (&MBIDERR)
      PUT "An ERROR condition occurred." /
   "Check the MessageBoxA parameters.";
  OTHERWISE
      PUT "An unexpected response code of" response
   " was returned.";
     END;
 RUN;

SAS9.2帮助很好很强大相关推荐

  1. SAS9.4+sid更新

    以下文件路径和软件版本仅供参考,可依照自己的修改.注意看相关的readme文件. ------SAS9.4------- *注意:压缩包23G,解压缩加上下载都及费时间和内存!!建议留存五六十G的内存 ...

  2. 分享45个android实例源码,很好很强大

    链接地址:http://www.apkbus.com/android-20978-1-1.html 分享45个android实例源码,很好很强大 http://www.apkbus.com/andro ...

  3. 很好很强大的FXTZ

    FXTZ很好很强大. 中国很好很强大... 核弹很好很强大... 青蛙很好很强大... 早苗很好很强大... 笨蛋⑨很好很强大... 音乐更是一如既往的非常好非常强大. 只可惜还没拿到很好很强大的卡. ...

  4. 很好很强大的六个SEO关键词分析工具

    最近关键词在SEO界炒的很热,这里放出我整理的几个分析工具和简要说明.写得挺辛苦的,觉得有用的兄弟帮忙顶一下 1 百度搜索风云榜 - http://top.baidu.com/ 最新最热的核心关键词都 ...

  5. UML 类图 StarUML---推荐一款UML工具 很好很强大

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 博客园 ...

  6. UML 类图 StarUML---推荐一款UML工具(很好很强大)

    博客园 闪存 首页 新随笔 联系 管理 订阅 随笔- 295  文章- 111  评论- 6633  StarUML---推荐一款UML工具(很好很强大)        上周我的一个朋友,同时也是目前 ...

  7. 分享45个android实例源码,很好很强大.收藏吧!!!

    添加微信号:apkbus,回复"视频"即可获取400套免费 Android开发 视频教程 分享45个android实例源码,很好很强大 http://www.apkbus.com/ ...

  8. 树形控件--zTree 很好很强大

    树形控件--zTree 很好很强大: http://www.ztree.me/v3/demo.php#_506

  9. 分享45个android实例源码,很好很强大.收藏吧!!! http://www.apkbus.com/forum.php?mod=viewthreadtid=20978 (出处: Android开

    分享45个android实例源码,很好很强大.收藏吧!!! http://www.apkbus.com/forum.php?mod=viewthread&tid=20978 (出处: Andr ...

最新文章

  1. TinyML 机器学习简介
  2. 新版数采仪问题解决全记录-升级失败问题
  3. 3 Redis 配置文件
  4. 炼丹侠必知的9大池化操作​汇总
  5. vivado中交织模块_搞定Markdown中的图片,一劳永逸的方法!
  6. 华为云 - 公有云产品 - OBS计费说明
  7. ubuntu 分屏工具
  8. 操作系统 第二部分 进程管理(六)
  9. Android相对属性布局总结
  10. java入门第五步之数据库项目实战
  11. yaml文件中Map集合的key、value的坑
  12. 2003系统如何搭建ftp服务器配置,WINDOWSSERVER2003系统架设FTP服务器配置方法.pdf
  13. 三星s4 android 5.0 root权限,三星S4(i9500)一键ROOT权限获取+USB驱动
  14. ISO语言代码(ISO-639)与国家代码(ISO-3166)
  15. 微信网页版扫码登录原理
  16. php货币2019年12月31日汇率,2020年12月31日中国银行外汇汇率是多少,人民币汇率一览...
  17. SPADE 阅读笔记
  18. 苹果手机怎么在照片上添加文字_手机照片如何添加文字?原来方法这么简单,花1分钟手把手教...
  19. Shader学习笔记(三)学习Shader所需的数学基础
  20. 时间戳90K是什么意思?

热门文章

  1. 阿拉伯数字替换成中文大写
  2. Vue/Nuxt框架开发的PC端网站兼容平板设备的
  3. PMP机构哪家强?到底该怎么选?有无机构对比?以上问题看这里!!!
  4. 【高德地图WEB开发】 入门篇(地图/搜索/经纬度/缩放层级)
  5. Ubuntu 16.04蓝牙连接微软鼠标Designer Mouse成功但是鼠标无法使用解决方案
  6. VSC/SMC(十三)——快速和非奇异Terminal滑模控制(含程序模型)
  7. latex \textit不变斜体
  8. 3ds Max 精模数据优化处理参考
  9. ASP.NET入门随想六之大航海家(2)
  10. 【学习笔记】计算机网络 第八章 无线局域网(WLAN)