⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 90.htm

📁 一些简单的编程例子 都是网页的形式
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<p>  〈! ENDHEAD 〉 </p>
<p></p>
<p>  〈!---客户的留言部分从这开始--〉 </p>
<p></p>
<p>  〈P〉............................ </p>
<p></p>
<p>  〈!---客户的留言部分结束于此--〉 </p>
<p></p>
<p>  〈/body〉〈/html〉 </p>
<p></p>
<p>  这种形式将保证最后的留言出现在留言簿的最前面。如果要想使最后的留言出现在留言簿的最后面,只需将留言簿文件中的定位字符串“〈! ENDHEAD 〉”移到留言簿文件中客户留言部分和HTML文件结尾部分之间的位置就行了。整个程序的完整代码如下所示: </p>
<p></p>
<p>  'guestbook.bas </p>
<p></p>
<p>  Declare Function GetStdHandle Lib "kernel32" (ByVal nStdHandle As Long) As Long </p>
<p></p>
<p>  Declare Function ReadFile Lib "kernel32" (ByVal hFile As Long, lpBuffer As Any, _ </p>
<p></p>
<p>  ByVal nNumberOfBytesToRead As Long, lpNumberOfBytesRead As Long, _ </p>
<p></p>
<p>  lpOverlapped As Any) As Long </p>
<p></p>
<p>  Declare Function WriteFile Lib "kernel32" (ByVal hFile As Long, _ </p>
<p></p>
<p>  ByVal lpBuffer As String, ByVal nNumberOfBytesToWrite As Long, _ </p>
<p></p>
<p>  lpNumberOfBytesWritten As Long, lpOverlapped As Any) As Long </p>
<p></p>
<p>  Declare Function GetTempFileName Lib "kernel32" Alias "GetTempFileNameA" _ </p>
<p></p>
<p>  (ByVal lpszPath As String, ByVal lpPrefixString As String, _ </p>
<p></p>
<p>  ByVal wUnique As Long, ByVal lpTempFileName As String) As Long </p>
<p></p>
<p>  Public Const STD_INPUT_HANDLE = -10& </p>
<p></p>
<p>  Public Const STD_OUTPUT_HANDLE = -11& </p>
<p></p>
<p>  Public Const FILE_BEGIN = 0& </p>
<p></p>
<p>  Public hStdIn As Long ' 标准输入文件句柄 </p>
<p></p>
<p>  Public hStdOut As Long ' 标准输出文件句柄 </p>
<p></p>
<p>  Public sFormData As String ' 用于存储没有经过URL译码的用户输入数据 </p>
<p></p>
<p>  Public lContentLength As Long </p>
<p></p>
<p>  Public CGI_RequestMethod As String </p>
<p></p>
<p>  Sub Main() </p>
<p></p>
<p>  Dim CGI_ContentLength As String, CGI_QueryString As String, sBuff As String, chinesetail As String </p>
<p></p>
<p>  Dim lBytesRead As Long, rc As Long,I As Long </p>
<p></p>
<p>  Dim sEmail As String, sName As String, sURL As String, sfrom As String, tempstring As String </p>
<p></p>
<p>  Dim sComment As String, tempFileName As String, guestbook As String </p>
<p></p>
<p>  'CGI程序的初始化工作 </p>
<p></p>
<p>  hStdIn = GetStdHandle(STD_INPUT_HANDLE) </p>
<p></p>
<p>  hStdOut = GetStdHandle(STD_OUTPUT_HANDLE) </p>
<p></p>
<p>  CGI_RequestMethod = Environ("REQUEST_METHOD") </p>
<p></p>
<p>  CGI_QueryString = Environ("QUERY_STRING") </p>
<p></p>
<p>  CGI_ContentLength = Environ("CONTENT_LENGTH") </p>
<p></p>
<p>  lContentLength = Val(CGI_ContentLength) </p>
<p></p>
<p>  sBuff = String(lContentLength, Chr$(0)) </p>
<p></p>
<p>  OutPut "Content-type: text/html" & vbCrLf ' 输出MIME类型 </p>
<p></p>
<p>  OutPut "〈FONT SIZE=""+2""〉" </p>
<p></p>
<p>  If CGI_RequestMethod = "POST" Then </p>
<p></p>
<p>  sBuff = String(lContentLength, Chr$(0)) </p>
<p></p>
<p>   rc = ReadFile(hStdIn, ByVal sBuff, lContentLength, lBytesRead, ByVal 0&) </p>
<p></p>
<p>   sFormData = Left$(sBuff, lBytesRead) </p>
<p></p>
<p>  ElseIf CGI_RequestMethod = "GET" Then </p>
<p></p>
<p>   sFormData = CGI_QueryString </p>
<p></p>
<p>  Else </p>
<p></p>
<p>   OutPut "Unknow Form Method !" </p>
<p></p>
<p>  End If </p>
<p></p>
<p>  chinesetail = String(400, " ") '为了在页面上正确显示中文生成一个空格串获取客户端用户的输入 </p>
<p></p>
<p>  sName = GetCgiValue("name") </p>
<p></p>
<p>  sEmail = GetCgiValue("email") </p>
<p></p>
<p>  sURL = GetCgiValue("URL") </p>
<p></p>
<p>  sfrom = GetCgiValue("from") </p>
<p></p>
<p>  sComment = GetCgiValue("URL_Comment") </p>
<p></p>
<p>  '对客户端用户的输入进行检查 </p>
<p></p>
<p>  If Len(sName) = 0 Then </p>
<p></p>
<p>   OutPut "〈P〉非常抱歉!您还没有填写姓名!" & chinesetail </p>
<p></p>
<p>   Exit Sub </p>
<p></p>
<p>  End If </p>
<p></p>
<p>  If Len(sComment) = 0 Then </p>
<p></p>
<p>   OutPut "〈P〉非常抱歉!您还没有提出建议!" & chinesetail </p>
<p></p>
<p>   Exit Sub </p>
<p></p>
<p>  End If </p>
<p></p>
<p>  '获取唯一的临时文件名和留言簿文件并打开它们 </p>
<p></p>
<p>  tempFileName = TempFile("c:\windows\temp", "gbk") </p>
<p></p>
<p>  guestbook = "e:\netscape\server\docs\guests.html" </p>
<p></p>
<p>  Open tempFileName For Output As #1 </p>
<p></p>
<p>  Open guestbook For Input As #2 </p>
<p></p>
<p>  Do '本循环体用于将留言簿中字符串"〈! ENDHEAD 〉"前面的内容写入临时文件 </p>
<p></p>
<p>  Line Input #2, tempstring </p>
<p></p>
<p>  Print #1, tempstring </p>
<p></p>
<p>  Loop While tempstring 〈〉 "〈! ENDHEAD 〉" And Not EOF(2) </p>
<p></p>
<p>  '向临时文件中插入客户端用户的留言 </p>
<p></p>
<p>  Print #1, "〈hr〉" & vbCrLf </p>
<p></p>
<p>  Print #1, "〈ul〉" & vbCrLf </p>
<p></p>
<p>  Print #1, "〈li〉〈b〉留言时间〈/b〉</p>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -