Clique abaixo para nos ajudar
Login

Esqueci minha senha

Estamos no Facebook
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Quem está conectado
18 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 18 Visitantes :: 2 Motores de busca

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 468 em 1/3/2012, 10:43
Últimos assuntos
» Buscar endereço por CEP
3/12/2016, 19:59 por pedrossian

» USAR WEBSERVICE NO VFP9
2/12/2016, 09:50 por AJC

» BANIMENTO DE USUARIO
17/11/2016, 08:31 por FAF

» Impressora Ticket
15/11/2016, 09:20 por clima238

» Gráfico
9/11/2016, 10:43 por hidroluz

» TRANSPOR TABELA
9/11/2016, 10:34 por hidroluz

» MUDANÇA DO .DBF PARA POTSGREE
9/11/2016, 09:12 por AJC

» Website com videoaulas sobre linguagens de programação
8/11/2016, 09:56 por JLDR

» Parceria para desenvolvimento de template em Wordpress
7/11/2016, 19:15 por mindix

» Data fica invertida na planilha que é gerada via programa.
27/10/2016, 11:00 por Linghston

» Maximizar report direto do menu
21/10/2016, 20:48 por Rosangela Pires

» Fechar form com tempo
21/10/2016, 10:15 por Rosangela Pires

» URGENTE: Ajuda com impressora ELGIN-L42
14/10/2016, 09:53 por megasoft

» Opções para gerar NF-e
10/10/2016, 09:07 por mavsinfo

» Google Maps
8/10/2016, 15:08 por Rosangela Pires

» Mysql
5/10/2016, 11:22 por Marcos Guedes

» Acessando Banco em MYSQL de um projeto WORDPRESS
3/10/2016, 10:58 por Marcos Guedes

» OPTION SELECT MOSTRAR CAMPOS QUASE PRONTO
26/9/2016, 21:09 por BobKuspe

» Pesquisa em grid
14/9/2016, 09:24 por AJC

» Total Code Generator
9/9/2016, 17:43 por robsonpassos

Buscar endereço por CEP

3/12/2016, 19:59 por pedrossian

Caros amigos, meu código para buscar endereço pelo CEP não funciona mais.
Alguém pode me …

Comentários: 0

USAR WEBSERVICE NO VFP9

2/12/2016, 09:50 por AJC

Pessoal, preciso de um material ou livro que me traga instruções como
usar a consumação de …

Comentários: 0

BANIMENTO DE USUARIO

13/11/2016, 16:21 por FAF

A usuária ROSANGELA PIRES ao tentar acessar o Forum obtem sempre a mensagem de BANIMENTO.
A mesma …

Comentários: 3

Impressora Ticket

15/11/2016, 09:20 por clima238

Bom dia,
Por favor alguém me explique porque o código abaixo imprime no ecrã em vez do printer: …

Comentários: 0

TRANSPOR TABELA

9/11/2016, 10:34 por hidroluz

Bom dia a todos, gostaria de saber como consigo fazer a transposição de uma tabela no VFP.



Comentários: 0

Estatísticas
Temos 6959 usuários registrados
O último usuário registrado atende pelo nome de EDBERTO

Os nossos membros postaram um total de 17117 mensagens em 2575 assuntos

Salvar Browser como Html

Página 2 de 2 Anterior  1, 2

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Resolvido Salvar Browser como Html

Mensagem por hugo em 19/1/2010, 15:35

Relembrando a primeira mensagem :

imaginem o seguinte

tenho uma tabela com os dados

codigo, nome, telefone

abri com um browser na janela comando

vou la em file e mando salvar como html

otimo, porem, gostaria de saber o comando manual

ou seja

eu digitaria num prg por exemplo o comando gerando o html

alguem da uma dica?


Última edição por hugo em 12/4/2011, 20:34, editado 4 vez(es)

_________________
"A tristeza é a falta de alegria, mais sem ela eu não poderia entender a alegria do fato de que a felicidade existe!"
Helio Leites - [Você precisa estar registrado e conectado para ver este link.]

hugo
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo


Resolvido Re: Salvar Browser como Html

Mensagem por hugo em 12/4/2011, 20:10

oooooooooobaaaaaaaaaaaaaaaaaa

valeu alceu

muito obrigado mesmo

vou ver se consigo solucinar meu problema com este comando

vou ver se o campo eh numerico, se for eu vou transformaco em txt com virgulas a cada 3 casas

nao consegui fazer o html reconhecer o input mask da tabela

valeuuu

assim que conseguir o objetivo final posto aqui

muito obrigado galera


_________________
"A tristeza é a falta de alegria, mais sem ela eu não poderia entender a alegria do fato de que a felicidade existe!"
Helio Leites - [Você precisa estar registrado e conectado para ver este link.]

hugo
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: Salvar Browser como Html

Mensagem por hugo em 12/4/2011, 20:33

alceu, sua solucao deu certinho pra minha pergunta

porem o que eu achei que daria certo nao deu, de qualquer forma voce me ensionou este comando e fico muito agradecido

a solucao que dei foi a seguinte

faco meus calculos com base numa tabela original e salvo o resultado em caracter ja formatado com ,

dai, quando exporto a pesquisa pra html ela ja sai formatada

sei que nao foi a solucao mais inteligente, mais foi a que consegui

muito obrigado



[Você precisa estar registrado e conectado para ver este link.] escreveu:
Código:

IF !EMPTY(TABELA.CAMPO)
if VARTYPE(tabela.campo) = "N"  && RETORNA .T.
  wait window 'vc achou, e agora kem poderar nos ajudar!!'
Endif
ENDIF

_________________
"A tristeza é a falta de alegria, mais sem ela eu não poderia entender a alegria do fato de que a felicidade existe!"
Helio Leites - [Você precisa estar registrado e conectado para ver este link.]

hugo
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: Salvar Browser como Html

Mensagem por hugo em 13/4/2011, 10:41

adicionando o codigo que estou utilizando para gravar no dbf do jeito que quero que apareca no html

lembro que nao estou trabalhando com form, pois acredito que se eu o fizesse teria ja um tratamento mais inteligente, como nao tenho este conhecimento ainda la vai


Código:
nr="987654321987654" && nr de exemplo
c3=0
cnr=LEN(nr)
newnr=SPACE(19)
conta=-1
DO WHILE conta<cnr-1
   conta=conta+1
   c3=c3+1
   IF c3<4
      newnr = SUBSTR(nr,cnr-conta,1) + ALLTRIM(newnr)
   ELSE
      c3=0
      newnr = "."+ALLTRIM(newnr)
      conta=conta-1
   ENDIF
ENDDO

WAIT WINDOW newnr

_________________
"A tristeza é a falta de alegria, mais sem ela eu não poderia entender a alegria do fato de que a felicidade existe!"
Helio Leites - [Você precisa estar registrado e conectado para ver este link.]

hugo
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: Salvar Browser como Html

Mensagem por alceu11 em 13/4/2011, 14:16

Se pegar a tabela e colocar um campo valor1 , para transferencia do campo valor, com caracter dara certo tb.
Veja o 520 sai sem decimais no valor mais copiando com caracter para o valor1
sai correto ,,,,,,sera ke é isto.?

Código:

CLOSE ALL
IF NOT FILE('FMOVEN.DBF')
CREATE TABLE FMOVEN(NNOTA C(6),OBS C(20), FORNEC C(45), VALOR N(12,2),EMISSAO D(8),VALOR1 C(14))
INSERT INTO FMOVEN VALUES('000001','SEM MOVIMENTO','EMPRESA TESTE 1',520,DATE(),'520,00' )
INSERT INTO FMOVEN VALUES('000001','SEM MOVIMENTO','EMPRESA TESTE 2',520.12,DATE(),'510,12' )
INSERT INTO FMOVEN VALUES('000001','SEM MOVIMENTO','EMPRESA TESTE 2',2510.12,DATE(),'2.510,12' )
*BROWSE
ENDIF
USE
*SET STEP ON
SELECT 0
USE fmoven ALIAS teste
*!*
SET POINT TO ","
SET DATE FRENCH
SET CENTURY ON
SET DECIMALS TO 2
SET SYSFORMATS ON
LOCAL obj AS OBJECT
LOCAL arquivo AS STRING
*!*
m.obj = NEWOBJECT("datatohtml")
m.arquivo = m.obj.tabletohtml("teste")

m.obj.shell_exec(m.arquivo)
m.obj = NULL

USE IN SELECT("teste")

DEFINE CLASS datatohtml AS CUSTOM

  *!* Converte um SELECT para HTML
  FUNCTION selecttohtml AS STRING
      LPARAMETERS cselect AS STRING, caminhoarquivo AS STRING
      *!*
      LOCAL cabecalho AS STRING
      LOCAL rodapeh AS STRING
      LOCAL conteudo AS STRING
      LOCAL nometabela AS STRING
      LOCAL totalcampos AS INTEGER
      LOCAL contador AS INTEGER
      LOCAL nomecursor AS STRING
      LOCAL nomecoluna AS STRING
      LOCAL cor AS STRING
      *!*
      IF (VARTYPE(m.cselect)!="C") THEN
        RETURN ""
      ENDIF
      *!* Caminho onde o arquivo será armazenado (Informar a extensão do arquivo!)
      IF (VARTYPE(m.caminhoarquivo)!="C") THEN
        m.caminhoarquivo =  SYS(5)+CURDIR() + SYS(2015)+".html"
      ENDIF
      *!*
      m.nometabela =  ALLTRIM(GETWORDNUM(STREXTRACT(UPPER(cselect),"FROM"),1))
 
      m.nomecursor = SYS(2015)
      *!*
      IF !USED(m.nometabela) THEN
        RETURN ""
      ENDIF
      *!*
      m.cabecalho = "<table>"
      m.rodapeh = "</table>"
      m.totalcampos = FCOUNT(m.nometabela)
      m.conteudo = ""
      *!*
      m.conteudo = m.conteudo + "<tr>"
      FOR m.contador=1 TO m.totalcampos
        m.conteudo = m.conteudo + [<td style="width:200px; background-color:#CCCCCC">]+FIELD(m.contador)+"</td>"

      ENDFOR
      m.conteudo = m.conteudo + "</tr>"

      *!*
      EXECscript(m.cselect+" INTO CURSOR "+m.nomecursor)
      *!*
      IF (RECCOUNT(m.nomecursor)>0) THEN
        SELECT(m.nomecursor)

        SCAN
            IF (RECNO()%2!=0) THEN
              m.cor = "#EAF1FF"
            ELSE
              m.cor = "#DFEAFF"
            ENDIF
            m.conteudo = m.conteudo + "<tr>"
            FOR m.contador=1 TO m.totalcampos
              m.nomecoluna = FIELD(m.contador)
              m.conteudo = m.conteudo + [<td align="left" valign="top" style="background-color:]+m.cor+[">]+TRANSFORM(&nomecoluna)+"</td>"

            ENDFOR
           
            m.conteudo = m.conteudo + "</tr>"
                        WAIT WINDOW M.CONTEUDO TIMEOUT 1
        ENDSCAN
      ENDIF
      WAIT WINDOW M.CONTEUDO TIMEOUT 1
          WAIT WINDOW M.nometabela
      *!*
      USE IN SELECT(m.nomecursor)
      *!*
      STRTOFILE(m.cabecalho + m.conteudo + m.rodapeh,m.caminhoarquivo)
      RETURN m.caminhoarquivo
  ENDFUNC
 
  *!* Converte dados de um cursor para HTML
  FUNCTION tabletohtml AS STRING
      LPARAMETERS nomeTabela AS STRING, caminhoarquivo AS STRING
      *!*
      LOCAL cabecalho AS STRING
      LOCAL rodapeh AS STRING
      LOCAL conteudo AS STRING
      LOCAL totalcampos AS INTEGER
      LOCAL contador AS INTEGER
      LOCAL nomecoluna AS STRING
      LOCAL cor AS STRING
      *!*
      IF (VARTYPE(m.nomeTabela)!="C") THEN
        RETURN ""
      ENDIF
      *!* Caminho onde o arquivo será armazenado (Informar a extensão do arquivo!)
      IF (VARTYPE(m.caminhoarquivo)!="C") THEN
        m.caminhoarquivo =  SYS(5)+CURDIR() + SYS(2015)+".html"
      ENDIF
      *!*
      IF !USED(m.nometabela) THEN
        RETURN ""
      ENDIF
      *!*
      m.cabecalho = "<table>"
      m.rodapeh = "</table>"
      m.totalcampos = FCOUNT(m.nometabela)
      m.conteudo = ""
      *!*
      m.conteudo = m.conteudo + "<tr>"
      FOR m.contador=1 TO m.totalcampos
        m.conteudo = m.conteudo + [<td style="width:200px; background-color:#CCCCCC">]+FIELD(m.contador)+"</td>"
      ENDFOR
      m.conteudo = m.conteudo + "</tr>"
      *!*
      IF (RECCOUNT(m.nomeTabela)>0) THEN
        SELECT(m.nomeTabela)

        SCAN
            IF (RECNO()%2!=0) THEN
              m.cor = "#EAF1FF"
            ELSE
              m.cor = "#DFEAFF"
            ENDIF
            m.conteudo = m.conteudo + "<tr>"
            FOR m.contador=1 TO m.totalcampos
              m.nomecoluna = FIELD(m.contador)
              m.conteudo = m.conteudo + [<td align="left" valign="top" style="background-color:]+m.cor+[">]+TRANSFORM(&nomecoluna)+"</td>"
            ENDFOR
            m.conteudo = m.conteudo + "</tr>"
        ENDSCAN
      ENDIF
      *!*
      STRTOFILE(m.cabecalho + m.conteudo + m.rodapeh,m.caminhoarquivo)
      RETURN m.caminhoarquivo
  ENDFUNC

  *!* Abre o arquivo
  FUNCTION shell_exec
      LPARAMETERS lclink, lcaction, lcparms, lcdir, nshowwindow

      IF (VARTYPE(m.lclink)!="C") THEN
        RETURN -1
      ENDIF

      DECLARE INTEGER FindWindow IN WIN32API AS WGFindWindow STRING, STRING
      DECLARE INTEGER ShellExecute IN SHELL32.DLL AS WGShellExecute ;
        INTEGER, STRING, STRING, STRING, STRING, INTEGER

      m.lcaction = IIF(EMPTY(lcaction), "Open", lcaction)
      m.lcparms = IIF(EMPTY(lcparms), "", lcparms)
      m.lcdir = IIF(EMPTY(lcdir), "", lcdir)
      m.nshowwindow = IIF(VARTYPE(m.nshowwindow) == "N", m.nshowwindow, 1)

      RETURN wgshellexecute(wgfindwindow(0, _SCREEN.CAPTION),  ;
        @lcaction, @lclink,  ;
        @lcparms, @lcdir,  ;
        m.nshowwindow)
  ENDFUNC

ENDDEFINE

[Você precisa estar registrado e conectado para ver esta imagem.]

alceu11
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: Salvar Browser como Html

Mensagem por hugo em 13/4/2011, 14:52

pois eh alceu, o que eu queria era a formatacao do jeito do valor1 mesmo

como nao consegui eu fiz aquele malabarismo que te mostrei

vou olhar seu codigo com calma pra ver se entendo como voce fez ( desculpa, c sabe que sou lendo no visual )

mais ta ai a prova, a tela ta ai e o valor ta ok, no meu caso so saia sem formatacao

meu caso era um pouquinho diferente

tipo

meus campos eram numericos e assim

123456789

mais eu precisava que aparecessem no html assim

123.456.789

ja resolvi isto e ja consegui tambem alinhar a direita

no codigo onte temos <td align="left", ( codigo html ), adicionei align="right"


meu problema agora eh este


x=43170557096
y=str(x)

eu preciso ver isto -> y="43170557096"

masi tenho isto de retorno -> y=4.317E+10

como resolver isto hein?


detalhando melhor meu codigo

Código:

cataq=unidades.custo_gera*f_ataq1 && aqui ta ok
nrcataq=ALLTRIM(STR(cataq)) && pronto, aqui ja deu merd*
c3=0
cnr=LEN(nrcataq)
newnrcataq=SPACE(19)
conta=-1
DO WHILE conta<cnr-1
   conta=conta+1
   c3=c3+1
   IF c3<4
      newnrcataq = SUBSTR(nrcataq,cnr-conta,1) + ALLTRIM(newnrcataq)
   ELSE
      c3=0
      newnrcataq = "."+ALLTRIM(newnrcataq)
      conta=conta-1
   ENDIF
ENDDO

esta rotina ai eh onde eu faco a conversao de nr para caracteres

tipo

123400 para 123.400

valeu

_________________
"A tristeza é a falta de alegria, mais sem ela eu não poderia entender a alegria do fato de que a felicidade existe!"
Helio Leites - [Você precisa estar registrado e conectado para ver este link.]

hugo
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: Salvar Browser como Html

Mensagem por alceu11 em 13/4/2011, 15:37

P/resumir pego sua tabela "fmoven" e transforma ela em teste so para pegar o valor e colocar em caracteres.
Código:
 CLOSE ALL
IF NOT FILE('FMOVEN.DBF')
CREATE TABLE FMOVEN(NNOTA C(6),OBS C(20), FORNEC C(45), VALOR N(12,2),EMISSAO D(8))
INSERT INTO FMOVEN VALUES('000001','SEM MOVIMENTO','EMPRESA TESTE 1',520,DATE(),'520,00' )
INSERT INTO FMOVEN VALUES('000001','SEM MOVIMENTO','EMPRESA TESTE 2',520.12,DATE(),'510,12' )
INSERT INTO FMOVEN VALUES('000001','SEM MOVIMENTO','EMPRESA TESTE 2',2510.12,DATE(),'2.510,12' )
 use
ENDIF
SELECT 0
USE fmoven
***Crio a tabela com o valor e caracter
CREATE TABLE teste(NNOTA C(6),OBS C(20), FORNEC C(45), VALOR c(14),EMISSAO D(8))
SELECT teste  && na linha abaixo pego fmoven insiro na tabela, teste com o valor em caracter
INSERT INTO teste (nnota,obs,fornec,valor,emissao) SELECT nnota,obs,fornec,STR(valor,14,2),emissao from  fmoven
SELECT teste
GO top
*!*
SET POINT TO ","
SET DATE FRENCH
SET CENTURY ON
SET DECIMALS TO 2
SET SYSFORMATS ON
LOCAL obj AS OBJECT
LOCAL arquivo AS STRING
*!*
m.obj = NEWOBJECT("datatohtml")
m.arquivo = m.obj.tabletohtml("teste")

m.obj.shell_exec(m.arquivo)
m.obj = NULL

USE IN SELECT("teste")

DEFINE CLASS datatohtml AS CUSTOM

  *!* Converte um SELECT para HTML
  FUNCTION selecttohtml AS STRING
      LPARAMETERS cselect AS STRING, caminhoarquivo AS STRING
      *!*
      LOCAL cabecalho AS STRING
      LOCAL rodapeh AS STRING
      LOCAL conteudo AS STRING
      LOCAL nometabela AS STRING
      LOCAL totalcampos AS INTEGER
      LOCAL contador AS INTEGER
      LOCAL nomecursor AS STRING
      LOCAL nomecoluna AS STRING
      LOCAL cor AS STRING
      *!*
      IF (VARTYPE(m.cselect)!="C") THEN
        RETURN ""
      ENDIF
      *!* Caminho onde o arquivo será armazenado (Informar a extensão do arquivo!)
      IF (VARTYPE(m.caminhoarquivo)!="C") THEN
        m.caminhoarquivo =  SYS(5)+CURDIR() + SYS(2015)+".html"
      ENDIF
      *!*
      m.nometabela =  ALLTRIM(GETWORDNUM(STREXTRACT(UPPER(cselect),"FROM"),1))
 
      m.nomecursor = SYS(2015)
      *!*
      IF !USED(m.nometabela) THEN
        RETURN ""
      ENDIF
      *!*
      m.cabecalho = "<table>"
      m.rodapeh = "</table>"
      m.totalcampos = FCOUNT(m.nometabela)
      m.conteudo = ""
      *!*
      m.conteudo = m.conteudo + "<tr>"
      FOR m.contador=1 TO m.totalcampos
        m.conteudo = m.conteudo + [<td style="width:200px; background-color:#CCCCCC">]+FIELD(m.contador)+"</td>"

      ENDFOR
      m.conteudo = m.conteudo + "</tr>"

      *!*
      EXECscript(m.cselect+" INTO CURSOR "+m.nomecursor)
      *!*
      IF (RECCOUNT(m.nomecursor)>0) THEN
        SELECT(m.nomecursor)

        SCAN
            IF (RECNO()%2!=0) THEN
              m.cor = "#EAF1FF"
            ELSE
              m.cor = "#DFEAFF"
            ENDIF
            m.conteudo = m.conteudo + "<tr>"
            FOR m.contador=1 TO m.totalcampos
              m.nomecoluna = FIELD(m.contador)
              m.conteudo = m.conteudo + [<td align="left" valign="top" style="background-color:]+m.cor+[">]+TRANSFORM(&nomecoluna)+"</td>"

            ENDFOR
           
            m.conteudo = m.conteudo + "</tr>"
                         
        ENDSCAN
      ENDIF
     
         
      *!*
      USE IN SELECT(m.nomecursor)
      *!*
      STRTOFILE(m.cabecalho + m.conteudo + m.rodapeh,m.caminhoarquivo)
      RETURN m.caminhoarquivo
  ENDFUNC
 
  *!* Converte dados de um cursor para HTML
  FUNCTION tabletohtml AS STRING
      LPARAMETERS nomeTabela AS STRING, caminhoarquivo AS STRING
      *!*
      LOCAL cabecalho AS STRING
      LOCAL rodapeh AS STRING
      LOCAL conteudo AS STRING
      LOCAL totalcampos AS INTEGER
      LOCAL contador AS INTEGER
      LOCAL nomecoluna AS STRING
      LOCAL cor AS STRING
      *!*
      IF (VARTYPE(m.nomeTabela)!="C") THEN
        RETURN ""
      ENDIF
      *!* Caminho onde o arquivo será armazenado (Informar a extensão do arquivo!)
      IF (VARTYPE(m.caminhoarquivo)!="C") THEN
        m.caminhoarquivo =  SYS(5)+CURDIR() + SYS(2015)+".html"
      ENDIF
      *!*
      IF !USED(m.nometabela) THEN
        RETURN ""
      ENDIF
      *!*
      m.cabecalho = "<table>"
      m.rodapeh = "</table>"
      m.totalcampos = FCOUNT(m.nometabela)
      m.conteudo = ""
      *!*
      m.conteudo = m.conteudo + "<tr>"
      FOR m.contador=1 TO m.totalcampos
        m.conteudo = m.conteudo + [<td style="width:200px; background-color:#CCCCCC">]+FIELD(m.contador)+"</td>"
      ENDFOR
      m.conteudo = m.conteudo + "</tr>"
      *!*
      IF (RECCOUNT(m.nomeTabela)>0) THEN
        SELECT(m.nomeTabela)

        SCAN
            IF (RECNO()%2!=0) THEN
              m.cor = "#EAF1FF"
            ELSE
              m.cor = "#DFEAFF"
            ENDIF
            m.conteudo = m.conteudo + "<tr>"
            FOR m.contador=1 TO m.totalcampos
              m.nomecoluna = FIELD(m.contador)
              m.conteudo = m.conteudo + [<td align="left" valign="top" style="background-color:]+m.cor+[">]+TRANSFORM(&nomecoluna)+"</td>"
            ENDFOR
            m.conteudo = m.conteudo + "</tr>"
        ENDSCAN
      ENDIF
      *!*
      STRTOFILE(m.cabecalho + m.conteudo + m.rodapeh,m.caminhoarquivo)
      RETURN m.caminhoarquivo
  ENDFUNC

  *!* Abre o arquivo
  FUNCTION shell_exec
      LPARAMETERS lclink, lcaction, lcparms, lcdir, nshowwindow

      IF (VARTYPE(m.lclink)!="C") THEN
        RETURN -1
      ENDIF

      DECLARE INTEGER FindWindow IN WIN32API AS WGFindWindow STRING, STRING
      DECLARE INTEGER ShellExecute IN SHELL32.DLL AS WGShellExecute ;
        INTEGER, STRING, STRING, STRING, STRING, INTEGER

      m.lcaction = IIF(EMPTY(lcaction), "Open", lcaction)
      m.lcparms = IIF(EMPTY(lcparms), "", lcparms)
      m.lcdir = IIF(EMPTY(lcdir), "", lcdir)
      m.nshowwindow = IIF(VARTYPE(m.nshowwindow) == "N", m.nshowwindow, 1)

      RETURN wgshellexecute(wgfindwindow(0, _SCREEN.CAPTION),  ;
        @lcaction, @lclink,  ;
        @lcparms, @lcdir,  ;
        m.nshowwindow)
  ENDFUNC

ENDDEFINE

[Você precisa estar registrado e conectado para ver esta imagem.]

alceu11
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: Salvar Browser como Html

Mensagem por hugo em 13/4/2011, 21:30

otimo

resolvido!

Smile

_________________
"A tristeza é a falta de alegria, mais sem ela eu não poderia entender a alegria do fato de que a felicidade existe!"
Helio Leites - [Você precisa estar registrado e conectado para ver este link.]

hugo
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: Salvar Browser como Html

Mensagem por alceu11 em 13/4/2011, 21:54

nesta linha aqui ondi gero a tabela teste
INSERT INTO teste (nnota,obs,fornec,valor,emissao) SELECT nnota,obs,fornec,TRansform(valor,'99,999,999.99'),emissao from fmoven

ondi tava o str(valor,14,2) se trocar por transforma fica mais legal ,,agora nao sei vc se ker mudar?
[Você precisa estar registrado e conectado para ver esta imagem.]

alceu11
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: Salvar Browser como Html

Mensagem por hugo em 13/4/2011, 22:01

achei o ponto no decimal mais compativel, mais a virgula eh mais bonito ne?

Smile

_________________
"A tristeza é a falta de alegria, mais sem ela eu não poderia entender a alegria do fato de que a felicidade existe!"
Helio Leites - [Você precisa estar registrado e conectado para ver este link.]

hugo
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: Salvar Browser como Html

Mensagem por alceu11 em 13/4/2011, 22:04

ai vc tem ver o comando

SET POINT TO ","
SET DECIMALS TO 2
e formatar a mascara do transforme do jeito ke vc achar legal. so kestao de gosto Very Happy

alceu11
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: Salvar Browser como Html

Mensagem por hugo em 13/4/2011, 22:48

otimo irmao

agora ficou 100%

valeu

_________________
"A tristeza é a falta de alegria, mais sem ela eu não poderia entender a alegria do fato de que a felicidade existe!"
Helio Leites - [Você precisa estar registrado e conectado para ver este link.]

hugo
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: Salvar Browser como Html

Mensagem por paulomelo em 25/4/2011, 17:10

"esta rotina ai eh onde eu faco a conversao de nr para caracteres

tipo

123400 para 123.400"


Hugo, tenho algo parecido e resolvi assim:


Código:
INSERT INTO CONTAREC(CODPES,NOME,TEL,TEL1,TEL2,EMAIL,VALOR,DTEMISS);
SELECT pes.codpes,pes.nome,pes.telefone,pes.telefone1,pes.telefone2,pes.email,
ALLTRIM(TRansform(PED.VALOR,'99,999,999,999')),ped.dtemiss FROM pessoa pes,pedido ped WHERE ...

onde o campo valor da tabela contarec tem o valor: C,20 e o mesmo campo da tabela pedido tem o valor: N,15,0 ....

Na nova tabela crio o campo como caracter e na tabela original como numerico.

Ajudou?

Agora me tira uma duvida: como formato o tamanho do campo na visualizacao do html? O nome campo tem o tamanho 50 e todos os campos saem truncados com um unico tamanho.

Como muda-los?

Muito obrigado.
Paulo




paulomelo
Participa Pouco
Participa Pouco


Voltar ao Topo Ir em baixo

Resolvido Re: Salvar Browser como Html

Mensagem por Marcos Guedes em 26/4/2011, 09:15

Paulo, pelos testes que fiz está saindo normal.
Tens como postar um print de seu resultado?

_________________
Marcos Guedes - Programador e desenvolvedor Web.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Resolvido Re: Salvar Browser como Html

Mensagem por Marcos Guedes em 26/4/2011, 10:16

Acredito que agora o problema seja solucionado.
Segue a atualização do código com um exemplo.
É só salvar num arquivo PRG e executá-lo:

Código:
*CLOSE ALL
SELECT 0

CREATE CURSOR teste (campo1 c(100), campo2 d(8), campo3 DATETIME)
INSERT INTO teste VALUES ('Este exemplo', DATE(), DATETIME())
INSERT INTO teste VALUES ('Foi desenvolvido', DATE(), DATETIME())
INSERT INTO teste VALUES ('Por Marcos Guedes', DATE(), DATETIME())
INSERT INTO teste VALUES ('Acesso o site http://www.programacaobrasil.com e faça parte de nossa equipe.', DATE(), DATETIME())

*USE fmoven ALIAS teste
*!*
LOCAL obj AS OBJECT
LOCAL arquivo AS STRING
*!*
m.obj = NEWOBJECT("datatohtml")
m.arquivo = m.obj.tabletohtml("teste")

m.obj.shell_exec(m.arquivo)
m.obj = NULL

USE IN SELECT("teste")

DEFINE CLASS datatohtml AS CUSTOM

   *!* Converte um SELECT para HTML
   FUNCTION selecttohtml AS STRING
      LPARAMETERS cselect AS STRING, caminhoarquivo AS STRING
      *!*
      LOCAL cabecalho AS STRING
      LOCAL rodapeh AS STRING
      LOCAL conteudo AS STRING
      LOCAL nometabela AS STRING
      LOCAL totalcampos AS INTEGER
      LOCAL contador AS INTEGER
      LOCAL nomecursor AS STRING
      LOCAL nomecoluna AS STRING
      LOCAL cor AS STRING
      *!*
      IF (VARTYPE(m.cselect)!="C") THEN
         RETURN ""
      ENDIF
      *!* Caminho onde o arquivo será armazenado (Informar a extensão do arquivo!)
      IF (VARTYPE(m.caminhoarquivo)!="C") THEN
         m.caminhoarquivo =  SYS(5)+CURDIR() + SYS(2015)+".html"
      ENDIF
      *!*
      m.nometabela =  ALLTRIM(GETWORDNUM(STREXTRACT(UPPER(cselect),"FROM"),1))
      m.nomecursor = SYS(2015)
      *!*
      IF !USED(m.nometabela) THEN
         RETURN ""
      ENDIF
      *!*
      m.cabecalho = "<table>"
      m.rodapeh = "</table>"
      m.totalcampos = FCOUNT(m.nometabela)
      m.conteudo = ""
      *!*
      m.conteudo = m.conteudo + "<tr>"
      FOR m.contador=1 TO m.totalcampos
         *m.conteudo = m.conteudo + [<td style="width:200px; background-color:#CCCCCC">]+FIELD(m.contador)+"</td>"
         m.conteudo = m.conteudo + [<td style="background-color:#CCCCCC;">]+FIELD(m.contador)+"</td>"
      ENDFOR
      m.conteudo = m.conteudo + "</tr>"
      *!*
      EXECSCRIPT(m.cselect+" INTO CURSOR "+m.nomecursor)
      *!*
      IF (RECCOUNT(m.nomecursor)>0) THEN
         SELECT(m.nomecursor)

         SCAN
            IF (RECNO()%2!=0) THEN
               m.cor = "#EAF1FF"
            ELSE
               m.cor = "#DFEAFF"
            ENDIF
            m.conteudo = m.conteudo + "<tr>"
            FOR m.contador=1 TO m.totalcampos
               m.nomecoluna = FIELD(m.contador)
               m.conteudo = m.conteudo + [<td align="left" valign="top" style="padding-left:5px; padding-right:5px; background-color:]+m.cor+[">]+TRANSFORM(&nomecoluna)+"</td>"
            ENDFOR
            m.conteudo = m.conteudo + "</tr>"
         ENDSCAN
      ENDIF
      *!*
      USE IN SELECT(m.nomecursor)
      *!*
      STRTOFILE(m.cabecalho + m.conteudo + m.rodapeh,m.caminhoarquivo)
      RETURN m.caminhoarquivo
   ENDFUNC

   *!* Converte dados de um cursor para HTML
   FUNCTION tabletohtml AS STRING
      LPARAMETERS nometabela AS STRING, caminhoarquivo AS STRING
      *!*
      LOCAL cabecalho AS STRING
      LOCAL rodapeh AS STRING
      LOCAL conteudo AS STRING
      LOCAL totalcampos AS INTEGER
      LOCAL contador AS INTEGER
      LOCAL nomecoluna AS STRING
      LOCAL cor AS STRING
      *!*
      IF (VARTYPE(m.nometabela)!="C") THEN
         RETURN ""
      ENDIF
      *!* Caminho onde o arquivo será armazenado (Informar a extensão do arquivo!)
      IF (VARTYPE(m.caminhoarquivo)!="C") THEN
         m.caminhoarquivo =  SYS(5)+CURDIR() + SYS(2015)+".html"
      ENDIF
      *!*
      IF !USED(m.nometabela) THEN
         RETURN ""
      ENDIF
      *!*
      m.cabecalho = "<table>"
      m.rodapeh = "</table>"
      m.totalcampos = FCOUNT(m.nometabela)
      m.conteudo = ""
      *!*
      m.conteudo = m.conteudo + "<tr>"
      FOR m.contador=1 TO m.totalcampos
         *m.conteudo = m.conteudo + [<td style="width:200px; background-color:#CCCCCC">]+FIELD(m.contador)+"</td>"
         m.conteudo = m.conteudo + [<td style="background-color:#CCCCCC;">]+FIELD(m.contador)+"</td>"
      ENDFOR
      m.conteudo = m.conteudo + "</tr>"
      *!*
      IF (RECCOUNT(m.nometabela)>0) THEN
         SELECT(m.nometabela)

         SCAN
            IF (RECNO()%2!=0) THEN
               m.cor = "#EAF1FF"
            ELSE
               m.cor = "#DFEAFF"
            ENDIF
            m.conteudo = m.conteudo + "<tr>"
            FOR m.contador=1 TO m.totalcampos
               m.nomecoluna = FIELD(m.contador)
               m.conteudo = m.conteudo + [<td align="left" valign="top" style="padding-left:5px; padding-right:5px; background-color:]+m.cor+[">]+TRANSFORM(&nomecoluna)+"</td>"
            ENDFOR
            m.conteudo = m.conteudo + "</tr>"
         ENDSCAN
      ENDIF
      *!*
      STRTOFILE(m.cabecalho + m.conteudo + m.rodapeh,m.caminhoarquivo)
      RETURN m.caminhoarquivo
   ENDFUNC

   *!* Abre o arquivo
   FUNCTION shell_exec
      LPARAMETERS lclink, lcaction, lcparms, lcdir, nshowwindow

      IF (VARTYPE(m.lclink)!="C") THEN
         RETURN -1
      ENDIF

      DECLARE INTEGER FindWindow IN WIN32API AS WGFindWindow STRING, STRING
      DECLARE INTEGER ShellExecute IN SHELL32.DLL AS WGShellExecute ;
         INTEGER, STRING, STRING, STRING, STRING, INTEGER

      m.lcaction = IIF(EMPTY(lcaction), "Open", lcaction)
      m.lcparms = IIF(EMPTY(lcparms), "", lcparms)
      m.lcdir = IIF(EMPTY(lcdir), "", lcdir)
      m.nshowwindow = IIF(VARTYPE(m.nshowwindow) == "N", m.nshowwindow, 1)

      RETURN wgshellexecute(wgfindwindow(0, _SCREEN.CAPTION),  ;
         @lcaction, @lclink,  ;
         @lcparms, @lcdir,  ;
         m.nshowwindow)
   ENDFUNC

ENDDEFINE

_________________
Marcos Guedes - Programador e desenvolvedor Web.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Resolvido Re: Salvar Browser como Html

Mensagem por alceu11 em 26/4/2011, 12:57

Marcos ,
Faca um teste com valor, e veja o utilmo valor 16 saiu sem casas decimais

Esta quase perfeita, pena ke nao posso usar isto como uma funcao., separada, mais vou providenciar, para ke isto aconteca. Porque acho este html supimpa!!muito joia, mesmo, uma mao na roda, para fazer select com filtros e gerar relatorios.....
BOM DEMAIS, e foi Ideia do Hugo!!!

mais uma coisa na hora de imprimir as cores azul somem da grade.
Código:

CLOSE DATABASES all
SELECT 0

CREATE CURSOR teste (campo1 c(100), campo2 d(8), campo3 DATETIME, valor n(10,2))
INSERT INTO teste VALUES ('Este exemplo', DATE(), DATETIME(),250.45)
INSERT INTO teste VALUES ('Foi desenvolvido', DATE(), DATETIME(),15.10)
INSERT INTO teste VALUES ('Por Marcos Guedes', DATE(), DATETIME(),22.20)
INSERT INTO teste VALUES ('Acesso o site http://www.programacaobrasil.com e faça parte de nossa equipe.', DATE(), DATETIME(),16.00)

*USE fmoven ALIAS teste
*!*
LOCAL obj AS OBJECT
LOCAL arquivo AS STRING
*!*
m.obj = NEWOBJECT("datatohtml")
m.arquivo = m.obj.tabletohtml("teste")

m.obj.shell_exec(m.arquivo)
m.obj = NULL

USE IN SELECT("teste")

DEFINE CLASS datatohtml AS CUSTOM

  *!* Converte um SELECT para HTML
  FUNCTION selecttohtml AS STRING
      LPARAMETERS cselect AS STRING, caminhoarquivo AS STRING
      *!*
      LOCAL cabecalho AS STRING
      LOCAL rodapeh AS STRING
      LOCAL conteudo AS STRING
      LOCAL nometabela AS STRING
      LOCAL totalcampos AS INTEGER
      LOCAL contador AS INTEGER
      LOCAL nomecursor AS STRING
      LOCAL nomecoluna AS STRING
      LOCAL cor AS STRING
      *!*
      IF (VARTYPE(m.cselect)!="C") THEN
        RETURN ""
      ENDIF
      *!* Caminho onde o arquivo será armazenado (Informar a extensão do arquivo!)
      IF (VARTYPE(m.caminhoarquivo)!="C") THEN
        m.caminhoarquivo =  SYS(5)+CURDIR() + SYS(2015)+".html"
      ENDIF
      *!*
      m.nometabela =  ALLTRIM(GETWORDNUM(STREXTRACT(UPPER(cselect),"FROM"),1))
      m.nomecursor = SYS(2015)
      *!*
      IF !USED(m.nometabela) THEN
        RETURN ""
      ENDIF
      *!*
      m.cabecalho = "<table>"
      m.rodapeh = "</table>"
      m.totalcampos = FCOUNT(m.nometabela)
      m.conteudo = ""
      *!*
      m.conteudo = m.conteudo + "<tr>"
      FOR m.contador=1 TO m.totalcampos
        *m.conteudo = m.conteudo + [<td style="width:200px; background-color:#CCCCCC">]+FIELD(m.contador)+"</td>"
        m.conteudo = m.conteudo + [<td style="background-color:#CCCCCC;">]+FIELD(m.contador)+"</td>"
      ENDFOR
      m.conteudo = m.conteudo + "</tr>"
      *!*
      EXECSCRIPT(m.cselect+" INTO CURSOR "+m.nomecursor)
      *!*
      IF (RECCOUNT(m.nomecursor)>0) THEN
        SELECT(m.nomecursor)

        SCAN
            IF (RECNO()%2!=0) THEN
              m.cor = "#EAF1FF"
            ELSE
              m.cor = "#DFEAFF"
            ENDIF
            m.conteudo = m.conteudo + "<tr>"
            FOR m.contador=1 TO m.totalcampos
              m.nomecoluna = FIELD(m.contador)
              m.conteudo = m.conteudo + [<td align="left" valign="top" style="padding-left:5px; padding-right:5px; background-color:]+m.cor+[">]+TRANSFORM(&nomecoluna)+"</td>"
            ENDFOR
            m.conteudo = m.conteudo + "</tr>"
        ENDSCAN
      ENDIF
      *!*
      USE IN SELECT(m.nomecursor)
      *!*
      STRTOFILE(m.cabecalho + m.conteudo + m.rodapeh,m.caminhoarquivo)
      RETURN m.caminhoarquivo
  ENDFUNC

  *!* Converte dados de um cursor para HTML
  FUNCTION tabletohtml AS STRING
      LPARAMETERS nometabela AS STRING, caminhoarquivo AS STRING
      *!*
      LOCAL cabecalho AS STRING
      LOCAL rodapeh AS STRING
      LOCAL conteudo AS STRING
      LOCAL totalcampos AS INTEGER
      LOCAL contador AS INTEGER
      LOCAL nomecoluna AS STRING
      LOCAL cor AS STRING
      *!*
      IF (VARTYPE(m.nometabela)!="C") THEN
        RETURN ""
      ENDIF
      *!* Caminho onde o arquivo será armazenado (Informar a extensão do arquivo!)
      IF (VARTYPE(m.caminhoarquivo)!="C") THEN
        m.caminhoarquivo =  SYS(5)+CURDIR() + SYS(2015)+".html"
      ENDIF
      *!*
      IF !USED(m.nometabela) THEN
        RETURN ""
      ENDIF
      *!*
      m.cabecalho = "<table>"
      m.rodapeh = "</table>"
      m.totalcampos = FCOUNT(m.nometabela)
      m.conteudo = ""
      *!*
      m.conteudo = m.conteudo + "<tr>"
      FOR m.contador=1 TO m.totalcampos
        *m.conteudo = m.conteudo + [<td style="width:200px; background-color:#CCCCCC">]+FIELD(m.contador)+"</td>"
        m.conteudo = m.conteudo + [<td style="background-color:#CCCCCC;">]+FIELD(m.contador)+"</td>"
      ENDFOR
      m.conteudo = m.conteudo + "</tr>"
      *!*
      IF (RECCOUNT(m.nometabela)>0) THEN
        SELECT(m.nometabela)

        SCAN
            IF (RECNO()%2!=0) THEN
              m.cor = "#EAF1FF"
            ELSE
              m.cor = "#DFEAFF"
            ENDIF
            m.conteudo = m.conteudo + "<tr>"
            FOR m.contador=1 TO m.totalcampos
              m.nomecoluna = FIELD(m.contador)
              m.conteudo = m.conteudo + [<td align="left" valign="top" style="padding-left:5px; padding-right:5px; background-color:]+m.cor+[">]+TRANSFORM(&nomecoluna)+"</td>"
            ENDFOR
            m.conteudo = m.conteudo + "</tr>"
        ENDSCAN
      ENDIF
      *!*
      STRTOFILE(m.cabecalho + m.conteudo + m.rodapeh,m.caminhoarquivo)
      RETURN m.caminhoarquivo
  ENDFUNC

  *!* Abre o arquivo
  FUNCTION shell_exec
      LPARAMETERS lclink, lcaction, lcparms, lcdir, nshowwindow

      IF (VARTYPE(m.lclink)!="C") THEN
        RETURN -1
      ENDIF

      DECLARE INTEGER FindWindow IN WIN32API AS WGFindWindow STRING, STRING
      DECLARE INTEGER ShellExecute IN SHELL32.DLL AS WGShellExecute ;
        INTEGER, STRING, STRING, STRING, STRING, INTEGER

      m.lcaction = IIF(EMPTY(lcaction), "Open", lcaction)
      m.lcparms = IIF(EMPTY(lcparms), "", lcparms)
      m.lcdir = IIF(EMPTY(lcdir), "", lcdir)
      m.nshowwindow = IIF(VARTYPE(m.nshowwindow) == "N", m.nshowwindow, 1)

      RETURN wgshellexecute(wgfindwindow(0, _SCREEN.CAPTION),  ;
        @lcaction, @lclink,  ;
        @lcparms, @lcdir,  ;
        m.nshowwindow)
  ENDFUNC

ENDDEFINE

[Você precisa estar registrado e conectado para ver esta imagem.]

alceu11
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: Salvar Browser como Html

Mensagem por Marcos Guedes em 26/4/2011, 14:27

Sobre as casas decimais, segue uma atualização:

Código:
CLOSE DATABASES ALL
SELECT 0

CREATE CURSOR teste (campo1 c(100), campo2 d(8), campo3 DATETIME, valor N(10,2))
INSERT INTO teste VALUES ('Este exemplo', DATE(), DATETIME(),250.45)
INSERT INTO teste VALUES ('Foi desenvolvido', DATE(), DATETIME(),15.10)
INSERT INTO teste VALUES ('Por Marcos Guedes', DATE(), DATETIME(),22.20)
INSERT INTO teste VALUES ('Acesso o site http://www.programacaobrasil.com e faça parte de nossa equipe.', DATE(), DATETIME(),16.00)

*USE fmoven ALIAS teste
*!*
LOCAL obj AS OBJECT
LOCAL arquivo AS STRING
*!*
m.obj = NEWOBJECT("datatohtml")
m.arquivo = m.obj.tabletohtml("teste")

m.obj.shell_exec(m.arquivo)
m.obj = NULL

USE IN SELECT("teste")

DEFINE CLASS datatohtml AS CUSTOM

   *!* Converte um SELECT para HTML
   FUNCTION selecttohtml AS STRING
      LPARAMETERS cselect AS STRING, caminhoarquivo AS STRING
      *!*
      LOCAL cabecalho AS STRING
      LOCAL rodapeh AS STRING
      LOCAL conteudo AS STRING
      LOCAL nometabela AS STRING
      LOCAL totalcampos AS INTEGER
      LOCAL contador AS INTEGER
      LOCAL nomecursor AS STRING
      LOCAL nomecoluna AS STRING
      LOCAL cor AS STRING
      *!*
      IF (VARTYPE(m.cselect)!="C") THEN
         RETURN ""
      ENDIF
      *!* Caminho onde o arquivo será armazenado (Informar a extensão do arquivo!)
      IF (VARTYPE(m.caminhoarquivo)!="C") THEN
         m.caminhoarquivo =  SYS(5)+CURDIR() + SYS(2015)+".html"
      ENDIF
      *!*
      m.nometabela =  ALLTRIM(GETWORDNUM(STREXTRACT(UPPER(cselect),"FROM"),1))
      m.nomecursor = SYS(2015)
      *!*
      IF !USED(m.nometabela) THEN
         RETURN ""
      ENDIF
      *!*
      m.cabecalho = "<html><head><style type='text/css'>media='print'</style></head><body><table>"
      m.rodapeh = "</body></table></html>"
      m.totalcampos = FCOUNT(m.nometabela)
      m.conteudo = ""
      *!*
      m.conteudo = m.conteudo + "<tr>"
      FOR m.contador=1 TO m.totalcampos
         *m.conteudo = m.conteudo + [<td style="width:200px; background-color:#CCCCCC">]+FIELD(m.contador)+"</td>"
         m.conteudo = m.conteudo + [<td style="background-color:#CCCCCC;">]+FIELD(m.contador)+"</td>"
      ENDFOR
      m.conteudo = m.conteudo + "</tr>"
      *!*
      EXECSCRIPT(m.cselect+" INTO CURSOR "+m.nomecursor)
      *!*
      IF (RECCOUNT(m.nomecursor)>0) THEN
         SELECT(m.nomecursor)

         SCAN
            IF (RECNO()%2!=0) THEN
               m.cor = "#EAF1FF"
            ELSE
               m.cor = "#DFEAFF"
            ENDIF
            m.conteudo = m.conteudo + "<tr>"
            FOR m.contador=1 TO m.totalcampos
               m.nomecoluna = FIELD(m.contador)
               m.conteudo = m.conteudo + [<td align="left" valign="top" style="padding-left:5px; padding-right:5px; background-color:]+m.cor+[">]+TRANSFORM(&nomecoluna,"@T")+"</td>"
            ENDFOR
            m.conteudo = m.conteudo + "</tr>"
         ENDSCAN
      ENDIF
      *!*
      USE IN SELECT(m.nomecursor)
      *!*
      STRTOFILE(m.cabecalho + m.conteudo + m.rodapeh,m.caminhoarquivo)
      RETURN m.caminhoarquivo
   ENDFUNC

   *!* Converte dados de um cursor para HTML
   FUNCTION tabletohtml AS STRING
      LPARAMETERS nometabela AS STRING, caminhoarquivo AS STRING
      *!*
      LOCAL cabecalho AS STRING
      LOCAL rodapeh AS STRING
      LOCAL conteudo AS STRING
      LOCAL totalcampos AS INTEGER
      LOCAL contador AS INTEGER
      LOCAL nomecoluna AS STRING
      LOCAL cor AS STRING
      *!*
      IF (VARTYPE(m.nometabela)!="C") THEN
         RETURN ""
      ENDIF
      *!* Caminho onde o arquivo será armazenado (Informar a extensão do arquivo!)
      IF (VARTYPE(m.caminhoarquivo)!="C") THEN
         m.caminhoarquivo =  SYS(5)+CURDIR() + SYS(2015)+".html"
      ENDIF
      *!*
      IF !USED(m.nometabela) THEN
         RETURN ""
      ENDIF
      *!*
      m.cabecalho = "<html><head><style type='text/css'>thead { display: table-header-group; }  tfoot { display: table-footer-group; overflow: visible; }</style></head><body><table>"
      m.rodapeh = "</table></body></html>"
      m.totalcampos = FCOUNT(m.nometabela)
      m.conteudo = ""
      *!*
      m.conteudo = m.conteudo + "<tr>"
      FOR m.contador=1 TO m.totalcampos
         *m.conteudo = m.conteudo + [<td style="width:200px; background-color:#CCCCCC">]+FIELD(m.contador)+"</td>"
         m.conteudo = m.conteudo + [<td style="background-color:#CCCCCC;">]+FIELD(m.contador)+"</td>"
      ENDFOR
      m.conteudo = m.conteudo + "</tr>"
      *!*
      IF (RECCOUNT(m.nometabela)>0) THEN
         SELECT(m.nometabela)

         SCAN
            IF (RECNO()%2!=0) THEN
               m.cor = "#EAF1FF"
            ELSE
               m.cor = "#DFEAFF"
            ENDIF
            m.conteudo = m.conteudo + "<tr>"
            FOR m.contador=1 TO m.totalcampos
               m.nomecoluna = FIELD(m.contador)
               m.conteudo = m.conteudo + [<td align="left" valign="top" style="padding-left:5px; padding-right:5px; background-color:]+m.cor+[">]+TRANSFORM(&nomecoluna,"@T")+"</td>"
            ENDFOR
            m.conteudo = m.conteudo + "</tr>"
         ENDSCAN
      ENDIF
      *!*
      STRTOFILE(m.cabecalho + m.conteudo + m.rodapeh,m.caminhoarquivo)
      RETURN m.caminhoarquivo
   ENDFUNC

   *!* Abre o arquivo
   FUNCTION shell_exec
      LPARAMETERS lclink, lcaction, lcparms, lcdir, nshowwindow

      IF (VARTYPE(m.lclink)!="C") THEN
         RETURN -1
      ENDIF

      DECLARE INTEGER FindWindow IN WIN32API AS WGFindWindow STRING, STRING
      DECLARE INTEGER ShellExecute IN SHELL32.DLL AS WGShellExecute ;
         INTEGER, STRING, STRING, STRING, STRING, INTEGER

      m.lcaction = IIF(EMPTY(lcaction), "Open", lcaction)
      m.lcparms = IIF(EMPTY(lcparms), "", lcparms)
      m.lcdir = IIF(EMPTY(lcdir), "", lcdir)
      m.nshowwindow = IIF(VARTYPE(m.nshowwindow) == "N", m.nshowwindow, 1)

      RETURN wgshellexecute(wgfindwindow(0, _SCREEN.CAPTION),  ;
         @lcaction, @lclink,  ;
         @lcparms, @lcdir,  ;
         m.nshowwindow)
   ENDFUNC

ENDDEFINE

Quanto ao erro de impressão, ainda irei pesquisar.

_________________
Marcos Guedes - Programador e desenvolvedor Web.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Resolvido Re: Salvar Browser como Html

Mensagem por paulomelo em 26/4/2011, 16:27

Marcos, segue o link com o resultado "truncado" do HTML gerado.
Tambem a tabela em anexo que foram extraidas as informacoes

[Você precisa estar registrado e conectado para ver este link.]

Grato
Paulo

paulomelo
Participa Pouco
Participa Pouco


Voltar ao Topo Ir em baixo

Resolvido Re: Salvar Browser como Html

Mensagem por Marcos Guedes em 26/4/2011, 16:37

Não conseguir visualizar que dados estão truncados.
Nem vejo anexo algum à mensagem.

Você testou o código que postei antes de sua última resposta?

_________________
Marcos Guedes - Programador e desenvolvedor Web.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Resolvido Re: Salvar Browser como Html

Mensagem por alceu11 em 26/4/2011, 16:40

Se o valor for muto grande, tenho que fazer uma segunda select, com o valor em caracter para usar o transform. O valor ainda ta pegando qdo muito grande 3 milhoes so aparece, 3641250,45

Código:

CLOSE DATABASES ALL
SELECT 0

CREATE CURSOR testes (campo1 c(100), campo2 d(8), campo3 DATETIME, valor N(14,2))
INSERT INTO testes VALUES ('Este exemplo', DATE(), DATETIME(),3641250.45)
INSERT INTO testes VALUES ('Foi desenvolvido', DATE(), DATETIME(),15.10)
INSERT INTO testes VALUES ('Por Marcos Guedes', DATE(), DATETIME(),22.20)
INSERT INTO testes VALUES ('Acesso o site http://www.programacaobrasil.com e faça parte de nossa equipe.', DATE(), DATETIME(),16.00)

CREATE CURSOR teste (campo1 c(100), campo2 d(8), campo3 DATETIME, valor c(14))

INSERT INTO teste (campo1,campo2,campo3,valor) SELECT campo1,campo2,campo3,TRansform(valor,'99,999,999.99') from testes
browse
*USE fmoven ALIAS teste
*!*
LOCAL obj AS OBJECT
LOCAL arquivo AS STRING
*!*
m.obj = NEWOBJECT("datatohtml")
m.arquivo = m.obj.tabletohtml("teste")

m.obj.shell_exec(m.arquivo)
m.obj = NULL

USE IN SELECT("teste")

DEFINE CLASS datatohtml AS CUSTOM

  *!* Converte um SELECT para HTML
  FUNCTION selecttohtml AS STRING
      LPARAMETERS cselect AS STRING, caminhoarquivo AS STRING
      *!*
      LOCAL cabecalho AS STRING
      LOCAL rodapeh AS STRING
      LOCAL conteudo AS STRING
      LOCAL nometabela AS STRING
      LOCAL totalcampos AS INTEGER
      LOCAL contador AS INTEGER
      LOCAL nomecursor AS STRING
      LOCAL nomecoluna AS STRING
      LOCAL cor AS STRING
      *!*
      IF (VARTYPE(m.cselect)!="C") THEN
        RETURN ""
      ENDIF
      *!* Caminho onde o arquivo será armazenado (Informar a extensão do arquivo!)
      IF (VARTYPE(m.caminhoarquivo)!="C") THEN
        m.caminhoarquivo =  SYS(5)+CURDIR() + SYS(2015)+".html"
      ENDIF
      *!*
      m.nometabela =  ALLTRIM(GETWORDNUM(STREXTRACT(UPPER(cselect),"FROM"),1))
      m.nomecursor = SYS(2015)
      *!*
      IF !USED(m.nometabela) THEN
        RETURN ""
      ENDIF
      *!*
      m.cabecalho = "<html><head><style type='text/css'>media='print'</style></head><body><table>"
      m.rodapeh = "</body></table></html>"
      m.totalcampos = FCOUNT(m.nometabela)
      m.conteudo = ""
      *!*
      m.conteudo = m.conteudo + "<tr>"
      FOR m.contador=1 TO m.totalcampos
        *m.conteudo = m.conteudo + [<td style="width:200px; background-color:#CCCCCC">]+FIELD(m.contador)+"</td>"
        m.conteudo = m.conteudo + [<td style="background-color:#CCCCCC;">]+FIELD(m.contador)+"</td>"
      ENDFOR
      m.conteudo = m.conteudo + "</tr>"
      *!*
      EXECSCRIPT(m.cselect+" INTO CURSOR "+m.nomecursor)
      *!*
      IF (RECCOUNT(m.nomecursor)>0) THEN
        SELECT(m.nomecursor)

        SCAN
            IF (RECNO()%2!=0) THEN
              m.cor = "#EAF1FF"
            ELSE
              m.cor = "#DFEAFF"
            ENDIF
            m.conteudo = m.conteudo + "<tr>"
            FOR m.contador=1 TO m.totalcampos
              m.nomecoluna = FIELD(m.contador)
              m.conteudo = m.conteudo + [<td align="left" valign="top" style="padding-left:5px; padding-right:5px; background-color:]+m.cor+[">]+TRANSFORM(&nomecoluna,"@T")+"</td>"
            ENDFOR
            m.conteudo = m.conteudo + "</tr>"
        ENDSCAN
      ENDIF
      *!*
      USE IN SELECT(m.nomecursor)
      *!*
      STRTOFILE(m.cabecalho + m.conteudo + m.rodapeh,m.caminhoarquivo)
      RETURN m.caminhoarquivo
  ENDFUNC

  *!* Converte dados de um cursor para HTML
  FUNCTION tabletohtml AS STRING
      LPARAMETERS nometabela AS STRING, caminhoarquivo AS STRING
      *!*
      LOCAL cabecalho AS STRING
      LOCAL rodapeh AS STRING
      LOCAL conteudo AS STRING
      LOCAL totalcampos AS INTEGER
      LOCAL contador AS INTEGER
      LOCAL nomecoluna AS STRING
      LOCAL cor AS STRING
      *!*
      IF (VARTYPE(m.nometabela)!="C") THEN
        RETURN ""
      ENDIF
      *!* Caminho onde o arquivo será armazenado (Informar a extensão do arquivo!)
      IF (VARTYPE(m.caminhoarquivo)!="C") THEN
        m.caminhoarquivo =  SYS(5)+CURDIR() + SYS(2015)+".html"
      ENDIF
      *!*
      IF !USED(m.nometabela) THEN
        RETURN ""
      ENDIF
      *!*
      m.cabecalho = "<html><head><style type='text/css'>thead { display: table-header-group; }  tfoot { display: table-footer-group; overflow: visible; }</style></head><body><table>"
      m.rodapeh = "</table></body></html>"
      m.totalcampos = FCOUNT(m.nometabela)
      m.conteudo = ""
      *!*
      m.conteudo = m.conteudo + "<tr>"
      FOR m.contador=1 TO m.totalcampos
        *m.conteudo = m.conteudo + [<td style="width:200px; background-color:#CCCCCC">]+FIELD(m.contador)+"</td>"
        m.conteudo = m.conteudo + [<td style="background-color:#CCCCCC;">]+FIELD(m.contador)+"</td>"
      ENDFOR
      m.conteudo = m.conteudo + "</tr>"
      *!*
      IF (RECCOUNT(m.nometabela)>0) THEN
        SELECT(m.nometabela)

        SCAN
            IF (RECNO()%2!=0) THEN
              m.cor = "#EAF1FF"
            ELSE
              m.cor = "#DFEAFF"
            ENDIF
            m.conteudo = m.conteudo + "<tr>"
            FOR m.contador=1 TO m.totalcampos
              m.nomecoluna = FIELD(m.contador)
              m.conteudo = m.conteudo + [<td align="left" valign="top" style="padding-left:5px; padding-right:5px; background-color:]+m.cor+[">]+TRANSFORM(&nomecoluna,"@T")+"</td>"
            ENDFOR
            m.conteudo = m.conteudo + "</tr>"
        ENDSCAN
      ENDIF
      *!*
      STRTOFILE(m.cabecalho + m.conteudo + m.rodapeh,m.caminhoarquivo)
      RETURN m.caminhoarquivo
  ENDFUNC

  *!* Abre o arquivo
  FUNCTION shell_exec
      LPARAMETERS lclink, lcaction, lcparms, lcdir, nshowwindow

      IF (VARTYPE(m.lclink)!="C") THEN
        RETURN -1
      ENDIF

      DECLARE INTEGER FindWindow IN WIN32API AS WGFindWindow STRING, STRING
      DECLARE INTEGER ShellExecute IN SHELL32.DLL AS WGShellExecute ;
        INTEGER, STRING, STRING, STRING, STRING, INTEGER

      m.lcaction = IIF(EMPTY(lcaction), "Open", lcaction)
      m.lcparms = IIF(EMPTY(lcparms), "", lcparms)
      m.lcdir = IIF(EMPTY(lcdir), "", lcdir)
      m.nshowwindow = IIF(VARTYPE(m.nshowwindow) == "N", m.nshowwindow, 1)

      RETURN wgshellexecute(wgfindwindow(0, _SCREEN.CAPTION),  ;
        @lcaction, @lclink,  ;
        @lcparms, @lcdir,  ;
        m.nshowwindow)
  ENDFUNC

ENDDEFINE

alceu11
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: Salvar Browser como Html

Mensagem por paulomelo em 26/4/2011, 16:51

Sim, testei seu codigo e deu certo.

Inclusive usei exatamente ele pra gerar o html.

Mandei o anexo(tabela), mas não foi...

Como voce pode perceber no link, por exemplo o campo nome sai em 3 linhas:

Exemplo: Nome: Noilde Rodrigues Nunes

Está ficando assim:
Nome
Noilde
Rodrigues
Nunes

paulomelo
Participa Pouco
Participa Pouco


Voltar ao Topo Ir em baixo

Resolvido Re: Salvar Browser como Html

Mensagem por paulomelo em 26/4/2011, 17:40

Veja como ficou exatamente:


NOME

CODPES

TEL

TEL1

TEL2

EMAIL

VALOR

DTEMISS

DTINC

ENDERECO
Noilde Rodrigues Nunes
1260
1234-4445
2629-1142
[Você precisa estar registrado e conectado para ver este link.]
1.180,70
20/04/2011
20/04/2011
Rua Luiz Leopoldo Fernandes Pinheiro
Verenice das Neves Pereira
1547
3398-4025
8827-6869
4352-5188
[Você precisa estar registrado e conectado para ver este link.]
39,90
20/04/2011
20/04/2011
Rua Edmir Leao
Ivone R. Gomes
1708
3398-40
156,90
25/04/2011
25/04/2011
Rua Professor Alves Horta
Jaine Lacerda Soares
1890
3393-1752
8668-4951
[Você precisa estar registrado e conectado para ver este link.]
158,80
25/04/2011
25/04/2011
Av. Um
Juliana Alves
1998
9105-805
[Você precisa estar registrado e conectado para ver este link.]
246,00
20/04/2011
20/04/2011
Rua Maria Trindade Barbosa
Paola Alves Siqueira Fernandes
1999
4389-9110
9194-1425
9778-0312
[Você precisa estar registrado e conectado para ver este link.]
179,27
20/04/2011
23/04/2011
Rua Wladimir Herzog
Santa Alcantra Marques
2000
2911-0443
94,50
25/04/2011
25/04/2011
Rua tres

paulomelo
Participa Pouco
Participa Pouco


Voltar ao Topo Ir em baixo

Resolvido Re: Salvar Browser como Html

Mensagem por Marcos Guedes em 26/4/2011, 23:33

Acredito que está saindo assim por causa de sua resolução.
Logo o código deve estar se adaptando à tela.
Não seria isto?

_________________
Marcos Guedes - Programador e desenvolvedor Web.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Resolvido Re: Salvar Browser como Html

Mensagem por paulomelo em 27/4/2011, 08:49

Marcos, já pensei nisto, mas testei em 2 monitores de 15 e 18" com a resolução de 1024 x 768.

Tentei mandar a tabela via forum, mas nao consegui.

Embarassed
Tem como manda-la em particular junto com o codigo pra vc verificar pra mim? E se porventura exista algum bug, vc nos esclarece por favor.

Pode ser?
Grato - Paulo

paulomelo
Participa Pouco
Participa Pouco


Voltar ao Topo Ir em baixo

Resolvido Re: Salvar Browser como Html

Mensagem por paulomelo em 27/4/2011, 11:35

Marcos,
Realmente vc tem razão. Consegui normalmente em um monitor de 18", mas no de 15" fica assim desconfigurado.

Apesar de existirem poucos monitores abaixo de 18" hoje, pode acontecer algo parecido.

Tentei colocar a altura e largura(width="100%" height="100%") da tabela em 100%, pois segundo olhei adapta em qualquer monitor, mas nao consegui o efeito desejado.

Agora tive problema em um momento que nao saiu o cabecalho, resolvi assim:
Código:

onde se lê:
FIELD(m.contador)
coloque:
FIELD(m.contador,m.nometabela)

Mas, valeu mesmo pela costumeira paciencia...

paulomelo
Participa Pouco
Participa Pouco


Voltar ao Topo Ir em baixo

Resolvido Re: Salvar Browser como Html

Mensagem por Marcos Guedes em 27/4/2011, 16:48

[Você precisa estar registrado e conectado para ver este link.] escreveu:Marcos,
Realmente vc tem razão. Consegui normalmente em um monitor de 18", mas no de 15" fica assim desconfigurado.

Apesar de existirem poucos monitores abaixo de 18" hoje, pode acontecer algo parecido.

Tentei colocar a altura e largura(width="100%" height="100%") da tabela em 100%, pois segundo olhei adapta em qualquer monitor, mas nao consegui o efeito desejado.

Agora tive problema em um momento que nao saiu o cabecalho, resolvi assim:
Código:

onde se lê:
FIELD(m.contador)
coloque:
FIELD(m.contador,m.nometabela)

Mas, valeu mesmo pela costumeira paciencia...
Sendo assim, talvez fique interessante se você reduzir a quantidade de campos exibidos.

_________________
Marcos Guedes - Programador e desenvolvedor Web.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Resolvido Re: Salvar Browser como Html

Mensagem por Conteúdo patrocinado Hoje à(s) 09:32


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Página 2 de 2 Anterior  1, 2

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum