Um jovem recém casado estava bebericando chá gelado durante uma visita ao seu pai. Ao conversarem sobre a vida, o casamento, as responsabilidades e as obrigações da pessoa adulta, o pai remexia pensativamente os cubos de gelo no seu copo e lançou um olhar claro e sóbrio para seu filho.
- Nunca se esqueça de seus amigos, aconselhou! Serão mais importantes na medida em que você envelhecer. Independentemente do quanto você ame sua família, os filhos que porventura venha a ter, você sempre precisará de amigos. Lembre-se de ocasionalmente ir a lugares com eles, faça coisas por eles, telefone para eles...
Que estranho conselho! Pensou o jovem. Acabo de ingressar no mundo dos casados.. Sou adulto. Com certeza minha esposa e a família que iniciaremos serão tudo que necessito para dar sentido à minha vida!
Contudo, ele obedeceu ao pai. Manteve contato com seus amigos e anualmente aumentava o número de amigos. Na medida em que os anos se passavam, ele foi compreendendo que seu pai sabia do que falava. Na medida em que o tempo e a natureza realizam suas mudanças e mistérios sobre um homem, amigos são baluartes de sua vida. Passados mais de 50 anos, eis o que ele aprendeu:
O tempo passa.
A vida acontece.
A distância separa.
As crianças crescem.
Os empregos vão e vêem.
O amor fica mais frouxo.
As pessoas não fazem o que deveriam fazer.
O coração se rompe.
Os pais morrem.
Os colegas esquecem os favores.
As carreiras terminam.
MAS.... Os verdadeiros amigos estão lá, não importa quanto tempo e quantos quilômetros estão entre vocês.
Um amigo nunca está mais distante do que o alcance de uma necessidade, torcendo por você, intervindo em seu favor e esperando você de braços abertos, abençoando sua vida!
Quando iniciamos esta aventura chamada VIDA, não sabíamos das incríveis alegrias ou tristezas que estavam adiante. Nem sabíamos o quanto precisaríamos uns dos outros.
Se você concorda com isso remeta este texto a todos os amigos que ajudam a dar sentido à sua vida... Eu já o fiz!
Autor desconhecido (Esta mensagem me chegou sem o autor).
Foi encaminhada por um amigo: Claudineis Cavallari .
sábado, 11 de dezembro de 2010
sábado, 13 de novembro de 2010
domingo, 17 de outubro de 2010
Renovar
renovar
v t renovar [ʀənu'var]
1 modificar melhorando
renovar um apartamento
2 substituir
renovar um contrato
Copyright © 2009 K Dictionaries Ltd. (fonte: http://pt.thefreedictionary.com/renovar 17/10/2010 20:19)
Acima o significado de Renovar, não sei quem estará lendo esta primeira mensagem, mas será um novo começo, uma discução sobre renovar a si mesmo, um recomeçar de sentimentos, pensamentos, visão. Comvido quem ler já ir pensando, " Onde preciso Renovar? Por onde devo começar a Renovar?"
Até a proxima.
quarta-feira, 4 de agosto de 2010
Sql Server 2008 - Datas
Pegar primeiro dia de um mes retroativo
select dateadd(month,-3,CONVERT(VARCHAR,GETDATE()-DAY(GETDATE()) + 1, 103)) as primeirodia_mesretroativo
pegar ultimo dia do mes corrente:
select dateadd(m,1,dateadd(d,-day(GETDATE()),GETDATE())) as UltimoDiaDoMes
att
Fernando Valota
select dateadd(month,-3,CONVERT(VARCHAR,GETDATE()-DAY(GETDATE()) + 1, 103)) as primeirodia_mesretroativo
pegar ultimo dia do mes corrente:
select dateadd(m,1,dateadd(d,-day(GETDATE()),GETDATE())) as UltimoDiaDoMes
att
Fernando Valota
terça-feira, 18 de maio de 2010
30 Dicas Para Escrever Bem!
Autor: Professor João Pedro - UNICAMP
1. Deve evitar ao máx. a utiliz. de abrev., etc.
1. Deve evitar ao máx. a utiliz. de abrev., etc.
2. É desnecessário fazer-se empregar de um estilo de escrita
demasiadamente rebuscado. Tal prática advém de esmero excessivo que
raia o exibicionismo narcisístico.
3. Anule aliterações altamente abusivas.
4. não esqueça as maiúsculas no início das frases.
5. Evite lugares-comuns como o diabo foge da cruz.
6. O uso de parêntesis (mesmo quando for relevante) é desnecessário.
7. Estrangeirismos estão out; palavras de origem portuguesa estão in.
8. Evite o emprego de gíria, mesmo que pareça nice, sacou??... então valeu!
9. Palavras de baixo calão, porra, podem transformar o seu texto numa merda.
10. Nunca generalize: generalizar é um erro em todas as situações.
11. Evite repetir a mesma palavra pois essa palavra vai ficar uma
palavra repetitiva. A repetição da palavra vai fazer com que a palavra
repetida desqualifique o texto onde a palavra se encontra repetida.
12. Não abuse das citações. Como costuma dizer um amigo meu: "Quem
cita os outros não tem idéias próprias".
13. Frases incompletas podem causar
14. Não seja redundante, não é preciso dizer a mesma coisa de formas
diferentes; isto é, basta mencionar cada argumento uma só vez, ou por
outras palavras, não repita a mesma idéia várias vezes.
15. Seja mais ou menos específico.
16. Frases com apenas uma palavra? Jamais!
17. A voz passiva deve ser evitada.
18. Utilize a pontuação corretamente o ponto e a vírgula pois a frase
poderá ficar sem sentido especialmente será que ninguém mais sabe
utilizar o ponto de interrogação
19. Quem precisa de perguntas retóricas?
20. Conforme recomenda a A.G.O.P, nunca use siglas desconhecidas.
21. Exagerar é cem milhões de vezes pior do que a moderação.
22. Evite mesóclises. Repita comigo: "mesóclises: evitá-las-ei!"
23. Analogias na escrita são tão úteis quanto chifres numa galinha.
24. Não abuse das exclamações! Nunca!!! O seu texto fica horrível!!!!!
25. Evite frases exageradamente longas pois estas dificultam a
compreensão da idéia nelas contida e, por conterem mais que uma idéia
central, o que nem sempre torna o seu conteúdo acessível, forçam,
desta forma, o pobre leitor a separá-la nos seus diversos componentes
de forma a torná-las compreensíveis, o que não deveria ser, afinal de
contas, parte do processo da leitura, hábito que devemos estimular
através do uso de frases mais curtas.
26. Cuidado com a hortografia, para não estrupar a língúa portuguêza.
27. Seja incisivo e coerente, ou não.
28. Não fique escrevendo (nem falando) no gerúndio. Você vai estar
deixando seu texto pobre e estar causando ambigüidade, com certeza
você vai estar deixando o conteúdo esquisito, vai estar ficando com a
sensação de que as coisas ainda estão acontecendo. E como você vai
estar lendo este texto, tenho certeza que você vai estar prestando
atenção e vai estar repassando aos seus amigos, que vão estar
entendendo e vão estar pensando em não estar falando desta maneira
irritante.
29. Outra barbaridade que tu deves evitar chê, é usar muitas
expressões que acabem por denunciar a região onde tu moras, carajo!...
nada de mandar esse trem... vixi... entendeu bichinho?
30. Não permita que seu texto acabe por rimar, porque senão ninguém
irá agüentar já que é insuportável o mesmo final escutar.
Enviado por: Rodrigo Pecci
quarta-feira, 21 de abril de 2010
Silêncio
Quando precisamos fazer algo produtivo, como uma leitura, um estudo,
procuramos sempre um ambiente silencioso, pois a tranqüilidade nos
acalma e ajuda a pensar. Muitas vezes, no corre-corre da vida
esquecemos de praticar algo fundamental para o nosso bem estar: o
Silêncio!
O exercício do silêncio é tão importante quanto a prática da palavra.
Se um dia estiver em silêncio pensando em Deus, saiba que no mesmo
silêncio Deus está pensando em você, pois Deus não está na tempestade
nem na agitação, está na brisa silenciosa que passa pelos
jardins...(Gênesis 3, 8)
Abs.
Fábio.
escrita por Fabio Adriano
Enviada: quarta-feira, 14 de abril de 2010 11:20:04 em fervalota@hotmail.com
Por que Sofremos?
"Eu sou o Pão da Vida" João 6,35-40
Respondendo posso dizer que sofremos porque deixamos de reconhecer que fomos dados a Jesus por Deus, somos parte de uma revolução de compaixão, amor e misericórdia, e com isso ganhamos a ressurreição e enquanto aqui na terra a vida plena, podemos entender o sofrimento como parte de nossa santificação, para quem se entrega a Deus, esta visão é cada vez mas clara e inegável, porque tudo concorre para o bem daquele que crê!
Devemos ter a consciência de que Deus não quebra suas promessas, contudo, se fomos dados a Cristo por Ele e nele cremos, temos a vida eterna, sendo assim meus sofrimentos terrenos não se comparam a Glória que viverei ao lado de Cristo.
Fernando Valota
sexta-feira, 19 de março de 2010
Ouvirão e Viverão
"Em verdade, em verdade, eu vos digo: está chegando a hora, e já chegou, em que os mortos ouvirão a voz do Filho de Deus e os que a ouvirem viverão." João 5,25
Refletindo sobre a palavra, deparei com este versículo, e levado a meditar pude entender algumas maravilhas, entre todas a que mais me tocou, e espero que aconteça o mesmo com você que está lendo foi: quantas vezes estive morto, sem sopro de vida algum dentro de mim, e quantas vezes fui reavivado pela palavra de Deus.
Sabe aquelas vezes que vamos a igreja e o pregador ou o padre nos fala e tudo o que ele diz serve, como se fosse para a minha pessoa apenas, e ninguém mais estivesse ao seu lado, somente você e a pessoa que Deus colocou para falar de sua Palavra, pois bem, isso o que este versículo também nos ensina. Sempre que sentimos isso, é real o momento que nos abrimos para Jesus, e neste momento ouvimos suas palavras, e como promessa, todos que o ouvirem viverão.
Meu irmão, caímos muitas vezes no modismo, vamos as igrejas porque muitos vãos, ou porque tenho que aparecer pois estou a frente de algum trabalho, e com isso esquecemos de abrir nossos ouvidos a Palavra, e a vida que ela nos traz, com isso sofremos e caímos muitas vezes, até fugimos, tudo porque não dei ouvidos ao meu Senhor, a beleza da conversão, da mudança de vida e da permanência em Deus está em um simples gesto: ouvir a sua Palavra.
Ao ouvir não deixo espaço para a morte, e com isso sempre vou estar revivendo pois "a Palavra de Deus se renova a cada amanhecer", ao entender esta grandeza meus sentimentos já se vão além de mim e a vida em mim passa a ser plena e estando em plenitude passo a estar em Deus e com isso vivo, veja que maravilha o meu Senhor realiza em mim através do simples gesto de ouvir.
Maravilhe-se em ouvir a Deus e não perca um estralar se quer de sua voz.
Paz e bem!
Fernando Valota
quinta-feira, 4 de março de 2010
Listview C#
Breve relato para ajudar a preencher um listView.
private void InsereItem()
{
ListViewItem item = new ListViewItem();
item = listView1.Items.Add("Sequencia");
item.SubItems.Add("Codigo");
item.SubItems.Add("Descricao");
item.SubItems.Add("ItemQtde");
item.SubItems.Add("ItemUnidade");
item.SubItems.Add("ItemVlrUnitario");
item.SubItems.Add("ItemDesconto");
item.SubItems.Add("ItemAliqICMS");
item.SubItems.Add("ItemAliqIPI");
item.SubItems.Add("ItemIPIValor");
item.SubItems.Add("ItemTP");
item.SubItems.Add("ItemVlrTotal");
item.SubItems.Add("EmpCodigo");
item.SubItems.Add("NumNota");
item.SubItems.Add("NumLanc");
item.SubItems.Add("DtMovimento");
item.SubItems.Add("SitTributaria");
item.SubItems.Add("IcmsValor");
//listView1.Items.Add(item);
}
private void PreparaListView()
{
//verifica se foi informada uma consulta
//if (t.Text.Equals(""))
//{
// MessageBox.Show("Digite uma instrução válida.");
// return;
//}
//define a string de conexão
string sDBstr = @"Provider=sqloledb;Data Source=cpd2\SQLExpress;Initial Catalog=NomeBanco;User Id=sa;Password=xxxs"; //conexao oledb
Csql = "SELECT ItemSequencia,NI.Codigo,P.Descricao,ItemQtde,ItemUnidade,ItemVlrUnitario " +
" ,ItemDesconto,ItemAliqICMS,IcmsValor" +
" ,ItemAliqIPI,ItemIPIValor,ItemTP,ItemVlrTotal,EmpCodigo,NFNumNota,NumLanc,ItemDtMovimento " +
" ,SitTributaria,ItemIcmsValor " +
" FROM NotaItem NI inner join Produto p on NI.Codigo = P.Codigo ";
//criar o objeto connection
OleDbConnection conn = new OleDbConnection(sDBstr);
try
{
//limpa o listview
listView1.Columns.Clear() ;
listView1.Items.Clear();
//abre a conexao
conn.Open();
//cria um comando oledb
OleDbCommand cmd = conn.CreateCommand();
//define o tipo do comando como texto
cmd.CommandText = Csql;
//executa o comando e gera um datareader
OleDbDataReader dr = cmd.ExecuteReader();
//preenche o cabeçalho do listview com os nomes dos campos
for (int i = 0; i< dr.FieldCount; i++)
{
ColumnHeader ch = new ColumnHeader();
ch.Text=dr.GetName(i);
listView1.Columns.Add(ch);
}
//define um item listview
ListViewItem item;
//inicia leitura do datareader
while (dr.Read())
{
item=new ListViewItem();
item.Text= dr.GetValue(0).ToString();
//preenche o listview com itens
for (int i=1 ; i< dr.FieldCount; i++) {
item.SubItems.Add(dr.GetValue(i).ToString());
}
listView1.Items.Add(item);
}
//fecha o datareader
dr.Close();
}
catch ( System.Data.OleDb.OleDbException ex)
{
MessageBox.Show("Ocorreu um erro durante a execução da instrução SQL." +
"Erro : " + ex.Message, "SQL");
}
finally
{
//fecha a conexao
conn.Close();
}
}
private void InsereItem()
{
ListViewItem item = new ListViewItem();
item = listView1.Items.Add("Sequencia");
item.SubItems.Add("Codigo");
item.SubItems.Add("Descricao");
item.SubItems.Add("ItemQtde");
item.SubItems.Add("ItemUnidade");
item.SubItems.Add("ItemVlrUnitario");
item.SubItems.Add("ItemDesconto");
item.SubItems.Add("ItemAliqICMS");
item.SubItems.Add("ItemAliqIPI");
item.SubItems.Add("ItemIPIValor");
item.SubItems.Add("ItemTP");
item.SubItems.Add("ItemVlrTotal");
item.SubItems.Add("EmpCodigo");
item.SubItems.Add("NumNota");
item.SubItems.Add("NumLanc");
item.SubItems.Add("DtMovimento");
item.SubItems.Add("SitTributaria");
item.SubItems.Add("IcmsValor");
//listView1.Items.Add(item);
}
private void PreparaListView()
{
//verifica se foi informada uma consulta
//if (t.Text.Equals(""))
//{
// MessageBox.Show("Digite uma instrução válida.");
// return;
//}
//define a string de conexão
string sDBstr = @"Provider=sqloledb;Data Source=cpd2\SQLExpress;Initial Catalog=NomeBanco;User Id=sa;Password=xxxs"; //conexao oledb
Csql = "SELECT ItemSequencia,NI.Codigo,P.Descricao,ItemQtde,ItemUnidade,ItemVlrUnitario " +
" ,ItemDesconto,ItemAliqICMS,IcmsValor" +
" ,ItemAliqIPI,ItemIPIValor,ItemTP,ItemVlrTotal,EmpCodigo,NFNumNota,NumLanc,ItemDtMovimento " +
" ,SitTributaria,ItemIcmsValor " +
" FROM NotaItem NI inner join Produto p on NI.Codigo = P.Codigo ";
//criar o objeto connection
OleDbConnection conn = new OleDbConnection(sDBstr);
try
{
//limpa o listview
listView1.Columns.Clear() ;
listView1.Items.Clear();
//abre a conexao
conn.Open();
//cria um comando oledb
OleDbCommand cmd = conn.CreateCommand();
//define o tipo do comando como texto
cmd.CommandText = Csql;
//executa o comando e gera um datareader
OleDbDataReader dr = cmd.ExecuteReader();
//preenche o cabeçalho do listview com os nomes dos campos
for (int i = 0; i< dr.FieldCount; i++)
{
ColumnHeader ch = new ColumnHeader();
ch.Text=dr.GetName(i);
listView1.Columns.Add(ch);
}
//define um item listview
ListViewItem item;
//inicia leitura do datareader
while (dr.Read())
{
item=new ListViewItem();
item.Text= dr.GetValue(0).ToString();
//preenche o listview com itens
for (int i=1 ; i< dr.FieldCount; i++) {
item.SubItems.Add(dr.GetValue(i).ToString());
}
listView1.Items.Add(item);
}
//fecha o datareader
dr.Close();
}
catch ( System.Data.OleDb.OleDbException ex)
{
MessageBox.Show("Ocorreu um erro durante a execução da instrução SQL." +
"Erro : " + ex.Message, "SQL");
}
finally
{
//fecha a conexao
conn.Close();
}
}
Conversor de Medidas
1 cm = 10 mm 1 mm = 0,1 cm
1 cm = 2,36 paicas 1 mm = 0,24 paicas
1 cm = 2,22 ciceros 1 mm = 0,22 ciceros
1 cm = 28,34 pixels 1 mm = 2,83 pixels
1 cm = 0,39 pol 1 mm = 0,04 pol
1 paicas = 0,42 cm 1 cicero = 0,45 cm
1 paicas = 4,23 mm 1 cicero = 4,51 mm
1 paicas = 0,94 ciceros 1 cicero = 1,07 paicas
1 paicas = 12 pixels 1 cicero = 12,79 pixels
1 paicas = 0,17 pol 1 cicero = 0,18 pol
1 pixel = 0,04 cm 1 pol = 2,54 cm
1 pixel = 0,35 mm 1 pol = 25,4 mm
1 pixel = 0,08 paicas 1 pol = 6 paicas
1 pixel = 0,08 cíceros 1 pol = 5,63 ciceros
1 pixel = 0,01 pol 1 pol = 71,99 pixels
sábado, 27 de fevereiro de 2010
" no meio dos louvores Ele habita ..."
Onde encontro Deus, como falar com ele, como senti-lo, não sei se este questionamento já passou por sua cabeça, porque pela minha já, e não era fácil resolver. Quantas vezes, indo na igreja, quantas vezes em oração, quantas vezes conversando com outras pessoas, mas o sentido de vazio continuava, e por mais que tivesse fé nesses momentos, sempre o questionamento acontecia: Quero sentir mais Deus?.
Tudo começou mudar em duas situações, foram elas: a primeira em uma reunião do Grupo de Oração da cidade onde morava, certo momento a coordenadora nossa disse "devemos aprender louvar aqui na terra pois no céu será nosso fundamento básico", e isso me intrigou, pois buscando a Deus comecei a notar que pouco louvava realmente, que minhas palavras eram limitadas quando se tratava de louvor, mas isso ficou, procurei louvar um pouco mais, mas nada muito além ou extraordinário e fiquei nisso, mas algo começou a tomar sentido, o pouco louvor a mais que comecei a fazer na minha vida, começou a me dar um novo sentido, pequeno ainda, pois não tinha entendido tudo completamente.
Passaram-se uns dias e tive a segunda situação, com isso pude ver o que realmente precisava, fiz uma visita de uma tarde na Toca de Assis, cujo Pe. Roberto foi fundador com outros irmãos, e lá pude ver a pobreza que cercava os irmãos que buscavam ajuda, ver a pequenês dos irmãos da pobreza em estar sempre pronto a ajudar e acima de tudo o louvor diante do mais sagrado, Cristo Eucarístico, exatamente isso, a todo momento estavam louvando e sempre tinha alguém diante de Cristo, adorando e louvando. Nesse momento pude entender que o que minha coordenadora tinha ensinado era de uma simplicidade tremenda mas de uma profundidade me Deus sem tamanho, "no meio dos louvores que Deus habitava", era ali onde me encontrava com ele, que ele falava ao meu coração, e me preenchia, tudo estava ficado diferente, pois o segredo para resolver minhas crises internas estava estampado diante de mim, O LOUVOR, ensinado por Francisco de Assis e vivido pelos irmãos da Toca.
O sentido do louvor vem contra tudo o que o mundo nos ensina, por exemplo, se temos um contratempo, como acertar o "dedinho" do pé na quina do sofá, logo soltamos um belo palavrão, mas se estamos dispostos a tratar esse pequeno contratempo, damos um belo "Glória a Deus!", nosso corpo, mente que iria se estressar, passa nesse instante a ter contato com Deus, simples assim, e a cara feia é trocada por um sorriso, mesmo na dor. E mesmo na dor podemos fazer como Eugênio Jorge, que na perda de sua mãe, ele contou em uma pregação que pude participar, ele sem poder louvar fisicamente, pegou o CD Frutos, e colocou para ouvira musica "Te Louvo em Verdade", e ali pode louvar a Deus pois tinha a maior certeza de todas, sua mãe estava com Deus.
E mesmo que me falte as palavras te louvo em verdade, isso devemos buscar, não por ideologia mas porque o nosso contato com Deus passa a ser maior e o retorno que este amor proporciona nos ajuda a vencer muito mais que ser derrotado.
E mesmo que me falte as palavras te louvo em verdade, isso devemos buscar, não por ideologia mas porque o nosso contato com Deus passa a ser maior e o retorno que este amor proporciona nos ajuda a vencer muito mais que ser derrotado.
Por isso te convido a Louvar em Verdade ao nosso Deus, e se beneficiar do amor promovido pelo Louvor.
Fernando Valota
quinta-feira, 18 de fevereiro de 2010
Quaresma
Eis o tempo e é agora!
Me senti assim na celebração da Missa de Cinzas, que o tempo era ali, naquela hora.
Sentir Deus não é simples, por isso vemos muitas pessoas sofrendo, dizendo que não sabem porque isso ou aquilo acontece, que Deus abandonou, justamente porque sentir Deus não é simples, mas diferente, digo até mais, sou eu que tenho de ser simples, e está celebração foi isso de uma simplicidade e eficácia sem tamanho, lembro-me acima de tudo de 3 palavras da homilia do sacerdote o Pe. Dirceu, "quaresma: tempo de Caridade, Oração, Penitencia(jejum)", simples assim e fazer isso perdurar.
Normalmente esperamos que Deus apareça entre explosões como uma super produção Holiwoodiana, quando na simplicidade do nosso ser ele se mostra, 3 simples detalhes, Caridade ou seja viver no amor fraterno ao próximo, Oração, isto é, colocar meu ser em sintonia com o meu Criador e a Penitencia tão banalizada nos dias de hoje, que traz para nós e fortalesse nossa alma em estar na presença de Deus, digo ainda, me faz ser maior que as tentações e perdições que não me levam a verdadeira felicidade.
Vejo que nesta quaresma a grande chamada de conversão nossa é ser pequeno, não minorizado, mas pequeno na forma de agir, simples como o mundo é simples, como Santa Terezinha nos ensina: "o que agrada a Deus em minha pequena alma, é que eu ame minha pequenez e minha pobreza", simplesmente amar a Deus como eu sou, sem querer nada em troca.
O mais importante de tudo isso, digo da quaresma, é fazer os atos de conversão que nele realizamos perdure, não morra mas reviva a cada Celebração da Santa Missa, pois o mundo já espera de nós profundos atos de conversão, e a cada conversão temos mais uma gota de amor.
Fernando Valota
segunda-feira, 15 de fevereiro de 2010
C# SMS
Para quem estiver procurando uma forma de enviar SMS via aplicação, e está procurando uma empresa para o mesmo, indico a Human, pois já desenvolvi aplicações utilizando as soluções de comunicações da mesma, e tem atendido e respondido as expectativas, para acessar e buscar o contato este é o site: http://www.human.com.br/sms/index.php.
Para ajuda-los, eu criei uma classe SMS.cs, onde a mesma contém está função, que a própria Human auxilia no desenvolvimento caso precisem, a mesma fornece um manual com as explicações necessárias ao desenvolvimento da aplicação, mas para envio de uma lista por exemplo temos:
Using necessários na classe:
using System.Linq;
using System.Text;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Net;
using System.IO;
Função:
Using necessários na classe:
using System.Linq;
using System.Text;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Net;
using System.IO;
Função:
public string GetPage(String Lista)
{//CSV&list
String url = "http://fornecido pela Empresa Human";
//define a empresa a senha e o tipo de envio, no caso uma lista
String query = "dispatch=sendMultiple&account=empresa&code=senha&type=E&list=" + Lista;
// Declarações necessárias, Empresa HUMAN
Stream requestStream = null;
WebResponse response = null;
StreamReader reader = null;
try
{
WebRequest request = WebRequest.Create(url);
request.Method = WebRequestMethods.Http.Post;
// Neste ponto, você está setando a propriedade ContentType da página
// para urlencoded para que o comando POST seja enviado corretamente
request.ContentType = "application/x-www-form-urlencoded";
StringBuilder urlEncoded = new StringBuilder();
// Separando cada parâmetro
Char[] reserved = { '?', '=', '&' };
// alocando o bytebuffer
byte[] byteBuffer = null;
// caso a URL seja preenchida
if (query != null)
{
int i = 0, j;
// percorre cada caractere da url atraz das palavras reservadas para separação
// dos parâmetros
while (i < query.Length)
{
j = query.IndexOfAny(reserved, i);
if (j == -1)
{
urlEncoded.Append(query.Substring(i, query.Length - i));
break;
}
urlEncoded.Append(query.Substring(i, j - i));
urlEncoded.Append(query.Substring(j, 1));
i = j + 1;
}
// codificando em UTF8 (evita que sejam mostrados códigos malucos em caracteres especiais
byteBuffer = Encoding.UTF8.GetBytes(urlEncoded.ToString());
request.ContentLength = byteBuffer.Length;
requestStream = request.GetRequestStream();
requestStream.Write(byteBuffer, 0, byteBuffer.Length);
requestStream.Close();
}
else
{
request.ContentLength = 0;
}
// Dados recebidos
response = request.GetResponse();
Stream responseStream = response.GetResponseStream();
// Codifica os caracteres especiais para que possam ser exibidos corretamente
System.Text.Encoding encoding = System.Text.Encoding.Default;
// Preenche o reader
reader = new StreamReader(responseStream, encoding);
Char[] charBuffer = new Char[256];
int count = reader.Read(charBuffer, 0, charBuffer.Length);
String Dados = "";
// Lê cada byte para preencher meu string
while (count > 0)
{
Dados += new String(charBuffer, 0, count);
count = reader.Read(charBuffer, 0, charBuffer.Length);
}
return Dados;
}
catch (Exception ex)
{
//// Ocorreu algum erro
//Console.Write("Erro: " + e.Message);
return "";
throw ex;
} // END: catch
finally
{
// Fecha tudo
if (requestStream != null) requestStream.Close();
if (response != null) response.Close();
if (reader != null) reader.Close();
} // END: finally
}
Att Fernando Valota
Att Fernando Valota
quinta-feira, 11 de fevereiro de 2010
C# - Gravando usando procedure em banco de dados
Esta função pode ser colocada diretamente na classe que realiza os controles.
TpOperacao = indica se é update ou insert, função que é tratada direto no banco de dados.
public bool GravarAtualizar(char TpOperacao)
{
SqlConnection Conn = new SqlConnection(Componentes.Conexao1); \\utiliza a classe componentes que herda a classe banco.
Conn.Open();
SqlCommand cm = Conn.CreateCommand();
cm.CommandType = CommandType.StoredProcedure;
cm.CommandText = "SP_IU_Produto"; \\ nome da procedure no banco
try
{
cm.Parameters.Clear();\\limpa os parametros
\\"@xxxx" variável declarada na procedure.
cm.Parameters.Add("@cdProduto", SqlDbType.VarChar);
cm.Parameters[0].Value = cdProduto;
cm.Parameters.Add("@cdInventario", SqlDbType.Int);
cm.Parameters[1].Value = cdInventario;
cm.Parameters.Add("@dsProduro", SqlDbType.VarChar);
cm.Parameters[2].Value = dsProduro;
cm.Parameters.AddWithValue("@Qtde", SqlDbType.Decimal);
cm.Parameters[3].Value = Qtde;//.Replace(",", ".");
cm.Parameters.Add("@valor1 ", SqlDbType.Decimal);
if (Convert.ToString(valor1) != "")
{
cm.Parameters[4].Value = valor1;//.Replace(",", ".");
}
cm.Parameters.Add("@indiceValor1", SqlDbType.VarChar);
if (Convert.ToString(indiceValor1) != "")
{
cm.Parameters[5].Value = indiceValor1;
}
cm.Parameters.Add("@valor2 ", SqlDbType.Decimal);
if (Convert.ToString(valor2) != "")
{
cm.Parameters[6].Value = valor2;//.Replace(",", ".");
}
cm.Parameters.Add("@indiceValor2", SqlDbType.VarChar);
if (Convert.ToString(indiceValor2) != "")
{
cm.Parameters[7].Value = indiceValor2;
}
cm.Parameters.Add("@Imagem1", SqlDbType.Image);
cm.Parameters[8].Value = imagem1Byte;
cm.Parameters.Add("@Imagem2", SqlDbType.Image);
cm.Parameters[9].Value = imagem2Byte;
cm.Parameters.Add("@QtdeConferido ", SqlDbType.Decimal);
cm.Parameters[10].Value = QtdeConferido;
cm.Parameters.Add("@Ocorrencia", SqlDbType.VarChar);
cm.Parameters[11].Value = Ocorrencia;
cm.Parameters.Add("@TpOperacao", SqlDbType.Char);
cm.Parameters[12].Value = TpOperacao;
cm.Parameters.Add("@cdBarra", SqlDbType.VarChar);
cm.Parameters[13].Value = cdProduto;
cm.ExecuteNonQuery();
return true;
}
catch
{
return false;
}
finally
{
cm.Dispose();
Conn.Close();
Conn.Dispose();
}
Att.
Fernando Valota
TpOperacao = indica se é update ou insert, função que é tratada direto no banco de dados.
public bool GravarAtualizar(char TpOperacao)
{
SqlConnection Conn = new SqlConnection(Componentes.Conexao1); \\utiliza a classe componentes que herda a classe banco.
Conn.Open();
SqlCommand cm = Conn.CreateCommand();
cm.CommandType = CommandType.StoredProcedure;
cm.CommandText = "SP_IU_Produto"; \\ nome da procedure no banco
try
{
cm.Parameters.Clear();\\limpa os parametros
\\"@xxxx" variável declarada na procedure.
cm.Parameters.Add("@cdProduto", SqlDbType.VarChar);
cm.Parameters[0].Value = cdProduto;
cm.Parameters.Add("@cdInventario", SqlDbType.Int);
cm.Parameters[1].Value = cdInventario;
cm.Parameters.Add("@dsProduro", SqlDbType.VarChar);
cm.Parameters[2].Value = dsProduro;
cm.Parameters.AddWithValue("@Qtde", SqlDbType.Decimal);
cm.Parameters[3].Value = Qtde;//.Replace(",", ".");
cm.Parameters.Add("@valor1 ", SqlDbType.Decimal);
if (Convert.ToString(valor1) != "")
{
cm.Parameters[4].Value = valor1;//.Replace(",", ".");
}
cm.Parameters.Add("@indiceValor1", SqlDbType.VarChar);
if (Convert.ToString(indiceValor1) != "")
{
cm.Parameters[5].Value = indiceValor1;
}
cm.Parameters.Add("@valor2 ", SqlDbType.Decimal);
if (Convert.ToString(valor2) != "")
{
cm.Parameters[6].Value = valor2;//.Replace(",", ".");
}
cm.Parameters.Add("@indiceValor2", SqlDbType.VarChar);
if (Convert.ToString(indiceValor2) != "")
{
cm.Parameters[7].Value = indiceValor2;
}
cm.Parameters.Add("@Imagem1", SqlDbType.Image);
cm.Parameters[8].Value = imagem1Byte;
cm.Parameters.Add("@Imagem2", SqlDbType.Image);
cm.Parameters[9].Value = imagem2Byte;
cm.Parameters.Add("@QtdeConferido ", SqlDbType.Decimal);
cm.Parameters[10].Value = QtdeConferido;
cm.Parameters.Add("@Ocorrencia", SqlDbType.VarChar);
cm.Parameters[11].Value = Ocorrencia;
cm.Parameters.Add("@TpOperacao", SqlDbType.Char);
cm.Parameters[12].Value = TpOperacao;
cm.Parameters.Add("@cdBarra", SqlDbType.VarChar);
cm.Parameters[13].Value = cdProduto;
cm.ExecuteNonQuery();
return true;
}
catch
{
return false;
}
finally
{
cm.Dispose();
Conn.Close();
Conn.Dispose();
}
Att.
Fernando Valota
Panqueca
Para quem como eu gosta de uma boa massa. aconselho.
Massa
1 e ½ xícara (chá) de farinha de trigo
1 xícara (chá) de leite
2 ovos
4 colheres (sopa) de óleo
sal a gosto
Recheio:
300g de carne moída
2 colheres (sopa) de cebola picadinha ou ralada
½ tomate cortado em cubos
½ lata de extrato de tomate
1 caixinha de creme de leite
Sal a gosto
400g de mussarela fatiado
Queijo ralado a gosto
Modo de preparo:
Massa:
Coloque no liquidificador: os ovos, o leite o e óleo, bata durante alguns minutos e vá acrescentando aos poucos a farinha de trigo.
Após colocar toda a farinha de trigo coloque sal a seu gosto
A massa deve ficar pastosa não muito grossa
Com um papel toalha espalhe óleo por toda a frigideira
Se tiver uma frigideira anteaderente melhor
Pegue uma concha (essas conchas de servir feijão) ela vai servir como medida
Cada concha vai equivaler a uma panqueca
Despeje no meio da frigideira e vá girando, espalhando a massa de uma forma uniforme por todo o fundo da frigideira
Você irá repara q as bordas da massa irão se soltando, quando toda a massa se soltar da panela esta no ponto de virar
Cuidado para que a massa não fique grossa
Quanto mais fina mais gostosa ela fica
Recheio:
Doure a cebola com o óleo e depois acrescente a carne
Deixa a carne da uma fritada
Você irá notar a da carne sairá água, quando isso acontecer, tampe a panela e deixa cozinhar ate que a água diminua
Acrescente então o tomate picadinho e tampe novamente, deixe mais uns 3 minutos e depois mexa um pouco
Lembre-se sempre que o fogo tem que estar em temperatura média
Acrescente o extrato de tomate e seus temperos
Fica a seu critério, podendo usar qualquer tipo de tempero
Deixe então cozinha por mais ou menos uns 10 minutos mexendo de vez em quando.
Quando você perceber que o molho estiver engrossando desligue e deixe esfriar um pouco
Importante lembrar que não pode acrescentar o creme de leite com o molho muito quente pois pode cortar o creme de leite e estragar todo o molho, por isso não esqueça de deixa esfriar um pouco
Após esfriar o molho acrescente o creme de leite e misture bem
Quando estiver bem homogêneo leve novamente ao fogo e deixe cozinhar em fogo baixo por mais uns 5 minutos
Você ira notar q o molho ficará meio fino, com impressão q tem muita água, mas e assim mesmo que tem que ficar
Depois você vai perceber porque que tem que ficar assim
Preparo:
Pegue as panquecas, coloque uma fatia de mussarela e uma porção de carne e enrole
Faça esse processo com todas as panquecas
Jogue um pouco de caldo no fundo de um refratário para untar
Coloque as panquecas já prontas no refratário e despeje sobre elas o resto do molho
Polvilhe sobre as panquecas queijo ralado
Leve ao forno pra gratinar em fogo médio por mais ou menos 15 a 20 minutos ou até ferver o molho e derreter o queijo
Nessa etapa de gratinar você irá notar q a massa vai absorver o molho e vai ficar ainda mais gostosa
Por isso que o molho não pode ficar muito grosso, por que se ficar a massa irá absorver todo o molho e o prato vai ficar com um aspecto de seco
Dica: Essa massa também serve para panquecas doce
Basta substituir o sal por açúcar e fazer o recheio de frutas, doces, chocolates, etc
Use sua criatividade
Fonte http://tudogostoso.uol.com.br/receita/760-panqueca-de-carne-moida.html
visita 11/02/2009
terça-feira, 9 de fevereiro de 2010
Cuidados com a Fé (Marcos 7,1 - 13)
"..vos apegais a tradições dos homens "(Marcos 7,8).
Quantas vezes não adoro a Deus e Jesus por Amor mas sim porque mandam ou porque apenas quero ou queremos agradar alguma pessoa, ou até muitas vezes se mostrar "olha ele esta ali adorando".
Nosso amor por Jesus é o que transforma nosso ser, porque quando me derramo em amor, em amor nos é retornado muito mais, e nossas orações e suplicas são muito mais eficaz.
Devemos tomar o devido cuidado para não perder o foco do puro amor a Deus, não se voltando para apresentações que o mundo exige, ou apenas para parecer ser bom.
"Amar a Deus sobre todas as coisas", nosso Mundo precisa conhecer e ver que esse amor é possível e verdadeiro em nós.
Fernando Valota
quinta-feira, 28 de janeiro de 2010
Hamburguer de forno Por: GIZELE CRISTINA NUNES
INGREDIENTES:
§ 6 hamburgueres
§ 1 cebola grande cortada em 6 fatias
§ 1 lata de molho de tomate tradicional
§ 6 fatias de mussarela
óleo para untar MODO DE PREPARO:
1. Preaqueça o forno em temperatura média (180c).
2. Unte um refratário grande e coloque os hamburgueres, um ao lado do outro.
3. Leve ao forno por 15 minutos.
4. Coloque 1 fatia de cebola sobre cada hamburguer, cubra com o molho de tomate tradicional e as fatias de mussarela.
5. Leve de volta ao forno por mais de 10 minutos.
Sirva em seguida.
6 porçõesSirva em seguida.
40min
Fonte: http://tudogostoso.uol.com.br - visita: 19/06/2008
SQL Server
Para ajudar em algumas funções que sempre procuramos:
--habilitar link para outro servidor
EXEC sp_addlinkedserver
@server='servidor',
@srvproduct='',
@provider='SQLNCLI',
@datasrc='servidor'
-- zerar campo identid
DBCC CHECKIDENT (NomeTabela, RESEED, 0)
-- backup para inserir em código fonte
BACKUP DATABASE [master] TO
DISK = N'C:\Arquivos de programas\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\master.bak'
WITH NOFORMAT, NOINIT, NAME = N'Monalisa-Full Database Backup', SKIP, NOREWIND, NOUNLOAD,STATS = 10
GO
--Inserir texto no banco
BULK
INSERT Cidade
FROM 'D:\Banco\cepS\Cidade.csv'
WITH
(
CODEPAGE = 'ACP', --aceita acentos
FIELDTERMINATOR = ',', --define separador
ROWTERMINATOR = '\n' -- define termino da linha
)
------------inserir cfop, conecta no exel
sp_addlinkedserver N'Excel',
N'Jet 4.0',
N'Microsoft.Jet.OLEDB.4.0',
N'C:\Banco\cfop.xls',
NULL,
N'Excel 8.0'
go
sp_addlinkedsrvlogin N'Excel', false, sa, N'ADMIN', NULL
go
EXEC sp_linkedservers
INSERT INTO CFOP
(CFOP, CFOPDesc)
SELECT cfop,cfopdesc
FROM Excel...cfop$--nome da planilha
Att
Fernando
--habilitar link para outro servidor
EXEC sp_addlinkedserver
@server='servidor',
@srvproduct='',
@provider='SQLNCLI',
@datasrc='servidor'
-- zerar campo identid
DBCC CHECKIDENT (NomeTabela, RESEED, 0)
-- backup para inserir em código fonte
BACKUP DATABASE [master] TO
DISK = N'C:\Arquivos de programas\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\master.bak'
WITH NOFORMAT, NOINIT, NAME = N'Monalisa-Full Database Backup', SKIP, NOREWIND, NOUNLOAD,STATS = 10
GO
--Inserir texto no banco
BULK
INSERT Cidade
FROM 'D:\Banco\cepS\Cidade.csv'
WITH
(
CODEPAGE = 'ACP', --aceita acentos
FIELDTERMINATOR = ',', --define separador
ROWTERMINATOR = '\n' -- define termino da linha
)
------------inserir cfop, conecta no exel
sp_addlinkedserver N'Excel',
N'Jet 4.0',
N'Microsoft.Jet.OLEDB.4.0',
N'C:\Banco\cfop.xls',
NULL,
N'Excel 8.0'
go
sp_addlinkedsrvlogin N'Excel', false, sa, N'ADMIN', NULL
go
EXEC sp_linkedservers
INSERT INTO CFOP
(CFOP, CFOPDesc)
SELECT cfop,cfopdesc
FROM Excel...cfop$--nome da planilha
Att
Fernando
quarta-feira, 27 de janeiro de 2010
Sub Relatório no crystal C#
Tive certa vez um problema ao abrir um relatorio com sub relatório, e por mais que tentava não conseguia mudar.
Mas tudo mudou ao alterar a ordem e forma das chamadas dos subrelatórios.
Segue abaixo o codigo contido dentro de um form proprio para gerar RPT, onde envio os selects para a geração dos mesmos através do form que os chama.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
using System.IO;
using xxx.Camada_Logica;
namespace xxx
{
public partial class frmVisualisaRelatorio : Form
{
ClsComponentes Comp = new ClsComponentes();
public string strSQL,nomeForm, strReportPath, strTable;
public bool PossuiFoto = false, PossuiSub = false;
public frmVisualisaRelatorio()
{
InitializeComponent();
}
private void frmVisualisaRelatorio_Load(object sender, EventArgs e)
{
ListaProdutos();
}
private void ListaProdutos()
{
ReportDocument reportDocument = new ReportDocument();
SqlConnection oConn = new SqlConnection();
DataSet oDataSet = new DataSet();
clsImagem Imagem = new clsImagem();
byte[] imagem1, imagem2;
oConn.ConnectionString = Comp.Conexao1;
oConn.Open();
try
{
SqlDataAdapter oDA = new SqlDataAdapter(strSQL, oConn);
oDA.Fill(oDataSet);
if (PossuiFoto)
{
for (int i = 0; i <>
{
if (File.Exists(Convert.ToString(oDataSet.Tables[0].Rows[i]["ProdFoto1"])))
{
imagem1 = imagem2 = Imagem.GetArrayFromImagen(Image.FromFile(Convert.ToString(oDataSet.Tables[0].Rows[i]["ProdFoto1"])));
}
else
imagem1 = null;//Imagem.GetArrayFromImagen(Image.FromFile(this.strReportPath.Replace("\\bin\\Debug", "") + "\\Resources\\NoPhoto.jpg"));
if (File.Exists(Convert.ToString(oDataSet.Tables[0].Rows[i]["ProdFoto2"])))
{
imagem2 = Imagem.GetArrayFromImagen(Image.FromFile(Convert.ToString(oDataSet.Tables[0].Rows[i]["ProdFoto2"])));
}
else
imagem2 = null;// Imagem.GetArrayFromImagen(Image.FromFile(this.strReportPath.Replace("\\bin\\Debug", "") + "\\Resources\\NoPhoto.jpg"));
oDataSet.Tables[0].Rows[i]["Imagem1"] = imagem1;
oDataSet.Tables[0].Rows[i]["Imagem2"] = imagem2;
}
}
reportDocument.Load(strReportPath);
//libera acesso quando for dns, não usando dataset para a criação do realtorio
reportDocument.SetDatabaseLogon("sa", "bigboss");
if (PossuiSub)
{
//1ª forma de chamar onde estava dando erro
//SubreportDocument1 = reportDocument.OpenSubreport("crtProdutoEstoque.rpt");
//SubreportDocument2 = reportDocument.OpenSubreport("crtProdutoEstrutura.rpt");
//SubreportDocument1.Database.Tables[0].SetDataSource(oDataSet.Tables[1]);
//SubreportDocument2.Database.Tables[0].SetDataSource(oDataSet.Tables[2]);
//2ª forma de chamar onde rodou corretamente no caso de haver subrelatorios
switch (nomeForm)
{
case "Produto":
reportDocument.Subreports["crtProdutoEstoque.rpt"].Database.Tables[0].SetDataSource(oDataSet.Tables[1]);
reportDocument.Subreports["crtProdutoEstrutura.rpt"].Database.Tables[0].SetDataSource(oDataSet.Tables[2]);
break;
case "Estagio":
reportDocument.Subreports["crtEstagioProducao.rpt"].Database.Tables[0].SetDataSource(oDataSet.Tables[1]);
reportDocument.Subreports["crtEstagioProduto.rpt"].Database.Tables[0].SetDataSource(oDataSet.Tables[2]);
reportDocument.Subreports["crtEstagioServico.rpt"].Database.Tables[0].SetDataSource(oDataSet.Tables[3]);
break;
}
}
//3 passo: definir o DataSource do relatório
//reportDocument.SetDataSource(oDataSet);
//define a tabela para atualização depois de ter criado os subrelatorios caso haja
reportDocument.Database.Tables[0].SetDataSource(oDataSet.Tables[0]);
//4 passo: visualizar o relatório
crystalReportViewer1.DisplayGroupTree = false;
crystalReportViewer1.ReportSource = reportDocument;
}
catch (Exception ex)
{
MessageBox.Show("Erro na geração deste relatório!");
this.Close();
System.Diagnostics.Debug.WriteLine(ex.Message);
}
finally
{
//liberando os objetos
oConn.Dispose();
oDataSet.Dispose();
oConn = null;
oDataSet = null;
}
}
}
}
segunda-feira, 25 de janeiro de 2010
Excesso
Eclesiastes 1,1-18
Meditava esta palavra, e num toque de Deus compreendi, tudo se torna "vaidade das vaidades ecle. 1,2", simples assim, nos excessos que temos tudo vai se tornando vaidade, o Eclesiastes coloca claro no final que buscou e acumulou muita sabedoria e com ela muita tristeza, e ai esta mais uma verdade bíblica, tudo o que trazemos em exagero em nossas vidas vem acumulado de tristezas.
Certo momento de minha vida, esqueci de estar em casa, exagerava nas milhas saídas, era quase inreconhecivel, não tinha dialogo, acumulava desentendimento, até que um irmão disse: "tua familia é igreja também", aprendi que tinha de distribuir melhor meu tempo.
Reconhecer que precisamos de sabedoria, ciência é um fator importante em nossas vidas, mas maior ainda é reconhecer o ponto onde estamos, se minha ciência está afastando as pessoas de mim, já não é valida para minha vida, e se tornou apenas vaidade. O trabalho é assim também, o dinheiro, devemos ganha-lo sim, ter uma vida confortavel, claro, trabalhar para garantir o futuro dos nossos filhos, perfeito, mas não posso dar um futuro para um filho sem fazer parte dele, sem ao menos saber seu herói favorito, ou ser para ele um herói, o excesso de ausência machuca, é necessário um tempo para cada coisa ecle 3,1-8.
O equilíbrio, quando encontramos, nossas orações são mais eficazes, nossas conversas em família são mais produtivas, nosso trabalho é mais rentável em todos os aspectos, nosso contato com Deus se torna mais amigo ainda, e sendo mais amigo de Deus, compreendo mais suas vontades para comigo, e entendo o valor do tempo e passo a viver sem excessos, mas sim com o necessário.
Que nossos corações possam aprender a buscar o equilíbrio e a harmonia da vida em Oração, para assim podermos ser os luzeiros neste mundo.
Senhor ajuda-me a encontrar o equilíbrio, e que este seje banhado em seu Santo Espírito, possa eu em minha pequenez reconhecer que posso, mas além disso que tudo posso em Ti que me fortalece. Que possa aprender cada dia mais com os irmãos e compartilhar cada dia mais o que aprendo, que minhas quedas sejam regadas pelo levantar e recomeçar em Ti aprendendo e crescendo cada dia mais. AMEM.
Fernando Valota
sábado, 23 de janeiro de 2010
Costela Assada
Para quem gosta de uma boa Costela.
Costela
Descubra os segredos do tempero ideal para assar a carne
Publicado em 21/3/2009
Descubra os segredos do tempero ideal para assar a carne
Ingredientes:
Costela
Sal
Água
Ovo
Modo de preparo:
Primeiro é preciso preparar o tempero. Para saber o ponto ideal para salgar a costela a dica é colocar um ovo caipira na panela ou na tigela, com um pouco de água. Jogue o sal até a hora que o ovo começar a boiar. Depois despeje a água salgada na carne, dentro de um recipiente, e deixe salgar por 12 horas. Passado o tempo determinado enrole a carne no papel alumínio dando quatro voltas e leve à churrasqueira por 4 horas. Depois retire o papel alumínio e deixe a carne dourar.
Dica: O espeto tem que estar a uma distância de um metro do fogo.
Bom Apetite!
Publicado em 21/3/2009
Indicado por um amigo: Thiago
Relatorio em PDF com C# (asp.net)
importar para o sistema a dll itextsharp - http://sourceforge.net/projects/itextsharp/
Adaptação do sistema publicado no site: http://www.codeproject.com/KB/graphics/iTextSharpTutorial.aspx, http://itextsharp.sourceforge.net/examples/Chap0510.pdf
using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.text.html;
protected void btnRelatorio_Click(object sender, EventArgs e)
{
if (gvCliProf.Rows.Count > 0)
{
// creation of the document with a certain size and certain margins
Document document = new Document(PageSize.A4.Rotate(), 30, 30, 30, 30);
try
{
// creation of the different writers
// um detalhe ao publicar deve-se retirar o arquivo gerado durante a construção se eventualmente ele o mesmo for, o sistema o recriará com as permissões do wwwroot.
//estancia o documento.
PdfWriter.GetInstance(document, new FileStream(Request.PhysicalApplicationPath + @"PDF\\Campanha.pdf", FileMode.Create));
// we add some meta information to the document
document.AddAuthor("xxx");
document.AddSubject("xxxx");
//abre para registro.
document.Open();
//instância da tabela e criação da mesma
iTextSharp.text.Table datatable = new iTextSharp.text.Table(7);
//altura da Tabela
datatable.Padding = 4;
//alinhamento dentro da celula
datatable.Spacing = 0;
//datatable.setBorder(Rectangle.NO_BORDER);
//float[] headerwidths = { 10, 24, 12, 12, 7, 7, 7, 7, 7, 7 };
//gera a medida de cada célula, deve-se conter a quantidade de células especificadas na instância da tabela
float[] headerwidths = { 10, 15, 30, 20, 40, 24, 15 };
//instacia de tamanho
datatable.Widths = headerwidths;
datatable.WidthPercentage = 100;
// the first cell spans 7 columns
//gera uma celula com o tamanho total das celulas no caso 7 celulas
Cell cell = new Cell(new Phrase(@"Cliente\Nome do Relatorio", FontFactory.GetFont(FontFactory.HELVETICA, 24, Font.BOLD)));
cell.HorizontalAlignment = Element.ALIGN_CENTER;
cell.Leading = 30;
cell.Colspan = 7;
cell.Border = Rectangle.NO_BORDER;
cell.BackgroundColor = new Color(0xC0, 0xC0, 0xC0);
datatable.AddCell(cell);
// the first cell spans 7 columns
//nova célula no tamanho da columns
cell = new Cell(new Phrase("Campanha: " + txtNum.Text + " - " + txtNomeCampanha.Text, FontFactory.GetFont(FontFactory.HELVETICA, 18, Font.BOLD)));
cell.HorizontalAlignment = Element.ALIGN_CENTER;
cell.Leading = 20;
cell.Colspan = 7;
cell.Border = Rectangle.NO_BORDER;
cell.BackgroundColor = new Color(0xC0, 0xC0, 0xC0);
datatable.AddCell(cell);
//cria cabeçario.
// These cells span 2 rows
datatable.DefaultCellBorderWidth = 2;
datatable.DefaultHorizontalAlignment = 1;
datatable.DefaultRowspan = 2;
datatable.AddCell("Id");
datatable.AddCell("Código");
//datatable.AddCell(new Phrase(@"Nome\Apelido", FontFactory.GetFont(FontFactory.HELVETICA, 14, Font.BOLD)));
datatable.AddCell(@"Nome\Apelido");
datatable.AddCell("Celular");
datatable.AddCell("e-mail");
datatable.AddCell("Profissão");
// This cell spans the remaining 6 columns in 1 row
//mescla varias colunas
//datatable.DefaultRowspan = 1;
//datatable.DefaultColspan = 6;
//datatable.AddCell("Permissions");
// These cells span 1 row and 1 column
//volta ao normal
datatable.DefaultColspan = 1;
datatable.AddCell("Paticipação");
// this is the end of the table header, finaliza cabeçario
datatable.EndHeaders();
//insere intens selecionados em um grid
datatable.DefaultCellBorderWidth = 1;
datatable.DefaultRowspan = 1;
int i = 0;
while ( i Menor gvCliProf.Rows.Count )
{
GridViewRow row = gvCliProf.Rows[i];
bool isChecked = ((CheckBox)row.FindControl("chkSelecao")).Checked;
if (isChecked)
{
datatable.DefaultHorizontalAlignment = Element.ALIGN_LEFT;
datatable.AddCell(gvCliProf.Rows[i].Cells[1].Text);//id
datatable.AddCell(gvCliProf.Rows[i].Cells[2].Text);//cod empresa
datatable.DefaultHorizontalAlignment = Element.ALIGN_CENTER;
datatable.AddCell(HttpUtility.HtmlDecode(gvCliProf.Rows[i].Cells[3].Text));//nome apelido
datatable.AddCell(HttpUtility.HtmlDecode(gvCliProf.Rows[i].Cells[4].Text));//celular
datatable.AddCell(HttpUtility.HtmlDecode(gvCliProf.Rows[i].Cells[5].Text));// email
datatable.AddCell(HttpUtility.HtmlDecode(gvCliProf.Rows[i].Cells[6].Text));//profissao
datatable.AddCell(gvCliProf.Rows[i].Cells[7].Text);//participou
}
i++;
}
//adiciona o documento
document.Add(datatable);
// we close the document
document.Close();
//redireciona para mostrar
Response.Redirect("~/PDF/Campanha.pdf");
}
catch (IOException ex)
{
document.Close();
throw ex;
}
catch (Exception ex)
{
document.Close();
throw ex;
}
}
else
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "Mensagem", @"window.alert('Sem Clientes\Profissionais!');", true);
}
}
Está é uma adaptação ao exemplo mostrado no link acima, para facilitar e ajudar a quem necessita gerar relatórios sem o uso do Crystal, está uma opção free.
E mais detalhes voce pode encontrar no tutorial contido no site: http://itextsharp.sourceforge.net/tutorial/
att
Fernando Valota
Assinar:
Postagens (Atom)