SAS9.2帮助很好很强大
一直觉得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帮助很好很强大相关推荐
- SAS9.4+sid更新
以下文件路径和软件版本仅供参考,可依照自己的修改.注意看相关的readme文件. ------SAS9.4------- *注意:压缩包23G,解压缩加上下载都及费时间和内存!!建议留存五六十G的内存 ...
- 分享45个android实例源码,很好很强大
链接地址:http://www.apkbus.com/android-20978-1-1.html 分享45个android实例源码,很好很强大 http://www.apkbus.com/andro ...
- 很好很强大的FXTZ
FXTZ很好很强大. 中国很好很强大... 核弹很好很强大... 青蛙很好很强大... 早苗很好很强大... 笨蛋⑨很好很强大... 音乐更是一如既往的非常好非常强大. 只可惜还没拿到很好很强大的卡. ...
- 很好很强大的六个SEO关键词分析工具
最近关键词在SEO界炒的很热,这里放出我整理的几个分析工具和简要说明.写得挺辛苦的,觉得有用的兄弟帮忙顶一下 1 百度搜索风云榜 - http://top.baidu.com/ 最新最热的核心关键词都 ...
- UML 类图 StarUML---推荐一款UML工具 很好很强大
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 博客园 ...
- UML 类图 StarUML---推荐一款UML工具(很好很强大)
博客园 闪存 首页 新随笔 联系 管理 订阅 随笔- 295 文章- 111 评论- 6633 StarUML---推荐一款UML工具(很好很强大) 上周我的一个朋友,同时也是目前 ...
- 分享45个android实例源码,很好很强大.收藏吧!!!
添加微信号:apkbus,回复"视频"即可获取400套免费 Android开发 视频教程 分享45个android实例源码,很好很强大 http://www.apkbus.com/ ...
- 树形控件--zTree 很好很强大
树形控件--zTree 很好很强大: http://www.ztree.me/v3/demo.php#_506
- 分享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 ...
最新文章
- TinyML 机器学习简介
- 新版数采仪问题解决全记录-升级失败问题
- 3 Redis 配置文件
- 炼丹侠必知的9大池化操作​汇总
- vivado中交织模块_搞定Markdown中的图片,一劳永逸的方法!
- 华为云 - 公有云产品 - OBS计费说明
- ubuntu 分屏工具
- 操作系统 第二部分 进程管理(六)
- Android相对属性布局总结
- java入门第五步之数据库项目实战
- yaml文件中Map集合的key、value的坑
- 2003系统如何搭建ftp服务器配置,WINDOWSSERVER2003系统架设FTP服务器配置方法.pdf
- 三星s4 android 5.0 root权限,三星S4(i9500)一键ROOT权限获取+USB驱动
- ISO语言代码(ISO-639)与国家代码(ISO-3166)
- 微信网页版扫码登录原理
- php货币2019年12月31日汇率,2020年12月31日中国银行外汇汇率是多少,人民币汇率一览...
- SPADE 阅读笔记
- 苹果手机怎么在照片上添加文字_手机照片如何添加文字?原来方法这么简单,花1分钟手把手教...
- Shader学习笔记(三)学习Shader所需的数学基础
- 时间戳90K是什么意思?
热门文章
- 阿拉伯数字替换成中文大写
- Vue/Nuxt框架开发的PC端网站兼容平板设备的
- PMP机构哪家强?到底该怎么选?有无机构对比?以上问题看这里!!!
- 【高德地图WEB开发】 入门篇(地图/搜索/经纬度/缩放层级)
- Ubuntu 16.04蓝牙连接微软鼠标Designer Mouse成功但是鼠标无法使用解决方案
- VSC/SMC(十三)——快速和非奇异Terminal滑模控制(含程序模型)
- latex \textit不变斜体
- 3ds Max 精模数据优化处理参考
- ASP.NET入门随想六之大航海家(2)
- 【学习笔记】计算机网络 第八章 无线局域网(WLAN)