Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.01;
Скачать: CL | DM;

Вниз

Из Delphi в HTML   Найти похожие ветки 

 
Natalie_Q   (2004-07-19 17:17) [0]

Проблема у меня такая: нужно заполнить форму Delphi, а затем перенести эти данные в HTML для распечатки. Я сделала шаблон страницы HTML и обрабатываю его TPageProducer"ом. Но загвоздка вот в чем, как отобразить уже обработанную страницу, не используя TWebModule? Заранее спасибо!


 
Ega23 ©   (2004-07-19 17:20) [1]

Давно писалось, тут из запроса файл генериться и IE запускается. Посмотри, может поможет...

Function QueryToHTML(rq:TRxQuery;sqls:string="*";aFile:string=""; browsekind: integer=1):boolean;
var
   ss,fURL,fFn:string;
   slst:tstringlist;
   hnd:Thandle;
//.......
Procedure ChangeFileDate(aFn:string;aDate:tdatetime=0);
var dt:tdatetime;
   hnd:integer;
begin
try
 hnd:=-100;
 if aDate=0 then dt:=now()-100 else dt:=aDate;
 hnd:= FileOpen(aFN, fmOpenWrite or fmShareDenyNone);
 if hnd>0 then FileSetDate(Hnd, DateTimeToFileDate(dt) );
finally
 if hnd>0 then FileClose(hnd);
end;
end;

//.......

Function DoBrowse:boolean;
begin
     if BrowseKind=1 then
     begin
      hnd:= FileExecute(fURL, "", "", esNormal);
       if hnd <= 32 then
       begin
        ShowMessage("Не могу запустить iexplore.exe");
        exit;
       end;
      hnd:=FindWindow("IEFrame",nil);
      if hnd <>0 then BringWindowToTop(hnd);
     end;//of BrowseKind=1

end;
//.......
Begin
result:=false;
 if NoConnectGlb then exit; //@@ 09-10-2001

TRY
  if trim(aFile)="" then fFn:=extractfilepath(paramstr(0))+"\form0.htm"
                    else fFn:=aFile;
  fURL:="file://localhost/"+fFn;

  if RQ=nil then // просто показать файл
  begin
   if not FileExists(fFn) then exit;
    DoBrowse;
    result:=true;
    exit;
  end;

  if sqls<>"*" then RQ.Sql.text:=sqls;
   RQ.Close;
   Application.ProcessMessages;
   RQ.Open;
   RQ.first;
   ss:="";
   while not RQ.eof do
   begin
    ss := ss+ RQ.Fields[0].asString;
    RQ.next;
   end;

  if (ss<>"") then
  begin
    //if trim(aFile)="" then fFn:=extractfilepath(paramstr(0))+"\form0.htm"
   //                  else fFn:=aFile;
   // fURL:="file://localhost/"+fFn;
      slst:=tstringlist.Create;
      slst.Add(ss);
      slst.SaveToFile(fFn);
      slst.free;slst:=nil;
    ChangeFileDate(fFn);
    DoBrowse;
   result:=true;
  end;
FINALLY
 if slst<>nil then begin slst.free;slst:=nil; end;
END
(* Чтобы iexplore стоял на экране - в приложение добавить на таймер ???
var hnd :thandle;
begin
 hnd:=FindWindow("IEFrame",nil);
 if hnd <>0 then BringWindowToTop(hnd);
end;
*)
//QueryToHTML(rq,"exec s_InfSchedSummary @schedcod=1, @persid=0");
end;



Страницы: 1 вся ветка

Текущий архив: 2004.08.01;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.056 c
1-1090248783
serg128
2004-07-19 18:53
2004.08.01
как в TTreeView получить родительский узел?


1-1090283167
Alexey Leonchik
2004-07-20 04:26
2004.08.01
Функция округления


14-1089385460
dix
2004-07-09 19:04
2004.08.01
Использовать ли Базу данных


1-1090386061
pavel_pavel
2004-07-21 09:01
2004.08.01
Общение с другой прогой


1-1090379603
Dub
2004-07-21 07:13
2004.08.01
слияние двух переменных типа string