Quer aprender Delphi for PHP?

Caros amigos delphianos, estão com dificuldades em encontrar um bom material sobre Delphi for PHP? Visite a Comunidade Delphi so PHP e veja algumas notícias sobre as novas tendências desta ferramenta. Lá você vai encontrar dicas, downloads, artigos, videos e muito mais sobre o Delphi for PHP. Para se cadastrar é muito simples, rápido e seguro. Clique aqui e seja o mais novo membro da Comunidade Delphi so PHP e bons estudos.

No mais até a próxima.


quarta-feira, 27 de agosto de 2008

Abrindo um pop up no Delphi for PHP

Colocar este script no caption de um label. Isso você pode fazer dinâmicamente no clique do label...

...
function abrir(pagina,largura,altura) {
//pega a resolução do visitante
w = screen.width;
h = screen.height;
//divide a resolução por 2, obtendo o centro do monitor
meio_w = w/2;
meio_h = h/2;
//diminui o valor da metade da resolução pelo tamanho da janela, fazendo com q ela fique centralizada
altura2 = altura/2;
largura2 = largura/2;
meio1 = meio_h-altura2;
meio2 = meio_w-largura2;
//abre a nova janela, já com a sua devida posição
window.open(pagina,'','height=' + altura + ', width=' + largura + ', top='+meio1+', left='+meio2+'');
}
...

Função para obter IP Externo

Função para retornar o IP externo baseado em uma URL.

using System.IO;
using System.Net;
...
public static string GetIP(string _URL)
{
//Cria uma requisição para a URL
WebRequest rq = WebRequest.Create(_URL);

//obtém o response a partir do request
HttpWebResponse rp = (HttpWebResponse)rq.GetResponse();
//obtém um stream contendo a resposta retornada pelo servidor
Stream ds = rp.GetResponseStream();
//Cria um StreamReader para leitura
StreamReader rd = new StreamReader(ds);
//Lê os dados
string responseFromServer = rd.ReadToEnd();
//fecha os objetos
rd.Close();
ds.Close();
rp.Close();
//procura por indexafor fixo no resultado
string URL = "IP";
int i = responseFromServer.IndexOf(URL) + URL.Length + 2;
//captura o IP descoberto
URL = string.Empty;
while (!(responseFromServer[i].ToString() == "<"))
{
URL += responseFromServer[i];
i += 1;
}

return URL.Trim();
}

Percorrendo as Rows de um DataView

Existem duas maneiras mais práticas de ser percorrer um DataView. Veja como no código abaixo:

A Primeira seria utilizando o FOR

// Levando em conta que já estamos com um DataTable populado...tbPessoa
DataView dtView = new DataView(tbPessoa);
DataRowView drView;
for (int i = 0; i < dtView.Count; i++)
{
drView = dtView[i];
MessageBox.Show(drView["Nome"].ToString());
}

A Segunda seria utilizando o WHILE

// Levando em conta que já estamos com um DataTable populado...tbPessoa
DataView dtView = new DataView(tbPessoa);
DataRowView drView;
IEnumerator rowsEnum = dtView.GetEnumerator();
while (rowsEnum.MoveNext())
{
drView = (DataRowView)rowsEnum.Current;
MessageBox.Show(drView["Nome"].ToString());
}

Enviando Email a partir de uma aplicação Windows com C#

Crie uma aplicação C# e coloque 4 componentes txt(renomei respectivamente para txtServidorSmtp, txtRemetente, txtDestinatario, txtAssunto e um componente de texto com o nome txtTexto). Pronto, agora é só seguir o código abaixo:

//Definindo Remetente
MailAddress endRemetente = new MailAddress(txtRemetente.Text);

//Definindo Destinatário
MailAddress endDestinatario = new MailAddress(txtDestinatario.Text);

//Definindo Email
MailMessage msg;

msg = new MailMessage(endRemetente, endDestinatario);

msg.Subject = txtAssunto.Text;

msg.Body = txtTexto.Text;

//Definindo Envio
SmtpClient smtp = new SmtpClient(txtServidorSmtp.Text);
smtp.Send(msg);

Criando uma classe de conexão no C#

Abaixo uma classe de conexão bem simples...

using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.OleDb;

namespace Persistencia
{
public static class Banco
{

public static OleDbConnection conexao = new OleDbConnection();

public static void AbrirConexao()
{
conexao.ConnectionString = @"Aqui fica a string de conexão";
conexao.Open();
}

public static void FecharConexao()
{
if (conexao.State == ConnectionState.Open)
{
conexao.Close();
conexao.Dispose();
}
}

public static void ExecutarComando(string textoComando)
{
if (conexao.State != ConnectionState.Open)
{
AbrirConexao();
}
OleDbCommand comando = new OleDbCommand();
comando.CommandText = textoComando;
comando.Connection = conexao;
int registrosAfetados = comando.ExecuteNonQuery();
}

public static OleDbDataReader SelecionarRegistros(string textoComando)
{
if (conexao.State != ConnectionState.Open)
{
AbrirConexao();
}
OleDbCommand comando = new OleDbCommand();
comando.CommandText = textoComando;
comando.Connection = conexao;
return comando.ExecuteReader();
}
public static OleDbDataReader SelecionarUmRegistro(string textoComando)
{
if (conexao.State != ConnectionState.Open)
{
AbrirConexao();
}
OleDbCommand comando = new OleDbCommand();
comando.CommandText = textoComando;
comando.Connection = conexao;
return (OleDbDataReader)comando.ExecuteScalar();
}

}
}

Parceria