home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1997 May / Pcwk0597.iso / borland / ib / setups / intrabld / data.z / GBMAIL.JFM < prev    next >
Text File  |  1996-12-11  |  8KB  |  312 lines

  1. /****************************************************************************\
  2. *                                                                            *
  3. * GbMail.jfm  --  Guest Mail Form                                            *
  4. *                                                                            *
  5. * GbMail.jfm is part of the Guest Book solution application. It is used      *
  6. * to send out mailing over the internet. Much of the form was created by the *
  7. * expert, but a couple interesting things were added. The header script below*
  8. * this comment allows us to call an external function in a dll. Notice how   *
  9. * easy it is to add the power of dll functions to your application.          *
  10. *                                                                            *
  11. *                                                                            *
  12. * Dependencies:  mailSock.dll                                                *
  13. *                mailto71.gif                                                *
  14. *                homepg31.gif                                                *
  15. *                apps\shared\controls.cc                                     *
  16. *                                                                            *
  17. * Updated 11/12/96 by IntraBuilder Samples Group                             *
  18. * $Revision:   1.4  $                                                        *
  19. *                                                                            *
  20. * Copyright (c) 1996, Borland International, Inc. All rights reserved.       *
  21. *                                                                            *
  22. \****************************************************************************/
  23. extern boolean sendMail(char* /*address*/, char*/*sender*/, char*/*subject*/,char* /*body*/) "mailSock.dll"
  24.  
  25. #define MAINPAGE    1                               
  26. #define SUCCESSPAGE 2
  27. #define ERRORPAGE   3
  28. // {End Header} Do not remove this comment//
  29. // Generated on 11/12/96
  30. //
  31. var f = new mailExampleForm();
  32. f.open();
  33. class mailExampleForm extends Form {
  34.    _sys.scripts.load(_sys.env.home() + "APPS\\SHARED\\CONTROLS.CC");
  35.    with (this) {
  36.       onServerLoad = class::Form_onServerLoad;
  37.       color = "a4d5ff";
  38.       height = 13.6667;
  39.       left = 0;
  40.       top = 0;
  41.       width = 72;
  42.       title = "Guest Book Mail";
  43.    }
  44.  
  45.  
  46.    with (this.ibapps1 = new Database()){
  47.       left = 60;
  48.       top = 0;
  49.       databaseName = "IBAPPS";
  50.       active = true;
  51.  
  52.    }
  53.  
  54.    with (this.mail1 = new Query()){
  55.       left = 56;
  56.       top = 0;
  57.       database = parent.ibapps1;
  58.       sql = "SELECT EMAIL FROM GUEST";
  59.  
  60.       active = true;
  61.  
  62.       with (rowset) {
  63.  
  64.  
  65.       }
  66.  
  67.    }
  68.  
  69.    with (this.rule1 = new Rule(this)){
  70.       top = 4;
  71.       size = 2;
  72.       right = 70;
  73.       pageno = 0;
  74.  
  75.    }
  76.  
  77.    with (this.rule2 = new Rule(this)){
  78.       top = 13.5;
  79.       size = 2;
  80.       right = 70;
  81.       pageno = 0;
  82.  
  83.    }
  84.  
  85.    with (this.rule3 = new Rule(this)){
  86.       top = 18;
  87.       size = 2;
  88.       right = 70;
  89.       pageno = 0;
  90.  
  91.    }
  92.  
  93.    with (this.mailServerLogo = new Image(this)){
  94.       height = 3.4167;
  95.       width = 10.25;
  96.       dataSource = "filename MAILTO71.GIF";
  97.       alignment = 4;
  98.       pageno = 0;
  99.  
  100.    }
  101.  
  102.    with (this.TITLE = new HTML(this)){
  103.       height = 2;
  104.       left = 12;
  105.       width = 44;
  106.       color = "steelblue";
  107.       fontName = "Times New Roman";
  108.       fontItalic = true;
  109.       text = '<H1><FONT SIZE="+4"><FONT COLOR="mediumvioletred">G</FONT></FONT>uest <FONT SIZE="+4"><FONT COLOR="mediumvioletred">B</FONT></FONT>ook <FONT SIZE="+4"><FONT COLOR="mediumvioletred">M</FONT></FONT>ail</H1>';
  110.       pageno = 0;
  111.  
  112.    }
  113.  
  114.    with (this.subjectField = new Text(this)){
  115.       left = 12;
  116.       top = 6;
  117.       width = 46;
  118.       value = "";
  119.  
  120.    }
  121.  
  122.    with (this.messageField = new TextArea(this)){
  123.       height = 6;
  124.       left = 12;
  125.       top = 7;
  126.       width = 46;
  127.       value = "";
  128.  
  129.    }
  130.  
  131.    with (this.button1 = new Button(this)){
  132.       onServerClick = class::button1_onServerClick;
  133.       left = 12;
  134.       top = 2;
  135.       width = 16;
  136.       text = "Send message";
  137.  
  138.    }
  139.  
  140.    with (this.fromField = new Text(this)){
  141.       left = 12;
  142.       top = 5;
  143.       width = 46;
  144.       value = "";
  145.  
  146.    }
  147.  
  148.    with (this.HTML1 = new HTML(this)){
  149.       height = 1;
  150.       top = 5;
  151.       width = 12;
  152.       color = "blue";
  153.       fontName = "Times New Roman";
  154.       text = "From";
  155.  
  156.    }
  157.  
  158.    with (this.errorHTML = new HTML(this)){
  159.       height = 5;
  160.       top = 5;
  161.       width = 70;
  162.       color = "red";
  163.       text = "Error message";
  164.       pageno = 3;
  165.  
  166.    }
  167.  
  168.    with (this.subjectHTML = new HTML(this)){
  169.       height = 1;
  170.       top = 6;
  171.       width = 12;
  172.       color = "blue";
  173.       fontName = "Times New Roman";
  174.       text = "Subject";
  175.  
  176.    }
  177.  
  178.    with (this.Message = new HTML(this)){
  179.       height = 1;
  180.       top = 7;
  181.       width = 12;
  182.       color = "blue";
  183.       fontName = "Times New Roman";
  184.       text = "Message";
  185.  
  186.    }
  187.  
  188.    with (this.homePageLinkImage = new Image(this)){
  189.       onImageClick = class::link_to_home_page;
  190.       height = 3.4167;
  191.       top = 14;
  192.       width = 10.25;
  193.       dataSource = "filename HOMEPG31.GIF";
  194.       alignment = 4;
  195.       pageno = 0;
  196.  
  197.    }
  198.  
  199.    with (this.homePageLinkHTML = new HTML(this)){
  200.       height = 1;
  201.       left = 12;
  202.       top = 14;
  203.       width = 58;
  204.       color = "black";
  205.       text = "<A HREF='/ibapps/index.htm'>Return to Home Page</A>";
  206.       pageno = 0;
  207.  
  208.    }
  209.  
  210.    with (this.generatedHTML1 = new GeneratedHTML(this)){
  211.       height = 1;
  212.       top = 18.5;
  213.       width = 70;
  214.       pageno = 0;
  215.  
  216.    }
  217.  
  218.    with (this.HTML2 = new HTML(this)){
  219.       height = 4;
  220.       top = 5;
  221.       width = 70;
  222.       color = "blue";
  223.       fontName = "Times New Roman";
  224.       fontItalic = true;
  225.       text = "The mail has been sent out.";
  226.       pageno = 2;
  227.  
  228.    }
  229.  
  230.    with (this.okButtonPage2 = new Button(this)){
  231.       onServerClick = class::okButtonPage2_onServerClick;
  232.       top = 10;
  233.       width = 24;
  234.       text = " Back ";
  235.       pageno = 2;
  236.  
  237.    }
  238.  
  239.    with (this.okButtonPage3 = new Button(this)){
  240.       onServerClick = class::okButtonPage3_onServerClick;
  241.       top = 10;
  242.       width = 12;
  243.       text = " Back ";
  244.       pageno = 3;
  245.  
  246.    }
  247.  
  248.    with (this.serverButton = new Button(this)){
  249.       onServerClick = class::serverButton_onServerClick;
  250.       left = 38;
  251.       top = 2;
  252.       width = 26;
  253.       text = "Configure Mail Server...";
  254.  
  255.    }
  256.    this.rowset = this.mail1.rowset;
  257.  
  258.    function Form_onServerLoad()
  259.    {
  260.       // set to the first page
  261.       this.pageno=MAINPAGE;
  262.    }// end Form_onServerLoad()
  263.  
  264.    function button1_onServerClick()
  265.    {
  266.       var address=new String();
  267.       var subject=new String();
  268.       var body=new String();
  269.       var sender=new String();
  270.       form.rowset.first();
  271.       subject=form.subjectField.value;
  272.       body=form.messageField.value;
  273.       sender=form.fromField.value;
  274.       while(!(form.rowset.endOfSet)){
  275.          address+=form.rowset.fields["EMAIL"].value+",";
  276.          form.rowset.next();
  277.       }
  278.       // call the sendmail.dll function to actually send the message
  279.       result=sendMail(address,sender,subject,body); //send out each message seperately
  280.       if (result==false) { //switch to error page
  281.          form.errorHTML.text="Could not transmit message, mail settings may be incorrect on the server";
  282.          form.pageno=ERRORPAGE;
  283.       }
  284.       else { //transmission ok, switch to success page
  285.          form.messageField.value="";  //empty the fields 
  286.          form.subjectField.value="";
  287.          form.pageno=SUCCESSPAGE;
  288.       }
  289.    }
  290.  
  291.    function okButtonPage2_onServerClick()
  292.    {
  293.       form.pageno = MAINPAGE;
  294.    }
  295.  
  296.    function okButtonPage3_onServerClick()
  297.    {
  298.       form.pageno = MAINPAGE;
  299.    }
  300.  
  301.    function link_to_home_page()
  302.    {
  303.       location.href="/ibapps/index.htm";
  304.    }
  305.  
  306.    function serverButton_onServerClick()
  307.    {
  308.       _sys.forms.run("gbconfig.jfm");
  309.    }
  310.  
  311. }
  312.