demo_html.cpp
上传用户:yhdzpy8989
上传日期:2007-06-13
资源大小:13604k
文件大小:4k
源码类别:

生物技术

开发平台:

C/C++

  1. /*
  2.  * ===========================================================================
  3.  * PRODUCTION $Log: demo_html.cpp,v $
  4.  * PRODUCTION Revision 1000.1  2004/06/01 19:16:02  gouriano
  5.  * PRODUCTION PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.13
  6.  * PRODUCTION
  7.  * ===========================================================================
  8.  */
  9. /*  $Id: demo_html.cpp,v 1000.1 2004/06/01 19:16:02 gouriano Exp $
  10.  * ===========================================================================
  11.  *
  12.  *                            PUBLIC DOMAIN NOTICE
  13.  *               National Center for Biotechnology Information
  14.  *
  15.  *  This software/database is a "United States Government Work" under the
  16.  *  terms of the United States Copyright Act.  It was written as part of
  17.  *  the author's official duties as a United States Government employee and
  18.  *  thus cannot be copyrighted.  This software/database is freely available
  19.  *  to the public for use. The National Library of Medicine and the U.S.
  20.  *  Government have not placed any restriction on its use or reproduction.
  21.  *
  22.  *  Although all reasonable efforts have been taken to ensure the accuracy
  23.  *  and reliability of the software and data, the NLM and the U.S.
  24.  *  Government do not and cannot warrant the performance or results that
  25.  *  may be obtained by using this software or data. The NLM and the U.S.
  26.  *  Government disclaim all warranties, express or implied, including
  27.  *  warranties of performance, merchantability or fitness for any particular
  28.  *  purpose.
  29.  *
  30.  *  Please cite the author in any work or product based on this material.
  31.  *
  32.  * ===========================================================================
  33.  *
  34.  * Author:  Lewis Geer
  35.  *
  36.  * File Description:   Sample simple HTML program
  37.  *
  38.  */
  39. // Toolkit public headers
  40. #include <ncbi_pch.hpp>
  41. #include <cgi/ncbicgir.hpp>
  42. #include <html/html.hpp>
  43. // This turns on the NCBI namespace
  44. USING_NCBI_SCOPE; 
  45. static int s_Demo(void)
  46. {
  47.     CCgiResponse Response; // Used to write out the html
  48.     CNodeRef     Html;     // The following are tags used in the page.
  49.     CNodeRef     Body;
  50.     CNodeRef     Form;
  51.     try {
  52.         // Write out the Content-type header
  53.         Response.WriteHeader();
  54.         // Create the tags
  55.         Html = new CHTML_html();
  56.         Body = new CHTML_body();
  57.         Form = new CHTML_form("cgidemo", CHTML_form::eGet);
  58.         // Stick them together
  59.         Html->AppendChild(Body);
  60.         Body->AppendChild(Form);
  61.         Form->AppendChild(new CHTML_text("name"));
  62.         Form->AppendChild(new CHTML_submit("Submit"));
  63.         // Print out the results
  64.         Html->Print(Response.out());
  65.         Response.Flush();
  66.         return 0;  
  67.     }
  68.     // Check to see if there were any errors
  69.     catch (exception& exc) { 
  70.         // Deallocate memory in case of error
  71.         NcbiCerr << "n" << exc.what() << NcbiEndl;
  72.     }
  73.     // Error
  74.     return 1;
  75. }
  76. int main() 
  77. {
  78.     IOS_BASE::sync_with_stdio(false);
  79. return s_Demo();
  80. }
  81. /*
  82.  * ===========================================================================
  83.  * $Log: demo_html.cpp,v $
  84.  * Revision 1000.1  2004/06/01 19:16:02  gouriano
  85.  * PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.13
  86.  *
  87.  * Revision 1.13  2004/05/17 20:59:56  gorelenk
  88.  * Added include of PCH ncbi_pch.hpp
  89.  *
  90.  * Revision 1.12  2003/11/03 17:01:48  ivanov
  91.  * Some code rearrangement
  92.  *
  93.  * Revision 1.11  2000/11/01 20:37:57  vasilche
  94.  * Disabled sync_with_stdio.
  95.  *
  96.  * Revision 1.10  1999/11/22 19:44:29  vakatov
  97.  * s_Demo() -- made "static"
  98.  *
  99.  * Revision 1.9  1999/10/28 13:40:38  vasilche
  100.  * Added reference counters to CNCBINode.
  101.  *
  102.  * Revision 1.8  1999/07/08 16:45:53  vakatov
  103.  * Get rid of the redundant `extern "C"' at "main()
  104.  *
  105.  * Revision 1.7  1999/06/11 20:30:32  vasilche
  106.  * We should catch exception by reference, because catching by value
  107.  * doesn't preserve comment string.
  108.  *
  109.  * Revision 1.6  1999/06/09 16:32:34  vasilche
  110.  * Fixed warning under MS VS
  111.  *
  112.  * Revision 1.5  1999/06/07 15:21:09  vasilche
  113.  * Fixed some warnings.
  114.  *
  115.  * Revision 1.4  1999/05/11 15:52:01  vakatov
  116.  * Added missing "return" (1 on error)
  117.  *
  118.  * Revision 1.3  1999/05/11 02:53:59  vakatov
  119.  * Moved CGI API from "corelib/" to "cgi/"
  120.  *
  121.  * Revision 1.2  1999/03/15 16:14:27  vasilche
  122.  * Fixed new CHTML_form constructor.
  123.  *
  124.  * Revision 1.1  1999/01/14 21:37:43  lewisg
  125.  * added html demo
  126.  * ===========================================================================
  127.  */