Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Biblia delphi, Notas de estudo de Engenharia Elétrica

- - - - - - -

Tipologia: Notas de estudo

Antes de 2010

Compartilhado em 24/08/2008

luciano-elias-11
luciano-elias-11 🇧🇷

4.4

(7)

4 documentos

1 / 155

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Borland®
Desvendando o Caminho das Pedras
Fernando Anselmo
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Pré-visualização parcial do texto

Baixe Biblia delphi e outras Notas de estudo em PDF para Engenharia Elétrica, somente na Docsity!

Borland ®

Desvendando o Caminho das Pedras

Fernando Anselmo

Sumário

Introdução

Bem-vindo ao Delphi , o mais novo produto de alta performance da Borland. Delphi é um produto único em sua categoria combinando códigos totalmente compiláveis, ferramentas visuais e tecnologia para a composição de bases de dados escaláveis, possui facilidades para um rápido

desenvolvimento em plataforma Windows ©^ e aplicações Client/Server.

Este trabalho será seu guia para uma rápida aprendizagem no desenvolvimento de sistemas que gerencie bancos de dados. O Delphi é encontrado em dois produtos:

Delphi Client/Server , de alta performance e facilidade para o desenvolvimento de aplicações e suporte a bancos de dados do tipo Cliente/Servidor. Delphi Desktop , de alta performance e facilidade para o desenvolvimento de aplicações e suporte a bancos de dados locais, permitindo total portabilidade à versão Client/Server.

Apresento-lhes a seguir algumas informações detalhadas para um perfeito desenvolvimento visual, sendo que ao final de cada capítulo prático é exibido o código fonte completo seguido de um resumo dos principais comandos mostrados. Ao final deste estudo você encontrará apêndices que lhe ajudarão a resolver pequenos problemas do dia-a-dia.

Delphi , como Solução para Desenvolvedores

Muitas vezes nos perguntamos, e somos questionados, no porque de adotar o Delphi como a linguagem para o desenvolvimento de sistemas? Inicialmente, é necessário conhecer que o Delphi oferece um rápido caminho para o desenvolvimento de aplicações nos ambientes:

Windows ©^ , Windows 95 ©^ e Windows NT©^ ;

Bancos de dados do tipo Cliente/Servidor: Oracle ©^ , Informix©^ , InterBase, SyBase ©^ e Microsoft SQL Server ©^ ;

Alta performance, em sistemas críticos; Base de Dados locais e aplicações do tipo network; Ambiente gráfico, visual e multimídia.

Mas o que é possível fazer com ele? É possível criar, dentre outros, os seguintes tipos de aplicações em Delphi :

Usá-lo como a linguagem de desenvolvimento para bancos do tipo Cliente/Servidor; Ambiente heterogêneo para captura e envio de informações em diversos tipos de arquivos de dados;

Um pacote corporativo de aplicações inteligentes e interpretadores de dados. Incorporando DLL’s e EXE’s externos; Pacotes multimídia com desenho e animação;

Genéricos utilitários do Windows ©^ ;

Criação de bibliotecas (DLL) para leitura por outras aplicações.

Capítulo I

Conceito de Programação Orientada a Objeto

Para compreendermos melhor a novo ambiente de desenvolvimento da Borland o Delphi é necessário que você, aprenda e, tenha em mente os conceitos de POO (Programação Orientada a Objetos), não confunda os conceitos com POE (Programação Orientada a Eventos) muito

difundido com o Access 2.0 ©^ (um ambiente baseado em Objetos), mas ao longo deste capítulo

você vai notar as sensíveis diferenças que existem entre esses dois conceitos.

A POO e a POE são facilmente confundidas, mas lembre-se a POO contém a POE mas a POE não contém a POO, um objeto pode existir mesmo que não exista nenhum evento associado a ele, mas um evento não pode existir se não houver um objeto a ele associado. Outra característica que pode causar confusão são ambientes Orientados a Objetos e ambientes Baseados em Objetos. Em ambiente Orientado a Objetos consegue-se criar e manipular objetos enquanto que o Baseado em Objetos não é possivel a criação de objetos apenas a sua manipulação.

A POO é um conceito desenvolvido para facilitar o uso de códigos de desenvolvimento em interfaces gráficas. Sendo a Borland , uma das primeiras a entrar neste novo conceito, possui suas principais linguagens de programação (tais como Object Pascal e C++ ), totalmente voltadas para este tipo de programação. A POO atraiu muitos adeptos principalmente pelo pouco uso de código que o projeto (diferente de sistema) carrega no programa fonte, ao contrário das

linguagens mais antigas como o Clipper’87 ©^ muito utilizado no final da década de 90 e início da

década de 90. O resultado desta “limpeza” no código resulta que a manutenção do projeto torna- se muito mais simples.

Orientação a Objeto

Antes de começarmos a falar realmente de linguagem orientada a objetos e necessário que você possua os conceitos básicos da orientação a objetos, são eles:

Objeto - é qualquer estrutura modular que faz parte de um produto. Uma janela por exemplo, é um objeto de uma casa, de um carro ou de um software com interface gráfica para o usuário. Atributos - São as características do objeto, como cor e tamanho, a janela, por exemplo, tem atributos como o modelo, tamanho, abertura simples ou dupla, entre outros. Encapsulação - é um mecanismo interno do objeto “escondido” do usuário. Uma pessoa pode abrir uma janela girando a tranca sem precisar saber o que há dentro dela.

Ação - é a operação efetuada pelo objeto. Todas as janelas, por exemplo, controlam a iluminação e temperatura ambiente, dependendo do seu design. Herança - um objeto novo nem sempre é criado do zero. Ele pode “herdar” atributos e ações de outros já existentes. Um basculante herda atributos das janelas e das persianas. Polimorfismo - é a capacidade de objetos diferentes reagirem segundo a sua função a uma ordem padrão. O comando “abre”, por exemplo, faz um objeto entrar em ação, seja ele uma janela, uma porta ou uma tampa de garrafa. Ligação - é quando um objeto conecta a sua ação a outro. Um sensor de claridade, por exemplo, ativa o acendimento automático da iluminação de rua. Embutimento - Permite a um objeto incorporar funções de outros, como um liqüidificador que mói carne com a mudança do tipo da lâmina.

Object Pascal

Object Pascal é uma linguagem Orientada a Objetos não pura mas híbrida por possuir características de programação não só visual mas também escrita, para os programadores que já conhecem técnicas de estruturas de programação, com o C , Basic , Pascal ou x BASE entre outras linguagens a Object Pascal providência uma migração de forma natural oferecendo um produto de maior complexibilidade. Object Pascal força a você executar passos lógicos isto torna mais fácil o desenvolvimento no ambiente Windows ©^ de aplicações livres ou que utilizam banco de

dados do tipo Cliente/Servidor , trabalha com o uso de ponteiros para a alocação de memória e todo o poder de um código totalmente compilável. Além disso possibilita a criação e reutilização (vantagem de re-uso tão sonhado com a Orientação a Objetos ) de objetos e bibliotecas dinâmicas ( Dynamic Link Libraries - DLL).

Object Pascal contém todo o conceito da orientação a objetos incluindo encapsulamento, herança e polimorfismo. Algumas extensões foram incluídas para facilitar o uso tais como conceitos de propriedades, particulares e públicas, e tipos de informações em modo run-time, manuseamento de exceções, e referências de classes. O resultado de toda esta junção faz com que Object Pascal consiga suportar as facilidades de um baixo nível de programação, tais como:

Controle e acesso das subclasses do Windows ©^ (API);

Passar por cima das mensagens de loop do Windows ©^ ;

Mensagens semelhantes as do Windows ©^ ;

Código puro da linguagem Assembler.

Como deu para perceber a base de toda a programação Delphi é a linguagem Object Pascal , então neste capítulo trataremos exclusivamente deste tipo de programação.

Símbolos Especiais

A Object Pascal aceita os seguintes caracteres ASCII: Letras - do Alfabeto Inglês: A até Z e a até z. Dígitos - Decimal: 0 até 9 e HexaDecimal: 0 até 9 e A até F (ou a até f ) Brancos - Espaço ( ASCII 32 ) e todos os caracteres de controle ASCII ( ASCII 0 até ASCII 31 ), incluindo final de linha e Enter ( ASCII 13 ).

A lista abaixo apresenta um conjunto de funções que podem ser utilizadas para a declaração das constantes:

Ab Length Ord SizeOf Chr Lo Pred Succ Hi Low Ptr Swap High Odd Round Trunc

Alguns exemplos para a definição de Constantes: const Min = 0; Max = 100; Centro = (Max - Min) div 2; Beta = Chr(225); NumLetras = Ord('Z') - Ord('A') + 1; MensOla = 'Instrução inválida'; MensErro = ' Erro: ' + MensOla + '. '; PosErr = 80 - Length(MensErro) div 2; Ln10 = 2.302585092994045684; Ln10R = 1 / Ln10; DigNumericos = ['0'..'9']; LetrasAlpha = ['A'..'Z', 'a'..'z']; AlphaNum = LetrasAlpha + DigNumericos;

Expressões

As expressões em Object Pascal (como em qualquer linguagem) é formada por operadores e operandos; os operadores são divididos em quatro categorias básicas:

Únicos @, Not Multiplicativos >, /, div, mod, and, shl, shr, as Adicionais +, -, or, xor Relacionais =, < >, <, >, < =, > =, in, is

As expressões obdecem as regras básicas de lógica para a precedência da execução das operações.

Identificadores

Identificadores podem ser constantes, tipos, variáveis, procedures, funções, unidades, programas e campos de registros.

Não existe limite de caracteres para o nome de um identificador mas apenas os 63 primeiros caracteres são significantes (não podendo ser idêntico ao nome das palavras reservadas). O nome de um identificador deve ser iniciado por Letras ou o carácter underscore ( _ ). O resto é formado por Letras, Dígitos, carácter underscore (ASCII $5F). Não é permitido a utilização de espaços para a formação do nome.

F 0 2 B Exemplo de identificadores válidos: Form1, SysUtils.StrLen, Label1.Caption with... do...;

Delimita um determinado bloco de declarações para um identificador específico evitando a declaração deste identificador. A sintaxe do comando é: WITH {nome do identificador} DO {comandos};. Ex:

begin

{ ... comandos iniciais ... } with form1 do begin Caption := ‘Teste’; F 0 F 2Equivalente a Form1.Caption BorderStyle := bsSizable; F 0 F 2Equivalente a Form1.BorderStyle end; end; array [ ... ] of ...;

Define um conjunto de variáveis ou constantes de um mesmo tipo. A sintaxe do comando é: array [{quantidade de ocorrencias}] of {Tipo};. Os arrays são controlados por três funções:

Função Valor de Retorno Low Primeiro elemento High Aponta para o último elemento SizeOf Tamanho do array Ex:

const t: array [1..50] of Char { Declara 50 elementos para o tipo Char } var s : array[1..100] of Real { Declara 100 elementos para o tipo real } ind: Integer; begin for Ind := Low (s) to High (s) do s[Ind] := 0; { Zera os elementos do array S } if SizeOf (t) = ‘C’ then exit; { Se o último elemento do array T for ‘C’ sai do bloco } { ... outros comandos... } end;

Declarações

Declarações descrevem ações de um algorítmo a serem executadas. begin... end;

Prende um conjunto de declarações em um bloco de comandos determinado. A sintaxe do comando é: BEGIN {comandos} END;. Ex:

begin { ... comandos iniciais ... } begin { ... bloco 1 ... } end ; begin { ... bloco 2 ... } end ; { ... comandos finais ... } end ;

if... then... else...;

Esta expressão escolhe entre o resultado de uma condição booleana o caminho verdadeiro (then) ou falso (else). A sintaxe do comando é: IF {condição} THEN {bloco de comandos} ELSE {bloco de comandos};. Ex:

for... to (downto)... do...;

Incrementa em 1 uma determinada variável inteira, repetindo um bloco de comandos, até que esta atinja o valor final do intervalo, o subcomando downto realiza o incremento reverso. A sintaxe do comando é: FOR {variavel} := {valor inicial} to (downto) {valor final} do {bloco de comandos};. Ex:

begin { ... comandos iniciais ... } for i := 1 to 10 do F 0 F 2Executa o [comandos A] para i = 1,2,3,4,5,6,7,8,9 e 10 { ... Comandos A ... } for s := 10 downto 1 do F 0 F 2Executa o [comandos B] para i = 10,9,8,7,6,5,4,3,2 e 1 { ... Comandos B... } end;

while... do...;

Repete um bloco de comandos enquanto que determinada condição booleana seja satisfeita. A sintaxe do comando é: WHILE {condição} DO {bloco de comandos};. Ex:

begin { ... comandos iniciais ... } while i := 1 do F 0 F 2Repete o [Bloco de comandos] enquanto i = 1 { ... Bloco de comandos ... } end;

break; ou continue...;

O comando break interrompe um bloco de repetição for , while ou repeat saindo do bloco. A sintaxe do comando é: BREAK; enquanto que o comando continue retorna a primeira instrução do bloco de repetição for , while ou repeat. A sintaxe do comando é: CONTINUE;. Ex:

begin { ... comandos iniciais ... } for i := 1 to 10 do begin if i = 8 then break; F 0 F 2Salta para os [comandos C] {... comandos A...} if i = 5 then continue; F 0 F 2Retorna para o comando for pulando os [comandos B] {... comandos B ...} end; {... comandos C ...} end;

Blocos de Procedimentos ou Funções

As procedures ou funções são declaradas na seção de tipos de declarações (abaixo do comando type ) pertencendo ao objeto ou serem do tipo public (públicas - executadas por outras unidades) ou private (particulares - restritas a unidade local).

Procedure

procedure {cabeçalho}; var {declaração das variáveis}; {bloco de comandos};

O cabeçalho da procedure é composto pelo nome do procedimento e variáveis que serão recebidas (ou modificadas através da declaração var, ex: procedure teste( var x:string);).

procedure soma(a,b: integer); F 0 F 2Início enviando as variáveis A e B do tipo inteiro. var F 0 F 2Declaração de variáveis locais. c: integer; begin F 0 F 2Corpo do procedimento. c := a + b; end;

Function

function {cabeçalho} : {resultado}; var {declaração das variáveis}; {bloco de comandos};

As funções se diferem dos procedimentos pela obrigatoriedade do retorno de um resultado, podendo este resultado ser retornado pela declação: {nome da função} := valor ou result := valor.

function soma(a,b: integer) : integer; F 0 F 2Início enviando as variáveis A e B do tipo inteiro. begin F 0 F 2Corpo do procedimento. soma := a + b; F 0 F 2ou result := a + b; end;

F 0 2 B Junto com o^ Delphi 2.0^ vem o manual de^ Object Pascal^ em formato^ .HLP , caso a linguagem seja novidade para você aconselho que você dê uma boa olhada (o Delphi 1.0 traz o mesmo manual, mas em formato .PDF ), mas não se preocupe com o que foi explicado acima já está mais do que suficiente para uma boa inicialização com o Delphi.

Tudo o que vimos a cima é o que normalmente temos em outras linguagens comuns, mas o caracteriza realmente a linguagem Orientada em Objetos é o trabalho e a manipulação com os mesmos.

Características de Objetos

Mas afinal de contas, o que é um objeto? Como foi dito anteriormente, um objeto é qualquer tipo de elemento, ou componente, que envolva dados e código dentro de um único pacote.

Uma vantagem de programar na POO e quanto a Herança dos objetos, este método faz com que seja possível um objeto ‘Filho’ poder herdar todas as características e conteúdos de um objeto ‘Pai’. Tirando um pouco do Pascal da geladeira (a partir do Pascal versão 7.0 a Borland tornou possível a utilização simplificada de todo o conceito de POO) aqui vai um código completo de declaração de dois objetos, o primeiro chamado de TPai e o segundo de Tfilho:

TPai = object Nome: PChar; constructor Init (P: PChar); destructor Done ; procedure MudaNome(P: PChar);

dentro de um único pacote. Até agora, o tipo TForm1 não contém campos ou métodos, isso acontecerá com a adição de alguns componentes neste objeto.

Observando o código, notamos que existe uma variável declarada com o nome Form para o novo tipo de objeto TForm1 :

var Form1: TForm1;

Form1 é a chamada de instância ao tipo TForm1. Esta variável refere-se ao formulário em si, aonde será adicionado componentes e desenhado a interface entre o computador e o usuário que for operar o sistema. É sempre notado declarações de uma ou mais instâncias referidas ao tipo de objeto. Futuramente será mostrado o poder deste tipo de declarações quando falarmos sobre janela MDI ( Multiple Document Interface - Interface de documento múltiplos) gerenciando várias “janelas filhas”, não permitindo que estas “janelas filhas” saiam do espaço criado pela “janela pai”.

Adicionando alguns componentes ao formulário, veremos como o Delphi completará a aplicação escrevendo automaticamente o código, e permitindo que ao final tornar-se-á possível a

compilação (lembra-se do Clipper ©^ , com .EXE ), execução e distribuição da aplicação.

Em nosso formulário, colocaremos um botão que, em tempo de execução, ao ser dado um clique com o mouse sobre este objeto, o formulário mude sua cor. Aperte a tecla F12 para retornar a visão do formulário e na palheta de objetos ( Componnent Pallete ) clique no objeto ( button localizado na página Standard ) e clique no formulário. Na janela da Object Inspector clique na página Events e clique duas vezes sobre a ação OnClick e insira o seguinte código:

procedure TForm1.Button1Click(Sender: TObject); begin Form1.Color := clGreen; end ;

Reparando no código completo da aplicação, veremos:

unit Unit1;

interface

uses SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls, Forms, Dialogs;

type TForm1 = class (TForm) Button1: TButton; F 0 F 2Um novo dado foi aqui inserido procedure Button1Click(Sender: TObject); F 0 F 2Declarado um novo método private { Private declarations } public { Public declarations } end ;

var Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject); F 0 F 2O código do novo método begin Form1.Color := clGreen; end ;

end.

O novo objeto TForm1 agora apresenta um campo Button1 - o botão que você adicionou ao formulário. TButton e o tipo do objeto, e Button1 é o objeto botão propriamente dito. Com o tempo você colocará novos componentes ao formulário.

Rode o projeto, clicando no botão ( Run ), dê um clique no botão e veja o que acontece. Pare a aplicação fechando a janela com Alt+F.

F 0 2 B Só por curiosidade, salve este arquivo, feche-o e abra o arquivo^ UNIT1.DFM^ (com a opção File | Open File... ) notaremos que o Delphi criou um arquivo com todas as propriedades dos objetos criados e que a declaração do objeto Form1 engloba todos os outros, noções de Encapsulamento.

Renomeando os objetos e os componentes

Você sempre deve utilizar a janela do Object Inspector para renomear os objetos criados. Por exemplo, o nome padrão do formulário e Form1 mude a propriedade Name para fCores. O Delphi se encarregará de mudar qualquer referência que existia ao Form1. Então o código apresentará a seguinte modificações:

unit Unit1;

interface

uses SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls, Forms, Dialogs;

type TfCores = class (TForm) F 0 F 2Aqui foi modificado Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end ;

var fCores: TfCores; F 0 F 2Aqui foi modificado

implementation

Você pode imaginar que o formulário é um objeto que contém outros objetos. Sua aplicação ficará localizada em um formulário principal e este interagirá com outros formulários criados. É possível aumentar, mover ou ocupar completamente a tela do monitor, ou até mesmo ultrapassá-la. Um formulário básico inclui os seguintes componentes: Controles de menu; Botões de maximização e minimização; Barra de título; e Bordas redimensionáveis.

O código gerado, na área conhecida como Code Editor , fica exatamente atrás do objeto formulário, clique na barra de notas, em Unit1 , se alguma coisa for desconhecida para você, leia maiores explicações no Capítulo I.

F 0 2 B É possível enviar um formulário para a impressora, para isto existem duas maneiras:

  1. Tipo um PrintScreen de Tela, coloque o seguinte comando “[Nome do formulário].Print;” no evento onShow do formulário; ou Para imprimir um formulário no tamanho de um papel A4, através do uso de comandos da biblioteca Printer , veja o Apêndice D para maiores detalhes.

Code Editor

O editor de códigos providência total acesso ao código gerado pelo projeto, incluindo alguns dos mais poderosos recursos para a edição. Pode ser selecionado tipos de cores para os elementos do programa (como por exemplo comentários, palavras reservadas, códigos assembler, ...) para tanto a partir do menu principal entre em Tools | Options... , localize a página Colors.

F 0 2 B Para outras informações adicionais sobre o modo de usar este editor, procure referências no Help OnLine no tópico Code Editor.

Ao ser aberto um novo projeto, o Delphi gera automaticamente na página do Code Editor uma Unit com o arquivo código (.PAS). Para ver o código de uma Unit em particular, simplesmente Click na tabulação de página. O Code Editor mostrará sempre o nome do arquivo corrente ativo na tabulação de página.

F 0 2 B É possível alternar entre o objeto^ Form^ e a^ Code Editor^ através do pressionamento da tecla F12 , do botão botão ( Toggle Form/Unit ) da SpeedBar , ou ainda através das opções do menu View | Toggle Form/Unit. (curiosidade: o acesso rápido através da tecla Alt + Letra sublinhada para esta opção está marcado sobre a letra G )

Component Palette

Componentes (ou objetos) são os elementos que você usará para trabalhar com a aplicação. Foram incluídos objetos em várias páginas, tais como caixas de diálogos e botões, a palheta inclui também alguns espaços em branco para ser permitida a adição de novos objetos. Alguns objetos não serão visíveis enquanto a aplicação estiver executando, eles fazem parte do serviço da DDE ( Dynamic Data Exchange ).

Os objetos da palheta foram divididos em grupos de funcionalidade em diferentes páginas. Por exemplo, os objetos que representam as janelas tradicionais do Windows ©^ (tais como

fontes, palheta de cores, ...) foram colocados na página Dialogs da palheta.

Você poderá criar seus próprios objetos como também instalar outros já prontos, para isso foi colocado os espaços vazios. Por exemplo poderá ser instalado novos controles e objetos do

Visual Basic ©^ 4.0 (Objetos OCX - ou para os portadores do Delphi 1.0 o do Visual Basic ©^ 3.0 os objetos VBX). Uma das principais vantagens da POO é que muito em breve deverá ser colocado no mercado pacotes de objetos prontos para serem integrados aos sistemas o que facilitará ainda mais o desenvolvimento e a manutenção dos mesmos.

Object Inspector

Providência a conexão entre a interface visual e o código. É Composto por duas páginas Properties (propriedades) e Events (Eventos) que mostrará as propriedades e eventos do objeto selecionado.

Disponibiliza um fácil caminho para a personalização dos objetos. Você usará a página de Propriedades para personalizar os objetos colocados no formulário (inclusive o próprio formulário), e a página de Eventos para gerenciar a navegação entre certas partes do código do programa.

O seletor de objetos ( Object Selector - localizado em um objeto do tipo ComboBox no topo do Object Inspector ) mostra o nome e o tipo de todos os componentes do formulário corrente (inclusive o próprio). Você pode usar o seletor de objetos para localizar facilmente qualquer objeto no formulário.

SpeedBar

Contém os botões mais freqüentemente utilizados. Fornecendo deste modo um atalho de navegação ao menu principal do Delphi.

É possível a personalização da SpeedBar colocando nela os caminhos do menu principal que você mais utiliza, bastando para isso:

  1. Redimensione a SpeedBar. Para tanto posicione o cursor do mouse sobre o ponto de encontro da SpeedBar com a Component Palette conforme o desenho abaixo:
  2. Quando o cursor do mouse mudar de formato, clique o botão esquerdo do mouse e arraste abrindo a área da SpeedBar. Clique com o botão direito do mouse na área aberta, apareça um menu PullDown contendo entre outras opções a opção Properties , selecione-a. As categorias e os comando são divididos de acordo com o menu, clique em cima dos comandos disponíveis e arraste-os para a área aberta de acordo com a sua necessidade, para retirar os botões da SpeedBar faça o processo inverso.

Elementos não Visíveis