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

📄 90.txt

📁 VB文章集(含API、窗口、数据库、多媒体、系统、文件、等等)
💻 TXT
📖 第 1 页 / 共 2 页
字号:
  〈! ENDHEAD 〉 

  〈!---客户的留言部分从这开始--〉 

  〈P〉............................ 

  〈!---客户的留言部分结束于此--〉 

  〈/body〉〈/html〉 

  这种形式将保证最后的留言出现在留言簿的最前面。如果要想使最后的留言出现在留言簿的最后面,只需将留言簿文件中的定位字符串“〈! ENDHEAD 〉”移到留言簿文件中客户留言部分和HTML文件结尾部分之间的位置就行了。整个程序的完整代码如下所示: 

  'guestbook.bas 

  Declare Function GetStdHandle Lib "kernel32" (ByVal nStdHandle As Long) As Long 

  Declare Function ReadFile Lib "kernel32" (ByVal hFile As Long, lpBuffer As Any, _ 

  ByVal nNumberOfBytesToRead As Long, lpNumberOfBytesRead As Long, _ 

  lpOverlapped As Any) As Long 

  Declare Function WriteFile Lib "kernel32" (ByVal hFile As Long, _ 

  ByVal lpBuffer As String, ByVal nNumberOfBytesToWrite As Long, _ 

  lpNumberOfBytesWritten As Long, lpOverlapped As Any) As Long 

  Declare Function GetTempFileName Lib "kernel32" Alias "GetTempFileNameA" _ 

  (ByVal lpszPath As String, ByVal lpPrefixString As String, _ 

  ByVal wUnique As Long, ByVal lpTempFileName As String) As Long 

  Public Const STD_INPUT_HANDLE = -10& 

  Public Const STD_OUTPUT_HANDLE = -11& 

  Public Const FILE_BEGIN = 0& 

  Public hStdIn As Long ' 标准输入文件句柄 

  Public hStdOut As Long ' 标准输出文件句柄 

  Public sFormData As String ' 用于存储没有经过URL译码的用户输入数据 

  Public lContentLength As Long 

  Public CGI_RequestMethod As String 

  Sub Main() 

  Dim CGI_ContentLength As String, CGI_QueryString As String, sBuff As String, chinesetail As String 

  Dim lBytesRead As Long, rc As Long,I As Long 

  Dim sEmail As String, sName As String, sURL As String, sfrom As String, tempstring As String 

  Dim sComment As String, tempFileName As String, guestbook As String 

  'CGI程序的初始化工作 

  hStdIn = GetStdHandle(STD_INPUT_HANDLE) 

  hStdOut = GetStdHandle(STD_OUTPUT_HANDLE) 

  CGI_RequestMethod = Environ("REQUEST_METHOD") 

  CGI_QueryString = Environ("QUERY_STRING") 

  CGI_ContentLength = Environ("CONTENT_LENGTH") 

  lContentLength = Val(CGI_ContentLength) 

  sBuff = String(lContentLength, Chr$(0)) 

  OutPut "Content-type: text/html" & vbCrLf ' 输出MIME类型 

  OutPut "〈FONT SIZE=""+2""〉" 

  If CGI_RequestMethod = "POST" Then 

  sBuff = String(lContentLength, Chr$(0)) 

   rc = ReadFile(hStdIn, ByVal sBuff, lContentLength, lBytesRead, ByVal 0&) 

   sFormData = Left$(sBuff, lBytesRead) 

  ElseIf CGI_RequestMethod = "GET" Then 

   sFormData = CGI_QueryString 

  Else 

   OutPut "Unknow Form Method !" 

  End If 

  chinesetail = String(400, " ") '为了在页面上正确显示中文生成一个空格串获取客户端用户的输入 

  sName = GetCgiValue("name") 

  sEmail = GetCgiValue("email") 

  sURL = GetCgiValue("URL") 

  sfrom = GetCgiValue("from") 

  sComment = GetCgiValue("URL_Comment") 

  '对客户端用户的输入进行检查 

  If Len(sName) = 0 Then 

   OutPut "〈P〉非常抱歉!您还没有填写姓名!" & chinesetail 

   Exit Sub 

  End If 

  If Len(sComment) = 0 Then 

   OutPut "〈P〉非常抱歉!您还没有提出建议!" & chinesetail 

   Exit Sub 

  End If 

  '获取唯一的临时文件名和留言簿文件并打开它们 

  tempFileName = TempFile("c:\windows\temp", "gbk") 

  guestbook = "e:\netscape\server\docs\guests.html" 

  Open tempFileName For Output As #1 

  Open guestbook For Input As #2 

  Do '本循环体用于将留言簿中字符串"〈! ENDHEAD 〉"前面的内容写入临时文件 

  Line Input #2, tempstring 

  Print #1, tempstring 

  Loop While tempstring 〈〉 "〈! ENDHEAD 〉" And Not EOF(2) 

  '向临时文件中插入客户端用户的留言 

  Print #1, "〈hr〉" & vbCrLf 

  Print #1, "〈ul〉" & vbCrLf 

  Print #1, "〈li〉〈b〉留言时间〈/b〉

⌨️ 快捷键说明

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