ネットにはいくつか見本が転がっていますが、PDFで文字が化けていたり、APIがまったく変わってしまったようなものもあります。素直に動くものが少ないので、いくつかの手本を元に作成しました。APIの定義をテキストで別に用意している例が多いのですが、カタログを使った例がまとまりが良いです。
/* *++ * WinAPI(CopyFileA)を呼び出して、ファイルをコピー *-- */ filename winapi catalog 'WORK.Windows.WINAPI.SOURCE'; data _null_; file winapi; input; put _infile_; cards4; routine CopyFileA module=KERNEL32 minarg=3 maxarg=3 stackpop=called returns=ushort ; arg 1 input char format=$cstr200.; * FROM ; arg 2 input char format=$cstr200.; * TO ; arg 3 input num format=pib4. byvalue; * 1=Do Not Overwrite Existing ; * 0=Overwrite Existing File ; ;;;; run; filename winapi; filename sascbtbl catalog 'WORK.Windows.WINAPI.SOURCE'; data _null_; rc = modulen('*e', 'CopyFileA', 'c:\temp\foo.txt', 'c:\temp\foo_copy.txt', 0); put _all_; run; filename sascbtbl clear;
0 件のコメント :
コメントを投稿