Главная страница
    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.45 MB
Время: 0.039 c
4-1087322768
Red - Dragon
2004-06-15 22:06
2004.08.01
Как таскать за панель


8-1084337018
Дм
2004-05-12 08:43
2004.08.01
Звук


1-1090344661
Виталий
2004-07-20 21:31
2004.08.01
Undeclared Identifier


14-1089294654
Nick-From
2004-07-08 17:50
2004.08.01
Косяки в Excel


1-1089956774
Valeri
2004-07-16 09:46
2004.08.01
Не запускается программа...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский