Solved

How to include?

Posted on 2000-03-13
21
246 Views
Last Modified: 2013-11-18
I'am using CGI App and using a Page Prducer Component to be linked with my Html Pages,the Pb is how to include Delphi Code with Html code,for e.g i tried to place an html code in:
PageProducer.HtmlDoc.Text and i want to the Response to be:

Response.content:=PageProducer.HtmlDoc.Text;
i found that i need to call:
Response.Cookies to be displayed?????
i think u got it?????
so what is the Mechanism!
Regards
Meer
0
Comment
Question by:mirghani
21 Comments
 
LVL 15

Expert Comment

by:simonet
Comment Utility
You have to call:

Response.Content := PageProducer.Content;

Alex
0
 

Author Comment

by:mirghani
Comment Utility
Adjusted points from 50 to 100
0
 

Author Comment

by:mirghani
Comment Utility
hi simonet,
sorry for delay in replying,
i'am using Table Producer component,
i want to display my table with specific or custom characteristics of display:
such as a hyper link appear in specific coloumn,or in the footer to display
a variable string.
thanks .
Regards Meer.a.a
0
 

Author Comment

by:mirghani
Comment Utility
hi simonet,
sorry for delay in replying,
i'am using Table Producer component,
i want to display my table with specific or custom characteristics of display:
such as a hyper link appear in specific coloumn,or in the footer to display
a variable string.
thanks .
Regards Meer.a.a
0
 

Expert Comment

by:junglist
Comment Utility
I would have thought you can use the OnGetText event handler of the appropriate TField to solve this.
0
 
LVL 17

Accepted Solution

by:
geobul earned 100 total points
Comment Utility
Hello my friend,

  I'm sorry for the late reply. I was on a business trip for a few days. When I came back I've been told that there is a question for me.
  If it is not too late there is my answer:

  For a specific column use OnFormatCell event handler. There is CellColumn integer which gives the Column number (0 is the first) and CellData string to replace with the new one.

Here it is:

procedure TWebModule1.DataSetTableProducer1FormatCell(....);
var
  OldCellData : String;
  MyURL : String;
begin
  { CellRow = 0 is the title }
  if CellRow > 0 then begin
    { Suppose that you want to change the third column }
    if CellColumn = 2 then begin
      { Save the original value of the cell }
      OldCellData := CellData;
      { Replace with the new one }
      { Here depending on CellRow or the contents of the OldCellData
        generate the URL string }
      MyURL := .....;
      CellData := '<A HREF="' + MyURL + ">'+OldCellData+'</A>';
    end;
  end;
end;

For the Footer property:
  You can place HTML commands here to be executed after the table.

....
DataSetTableProducer1.Footer.Clear;
DataSetTableProducer1.Footer.Add('<HR>The End Of The Table!');
....

Regards, Geo
0
 

Author Comment

by:mirghani
Comment Utility
hi geo,
if i want the following string to appear at the footer of my table what should i do:
Request.CookieFields.values['login'];
and i'am using (DatasetTableProducer)?
Thanks.
Regards
Meer
0
 

Author Comment

by:mirghani
Comment Utility
hi geo,
if i want the following string to appear at the footer of my table what should i do:
Request.CookieFields.values['login'];
and i'am using (DatasetTableProducer)?
Thanks.
Regards
Meer
0
 

Author Comment

by:mirghani
Comment Utility
hi geo,
if i want the following string to appear at the footer of my table what should i do:
Request.CookieFields.values['login'];
and i'am using (DatasetTableProducer)?
Thanks.
Regards
Meer
0
 

Author Comment

by:mirghani
Comment Utility
sorry for repitition miss control happened.
waiting for u:-)
0
IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 

Author Comment

by:mirghani
Comment Utility
sorry for repitition miss control happened.
waiting for u:-)
0
 
LVL 17

Expert Comment

by:geobul
Comment Utility
Hi Meer,

I'm talking about DataSetTableProducer too. This is the same using QueryTableProducer. The source is different only (Query instead of Table).

....
{ Clear the previous footer if any }
DataSetTableProducer1.Footer.Clear;
{ Add a string to the footer }
DataSetTableProducer1.Footer.Add(Request.CookieFields.Values['login']);
....

The footer is a set of HTML commands.
If the response HTML page contains the table only it is a good idea to place HTML header commands in the TableProducer header and closing HTML tags in the TableProducer footer. For example:
-------
  DataSetTableProducer1.Header.Clear;
  DataSetTableProducer1.Header.Add('<HTML><HEAD><TITLE>');
  DataSetTableProducer1.Header.Add('This is the page title string');
  DataSetTableProducer1.Header.Add('</TITLE></HEAD>');
  DataSetTableProducer1.Header.Add('<BODY>');

  DataSetTableProducer1.Footer.Clear;
  DataSetTableProducer1.Footer.Add('<HR><STRONG>' + Request.CookieFields.Values['login'] + '</STRONG>');
  DataSetTableProducer1.Footer.Add('</BODY></HTML>');
  { Call the TableProducer' Content method which activates generating of the header, table and footer HTML representation }
Response.Content := DataSetTableProducer1.Content;
--------

Regards, Geo
0
 

Author Comment

by:mirghani
Comment Utility
thanks geo,it works.
i need ur help in the last step in my App,sending Email using SMTP component what do u think???,but i know what u r thinking the points isn't it?,no pb
waiting for ur answere!
thank.
Regards Meer
0
 
LVL 17

Expert Comment

by:geobul
Comment Utility
Hi Meer,
Do not think that way about me ;)

Actually I've never used SMTP before.
And I'm not sure is it possible to use it in CGI program.

I promise I'll think how you can send e-mails and I'll post a comment here. Give me little time for that.

Regards, Geo
0
 

Author Comment

by:mirghani
Comment Utility
Hi Geo,
i'am waiting either here or this is my e-mail:mirabd@yahoo.com.
thanks.
pls keep in mind that i'am in hurry:-),and don't forget that u promised me.
Regards Meer.
0
 
LVL 17

Expert Comment

by:geobul
Comment Utility
Hi Meer,

The easiest way to generate mail is to use TNMSMTP component.

{ in web action item }
var
 mail : TNMSMTP;
begin
  ...
  { your mail server data }
  mail:=TNMSMTP.create(self); //or just place it on the form
  Mail.Host:='MailServerName';
  Mail.Port:=25;
  { message header }
  Mail.UserID:='Your name';
  Mail.PostMessage.FromAddress:='Your mail address';
  Mail.PostMessage.FromName:='Your name';
  Mail.PostMessage.ToAddress.Clear;
  Mail.PostMessage.ToAddress.Add('E-mail address');
  Mail.PostMessage.Subject:='Some text';
  { file attachements if any }
  Mail.PostMessage.Attachments.Clear;
  Mail.PostMessage.Attachments.Add('a file name');
  { message text }
  Mail.PostMessage.Body.Clear;
  Mail.PostMessage.Body.Add('E-mail body - text');
  ...
  { sending prepared message }
  Mail.Connect;
  Mail.SendMail;
  Mail.Disconnect;
  Mail.Free;
  ...
end;

Regards, Geo
0
 

Author Comment

by:mirghani
Comment Utility
Hi Geo,
give me a chance to test it and i will confirm u.
thanks.
Regards Meer
0
 

Author Comment

by:mirghani
Comment Utility
Hi Geo,
give me a chance to test it and i will confirm u.
thanks.
Regards Meer
0
 

Author Comment

by:mirghani
Comment Utility
hi geo,
i'am using our university proxy server do u mean i should replace its host or its ip address(....) at:
mail.host,and its port no(80) at:
mail.port,this above Ques because of the exception i recieved:connection failed.
Thanks.
Regard meer
0
 
LVL 17

Expert Comment

by:geobul
Comment Utility
Hi Meer,
No, I don't think so. You are connecting to your mail server to send mail not to proxy. You can find these settings somewhere in your mail client program (Outlook Express or what you are using).
Regards, Geo
0
 

Author Comment

by:mirghani
Comment Utility
hi geo,sorry for delay as i was in a vecation and now i'am back,
we don't have an email server in our university so u think that i can't use the SMTP component in sending mail if not with what u advice me.
Thanks
Regards Meer.
0

Featured Post

Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

Join & Write a Comment

Introduction Knockoutjs (Knockout) is a JavaScript framework (Model View ViewModel or MVVM framework).   The main ideology behind Knockout is to control from JavaScript how a page looks whilst creating an engaging user experience in the least …
SASS allows you to treat your CSS code in a more OOP way. Let's have a look on how you can structure your code in order for it to be easily maintained and reused.
Viewers will learn about the different types of variables in Java and how to declare them. Decide the type of variable desired: Put the keyword corresponding to the type of variable in front of the variable name: Use the equal sign to assign a v…
HTML5 has deprecated a few of the older ways of showing media as well as offering up a new way to create games and animations. Audio, video, and canvas are just a few of the adjustments made between XHTML and HTML5. As we learned in our last micr…

728 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now