SlideShare uma empresa Scribd logo
1 de 11
Sistema Senior
Gestão de Pessoas II
Dicas de programação.
SQL Nativo e Formatação HTML
Muito mais agilidade, segurança, comodidade e automatização de processos.
Definir Alfa Cur_r070acc;
Definir Data xDatAcc;
SQL_Criar(Cur_r070acc);
SQL_UsarSQLSenior2(Cur_r070acc,0);
SQL_UsarAbrangencia(Cur_r070acc,0);
SQL_DefinirComando(Cur_r070acc,"select a.numcra, 
max(a.numemp) as numemp, 
max(a.tipcol) as tipcol, 
max(a.numcad) as numcad, 
max(a.horacc) - min(a.horacc) as tempo_refeicao 
from vetorh.r070acc a 
where a.datacc =:xDatAcc and 
a.tipacc = 1 and 
a.diracc in ('E','S') and 
a.codrlg = 115 and 
a.usomar = 3 
group by a.numcra 
having count(a.numcra) = 2 
order by tempo_refeicao desc,a.numcra");
@==== Forma de passar uma variavel para o cursor ======@
SQL_DefinirData(Cur_r070acc,"xDatAcc",xDatAcc);
SQL_AbrirCursor(Cur_r070acc);
Enquanto (SQL_EOF(Cur_r070acc) = 0)
Inicio
@==== Forma de obter os dados do cursor ======@
SQL_RetornarFlutuante(Cur_r070acc,"NumCra",xNumCra);
SQL_RetornarInteiro(Cur_r070acc,"NumEmp",xNumEmp);
SQL_RetornarInteiro(Cur_r070acc,"TipCol",xTipCol);
SQL_RetornarInteiro(Cur_r070acc,"NumCad",xNumCad);
SQL_RetornarInteiro(Cur_r070acc,"tempo_refeicao",tempo_refeicao);
...
SQL_Proximo(Cur_r070acc);
Fim
SQL_FecharCursor(Cur_r070acc);
SQL_Destruir(Cur_r070acc);
Forma de utilizar todos os recursos nativos da linguagem SQL em um cursor.
Definir Alfa CR;
Definir Alfa LF;
Definir Alfa vRmtEma,
Definir Alfa vDstEma,
Definir Alfa vCcpEma,
Definir Alfa vCcoEma,
Definir Alfa vAssEma
Definir Alfa vTxtEma;
...
@====Comandos para quebra de linha ======@
RetornaAscII (13,CR);
RetornaAscII (10,LF);
...
vTxtEma = "<!DOCTYPE html>"+CR+LF;
vTxtEma = vTxtEma + "<html>"+CR+LF;
vTxtEma = vTxtEma + "<head>"+CR+LF;
vTxtEma = vTxtEma + "<meta http-equiv='Content-Type' content='text/html; charset=ISO-8859-1'>"+CR+LF;
vTxtEma = vTxtEma + "<title>-</title>"+CR+LF;
vTxtEma = vTxtEma + "</head>"+CR+LF;
vTxtEma = vTxtEma + "<body>"+CR+LF;
vTxtEma = vTxtEma + "<table border='0' cellspacing='1'>"+CR+LF;
vTxtEma = vTxtEma + "<tr bgcolor='#FFFFFF'>"+CR+LF;
vTxtEma = vTxtEma + "<table border='0' cellspacing='1'>"+CR+LF;
vTxtEma = vTxtEma + "<tr bgcolor='#006600'>"+CR+LF;
vTxtEma = vTxtEma + "<td colspan='10' align='center'><font face='calibri' size='2' color='#FFFFFF'><B>Titulo</B></font></td>"+CR+LF;
vTxtEma = vTxtEma + "</tr>"+CR+LF;
vTxtEma = vTxtEma + "<tr bgcolor='#006600'>"+CR+LF;
vTxtEma = vTxtEma + "<td align='center'><font face='calibri' size='2' color='#FFFFFF'><B>&nbsp;Coluna 01&nbsp;</B></font></td>"+CR+LF;
vTxtEma = vTxtEma + "<td align='center'><font face='calibri' size='2' color='#FFFFFF'><B>&nbsp;Coluna 02&nbsp;</B></font></td>"+CR+LF;
...
vTxtEma = vTxtEma + "<td align='center'><font face='calibri' size='2' color='#FFFFFF'><B>&nbsp;Coluna 10&nbsp;</B></font></td>"+CR+LF;
vTxtEma = vTxtEma + "</tr>"+CR+LF;
vTxtEma = vTxtEma + “<tr>"+CR+LF;
vTxtEma = vTxtEma + “<td align='right'><font face='calibri' size='2' color='#000000'>" + Variavel 01 + "</font></td>"+CR+LF;
vTxtEma = vTxtEma + "<td align='right'><font face='calibri' size='2' color='#000000'>" + Variavel 02 + "</font></td>"+CR+LF;
...
vTxtEma = vTxtEma + "<td align='right'><font face='calibri' size='2' color='#000000'>" + Variavel 10 + "</font></td>"+CR+LF;
vTxtEma = vTxtEma + "</tr>"+CR+LF;
vTxtEma = vTxtEma + "<tr bgcolor='#006600'>"+CR+LF;
vTxtEma = vTxtEma + “<td colspan='10'> Total “ + Total de registros + ”&nbsp;</td>"+CR+LF;
vTxtEma = vTxtEma + "</tr>"+CR+LF;
vTxtEma = vTxtEma + "</table>"+CR+LF;
vTxtEma = vTxtEma + "</body>"+CR+LF;
vTxtEma = vTxtEma + "</html>"+CR+LF;
...
EnviaEMailHTML (vRmtEma, vDstEma, vCcpEma, vCcoEma, vAssEma, vTxtEma, "", 0, 0);
Exemplo de Formatação HTML para geração de e-mail´s Automáticos
Link para um Validador HTML: http://validator.aborla.net/index.php5?lang=pt
Exemplo de Formatação HTML para geração de e-mail´s Automáticos
Link para um Validador HTML: http://validator.aborla.net/index.php5?lang=pt
Envie testes para sua conta. Ao
recebê-los, observe o fonte original
copiando ele para um novo arquivo
html que você validará no link abaixo.
Exemplo de Formatação HTML para geração de e-mail´s Automáticos
Link para um Validador HTML: http://validator.aborla.net/index.php5?lang=pt
Envie testes para sua conta. Ao
recebê-los, observe o fonte original
copiando ele para um novo arquivo
html que você validará no link abaixo.
Exemplo de Formatação HTML para geração de e-mail´s Automáticos
Link para um Validador HTML: http://validator.aborla.net/index.php5?lang=pt
Envie testes para sua conta. Ao
recebê-los, observe o fonte original
copiando ele para um novo arquivo
html que você validará no link abaixo.
Exemplo de Formatação HTML para geração de e-mail´s Automáticos
Link para um Validador HTML: http://validator.aborla.net/index.php5?lang=pt
Envie testes para sua conta. Ao
recebê-los, observe o fonte original
copiando ele para um novo arquivo
html que você validará no link abaixo.
Definir Alfa CR;
Definir Alfa LF;
Definir Alfa vRmtEma,
Definir Alfa vDstEma,
Definir Alfa vCcpEma,
Definir Alfa vCcoEma,
Definir Alfa vAssEma
Definir Alfa vTxtEma;
Definir Alfa vTxtEma2;
Definir Alfa vCadChe;
...
@====Comandos para quebra de linha ======@
RetornaAscII (13,CR);
RetornaAscII (10,LF);
...
/*========================================================================*/
/*=================INICIO Geração HTML NO CORPO DO E-MAIL ================*/
/*========================================================================*/
...
vTxtEma = "<!DOCTYPE html>"+CR+LF;
vTxtEma = vTxtEma + "<html>"+CR+LF;
...
/*========================================================================*/
/*=================INICIO Geração HTML NO ANEXO DO E-MAIL ================*/
/*========================================================================*/
NomeArquivo = "C:/senior/rel/Saldo_Horas_Diretores_"+vCadChe+".html";
arq = Abrir(NomeArquivo, Gravarnl);
TrocaString(NomeArquivo, "/", "",NomeArquivo2);
....
@==== Se necessitar realizar ajustes devido acentuação ====@
@==== Verifique entidades HTML ============================@
TrocaString(NomGerencia, "ã", "&atilde;",NomGerencia);
...
@==== Lógica de Geração do conteudo para ANEXO =========@
vTxtEma2 = "<!DOCTYPE html>"+CR+LF;
vTxtEma2 = vTxtEma2 + "<html>"+CR+LF;
...
GravarNLEOL(arq, vTxtEma2 , 0);
Fechar(arq);
vAnxEma = NomeArquivo2;
EnviaEMailHTML (vRmtEma, vDstEma, vCcpEma, vCcoEma, vAssEma, vTxtEma, vAnxEma, 0, 0);
Exemplo de Formatação HTML para geração de e-mail´s Automáticos
(Com dados no corpo e no anexo ao mesmo tempo)
Link para consulta de entidades html: http://www.w3schools.com/html/html_entities.asp
Definir Alfa vRmtEma;
Definir Alfa vDstEma;
Definir Alfa vCcpEma;
Definir Alfa vCcoEma;
Definir Alfa vAssEma;
Definir Alfa vTxtEma;
Definir Alfa VAnxEma;
...
@==== Lógica da geração =====@
...
Se(vTipSex="F")
vTxtEma="<center><IMG SRC=C:SeniorVetorhImagensAniversario_FEMININO.jpg></center>";
Senao
vTxtEma="<center><IMG SRC=C:SeniorVetorhImagensAniversario_MASCULINO.jpg></center>";
...
EnviaEMailHTML (vRmtEma, vEmaCom, vEmailFim, vCcoEma, vAssEma, vTxtEma, VAnxEma, 1, 1);
Exemplo de e-mail com apenas e-Flyer no corpo
Referências
http://www.senior.com.br/solucoes/gestao-de-pessoas/
http://www.w3schools.com/
http://www.techonthenet.com/oracle/
Fim!

Mais conteúdo relacionado

Mais procurados

Aula de história – 1º ano – técnico o império persa
Aula de história – 1º ano – técnico   o império persaAula de história – 1º ano – técnico   o império persa
Aula de história – 1º ano – técnico o império persastelawstel
 
El rapte d’Amfítrite
El rapte d’AmfítriteEl rapte d’Amfítrite
El rapte d’Amfítriteclaraaloy
 
Діафильм «П'ятнадцятирічний капітан»
Діафильм «П'ятнадцятирічний капітан»Діафильм «П'ятнадцятирічний капітан»
Діафильм «П'ятнадцятирічний капітан»Adriana Himinets
 
عصر بناة الاهرامات
عصر بناة الاهراماتعصر بناة الاهرامات
عصر بناة الاهراماتRahma Mokarrab
 
Презентация до уроку "Характеристика образу титана Прометея"
Презентация до уроку "Характеристика образу титана Прометея"Презентация до уроку "Характеристика образу титана Прометея"
Презентация до уроку "Характеристика образу титана Прометея"dtamara123
 
Leyenda de la fundación de roma (1º eso)
Leyenda de la fundación de roma (1º eso)Leyenda de la fundación de roma (1º eso)
Leyenda de la fundación de roma (1º eso)Geohistoria23
 
L'antic egipte 3. Hipogeus i Temples.
L'antic egipte 3. Hipogeus i Temples.L'antic egipte 3. Hipogeus i Temples.
L'antic egipte 3. Hipogeus i Temples.Pilar Alvarez
 
странствия дон кихота в поисках справедливости
 странствия дон кихота в поисках справедливости странствия дон кихота в поисках справедливости
странствия дон кихота в поисках справедливостиSnezhana Pshenichnaya
 

Mais procurados (20)

Aula de história – 1º ano – técnico o império persa
Aula de história – 1º ano – técnico   o império persaAula de história – 1º ano – técnico   o império persa
Aula de história – 1º ano – técnico o império persa
 
El rapte d’Amfítrite
El rapte d’AmfítriteEl rapte d’Amfítrite
El rapte d’Amfítrite
 
Hebreus
HebreusHebreus
Hebreus
 
Діафильм «П'ятнадцятирічний капітан»
Діафильм «П'ятнадцятирічний капітан»Діафильм «П'ятнадцятирічний капітан»
Діафильм «П'ятнадцятирічний капітан»
 
Bandeira Brasileira
Bandeira BrasileiraBandeira Brasileira
Bandeira Brasileira
 
MAR I CEL
MAR I CELMAR I CEL
MAR I CEL
 
Hermes
HermesHermes
Hermes
 
Narciso
NarcisoNarciso
Narciso
 
عصر بناة الاهرامات
عصر بناة الاهراماتعصر بناة الاهرامات
عصر بناة الاهرامات
 
Poseidon
PoseidonPoseidon
Poseidon
 
Презентация до уроку "Характеристика образу титана Прометея"
Презентация до уроку "Характеристика образу титана Прометея"Презентация до уроку "Характеристика образу титана Прометея"
Презентация до уроку "Характеристика образу титана Прометея"
 
Poseidon
PoseidonPoseidon
Poseidon
 
Destrucció de troia
Destrucció de troiaDestrucció de troia
Destrucció de troia
 
Leyenda de la fundación de roma (1º eso)
Leyenda de la fundación de roma (1º eso)Leyenda de la fundación de roma (1º eso)
Leyenda de la fundación de roma (1º eso)
 
Hermes and Dionysos
Hermes and DionysosHermes and Dionysos
Hermes and Dionysos
 
Poseidon
PoseidonPoseidon
Poseidon
 
L'antic egipte 3. Hipogeus i Temples.
L'antic egipte 3. Hipogeus i Temples.L'antic egipte 3. Hipogeus i Temples.
L'antic egipte 3. Hipogeus i Temples.
 
странствия дон кихота в поисках справедливости
 странствия дон кихота в поисках справедливости странствия дон кихота в поисках справедливости
странствия дон кихота в поисках справедливости
 
Mitologia grecka Piotrek VIc
Mitologia grecka Piotrek VIcMitologia grecka Piotrek VIc
Mitologia grecka Piotrek VIc
 
The Odyssey Summary Infographic
The Odyssey Summary InfographicThe Odyssey Summary Infographic
The Odyssey Summary Infographic
 

Semelhante a Senior - Dicas de programação

ORM: Sendo produtivo com NHibernate
ORM: Sendo produtivo com NHibernateORM: Sendo produtivo com NHibernate
ORM: Sendo produtivo com NHibernateJuliano Oliveira
 
MySQL 5.7 - 
Tirando o Máximo Proveito
MySQL 5.7 - 
Tirando o Máximo ProveitoMySQL 5.7 - 
Tirando o Máximo Proveito
MySQL 5.7 - 
Tirando o Máximo ProveitoGabriela Ferrara
 
Java mais ágil que nunca no desenvolvimento Web
Java mais ágil que nunca no desenvolvimento WebJava mais ágil que nunca no desenvolvimento Web
Java mais ágil que nunca no desenvolvimento WebBruno Borges
 
03 - Formulários &amp; Dados
03 - Formulários &amp; Dados03 - Formulários &amp; Dados
03 - Formulários &amp; DadosMarcio Marinho
 
.Net Community Summit 2018 - Aplicações .NET inteligentes com escala horizont...
.Net Community Summit 2018 - Aplicações .NET inteligentes com escala horizont....Net Community Summit 2018 - Aplicações .NET inteligentes com escala horizont...
.Net Community Summit 2018 - Aplicações .NET inteligentes com escala horizont...iMasters
 
Escrevendo códigos php seguros
Escrevendo códigos php segurosEscrevendo códigos php seguros
Escrevendo códigos php segurosDouglas V. Pasqua
 
LINQ - Language Integrated Query
LINQ - Language Integrated QueryLINQ - Language Integrated Query
LINQ - Language Integrated QueryDalton Valadares
 
Aprendendo a atacar (e proteger) aplicações web através de jogos de guerra
Aprendendo a atacar (e proteger) aplicações web através de jogos de guerraAprendendo a atacar (e proteger) aplicações web através de jogos de guerra
Aprendendo a atacar (e proteger) aplicações web através de jogos de guerraClavis Segurança da Informação
 
02 - Fundamentos de Servlets
02 - Fundamentos de Servlets02 - Fundamentos de Servlets
02 - Fundamentos de ServletsMarcio Marinho
 
Elasticidade e engenharia de banco de dados para alta performance - Rubens G...
Elasticidade e engenharia de banco de dados para alta performance  - Rubens G...Elasticidade e engenharia de banco de dados para alta performance  - Rubens G...
Elasticidade e engenharia de banco de dados para alta performance - Rubens G...iMasters
 
Cobol Web com Net Express 3.1/4.0/5.x - Parte 2
Cobol Web com Net Express 3.1/4.0/5.x - Parte 2Cobol Web com Net Express 3.1/4.0/5.x - Parte 2
Cobol Web com Net Express 3.1/4.0/5.x - Parte 2Altair Borges
 
113856859 exercicios-vetor-e-matriz
113856859 exercicios-vetor-e-matriz113856859 exercicios-vetor-e-matriz
113856859 exercicios-vetor-e-matrizDaniel Natividade
 
Mini Curso de Python para Coding Dojo
Mini Curso de Python para Coding DojoMini Curso de Python para Coding Dojo
Mini Curso de Python para Coding DojoFabricio NErdmann
 
Segurança e Performance WordPress
Segurança e Performance WordPressSegurança e Performance WordPress
Segurança e Performance WordPressHenrique Mouta
 
Edição de conteúdo web usando Javascript de ponta a ponta
Edição de conteúdo web usando Javascript de ponta a pontaEdição de conteúdo web usando Javascript de ponta a ponta
Edição de conteúdo web usando Javascript de ponta a pontaJorge Walendowsky
 
Linguagem C 01 Primeiros Passos
Linguagem C 01 Primeiros PassosLinguagem C 01 Primeiros Passos
Linguagem C 01 Primeiros PassosRegis Magalhães
 

Semelhante a Senior - Dicas de programação (20)

ORM: Sendo produtivo com NHibernate
ORM: Sendo produtivo com NHibernateORM: Sendo produtivo com NHibernate
ORM: Sendo produtivo com NHibernate
 
MySQL 5.7 - 
Tirando o Máximo Proveito
MySQL 5.7 - 
Tirando o Máximo ProveitoMySQL 5.7 - 
Tirando o Máximo Proveito
MySQL 5.7 - 
Tirando o Máximo Proveito
 
Java mais ágil que nunca no desenvolvimento Web
Java mais ágil que nunca no desenvolvimento WebJava mais ágil que nunca no desenvolvimento Web
Java mais ágil que nunca no desenvolvimento Web
 
03 - Formulários &amp; Dados
03 - Formulários &amp; Dados03 - Formulários &amp; Dados
03 - Formulários &amp; Dados
 
.Net Community Summit 2018 - Aplicações .NET inteligentes com escala horizont...
.Net Community Summit 2018 - Aplicações .NET inteligentes com escala horizont....Net Community Summit 2018 - Aplicações .NET inteligentes com escala horizont...
.Net Community Summit 2018 - Aplicações .NET inteligentes com escala horizont...
 
Escrevendo códigos php seguros
Escrevendo códigos php segurosEscrevendo códigos php seguros
Escrevendo códigos php seguros
 
HTML
HTMLHTML
HTML
 
Apostila de sql
Apostila de sqlApostila de sql
Apostila de sql
 
LINQ - Language Integrated Query
LINQ - Language Integrated QueryLINQ - Language Integrated Query
LINQ - Language Integrated Query
 
Aprendendo a atacar (e proteger) aplicações web através de jogos de guerra
Aprendendo a atacar (e proteger) aplicações web através de jogos de guerraAprendendo a atacar (e proteger) aplicações web através de jogos de guerra
Aprendendo a atacar (e proteger) aplicações web através de jogos de guerra
 
nDeveloper Framework
nDeveloper FrameworknDeveloper Framework
nDeveloper Framework
 
02 - Fundamentos de Servlets
02 - Fundamentos de Servlets02 - Fundamentos de Servlets
02 - Fundamentos de Servlets
 
Elasticidade e engenharia de banco de dados para alta performance - Rubens G...
Elasticidade e engenharia de banco de dados para alta performance  - Rubens G...Elasticidade e engenharia de banco de dados para alta performance  - Rubens G...
Elasticidade e engenharia de banco de dados para alta performance - Rubens G...
 
Cobol Web com Net Express 3.1/4.0/5.x - Parte 2
Cobol Web com Net Express 3.1/4.0/5.x - Parte 2Cobol Web com Net Express 3.1/4.0/5.x - Parte 2
Cobol Web com Net Express 3.1/4.0/5.x - Parte 2
 
113856859 exercicios-vetor-e-matriz
113856859 exercicios-vetor-e-matriz113856859 exercicios-vetor-e-matriz
113856859 exercicios-vetor-e-matriz
 
Mini Curso de Python para Coding Dojo
Mini Curso de Python para Coding DojoMini Curso de Python para Coding Dojo
Mini Curso de Python para Coding Dojo
 
Segurança e Performance WordPress
Segurança e Performance WordPressSegurança e Performance WordPress
Segurança e Performance WordPress
 
Edição de conteúdo web usando Javascript de ponta a ponta
Edição de conteúdo web usando Javascript de ponta a pontaEdição de conteúdo web usando Javascript de ponta a ponta
Edição de conteúdo web usando Javascript de ponta a ponta
 
Amazon Redshift
Amazon RedshiftAmazon Redshift
Amazon Redshift
 
Linguagem C 01 Primeiros Passos
Linguagem C 01 Primeiros PassosLinguagem C 01 Primeiros Passos
Linguagem C 01 Primeiros Passos
 

Senior - Dicas de programação

  • 1. Sistema Senior Gestão de Pessoas II Dicas de programação. SQL Nativo e Formatação HTML Muito mais agilidade, segurança, comodidade e automatização de processos.
  • 2. Definir Alfa Cur_r070acc; Definir Data xDatAcc; SQL_Criar(Cur_r070acc); SQL_UsarSQLSenior2(Cur_r070acc,0); SQL_UsarAbrangencia(Cur_r070acc,0); SQL_DefinirComando(Cur_r070acc,"select a.numcra, max(a.numemp) as numemp, max(a.tipcol) as tipcol, max(a.numcad) as numcad, max(a.horacc) - min(a.horacc) as tempo_refeicao from vetorh.r070acc a where a.datacc =:xDatAcc and a.tipacc = 1 and a.diracc in ('E','S') and a.codrlg = 115 and a.usomar = 3 group by a.numcra having count(a.numcra) = 2 order by tempo_refeicao desc,a.numcra"); @==== Forma de passar uma variavel para o cursor ======@ SQL_DefinirData(Cur_r070acc,"xDatAcc",xDatAcc); SQL_AbrirCursor(Cur_r070acc); Enquanto (SQL_EOF(Cur_r070acc) = 0) Inicio @==== Forma de obter os dados do cursor ======@ SQL_RetornarFlutuante(Cur_r070acc,"NumCra",xNumCra); SQL_RetornarInteiro(Cur_r070acc,"NumEmp",xNumEmp); SQL_RetornarInteiro(Cur_r070acc,"TipCol",xTipCol); SQL_RetornarInteiro(Cur_r070acc,"NumCad",xNumCad); SQL_RetornarInteiro(Cur_r070acc,"tempo_refeicao",tempo_refeicao); ... SQL_Proximo(Cur_r070acc); Fim SQL_FecharCursor(Cur_r070acc); SQL_Destruir(Cur_r070acc); Forma de utilizar todos os recursos nativos da linguagem SQL em um cursor.
  • 3. Definir Alfa CR; Definir Alfa LF; Definir Alfa vRmtEma, Definir Alfa vDstEma, Definir Alfa vCcpEma, Definir Alfa vCcoEma, Definir Alfa vAssEma Definir Alfa vTxtEma; ... @====Comandos para quebra de linha ======@ RetornaAscII (13,CR); RetornaAscII (10,LF); ... vTxtEma = "<!DOCTYPE html>"+CR+LF; vTxtEma = vTxtEma + "<html>"+CR+LF; vTxtEma = vTxtEma + "<head>"+CR+LF; vTxtEma = vTxtEma + "<meta http-equiv='Content-Type' content='text/html; charset=ISO-8859-1'>"+CR+LF; vTxtEma = vTxtEma + "<title>-</title>"+CR+LF; vTxtEma = vTxtEma + "</head>"+CR+LF; vTxtEma = vTxtEma + "<body>"+CR+LF; vTxtEma = vTxtEma + "<table border='0' cellspacing='1'>"+CR+LF; vTxtEma = vTxtEma + "<tr bgcolor='#FFFFFF'>"+CR+LF; vTxtEma = vTxtEma + "<table border='0' cellspacing='1'>"+CR+LF; vTxtEma = vTxtEma + "<tr bgcolor='#006600'>"+CR+LF; vTxtEma = vTxtEma + "<td colspan='10' align='center'><font face='calibri' size='2' color='#FFFFFF'><B>Titulo</B></font></td>"+CR+LF; vTxtEma = vTxtEma + "</tr>"+CR+LF; vTxtEma = vTxtEma + "<tr bgcolor='#006600'>"+CR+LF; vTxtEma = vTxtEma + "<td align='center'><font face='calibri' size='2' color='#FFFFFF'><B>&nbsp;Coluna 01&nbsp;</B></font></td>"+CR+LF; vTxtEma = vTxtEma + "<td align='center'><font face='calibri' size='2' color='#FFFFFF'><B>&nbsp;Coluna 02&nbsp;</B></font></td>"+CR+LF; ... vTxtEma = vTxtEma + "<td align='center'><font face='calibri' size='2' color='#FFFFFF'><B>&nbsp;Coluna 10&nbsp;</B></font></td>"+CR+LF; vTxtEma = vTxtEma + "</tr>"+CR+LF; vTxtEma = vTxtEma + “<tr>"+CR+LF; vTxtEma = vTxtEma + “<td align='right'><font face='calibri' size='2' color='#000000'>" + Variavel 01 + "</font></td>"+CR+LF; vTxtEma = vTxtEma + "<td align='right'><font face='calibri' size='2' color='#000000'>" + Variavel 02 + "</font></td>"+CR+LF; ... vTxtEma = vTxtEma + "<td align='right'><font face='calibri' size='2' color='#000000'>" + Variavel 10 + "</font></td>"+CR+LF; vTxtEma = vTxtEma + "</tr>"+CR+LF; vTxtEma = vTxtEma + "<tr bgcolor='#006600'>"+CR+LF; vTxtEma = vTxtEma + “<td colspan='10'> Total “ + Total de registros + ”&nbsp;</td>"+CR+LF; vTxtEma = vTxtEma + "</tr>"+CR+LF; vTxtEma = vTxtEma + "</table>"+CR+LF; vTxtEma = vTxtEma + "</body>"+CR+LF; vTxtEma = vTxtEma + "</html>"+CR+LF; ... EnviaEMailHTML (vRmtEma, vDstEma, vCcpEma, vCcoEma, vAssEma, vTxtEma, "", 0, 0); Exemplo de Formatação HTML para geração de e-mail´s Automáticos Link para um Validador HTML: http://validator.aborla.net/index.php5?lang=pt
  • 4. Exemplo de Formatação HTML para geração de e-mail´s Automáticos Link para um Validador HTML: http://validator.aborla.net/index.php5?lang=pt Envie testes para sua conta. Ao recebê-los, observe o fonte original copiando ele para um novo arquivo html que você validará no link abaixo.
  • 5. Exemplo de Formatação HTML para geração de e-mail´s Automáticos Link para um Validador HTML: http://validator.aborla.net/index.php5?lang=pt Envie testes para sua conta. Ao recebê-los, observe o fonte original copiando ele para um novo arquivo html que você validará no link abaixo.
  • 6. Exemplo de Formatação HTML para geração de e-mail´s Automáticos Link para um Validador HTML: http://validator.aborla.net/index.php5?lang=pt Envie testes para sua conta. Ao recebê-los, observe o fonte original copiando ele para um novo arquivo html que você validará no link abaixo.
  • 7. Exemplo de Formatação HTML para geração de e-mail´s Automáticos Link para um Validador HTML: http://validator.aborla.net/index.php5?lang=pt Envie testes para sua conta. Ao recebê-los, observe o fonte original copiando ele para um novo arquivo html que você validará no link abaixo.
  • 8. Definir Alfa CR; Definir Alfa LF; Definir Alfa vRmtEma, Definir Alfa vDstEma, Definir Alfa vCcpEma, Definir Alfa vCcoEma, Definir Alfa vAssEma Definir Alfa vTxtEma; Definir Alfa vTxtEma2; Definir Alfa vCadChe; ... @====Comandos para quebra de linha ======@ RetornaAscII (13,CR); RetornaAscII (10,LF); ... /*========================================================================*/ /*=================INICIO Geração HTML NO CORPO DO E-MAIL ================*/ /*========================================================================*/ ... vTxtEma = "<!DOCTYPE html>"+CR+LF; vTxtEma = vTxtEma + "<html>"+CR+LF; ... /*========================================================================*/ /*=================INICIO Geração HTML NO ANEXO DO E-MAIL ================*/ /*========================================================================*/ NomeArquivo = "C:/senior/rel/Saldo_Horas_Diretores_"+vCadChe+".html"; arq = Abrir(NomeArquivo, Gravarnl); TrocaString(NomeArquivo, "/", "",NomeArquivo2); .... @==== Se necessitar realizar ajustes devido acentuação ====@ @==== Verifique entidades HTML ============================@ TrocaString(NomGerencia, "ã", "&atilde;",NomGerencia); ... @==== Lógica de Geração do conteudo para ANEXO =========@ vTxtEma2 = "<!DOCTYPE html>"+CR+LF; vTxtEma2 = vTxtEma2 + "<html>"+CR+LF; ... GravarNLEOL(arq, vTxtEma2 , 0); Fechar(arq); vAnxEma = NomeArquivo2; EnviaEMailHTML (vRmtEma, vDstEma, vCcpEma, vCcoEma, vAssEma, vTxtEma, vAnxEma, 0, 0); Exemplo de Formatação HTML para geração de e-mail´s Automáticos (Com dados no corpo e no anexo ao mesmo tempo) Link para consulta de entidades html: http://www.w3schools.com/html/html_entities.asp
  • 9. Definir Alfa vRmtEma; Definir Alfa vDstEma; Definir Alfa vCcpEma; Definir Alfa vCcoEma; Definir Alfa vAssEma; Definir Alfa vTxtEma; Definir Alfa VAnxEma; ... @==== Lógica da geração =====@ ... Se(vTipSex="F") vTxtEma="<center><IMG SRC=C:SeniorVetorhImagensAniversario_FEMININO.jpg></center>"; Senao vTxtEma="<center><IMG SRC=C:SeniorVetorhImagensAniversario_MASCULINO.jpg></center>"; ... EnviaEMailHTML (vRmtEma, vEmaCom, vEmailFim, vCcoEma, vAssEma, vTxtEma, VAnxEma, 1, 1); Exemplo de e-mail com apenas e-Flyer no corpo
  • 11. Fim!