Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Passo a passo
Kimidia® 2007
www.miguelandrade.co.nr
miguelandrade@live.com
ATENÇÃO!
Se pagou por este livro foi roubado! Download gratuito em:
www.miguelandrade.co.nr
Indíce
História: ........................................................................................................................... 4
Descrição: ....................................................................................................................... 4
Aplicabilidades: .............................................................................................................. 5
Requerimentos do sistema: ......................................................................................... 5
Instalando o Delphi gratuito(Turbo Delphi Explorer for Win32 development):..... 6
Inicializando o Turbo Delphi pela primeira vez: ........................................................ 9
Conhecendo o Turbo Delphi: ..................................................................................... 10
Primeio programa: ....................................................................................................... 13
Estrutura do Project Source “Codigo fonte do projeto que gerencia as units e
formulários”. .................................................................................................................. 18
Estrutura da Unit .......................................................................................................... 19
Fundamentos do Object Pascal: ............................................................................... 20
Variáveis:....................................................................................................................... 20
Constantes:................................................................................................................... 22
Arrays: ........................................................................................................................... 22
Records: ........................................................................................................................ 24
Pointers: ........................................................................................................................ 24
Operadores:.................................................................................................................. 25
With-do: ......................................................................................................................... 27
Procedure:..................................................................................................................... 27
Function:........................................................................................................................ 28
Comentários ................................................................................................................. 29
Funções de conversão(mais utilizadas):.................................................................. 30
Instruções condicionais: ............................................................................................. 32
Instruções de laço:....................................................................................................... 35
Classes e objetos: ....................................................................................................... 39
Criando um programa simples (Bloco de notas): ................................................... 41
Eventos de uma aplicação: ........................................................................................ 57
StringList: ...................................................................................................................... 64
Criando um Media Player Simples:........................................................................... 65
Utilizando Imagens: ..................................................................................................... 67
Utilizando o XP Manifest: ........................................................................................... 68
Exemplo Simples de Cliente/Servidor: ..................................................................... 69
História:
Delfos, pois nessa cidade era o único lugar onde se podia consultar o oráculo
usando o Delphi".
Descrição:
aqueles que programam por hobby, ele utiliza a Linguagem Delphi, que é um
“dialeto” do Pascal.
Ele possui duas versões disponíveis, uma que gera aplicativos nativos para
bytes para o Framework .Net CLR. Cada versão vem em duas edições, a
dados mais conhecidos do mercado. Ele pode ser usado para desenvolver
Requerimentos do sistema:
development):
J# run-time
InternetExplorer 6.01
MSXML
Para que possamos rodar o Turbo Delphi temos que adquirir um Activation File
http://www.codegear.com/downloads/free/turbo
OBS: A Borland criou a CodeGear para ser uma subsidiária que será
gratuitamente.
Welcome Page:
Você pode usá-la para criar um novo projeto, abrir um projeto existente, entrar
na ajuda, etc.
componentes e controles.
Object Inspector
O “Inspetor de objetos” serve para selecionar os componentes e mudar as suas
propriedades.
Project Manager
Tool Palete
A “Palheta de Ferramentas” serve para você selecionar os componentes que
Primeiro programa:
formulário, assim você notará que um botão foi criado em nosso formulário.
citadas acima.
Para que possamos ir para a nosso “code viewer” dê um clique duplo sobre o
File/Save All.
Salvar.
Na pasta em que você selecionou para salvar os arquivos vamos destacar os
principais:
.DFM Delphi Form File: um arquivo binário (na versão 5 pode ser convertido
arquivos DOF.
.DOF Delphi Option File: um arquivo de texto com as configurações atuais para
as opções de projeto.
Quando você salva o seu projeto em uma pasta é gerado o “Project Source”,
interno do aplicativo.
Forms,
{$R *.res} -> Arquivo que é salvo como o nome interno do aplicativo + extensão
begin
do formulário na memória.
end.
Estrutura da Unit:
Unit ela é responsável pelo código fonte de seu formulário, vamos ver a sua
estrutura.
unit Unit1; -> A primeira declaração de uma unit é seu identificador, que é igual
ao nome do arquivo.
interface -> Seção interface, onde ficam declarações que podem ser usadas
Dialogs;
Type -> Na cláusula type fica a definição de tipos, aqui temos a declaração da
classe do Form.
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
var -> Na cláusula var são declaradas as variáveis, aqui temos a declaração da
instância do Form.
Form1: TForm1;
{$R *.dfm}
end. -> Toda Unit termina com um end a partir de onde qualquer texto é
ignorado.
objetos:
Variáveis:
O tipo de uma variável determina que tipo de valor a mesma poderá armazenar
a declaração utilzamos a palavra var, esta declaração pode ser feita em uma
Real: Igual ao tipo Inteiro, mas pode usar separador decimal e notação
científica.
PChar: String terminada em nulo (#0), usada geralmente nas funções da API
do Windows
Boolean: Representa dois valores que podem ser: true (verdadeiro) ou false
(falso).
OBS: Para inserirmos uma valor em uma variável utilizamos o := “dois pontos
igual”.
Olhe:
São declaradas na seção const, podem ser usadas como variáveis, mas não
especificado.
Veja:
Arrays:
Array é uma forma de se utilizar variáveis com múltiplos valores assim como
uma tabela.
Veja:
Pa inserirmos valores nesta array usamos o seu índice veja:
teste[0] := ‘palavra1’;
teste[1] := ‘palavra2’;
OBS: Caso necessitarmos utilizar uma array com um índice variado podemos
Como na screenshot acima temos a variável “teste3” que não foi especificado o
seu índice de valores, para setarmos o valor temos que usar o comando
SetLength. Veja:
Var
begin
end;
Records:
tipos de dados.
Pointers:
Veja:
A variável “valor1” recebe o número inteiro 2 a variável ponteiro recebe o
Operadores:
Operadores Unários
@ Endereço
/ Divisão de Real
Operadores Aditivos
Operadores Relacionais
= Igual
<> Diferente
< Menor
> Maoir
in Pertinência a conjuntos
por exemplo.
Veja:
No caso a edição das propriedades fica mais fácil com esse comando, não é
Procedure:
formas. Com uma procedure você agiliza e “perde” menos tempo, você pode
Neste caso temos um parâmetro na procedure teste, uma variável inteira que
Function:
Uma função ao contrário da procedure necessita sempre retornar um valor.
Esse valor pode ser dos mais diversos tipos, string, integer, boolean, etc.
Veja o exemplo:
Comentários
Cuidado com as diretivas de compilação, pois elas são delimitadas por chaves
Ex:
Veja a screenshot:
Neste caso a variável “a” recebe o valor string que está contido no Edit1,
StrToInt. No caso a variável ‘b” agora armazena um valor inteiro que foi
convertido do Edit1.
Instruções If:
Ex:
If condição then
Bloco de instrução
Como foi mostrado na screenshot acima if “se” a propriedade Text do Edit1 for
then ela só terá validade para as três primeiras linhas, mas se utilizar o begin
como o próprio nome já diz “se” condição for igual “então” faça isso “senão”
faça aquilo.
Observe a screenshot:
Observe a screenshot:
linha de comando.
Instruções de laço:
Laço for
Veja:
Agora com o repeat:
OBS: Em qualquer um dos laços mostrados podemos usar o procedimento
I := 1;
while true do
begin
Inc(I);
Continue;
Break;
end;
Classes e objetos:
Quando uma classe é derivada de outra (chamada classe base, classe pai ou
classe podemos declarar e utilizar objetos desta classe, da mesma forma que
podemos declarar e usar uma variável composta (um registro, por exemplo)
Veja o exemplo:
Veja:
end;
Veja:
Agora mude a propriedade do componente Memo1 para alClient
Olhe:
Agora vamos criar o Menu do nosso bloco de notas:
menus apareceu:
Note que por padrão o primeiro espaço do menu já está selecionando se você
Na figura acima o texto inserido foi “Arquivo” que corresponde ao primeiro item
do menu, logo em seguida pressione a tecla enter e solte assim você notará
que mais um item foi criado e ele está aguardando que você escreva o nome.
Após isso o nosso editor de códigos aparece com o primeiro evento de nossa
aplicação.
Olhe:
No caso o comando correspondente ao de fechar o nosso formulário é o
comando close.
Vamos adicionar agora um componente que será responsável por uma caixa
estiver clique sobre ele, vá até o object inspector e vá até a propriedade Filter e
desejar.
Olhe a screenshot:
Vamos até o menu selecione o item “abrir” e dê um duplo clique para inserir o
begin
carregado
end;
Rode o programa clique no menu e veja o resultado, se tudo der certo o
Vamos agora no mesmo esquema criar o evento para salvar textos, adicione o
menu e dê um clique duplo no item salvar para criar o evento para salvar:
begin
carregado
end;
Note que um novo formulário foi criado. Vamos voltar ao primeiro formulário,
altere sua propriedade caption no object inspector. Mude o label do button para
“Ok”.
Olhe:
Olhe:
no botão “Load Icon...” você pode escolher qual será o ícone de sua aplicação
alterações.
Olhe:
Olhe agora o formulário depois das mudanças:
O Ícone foi alterado, o caption, e o título na barra de ferramentas.
Olhe:
Agora selecione o Form1 pela palheta Structure, e depois pelo Object Inspector
clique em Events
Repare que o Form1 possui uma grande diversidade de eventos, vamos a uma
programa está com a “barra azul” cinza e quando recebe o focus do mouse e
OnShow: Quando o formulário é mostrado pela primeira vez, logo depois que
o resultado.
OBS: Vale apena ressaltar que cada componente pode possuir determinado
aplicativo externo.
OBS: Caso deseje descobrir onde esta função está armazenada, segure a
tecla “Ctrl” e depois clique sobre a mesma, e assim o Delphi mostrará em qual
Olhe o resultado:
Em certas ocasiões necessita-se utilizar funções que estão armazenadas em
units que não vem declaradas por padrão, neste caso basta adicionar a unit
estudando a WinExec.
Olhe:
WinExec(PChar(‘notepad.exe’), SW_SHOW);
No caso o valor PChar é utilizado para converter uma string para o valor PChar
que contém um valor nulo no final da string, este valor é muito utilizado em
chamdas da WinAPI.
WinExec(PChar(ExtractFilePath(Application.ExeName) + ‘teste.exe’),
SW_SHOW);
pelo valor Text do nosso Edit1, pois assim poderíamos digitar qualquer valor,
Veja:
WinExec(PChar(ExtractFilePath(Application.ExeName) + Edit1.Text),
SW_SHOW);
utilizados:
begin
Memo1.Lines.Add(Edit2.Text);
end;
No caso agora vamos inserir ao evento OnChange do componente Memo1 o
seguinte comando:
ShowMessage('Valor adicionado');
Ou seja, quando o usuário clicar sobre o botão será adicionado a linha de texto
StringList:
desejado. Olhe:
var
Teste: TStringList;
begin
end;
guia Dialogs:
Veja como ficou:
begin
begin
caixa de dialogo
end;
end;
var
begin
end;
Utilizando o XP Manifest:
agradável ao usuário, pois ele manifesta a skin do Windows XP. Para que ele
Olhe o antes:
Olhe o depois:
Exemplo Simples de Cliente/Servidor:
clique em Add.
Olhe a screenshot:
Depois de ter clicado sobre o botão “Add” selecione o arquivo que fica
programas\Borland\BDS\4.0\Bin\dclsockets100.bpl”.
Olhe:
Vamos inicialmente criar o programa servidor, para iniciarmos o processo
begin
clientes
conexões
end;
begin
ServerSocket1.Active := False;
end;
Socket: TCustomWinSocket);
var
pelos clientes
begin
“soquete” de conexão
adicionado ao Memo1
end;
OBS: Caso queira conectar-se ao servidor que você acabou de criar clique no
DOS “telnet”
Caso estivesse usando esse servidor pela internet com acesso discado você
utilizaria o ip de sua conexão, caso esteja conectado a internet por rede você
poderia utilizar o ip do servidor físico de sua rede porém o mesmo necessitaria
chamado PuTTY que pode ser obtido pela internet no site http://www.putty.nl.
Olhe:
Vamos agora desenvolver com o Delphi o cliente para este servidor:
conexão e outro para enviar as “palavras” strings. Um dos edits será usado
begin
servidor
end;
begin
begin
end;
Com isso já podemos testar a aplicação cliente junto com o servidor que
desenvolvemos anteriormente.
Olhe:
OBS: Repare na screenshot acima utilizamos a mesma máquina para rodar as
aplicação cliente.