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.


terça-feira, 26 de agosto de 2008

Aguardem novas postagens sobre C#

Olá pessoal, aguardem que estou para postar algumas dicas sobre C# e ASP .Net logo logo...

No mais até breve.

Sugestões a Comunidade Delphi so PHP

Sugestões a Comunidade Delphi so PHP

Olá membros da Comunidade Delphi so PHP, estamos abertos a sugestões e dicas sobre novas funcionalidade na Comunidade. Quem quiser deixar alguma sugestão para melhorias e mudanças, é só entrar em contato com a administração .

No mais, agradecemos o apoio de todos.

Algumas funções que facilitam e muito...

Algumas funções que facilitam e muito o desenvolvimento do programador. Por exemplo:

Imagina que você tem 50 campos na tela e tem que desabilitar todos, já viu né...Assim você só vai fazer isso: HabilitaCampo(true ou false), simples assim... :D

procedure HabilitaCampo(Value: Boolean);
var
i: integer;
begin
for i := 0 to pred(ComponentCount) do
begin
// Se for Edit...
if (components[i] is TEdit) then
(Components[i] as TEdit).Enabled:= value;

// Se for TComboBox...
if (components[i] is TComboBox) then
(Components[i] as TComboBox).Enabled:= value;

// E assim por diante...
end;
end;

Da mesma forma segui para limpar todos os campos de uma só vez...

procedure LimpaCampos();
var
i: integer;
begin
try
for i := 0 to pred(ComponentCount) do
begin
// Se for Edit...
if (components[i] is TEdit) then
(Components[i] as TEdit).Clear;

// Se for TComboBox...
if (components[i] is TComboBox) then
(Components[i] as TComboBox).ItemIndex = -1;
end;
end;

Validar campo obrigatório segui o mesmo esquema...
Obs: A tag é utilizado para definir se o campo vai ser obrigatório ou não. Ex:
0 - Default do componente...
1 - para os campos que serão obrigatório.

function VerificaCampObrigatorio: Boolean;
var
i: integer;
begin
Result := true;
for i := 0 to (ComponentCount) do
begin
// Se for Edit...
if (components[i] is TEdit) then
begin
if ((Components[i] as TEdit).Tag = 1) and ((Components[i] as TEdit).Text = '')then
begin
MessageDlg((Components[i] as TEdit).Hint,mtInformation,[mbOK],0);
(Components[i] as TEdit).SetFocus;
Result := false;
exit;
end;
end;
end;
end;

Espero que ajude, até mais.

Validando email

Utilize para validar e-mail...

function fCheckEmail(Email : String): Boolean;
var
s : String;
ePos : Integer;
begin
ePos := pos('@',Email);
if (epos > 1) then
begin
s := copy(eMail, epos + 1, Length(eMail));
if (pos('.', s)> 1) and (pos('.', s) < length(s)) then Result := true
else Result := False;
end
else Result := False;
end;

Pode ser muito bem utlizado no evento onexit do Edit...

Até a próxima dica.

Manipulando hora/minuto minuto/hora

Veja abaixo duas função muito uteis no dia-á-dia...

function HoraMinutos(value: string) : integer;
var
iHoras, iMinutos : integer;
begin
iHoras := StrToInt(copy(value,1,2)) * 60;
iMinutos := StrToInt(copy(value,4,2));
Result := iHoras + iMinutos;
end;

function MinutosHora(value: integer) : string;
var
sHora, sMinutos : string;
begin
sHora := fnLPad(IntToStr(value div 60),2,'0');
sMinutos := fnLPad(IntToStr(value mod 60),2,'0');
Result := sHora + ':' + sMinutos;
end;

Criptografia de senha de banco de dados

Veremos agora uma excelente função de criptografia. Muito utilizado para criptografar senha de banco de dados.

function Criptografar(Mstr, Mchave, Moperacao: String): String;
var
i, iTamanhoString, iPos, IPosLetra, iTamanhoChave: Integer;
begin
Result := Mstr;
iTamanhoString := Length(Mstr);
iTamanhoChave := Length(Mchave);
for i := 1 to iTamanhoString do
begin
iPos := (i mod iTamanhoChave);
if iPos = 0 then iPos := iTamanhoChave; iPos := iPos + 7;
if Moperacao = 'DESCRIPTOGRAFAR' then iPosLetra := Ord(Result[i]) + iPos
else iPosLetra := Ord(Result[i]) - iPos;
Result[i] := Chr(iPosLetra);
end;
end;

Que tal utilizar o LPad e RPad no delphi?

Que tal utilizar o LPad e RPad no delphi?

function LPad(value:string; tamanho:integer; caractere:char): string;
var
i : integer;
begin
Result := value;
if(Length(value) > tamanho)then
exit;
for i := 1 to (tamanho - Length(value)) do
Result := caractere + Result;
end;

function RPad(value:string; tamanho:integer; caractere:char): string;
var
i : integer;
begin
Result := value;
if(Length(value) > tamanho)then
exit;
for i := 1 to (tamanho - Length(value)) do
Result := Result + caractere;
end;

Muito legal né? até a próxima.

Delphi - Converter uma valor em real

Olá pessoal, abaixo uma função simples para converter um valor. É muito utilizada para display na tela.

{ Functions }
function fConvertValue(Value: string): string;
begin
Result := '';
if (pos('.', Value) = 0) then
begin
if (Value <> '') then
begin
Value := FormatFloat('##,##0.00', StrToFloat(Value));
Result := Value;
end;
end
else
begin
Value := StringReplace(Value,'.','', [rfReplaceAll]);
Result := Value;
end;
end;

Como fechar uma janela GtkWindow ao clicar em um botão

Como fechar uma janela GtkWindow ao clicar em um botão

// função que será chamado ao clicar no botão
function fechar($janela){
$janela->destroy();
}

if(!class_exists('gtk')){
die("Por favor carregue o módulo php-gtk2
no seu php.ini\\r\\n");
}

$wnd = new GtkWindow();
$wnd->set_default_size(250, 150);
$wnd->connect_simple('destroy', array('gtk', 'main_quit'));

// Cria um layout fixo
$layout = new GtkFixed();

// Cria um botão
$btn = new GtkButton("Fechar Janela");
// Define o tamanho do botão
$btn->set_size_request(100, 25); // define largura e altura
// Define o evento clicked para o botão
$btn->connect_simple('clicked', 'fechar', $wnd);
// Adiciona o botão ao layout
$layout->put($btn, 10, 10);

// Adiciona o layout à janela do aplicativo
$wnd->add($layout);

$wnd->show_all();
$wnd->set_title("Estudos PHP-GTK");
Gtk::main();

Quer saber mais, clique aqui.

Entendendo o que são construtores

Entendendo o que são construtores

Um construtor é uma função definida na própria classe que é automaticamente chamada no momento em que a classe é instanciada (atráves do operador new). O construtor deve ter o memso nome que a classe a que pertence. Veja o exemplo:

class conta {
var $saldo;
function conta() {
$this->saldo = 0;
}

function saldo() {
return $this->saldo;
}

function credito() {
$this->saldo += $valor;
}
}

Podemos perceber que a classe conta possui um construtor, que inicializa a variavel $saldo com o valor zero(0).
Um construtor pode conter argumentos, que são opcionais, o que torna esta ferramenta mais poderosa. No exemplo acima, o construtor da classe conta pode receber como argumento um valor, que seria o valor inicial dfa conta.
Vale observar que era para classes derivadas, o construtor da classe pai não é automaticamente herdado quando o construtor da classe derivada é chamado.

Quer saber mais, clique aqui

Utilizando a variável $this

Variavel $this
Na difinição de uma classe, pode-se utilizar a variavel $this, que é o próprio objeto. assim, quando uma classe é instanciada em um objeto, e uma função desse objeto na definição da classe utiliza a variavel $this, essa variavel signfica o objeto que estamos utilizando.

Como exemplo da utilização de classes e objetos, podemos utilizar a classe conta, que define uma conta bancária bastante simples, com funções para ver saldo e fazer um crédito.

Exemplo:
Class conta{
var $saldo;
function saldo(){
return $this->saldo;
}

function credito(){
$this->saldo += $valor;
}
}

// a variavel interna não foi inicializada, e não contém valor algum.
$minhaconta = new saldo;
$minhaconta->saldo();

// Retorna 50
$minhaconta->credito(100);
$minhaconta->saldo();

Parceria