Friends
Migrate the forms that we do in FW or with workshop or pure code to forms HTML (WebForm) conserving the design, color, sources, data of the combobox, edition masks and that can be used ENTER instead of TABS.
Example
DEFINE DIALOG oDlg
/// there CONTROLs
ACTIVATE DIALOG oDlg CENTERED ;
ON LEFT CLICK GenWebForm(oDlg,"MIFORMFW")
Func GenWebForm(oForm,filefrm)
Local cHtm:="<html>"+H(),octrl,K:=1,cstyle,i,ctype
htmlhead( @cHtm ,filefrm )
cHtm+="<body>"+h()
cHtm+='<form name="'+filefrm+'" action="'+filefrm+'.php" method="post">'+h()
WHILE K<=len(oForm:aControls) // DISCRIMINAR el resto de las CLASES
//msgalert( oForm:aControls[K]:classname() )
IF oForm:aControls[K]:classname()="TSAY" .or. oForm:aControls[K]:classname()="TGET" .or. oForm:aControls[K]:classname()="TBUTTON" .or. oForm:aControls[K]:classname()="TRADIO" .or. oForm:aControls[K]:classname()="TCHECKBOX" .or. oForm:aControls[K]:classname()="TBITMAP" .or. oForm:aControls[K]:classname()="TIMAGE" .or. oForm:aControls[K]:classname()="TCOMBOBOX"
octrl:=oForm:aControls[K]
cstyle:=' style="width: '+ltrim(str(octrl:nwidth))+'px; height: '+ltrim(str(octrl:nheight))+'px"'
cHtm+='<div class="Estilo1" style="position:absolute; top:'+ltrim(str(octrl:nTop))+'px; left:'+ltrim(str(octrl:nleft))+'px;">'+h()
do case
case octrl:classname()="TSAY"
cHtm+=octrl:cCaption+h()
case octrl:classname()="TGET"
cHtm+='<input '+cstyle+' type="Text" onkeypress="return tabular(event,this)" name="'+qcosaesname(octrl)+'" id="'+ltrim(str(octrl:nId))+'" value="" size="12">'+h()
case octrl:classname()="TCOMBOBOX"
//cHtm+='<SELECT multiple size="4" name="elegir-componente">
cHtm+='<SELECT '+cstyle+' onkeypress="return tabular(event,this)" id="'+ltrim(str(octrl:nId))+'" name="'+qcosaesname(octrl)+'">'+h()
//<OPTION selected value="Componente_1_a">Componente_1</OPTION>
For i=1 to len(octrl:aItems)
cHtm+='<OPTION>'+octrl:aItems+'</OPTION>'+h()
Next i
cHtm+='</SELECT>'+h()
case octrl:classname()="TBUTTON"
ctype="button"
if alltrim(uppe(octrl:cCaption))="GRABAR"; ctype="submit"; endif
if alltrim(uppe(octrl:cCaption))="RESTAURAR"; ctype="reset"; endif
// usar solo apostrofes dentro del blcliked
cHtm+='<BUTTON '+cstyle+' id="'+ltrim(str(octrl:nId))+'" name="'+qcosaesname(octrl)+'" value="'+octrl:cCaption+'" type="'+ctype+'" >'+h()
cHtm+=octrl:cCaption+'</BUTTON>'+h()
case octrl:classname()="TRADIO"
cHtm+='<input '+cstyle+' type="radio" name="'+qcosaesname(octrl)+'" id="'+ltrim(str(octrl:nId))+'" value="'+ltrim(str(octrl:nId))+'" size="12">'+octrl:cCaption+h()
case octrl:classname()="TCHECKBOX"
cHtm+='<input '+cstyle+' type="checkbox" name="'+qcosaesname(octrl)+'" id="'+ltrim(str(octrl:nId))+'" value="" size="12">'+octrl:cCaption+h()
case octrl:classname()="TBITMAP" .OR. octrl:classname()="TIMAGE"
//cHtm+='<IMG '+cstyle+' id="'+ltrim(str(octrl:nId))+'" SRC="'+alltrim(octrl:crutabitmap)+'">'+h()
endcase
cHtm+='</div>'+h()
ENDIF
K++
ENDDO
cHtm+="</body>"+H()
cHtm+="</html>"+H()
FERASE(filefrm+".HTM")
MEMOWRIT(filefrm+".HTM",cHtm)
WAITRUN( "c:\archiv~1\intern~1\iexplore "+filefrm+".HTM")
RETU .T.
Func qcosaesname(octrl)
retu(ltrim(str(octrl:nId)) )
FUNC htmlhead( cHtm,filefrm )
cHtm+="<head>"+H()
cHtm+="<title>"+filefrm+"</title>"+H()
cHtm+='<style type="text/css">'+H()
cHtm+='<!--'+H()
cHtm+='.Estilo1 {'+H()
cHtm+=' font-size: 11px;'+H()
cHtm+=' font-family: Geneva, Arial, Helvetica, sans-serif;'+H()
cHtm+='}'+H()
cHtm+='body {'+H()
cHtm+=' background-color: #E8E8E8;'+H()
cHtm+='}'+H()
cHtm+='-->'+H()
cHtm+='</style>'+H()
cHtm+="<script>"+H()
cHtm+="function tabular(e,obj) {"+H()
cHtm+=" tecla=(document.all) ? e.keyCode : e.which;"+H()
cHtm+=" if(tecla!=13) return;"+H()
cHtm+=" frm=obj.form;"+H()
cHtm+=" for(i=0;i<frm.elements.length;i++)"+H()
cHtm+=" if(frm.elements==obj)"+H()
cHtm+=" {"+H()
cHtm+=" if (i==frm.elements.length-1)"+H()
cHtm+=" i=-1;"+H()
cHtm+=" break"+H()
cHtm+=" }"+H()
/*ACA ESTA EL CAMBIO disabled, Y PARA SALTEAR CAMPOS HIDDEN*/
cHtm+=" if ((frm.elements[i+1].disabled ==true) || (frm.elements[i+1].type=='hidden') )"+H()
cHtm+=" tabular(e,frm.elements[i+1]);"+H()
/*ACA ESTA EL CAMBIO readOnly */
cHtm+=" else if (frm.elements[i+1].readOnly ==true )"+H()
cHtm+=" tabular(e,frm.elements[i+1]);"+H()
cHtm+=" else {"+H()
cHtm+=" frm.elements[i+1].select(); /* AÑADIR LOS CORCHETES Y ESTA INSTRUCCION */"+H()
cHtm+=" frm.elements[i+1].focus();"+H()
cHtm+=" }"+H()
cHtm+=" return false;"+H()
cHtm+="}"+H()
cHtm+=""+H()
cHtm+="</script>"+H()
cHtm+="</head>"+H()
retu .t.
Func h
retu( chr(13)+chr(10))
The labels in the object DOM are drawn in publishers HTML by defect in realtivas positions that is to say, are placed one behind another one and respond to a flow,
This function creates controls FW in labels locked up in layers DIV and establishes fixed absolute positions that agree with the values ntop nleft of this control FW
The data nID of each control FW happens to be YOU GO of each label oara to identify to the control.
Express their ideas of how being able to migrate an application FW to the WEB using JQUERY AJAX y PHP.
Regards
WebForm in FWH
-
- Posts: 225
- Joined: Tue Feb 28, 2006 4:25 pm
- Location: PERU
WebForm in FWH
ME INTERESA FW Y XHB POR SER OPEN SOURCE
Re: WebForm in FWH
Hello Vladimir,
This looks very interesting. Could I use it also with asp and jscript?
Thanks in advance
Otto
This looks very interesting. Could I use it also with asp and jscript?
Thanks in advance
Otto
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
********************************************************************
-
- Posts: 225
- Joined: Tue Feb 28, 2006 4:25 pm
- Location: PERU
Re: WebForm in FWH
Hello
Also it is possible to be used with ASP and Jscript
Remember that all in the end use HTML
Regards
Also it is possible to be used with ASP and Jscript
Remember that all in the end use HTML
Regards
ME INTERESA FW Y XHB POR SER OPEN SOURCE
Re: WebForm in FWH
Wladimir
Voce tem a WebForm atualizada ? estou tentando fazer algo parecido, aproveitar meu codigo fonte e com poucas modificações poder dispinibilizar hora em FiveWin o Pelo site em HTML
tem como enviar um demo das suas funcoes
Obrigado
Ari
Wladimir
you have the updated WebForm? I'm trying to do something, take my source code and with a few modifications can dispinibilizar At the time Fivewin HTML site
is to send a demo of his duties
Thanks
Ari
Voce tem a WebForm atualizada ? estou tentando fazer algo parecido, aproveitar meu codigo fonte e com poucas modificações poder dispinibilizar hora em FiveWin o Pelo site em HTML
tem como enviar um demo das suas funcoes
Obrigado
Ari
Wladimir
you have the updated WebForm? I'm trying to do something, take my source code and with a few modifications can dispinibilizar At the time Fivewin HTML site
is to send a demo of his duties
Thanks
Ari