这篇文章主要围绕ShowMsg函数妙用和show函数展开,旨在为您提供一份详细的参考资料。我们将全面介绍ShowMsg函数妙用的优缺点,解答show函数的相关问题,同时也会为您带来51nod1067B
这篇文章主要围绕ShowMsg函数妙用和show 函数展开,旨在为您提供一份详细的参考资料。我们将全面介绍ShowMsg函数妙用的优缺点,解答show 函数的相关问题,同时也会为您带来51 nod1067 Bash游戏 V2(sg函数打表)、C语言的isatty函数和ttyname函数以及sendmsg函数用法、dede 中弹出框函数 function ShowMsg、delphi – 获取对话框窗口表单的引用(ShowMessage,MsgDialog等)的实用方法。
本文目录一览:- ShowMsg函数妙用(show 函数)
- 51 nod1067 Bash游戏 V2(sg函数打表)
- C语言的isatty函数和ttyname函数以及sendmsg函数用法
- dede 中弹出框函数 function ShowMsg
- delphi – 获取对话框窗口表单的引用(ShowMessage,MsgDialog等)
ShowMsg函数妙用(show 函数)
在对DedeCMS做2次开发的时候可能提示信息会经常用到,为了方便在此将ShowMsg办法提取出来,使用办法:
ShowMsg(“提示信息”,“进行跳转的页面网址”);
ShowMsg的代码如下:
function ShowMsg($msg, $gourl, $onlymsg = 0, $limittime = 0) //系统提示信息
{
/*
*$msg 信息提示的内容
*$gourl 需要跳转的URL
*$onlymsg 1 表示不自动跳转 0表示自动跳转
*$limittime 跳转的时间
*/
global $dsql, $cfg_ver_lang;
if (eregi ( "^gb", $cfg_ver_lang ))
$cfg_ver_lang = 'utf-8';
$htmlhead = "<html>\r\n<head>\r\n<title>系统提示</title>\r\n<meta http-equiv=\"Content-Type\"
content=\"text/html; charset=utf-8\" />\r\n";
$htmlhead .= "<base target='_self'/>\r\n</head>\r\n<body leftmargin='0' topmargin='0'>\r\n<center>\r\n<script>\r\n";
$htmlfoot = "</script>\r\n</center>\r\n</body>\r\n</html>\r\n";
if ($limittime == 0)
$litime = 3000;
else
$litime = $limittime;
if ($gourl == "-1") {
if ($limittime == 0)
$litime = 3000;
$gourl = "javascript:history.go(-1);";
}
if ($gourl == "" || $onlymsg == 1) {
$msg = "<script>alert(\"" . str_replace ( "\"", "“", $msg ) . "\");</script>";
} else {
$func = " var pgo=0;
function JumpUrl(){
if(pgo==0){ location='$gourl'; pgo=1; }
}\r\n";
$rmsg = $func;
$rmsg .= "document.write(\"<br /><div>";
$rmsg .= "<div;'><b>提示信息!</b></div>\");\r\n";
$rmsg .= "document.write(\"<div><br />\");\r\n";
$rmsg .= "document.write(\"".str_replace("\"","“",$msg)."\");\r\n";
$rmsg .= "document.write(\"";
if ($onlymsg == 0) {
if ($gourl != "javascript:;" && $gourl != "") {
$rmsg .= "<br/><br/><a href='" . $gourl . "'>如果你的浏览器没反应,请点击这里...</a>";
}
$rmsg .= "<br/><br/></div>\");\r\n";
if ($gourl != "javascript:;" && $gourl != "") {
$rmsg .= "setTimeout('JumpUrl()',$litime);";
}
} else {
$rmsg .= "<br/><br/></div>\");\r\n";
}
$msg = $htmlhead . $rmsg . $htmlfoot;
}
if (isset ( $dsql ) && is_object ( $dsql ))
@$dsql->Close ();
echo $msg;
}
51 nod1067 Bash游戏 V2(sg函数打表)
1067 Bash游戏 V2
- 1.0 秒
- 131,072.0 KB
- 5 分
1级题
有一堆石子共有N个。A B两个人轮流拿,A先拿。每次只能拿1,3,4颗,拿到最后1颗石子的人获胜。假设A B都非常聪明,拿石子的过程中不会出现失误。给出N,问最后谁能赢得比赛。
例如N = 2。A只能拿1颗,所以B可以拿到最后1颗石子。
输入
第1行:一个数T,表示后面用作输入测试的数的数量。(1 <= T <= 10000) 第2 - T + 1行:每行1个数N。(1 <= N <= 10^9)
输出
共T行,如果A获胜输出A,如果B获胜输出B。
sg函数先打表,然后找规律。我们可以发现当n%7==0||n%7==2时sg值为0。
打表代码
#include<bits/stdc++.h> using namespace std; #define ll long long const int N=100,M=5e5+5; int v[N],sg[N],s[3]={1,3,4}; int mex(int x) { memset(v,0,sizeof(v)); for(int i=0;i<3;i++) { if(x<s[i]) break; v[sg[x-s[i]]]=1; } for(int i=0;;i++) { if(!v[i]) return i; } } int main() { int i; sg[0]=0; for(int i=1;i<N;i++) { sg[i]=mex(i); } for(int i=0;i<N;i++) { printf("sg[%d] = %d\n",i,sg[i]); } return 0; }
AC代码
#include<bits/stdc++.h> using namespace std; #define ll long long int main() { int T,n,x; cin>>T; while(T--) { cin>>x; if(x%7==0||x%7==2) { printf("B\n"); } else { printf("A\n"); } } return 0; }
C语言的isatty函数和ttyname函数以及sendmsg函数用法
isatty()函数
头文件:
#include <unistd.h>
定义函数:
int isatty(int desc);
函数说明:如果参数 desc 所代表的文件描述词为一终端机则返回1,否则返回0.
返回值:如果文件为终端机则返回1,否则返回0.
C语言ttyname()函数:返回一终端机名称
头文件:
#include <unistd.h>
定义函数:
char * ttyname(int desc);
函数说明:如果参数desc 所代表的文件描述词为一终端机,则会将此终端机名称由一字符串指针返回,否则返回NULL.
返回值:如果成功则返回指向终端机名称的字符串指针,有错误情况发生时则返回NULL.
范例
#include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> main() { int fd; char * file = "/dev/tty"; fd = open (fiel,O_RDONLY); printf("%s",file); if(isatty(fd)) { printf("is a tty. \n"); printf("ttyname = %s \n",ttyname(fd)); } else printf(" is not a tty\n"); close(fd); }
执行:
/dev/tty is a tty ttyname = /dev/tty
C语言sendmsg()函数:经socket传送数据
头文件:
#include <sys/types.h> #include <sys/socket.h>
定义函数:
int sendmsg(int s,const strcut msghdr *msg,unsigned int flags);
函数说明:sendmsg()用来将数据由指定的socket 传给对方主机. 参数s 为已建立好连线的socket,如果利用UDP 协议则不需经过连线操作. 参数msg 指向欲连线的数据结构内容,参数flags 一般默认为0,详细描述请参考send().
结构msghdr 定义如下:
struct msghdr { void *msg_name; //Address to send to /receive from . socklen_t msg_namelen; //Length of addres data strcut iovec * msg_iov; //Vector of data to send/receive into size_t msg_iovlen; //Number of elements in the vector void * msg_control; //Ancillary dat size_t msg_controllen; //Ancillary data buffer length int msg_flags; //Flags on received message };
返回值:成功则返回实际传送出去的字符数,失败返回-1,错误原因存于errno
错误代码:
1、EBADF 参数s 非合法的socket 处理代码.
2、EFAULT 参数中有一指针指向无法存取的内存空间
3、ENOTSOCK 参数s 为一文件描述词,非socket.
4、EINTR 被信号所中断.
5、EAGAIN 此操作会令进程阻断,但参数s 的socket 为不可阻断.
6、ENOBUFS 系统的缓冲内存不足
7、ENOMEM 核心内存不足 EINVAL 传给系统调用的参数不正确.
dede 中弹出框函数 function ShowMsg

本文同步分享在 博客 “lxw1844912514”(CSDN)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与 “OSC 源创计划”,欢迎正在阅读的你也加入,一起分享。
delphi – 获取对话框窗口表单的引用(ShowMessage,MsgDialog等)
到目前为止,我尝试过OnDeactivate,但看起来,ShowMessage并没有导致它……
在.NET中有一个关于Application的方法可以捕获每个MessageBox(Application.AddFilterMessage或类似这样的smth),我在delphi中需要这样的东西
我想要达到的目的是:
我必须抓住一个对话窗口出现的时刻(或者只是一个模态窗口,但它并不那么舒服).我需要做几个指令.这些说明的目标是给我一个刚刚收到的DialogWindow的参考,所以我可以得到一些位于它上面的按钮.
解决方法
function CBTProc(nCode: Integer; wParam: WParaM; lParam: LParaM): LRESULT; stdcall; var wnd: HWND; ClassName: string; begin if nCode=HCBT_ACTIVATE then begin wnd := wParam; SetLength(ClassName,256); SetLength(ClassName,GetClassName(wnd,PChar(ClassName),Length(ClassName))); if (ClassName='#32770') or (ClassName='TMessageForm') then Beep; end; Result := CallNextHookEx(0,nCode,wParam,lParam); end; procedure TForm1.Button1Click(Sender: TObject); var Hook: HHOOK; begin Hook := SetwindowsHookEx(WH_CBT,CBTProc,HInstance,GetCurrentThreadId); if Hook=0 then RaiseLastOSError; try ShowMessage('hello'); finally if not UnhookWindowsHookEx(Hook) then RaiseLastOSError; end; end;
请注意,实际的窗口类名称因系统而异.在XP上,类名将是TMessageForm,因为该对话框实际上是一个Delphi TForm.但是,在Vista上以后,对话框是一个标准窗口消息框对话框,窗口类名称为#32770.
我已经向ShowMessage调用了一次,但是如果要挂钩应用程序中显示的所有消息对话框,可以在启动时安装它.
关于ShowMsg函数妙用和show 函数的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于51 nod1067 Bash游戏 V2(sg函数打表)、C语言的isatty函数和ttyname函数以及sendmsg函数用法、dede 中弹出框函数 function ShowMsg、delphi – 获取对话框窗口表单的引用(ShowMessage,MsgDialog等)等相关内容,可以在本站寻找。
本文标签: