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

📄 mainp.pas

📁 《delphi 7 web 开发及与应用》源码
💻 PAS
📖 第 1 页 / 共 5 页
字号:
   Randomize;

   i:=random(maxpoolnum);

    cx.Session:=OraSession[i];
    zcx.Session:=OraSession[i];
    sqlc.Session:=OraSession[i];
    oras.Session:=OraSession[i];

   GetModuleFileName( 0,fname,256);
   path:=ExtractFilePath(fname);
    fconfig:=Tinifile.create(path+'51delphi.ini');    //in folder
   pathname:=fconfig.readstring('PATH','HTMLROOT',defpathname);
   softpath:=fconfig.readstring('PATH','SOFTPATH',defsoftpath);
   bookpath:=fconfig.readstring('PATH','BOOKPATH',defbookpath);
   // defpathname);
    fconfig.Free;
   title.HTMLFile:=pathname+'/title.html';
   foot.HTMLFile:=pathname+'/foot.html';
   center.HTMLFile:=pathname+'/center.html';
   newsfont.HTMLFile:=pathname+'/jy.html';
   softpage.HTMLFile:=pathname+'/soft.html';
   bookpage.HTMLFile:=pathname+'/book.html';
   jswzpage.HTMLFile:=pathname+'/jswz.html';
   jstlpage.HTMLFile:=pathname+'/jstl.html';
   fwtjpage.HTMLFile:=pathname+'/fwtj.html';
   showtlpage.HTMLFile:=pathname+'/showtl.html';
   newtlpage.HTMLFile:=pathname+'/newtl.html';
   showlypage.HTMLFile:=pathname+'/showly.html';
   userregpage.HTMLFile:=pathname+'/userreg.html';
   softpl.HTMLFile:=pathname+'/softpl.html';
   usereditpage.HTMLFile:=pathname+'/useredit.html';

end;

procedure Twm.datahtmlHTMLTag(Sender: TObject; Tag: TTag;
  const TagString: String; TagParams: TStrings; var ReplaceText: String);
 var
    fname:string;
begin
   fname:=tagstring;
   if pos('-M',fname)=(length(fname)-2) then
     begin
      fname:=copy(fname,1,length(fname)-2);
      replacetext:= txt2html(cx.fieldbyname(tagstring).asstring);
     end
     else
      replacetext:=cx.fieldbyname(tagstring).asstring
end;



procedure Twm.wmshowmsgAction(Sender: TObject; Request: TWebRequest;
  Response: TWebResponse; var Handled: Boolean);
  var
    msg:string;

begin
    msg:=request.QueryFields.Values['msg'];
    msg:='<p align="center"><img src="/image/error_1.gif"><font size="+1" color="red">'
         +msg+'</font></p>';
    msg:=msg+'<p align="center"><a href="javascript:history.go(-1);"><img src="/image/back.gif" width="55" height="15" border=0></a></p>';
    Response.Content:=title.Content+msg+foot.Content;
end;



function Twm.newtlshow: string;
const
    showcount=5;
var
   wz:integer;
   s:string;
   img:string;
   refs:string;
begin
    with cx do
      begin
      SQl.Clear;
      SQL.Add('select ID,TITLE,NAME,INDATE,type from JSTL where sj=0 and BZ=''T'' order by indate desc ');
      Open;
      wz:=0;
     s:='<table bgColor="#609000"  width="100%" border="0" cellspacing="1" cellpadding="1">';
     s:=s+' <tr bgcolor="#FFFFCC">';
     s:=s+' <td  nowrap><font class="pt9" align="center">NO.</FONT></td>';
     s:=s+' <td ><font  class="pt9" align="center">主题</FONT></td>';
     s:=s+' <td nowrap><font  class="pt9" align="center">作者</FONT></td>';
     s:=s+' <td nowrap><font  class="pt9" align="center">发贴时间</FONT></td>';
     s:=s+' </tr>';
     while ((wz<showcount) and (not eof)) do
       begin
         img:=getimg(fieldbyname('type').AsInteger);
         refs:='<a href="/delphi/showtl?ID='+fieldbyname('ID').asstring+'">';
        s:=s+' <tr bgcolor="#FEFDED">';
        s:=s+' <td nowrap><font  class="pt9" align="center">'+fieldbyname('ID').asstring+'</font></td>';
        s:=s+' <td ><font  class="pt9" align="center" color="#0000ff">'+img+refs+fieldbyname('TITLE').asstring+'</a></font></td>';
        s:=s+' <td nowrap><font  class="pt9" align="center">'+fieldbyname('NAME').asstring+'</font></td>';
        s:=s+' <td nowrap><font  class="pt9" align="center">'+fieldbyname('indate').asstring+'</font></td>';
        s:=s+' </tr>';
        wz:=wz+1;
        next
      end;
  s:=s+' </table>';
  end;
  result:=s;
end;

function Twm.homelink: string;
var
  s:string;
begin
   s:=' <table  align="left" border="0"  cellspacing=0 cellpadding=0 >';
   with cx do
     begin
      SQL.Clear;
      SQL.Add('select *  from link where gif is not null');
      Open;
      s:=s+' <tr valign="top">';
      s:=s+' <td width=5></td>';
      s:=S+' <TD align="center" bgcolor="#FFCF60" height=40 valign=center><font class="title"><font color=black><b>友情链接</b></font></font></TD>';
      s:=s+' </tr>';
       while  not eof do
         begin
           s:=s+'  <tr valign="top" >';
           s:=s+'  <td width=5></td>';
           s:=s+'  <td bgcolor="#FFCF60" align="left">';
           s:=s+'  <a href="'+fieldbyname('http').asstring+'"  target="_blank"><img src="/ad/'+fieldbyname('gif').asstring+'"></a>';
           s:=s+'  </td>';
           s:=s+'  </tr>';
           next
          end;
       sql.clear;
       sql.add('select *  from link where gif is  null');
       Open;
        while not eof do
          begin
   	  s:=s+' <tr valign="top" >';
          s:=s+' <td width=5></td>';
          s:=s+' <td bgcolor="#FFCF60" align="left"><font class="pt9" color="#FFFFFF">';
          s:=s+'<a href="'+fieldbyname('http').asstring+'"  target="_blank">'+fieldbyname('name').asstring+'</a></font></td>';
          s:=s+'  </tr>';
          next;

         end;

    s:=s+' <tr valign="bottom">';
    s:=s+' <TD width=5></TD>';
    s:=s+' <TD align="center" bgcolor="#FFCF60" height=40 valign=center><font  color=blue>我的链接</font></TD>';
    s:=s+' </tr>';
    s:=s+' <tr valign="bottom">';
    s:=s+' <TD width=5></TD>';
    s:=s+' <TD align="center" bgcolor="#FFCF60" height=40 valign=center><img src="/ad/51delphi.gif"></TD>';
    s:=s+' </tr>';
    s:=s+'  </TABLE>';

end;
  result:=s;
end;
function Twm.newsoft: string;
begin
  result:=showsoft(5,0,'');
end;

function Twm.newbook: string;
begin
   result:=showbook(5,0,'');
end;

function Twm.showsoft(showcount,no:integer;where:string):string;
var
  s:string;
  wz:integer;
  news:string;
  jys:string;
  snum:string;
  plcs:string;
begin
   s:=gridhead+gridheadline;
   s:=s+gridtdhead+'日期'+gridtdend;
   s:=s+gridtdhead+'名称'+gridtdend;
   s:=s+gridtdhead+'类别'+gridtdend;
   s:=s+gridtdhead+'类型'+gridtdend;
   s:=s+gridtdhead+'推荐度'+gridtdend;
   s:=s+gridtdhead+'大小'+gridtdend;
   s:=s+gridtdhead+'下载'+gridtdend;
   s:=s+gridtdhead+'简介'+gridtdend;
   s:=s+gridtdhead+'评论'+gridtdend;
   s:=s+' </tr>';
  with cx do
    begin
      sql.Clear;
      sql.Add('select num,name,indate,type,pass,dnum,jy ,fsize from soft');
      SQL.Add(where);
      SQL.add(' order by indate desc');
      Open;
      moveby(showcount*no);
      wz:=0;
   while ((wz<showcount) and  (not eof)) do
     begin
      news:='';
      if (now-fieldbyname('indate').AsDateTime)<3 then
        news:='<img src="/image/new9.gif">';
      jys:='<img src="/image/hx.gif"><img src="/image/hx.gif">';
      if fieldbyname('jy').AsInteger>=80 then
          jys:=jys+'<img src="/image/hx.gif">';
      if fieldbyname('jy').AsInteger>=85 then
          jys:=jys+'<img src="/image/hx.gif">';
      if fieldbyname('jy').AsInteger>=90 then
          jys:=jys+'<img src="/image/hx.gif">';
      snum:=fieldbyname('num').asstring;
      if (wz mod 2)=0 then
        s:=s+gridline
       else
        s:=s+gridline2;
      s:=s+gridtdhead+fieldbyname('indate').asstring+gridtdend;
      s:=s+gridtdhead+' <font color="#0000ff">'+news+fieldbyname('name').asstring+'</font>'+gridtdend;
      s:=s+gridtdhead+fieldbyname('type').asstring+gridtdend;
      s:=s+gridtdhead+fieldbyname('pass').asstring+gridtdend;
      s:=s+gridtdhead+jys+gridtdend;
     s:=s+gridtdhead+fieldbyname('fsize').asstring+gridtdend;
      if getsession('delphiuser')<>'' then
        s:=s+gridtdhead+'<font color="blue">'+fieldbyname('dnum').asstring+'</font>'
             +'<a href="/delphi/download?num='+fieldbyname('num').asstring+ '" Target="_blank"  ><img src="/image/download.gif" border=0> </a> '+gridtdend
       else
        s:=s+gridtdhead+'<font color="blue">'+fieldbyname('dnum').asstring+'</font>'+gridtdend;


      s:=s+gridtdhead+'<font color="#0000ff">'+'<a href="javascript:viewjj('+snum+')">查看</a></font>'+gridtdend;
      zcx.sql.clear;
      zcx.sql.add('select count(*) as num from softtl where id='+snum);
      zcx.Open;
      if zcx.FieldByName('num').asinteger=0 then
              plcs:=''
             else
              plcs:='(+'+zcx.fieldbyname('num').asstring+')';
      s:=s+gridtdhead;
      s:=s+' <a href="/delphi/showsoftpl?id='+snum+'">评论'+plcs+'</a>'+gridtdend;
      s:=s+' </tr>';
      next;
      wz:=wz+1;
     end;
   s:=s+' </table>';
   end;
  result:=s;

end;

function Twm.showbook(showcount, no: integer;where:string): string;
var
  s:string;
  wz:integer;
  news,jys:string;
begin
    with cx do
     begin
      SQL.Clear;
      SQL.Add('select num,name,indate,type,dnum,jy,fsize from book');
      SQL.Add(where);
      SQL.Add('order by indate desc');
      Open;
     s:=gridhead+gridheadline;
     s:=s+gridtdhead+'日期'+gridtdend;
     s:=s+gridtdhead+'名称'+gridtdend;
     s:=s+gridtdhead+'类别'+gridtdend;
     s:=s+gridtdhead+'推荐度'+gridtdend;
     s:=s+gridtdhead+'大小'+gridtdend;
     s:=s+gridtdhead+'下载'+gridtdend;
     s:=s+' </tr>';
     wz:=0;
     moveby(showcount*no);
    while ((wz<showcount) and  (not eof)) do
      begin
         news:='';
      if (now-fieldbyname('indate').AsDateTime)<3 then
        news:='<img src="/image/new9.gif">';
      jys:='<img src="/image/hx.gif"><img src="/image/hx.gif">';
      if fieldbyname('jy').AsInteger>=80 then
          jys:=jys+'<img src="/image/hx.gif">';
      if fieldbyname('jy').AsInteger>=85 then
          jys:=jys+'<img src="/image/hx.gif">';
      if fieldbyname('jy').AsInteger>=90 then
          jys:=jys+'<img src="/image/hx.gif">';
      if (wz mod 2)=0 then
        s:=s+gridline
       else
        s:=s+gridline2;
      s:=s+gridtdhead+fieldbyname('indate').asstring+gridtdend;
      s:=s+gridtdhead+'<font color="#0000ff">'+news+fieldbyname('name').asstring+'</font>'+gridtdend;
      s:=s+gridtdhead+fieldbyname('type').asstring+gridtdend;
      s:=s+gridtdhead+jys+gridtdend;
      s:=s+gridtdhead+fieldbyname('FSIZE').asstring+gridtdend;
      if getsession('delphiuser')<>'' then
        s:=s+gridtdhead+'<font color="blue">'+fieldbyname('dnum').asstring+'</font>'
             +'<a href="/delphi/downbook?num='+fieldbyname('num').asstring+ '" " Target="_blank"><img src="/image/download.gif" border=0> </a> '+gridtdend
       else
        s:=s+gridtdhead+'<font color="blue">'+fieldbyname('dnum').asstring+'</font>'+gridtdend;

      s:=s+' </tr>';
      next;
      wz:=wz+1;
    end;
   s:=s+' </table>';
  end;
  result:=s;


end;

procedure Twm.wmsoftAction(Sender: TObject; Request: TWebRequest;
  Response: TWebResponse; var Handled: Boolean);
begin


   Response.content:=title.Content+ softpage.Content+foot.Content;
end;

procedure Twm.softpageHTMLTag(Sender: TObject; Tag: TTag;
  const TagString: String; TagParams: TStrings; var ReplaceText: String);
const
  showcount=25;
var
  no:integer;
  s:string;
  where:string;
  stype:string;
  scx,sscx:string;
begin
  stype:=request.QueryFields.Values['type'];
  sscx:=request.QueryFields.Values['cx'];
  scx:=UpperCase(sscx);
  if  stype='' then
       begin
         if scx='' then
              where:=''
          else
              where:='where (upper(name) like ''%'+scx+'%'') or (upper(type) like ''%'+scx+'%'') or (upper(note) like ''%'+scx+'%'')';
       end
      else
         where:='where type='''+stype+'''';

 if request.QueryFields.Values['no']='' then
        no:=1
        else
          begin
            s:=request.QueryFields.Values['no'];
            try
              no:=strtoint(s);
            except
               no:=1;
            end;
            if no<1 then no:=1;
          end;
   if TagString='softtype' then
     begin
       ReplaceText:=showsofttype(100,0,'');
     end;
   if TagString='softpage' then
     begin
         with cx do
           begin
             SQL.Clear;
             SQL.Add('select count(*) from SOFT');
             SQL.Add(where);
             Open;
             ReplaceText:=showpage(fields[0].asinteger,showcount,no,'&type='+stype+'&cx='+sscx);
         end;
     end;
   if TagString='showsoft' then
      begin
       ReplaceText:=showsoft(showcount,no-1,where)
      end;
end;

function Twm.showtable(T: Tdataset; showcount, no: integer): string;
var
  i:integer;
  s:string;
  wz:integer;
begin
     s:=gridhead+gridheadline;
     for i:=0 to (T.FieldCount-1) do
         s:=s+gridtdhead+T.fields[i].fieldname+gridtdend;
     s:=s+' </tr>';
     wz:=0;
     t.First;
     t.MoveBy(showcount*no);
     while ((wz<showcount) and  (not t.eof)) do
      begin
         s:=s+gridline;
         for i:=0 to (T.FieldCount-1) do
            s:=s+gridtdhead+T.fields[i].asstring+gridtdend;
         s:=s+'</tr>';
         t.next;
      end;
      s:=s+' </table>';
      result:=s;
end;

function Twm.showsofttype(showcount, no: integer;where:string): string;
var
  s:string;
  wz:integer;
begin
   with cx do
     begin
      SQL.Clear;
      SQl.Add(' select distinct type   from soft');
      SQL.add(where);
      Open;
       s:=gridhead+gridheadline;
      s:=s+gridtdhead+'软件类别'+gridtdend;
      s:=s+' </tr>';
       wz:=0;
        while ((wz<showcount) and  (not eof)) do
          begin
           if (wz mod 2)=0 then
            s:=s+gridline
           else

⌨️ 快捷键说明

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