Sie sind auf Seite 1von 41

Linguagem Tcnica de Programao DELPHI Bsico

INDICE
1 Programao Windows............................................................................................................................................................. 3 1.1 1.2 1.3 1.4 Caractersticas .................................................................................................................................................................... 3 Baseado em Janelas ............................................................................................................................................................ 3 Tratamento a Eventos.......................................................................................................................................................... 3 Mensagens........................................................................................................................................................................... 3

1.5 Projeto de Interface............................................................................................................................................................. 4 1.5.1 Padronizao ............................................................................................................................................................... 4 1.5.2 Esquecer a programao DOS..................................................................................................................................... 4 1.5.3 Simplicidade................................................................................................................................................................ 4 2 DELPHI ..................................................................................................................................................................................... 5 2.1 2.2 2.3 2.4 Caractersticas do Delphi.................................................................................................................................................... 5 Arquivos Produzidos pelo Sistema ...................................................................................................................................... 6 Estrutura de um Projeto : Projeto (*.DPR), Units (*.PAS) e Forms (*.DFM) ................................................................... 6 Ambiente de Desenvolvimento Delphi................................................................................................................................. 6

2.5 Desenvolvendo Aplicativos.................................................................................................................................................. 7 2.5.1 Manipulando Componentes:........................................................................................................................................ 7 2.5.2 Alterando Propriedades dos Componentes em Tempo de Projeto............................................................................... 7 2.5.3 Escrevendo Procedimentos de Eventos ....................................................................................................................... 7 2.5.4 Alterando Propriedades em Tempo de execuo......................................................................................................... 7 2.5.5 Utilizando mtodos...................................................................................................................................................... 7 3 Estrutura de uma Unidade ....................................................................................................................................................... 8 3.1 Principais Procedimentos e Funes Pr definidas............................................................................................................ 9

3.2 Componentes - Propriedades, Eventos e Mtodos ............................................................................................................ 24 3.2.1 Propriedades Comuns................................................................................................................................................ 24 3.2.2 Eventos Comuns........................................................................................................................................................ 24 3.2.3 Mtodos Comuns....................................................................................................................................................... 25 3.3 3.4 Componentes ..................................................................................................................................................................... 26 Dilogos Comuns .............................................................................................................................................................. 38

3.5 Criando Aplicaes MDI................................................................................................................................................... 41 3.5.1 Definindo uma janela pai........................................................................................................................................... 41 3.5.2 Definindo uma janela filha ........................................................................................................................................ 41 3.5.3 Abrindo uma janela filha ........................................................................................................................................... 41

1 Programao Windows
1.1 Caractersticas

Ambiente Grfico (WYSIWYG) nfase a Interface com o usurio Orientao a Eventos Interface com o hardware definida em APIs (Interface de Programao de Aplicao) Baseado em Janelas Descrio No interfere nas demais janelas Desabilita a aplicao em execuo at que seja fechada Paralisa todo o sistema at que seja fechada Descrio a aplicao em si. Janela modal utilizada para entrada de informaes Janela que pode conter outras janelas em sua rea cliente Janela que est contida na rea cliente de outra janela Janela modal que informa o usurio sobre a execuo de uma tarefa

1.2

Forma de Apresentao No-Modal Modal System-Modal Tipo Principal Caixa de Dilogo MDI Principal MDI Child Mensagem 1.3

Tratamento a Eventos

O sistema ou ambiente operacional e os usurios interagem com os aplicativos atravs de eventos Os eventos so reconhecidos pelo sistema, transformados em informaes teis aos programas (mensagens) e despachados para a janela alvo, a qual ir ou no trat-lo Para Cada programa existe um loop de mensagens permitindo que este receba suas mensagens at que chegue uma ordenando a finalizao do programa 1.4 Mensagens Descrio Entrada de Mouse e Teclado Notificao, Solicitao de ao, Consulta Menu, Ponteiro de mouse, barra de rolagem, quadros de dilogo, MDI Encerramento do sistema ou da aplicao Controles de caixas de dilogo Alterao de cor, fonte, spooler, modos dos dispositivos rea de transferncia, DDE e OLE Mensagens no documentadas

Tipo Hardware Manuteno da Janela Manuteno da Interface Terminao Privado Notificao de Recursos do Sistema Compartilhamento de Dados Interna do Sistema

1.5 1.5.1

Projeto de Interface Padronizao

Tomar como base as aplicaes existentes, principalmente as da Microsoft. Utilizar menus com as opes Arquivo, Editar, Janela e Ajuda. Usar botes de acesso rpido. Utilizar teclas de atalho. Enfatizar imagens. Esquecer a programao DOS

1.5.2

No utilizar mltiplos nveis de menu. No exagerar em cores diferentes. Utilizar a tecla TAB para passar de um campo para outro. Utilizar a tecla ENTER ou um boto para executar aes. Simplicidade

1.5.3

Procurar facilidade de uso. Permitir liberdade de ao. Permitir diferentes maneiras de se alcanar o mesmo resultado. Procurar as solues mais intuitivas. Procurar adotar os smbolos que o usurio j esteja acostumado.

2 DELPHI
2.1 Caractersticas do Delphi

Gera um executvel verdadeiro, independente de run-time. Utiliza um dialeto da linguagem Object Pascal para escrever os procedimentos do programa. Utiliza o processo de desenvolvimento Two-Way, que permite tanto escrever o cdigo em Object Pascal gerando os objetos visuais, como utilizar os mtodos visuais gerando cdigo em Object Pascal. Os componentes so definidos como objetos, o que permite a herana. Permite a criao de novos componentes na prpria linguagem. Possui acesso facilitado a banco de dados. Possui ambiente de depurao integrado. Possui componenete para a internet Caractersticas da Programao Delphi Um programa Delphi uma estrutura de aplicativo Orientada ao desenho de formulrios ou janelas. Interface com usurio feita atravs de componentes Contm um conjunto de controles pr-desenvolvidos que do acesso s caractersticas do sistema. Os componentes so objetos Cada controle ou componente possui propriedades, mtodos e pode responder a eventos. As propriedades podem ter seus valores definidos em tempo de desenvolvimento e alterados em tempo de execuo. Os eventos so as mensagens que cada componente pode responder, tendo associado a eles um procedimento de evento. Elementos da Programao Delphi : Elemento Formulrio (Form) Unidade (Unit) Componente Propriedade Mtodo Evento Processador de Evento Projeto (Project) Descrio uma janela, elemento bsico onde agrupamos os componentes para formar a interface com o usurio. Arquivo que contm cdigo em object pascal. Para cada formulrio existe uma unidades associada Objetos utilizados para a construo das nossas aplicaes (projeto). Representam os atributos dos componentes Procedimento ou funo prpria do objeto. Representam a capacidade de resposta dos componentes aos estmulos Procedimento responsvel por responder a determinado evento Conjunto de formulrios, componentes e unidades que compem uma aplicao

2.2 EXT BMP, ICO DCU DFM ~DF DPR ~DP DSK DSM EXE OPT PAS

Arquivos Produzidos pelo Sistema Tipo 2.2.1.1 Arquivos grficos Unidade Compilada Delphi Arquivo de formulrio grfico Backup de DFM Arquivo de Projeto Backup de Projeto Configuraes de Desktop Dados do Object Browser Arquivo executvel linkeditado Opes do Projeto Cdigo-fonte de uma unidade Descrio Arquivos de imagens nos formatos BitMaP e ICOne Resultam da compilao de um arquivo PAS Arquivo binrio contendo as propriedades e componentes de um formulrio Backup de um arquivo DFM Escrito em Object Pascal contendo os componentes de um projeto e permite uso de cdigo de inicializao do projeto Backup de um arquivo DPR Arquivo texto contendo as informaes sobre a posio das janelas, os arquivos abertos no editor e outras configuraes de Desktop Armazena as informaes do Object Browser Arquivo executvel contendo as unidades, recursos e formulrios compilados de um projeto Arquivo de teste com as configuraes atuais para as opes do projeto Arquivo contendo o cdigo fonte de uma unit em object pascal, o qual pode ser de um formulrio ou arquivo fonte independente. Sendo de um formulrio contm a sua definio de classe e cdigo dos seus manipuladores de eventos Backup de um arquivo PAS Arquivo binrio associado ao projeto contendo recursos compilados, por padro contem o cone do projeto

~PA RES

Backup de um PAS Arquivo de recursos compilado

2.3 2.4

Estrutura de um Projeto : Projeto (*.DPR), Units (*.PAS) e Forms (*.DFM) Ambiente de Desenvolvimento Delphi Menu Principal Speed Bar Paleta de Componentes Object Inspector (Propriedades e Eventos) Editor de Formulrio Editor de Cdigo Multiplas Janelas (View/New Edit Window) Complemeto do Cdigo (Exibe automaticamente as Propriedades e Mtodos dos Objetos) Parmetros Automticos (Exibe automaticamente os Parmetros de Mtodos) Vizualizao automtica de variveis na depurao Templates de Cdigo (Tools/Environment Options/Code Insight Ctrl+J) Busca de Texto por todo o Projeto (Search/Find in Files) Marcando Blocos em colunas (Alt+Seleo) Marcando Posies no Cdigo (Ctrl+K+n = Marca, Ctrl+Q+n = Movimenta)

2.5 2.5.1

Desenvolvendo Aplicativos Manipulando Componentes:

Acrescentando Selecionando Movendo Sobrepondo Alinhando Redimensionando Cortando, Copiando e Colando Criando Ordem de Acesso (Tab Order) Fixando Alterando Propriedades dos Componentes em Tempo de Projeto

2.5.2

1. Selecione o Componente, depois mude a propriedade no Object Inspector 2. Editor de Propriedade : Simples, Lista Suspensa, Caixa de Dialogo e Propriedades Aninhadas 2.5.3 Escrevendo Procedimentos de Eventos

Selecione o Componente, escolha, na Object Inspector, o evento a ser respondido e Click-Duplo na coluna direita, e ento escreva o procedimento 2.5.4 Alterando Propriedades em Tempo de execuo

Componente.Propriedade := NovoValor OBS: Quando a propriedade for aninhada use Componente.Propriedade := Componente.Propriedade [ConstanteDaPropriedade] 2.5.5 Utilizando mtodos

Componente.Mtodo

3 Estrutura de uma Unidade


unit Unit1; interface uses SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} end.

3.1

Principais Procedimentos e Funes Pr definidas

procedure Beep; Toca um beep procedure ChDir(S: string); Troca o diretrio corrente para o diretrio especificado em S.
begin {$I-} { Change to directory specified in Edit1 } ChDir(Edit1.Text); if IOResult <> 0 then MessageDlg('Cannot find directory', mtWarning, [mbOk], 0); end;

function Chr(X: Byte): Char; Retorna o caracter com o cdigo ASCII X


begin Canvas.TextOut(10, 10, Chr(65)); end; { The letter 'A'}

function Concat(s1 [, s2,..., sn]: string): string; Concatena as strings


var S: string; begin S := Concat('ABC', 'DEF'); end;

{ 'ABCDE' }

function Copy(S: string; Index, Count: Integer): string; Retorna uma substring de S, comeando a partir de Index e tendo Count caracters The Copy function returns a substring of a string.
var S: string; begin S := 'ABCDEF'; S := Copy(S, 2, 3); { 'BCD' } end;

function CreateDir(const Dir: string): Boolean; Cria um novo diretrio e retorna o sucesso da operao function Date: TDateTime; Retorna a Data atual
procedure TForm1.Button1Click(Sender: TObject); begin Label1.Caption := 'Today is ' + DateToStr(Date); end;

function DateToStr(Date: TDateTime): string; Converte Data para String


procedure TForm1.Button1Click(Sender: TObject); begin Label1.Caption := DateToStr(Date); end;

function DayOfWeek(Date: TDateTime): Integer; Retorna o dia da semana especificado entre 1 e 7, onde domigo um e Sbado 7
procedure TForm1.Button1Click(Sender: TObject); var ADate: TDateTime; begin ADate := StrToDate(Edit1.Text); Label1.Caption := 'Day ' + IntToStr(DayOfWeek(ADate)) + ' of the week'; end;

procedure DecodeDate(Date: TDateTime; var Year, Month, Day: Word); Quebra os valores especificados no parmetro Date em Year, Month e Day.
procedure TForm1.Button1Click(Sender: TObject); var Present: TDateTime; Year, Month, Day, Hour, Min, Sec, MSec: Word; begin Present:= Now; DecodeDate(Present, Year, Month, Day); Label1.Caption := 'Today is Day ' + IntToStr(Day) + ' of Month ' + IntToStr(Month) + ' of Year ' + IntToStr(Year); DecodeTime(Present, Hour, Min, Sec, MSec); Label2.Caption := 'The time is Minute ' + IntToStr(Min) + ' of Hour ' + IntToStr(Hour); end;

procedure DecodeTime(Time: TDateTime; var Hour, Min, Sec, MSec: Word); Quebra os valores especificados em Time nos par6ametros Hour, Min, Sec e MSec.
procedure TForm1.Button1Click(Sender: TObject); var Present: TDateTime; Year, Month, Day, Hour, Min, Sec, MSec: Word; begin Present:= Now; DecodeDate(Present, Year, Month, Day); Label1.Caption := 'Today is Day ' + IntToStr(Day) + ' of Month ' + IntToStr(Month) + ' of Year ' + IntToStr(Year); DecodeTime(Present, Hour, Min, Sec, MSec); Label2.Caption := 'The time is Minute ' + IntToStr(Min) + ' of Hour ' + IntToStr(Hour); end;

procedure Delete(var S: string; Index, Count:Integer); Remove a substring de Count caracters da string S partir da posio Index
var s: string; begin s := 'Honest Abe Lincoln'; Delete(s,8,4); Canvas.TextOut(10, 10, s); { 'Honest Lincoln' } end;

function DeleteFile(const FileName: string): Boolean;

Apaga o arquivo FileName do disco. Se o arquivo no puder ser apagado a funo retorna False.
DeleteFile('DELETE.ME');

function DirectoryExists(Name: string): Boolean; Verifica se Name diretorio existe

10

function DiskFree(Drive: Byte): Integer; Retorna o nmero de bytes livre no driver especificado em Drive. Onde : 0 = Corrente, 1 = A, 2 = B,... DiskFree retorna 1 se o driver for invlido
var S: string; begin S := IntToStr(DiskFree(0) div 1024) + ' Kbytes free.'; Canvas.TextOut(10, 10, S); end;

function DiskSize(Drive: Byte): Integer; Retorna o tamanho em bytes do driver especificado. Onde : 0 = Corrente, 1 = A, 2 = B,... DiskFree retorna 1 se o driver for invlido
var S: string; begin S := IntToStr(DiskSize(0) div 1024) + ' Kbytes capacity.'; Canvas.TextOut(10, 10, S); end;

function EncodeDate(Year, Month, Day: Word): TDateTime; Retorna uma Data formada por Year, Month e Day
procedure TForm1.Button1Click(Sender: TObject); var MyDate: TDateTime; begin MyDate := EncodeDate(83, 12, 31); Label1.Caption := DateToStr(MyDate); end;

function EncodeTime(Hour, Min, Sec, MSec: Word): TDateTime; Retorna a Hora formada por Hour, Min, Sec e MSec
procedure TForm1.Button1Click(Sender: TObject); var MyTime: TDateTime; begin MyTime := EncodeTime(0, 45, 45, 7); Label1.Caption := TimeToStr(MyTime); end;

function ExtractFileDir(const FileName: string): string; Retorna o diretrio adequado para ser passado para as funes CreateDir, GetCurrentDir, RemoveDir e SetCurrentDir. O resultado da funo uma string vazia se FileName no contiver um drive e um caminho. function ExtractFileDrive(const FileName: string): string; Retorna uma string contendo o drive do path de um arquivo. function ExtractFileExt(const FileName: string): string; Retorna a extenso do arquivo FileName function ExtractFileName(const FileName: string): string; Retorna o nome do arquivo
Form1.Caption := 'Editing '+ ExtractFileName(FileName);

function ExtractFilePath(const FileName: string): string; Retorna o Path de um arquivo


ChDir(ExtractFilePath(FileName));

function FileAge(const FileName: string): Integer; Retorna a data e a hora de um arquivo num valor que pode ser convertido para TDateTime atravs da funo FileDateToDateTime. Retorna 1 se o arquivo no existir 11

function FileExists(const FileName: string): Boolean; Retorna verdade se o arquivo existir


if FileExists(FileName) then if MsgBox('Do you really want to delete ' + ExtractFileName(FileName) + '?'), []) = IDYes then DeleteFile(FileName);

function FileSize(var F): Integer; Retorna o tamanho de um arquivo, para usar FileSize o arquivo deve esta aberto. Se o arquivo estiver vazio FileSize(F) retorna 0. F uma variavel do tipo arquivo. FileSize no pode ser usada com arquivo texto
var f: file of Byte; size : Longint; S: string; y: integer; begin if OpenDialog1.Execute then begin AssignFile(f, OpenDialog1.FileName); Reset(f); size := FileSize(f); S := 'File size in bytes: ' + IntToStr(size); y := 10; Canvas.TextOut(5, y, S); y := y + Canvas.TextHeight(S) + 5; S := 'Seeking halfway into file...'; Canvas.TextOut(5, y, S); y := y + Canvas.TextHeight(S) + 5; Seek(f,size div 2); S := 'Position is now ' + IntToStr(FilePos(f)); Canvas.TextOut(5, y, S); CloseFile(f); end; end;

procedure FillChar(var X; Count: Integer; value: Byte); Preenche um vetor com determinado caracter. Value pode ser um byte ou char
var S: array[0..79] of char; begin { Set to all spaces } FillChar(S, SizeOf(S), ' '); end;

function FloatToStr(Value: Extended): string; Converte um valor em ponto flutuante (real) para uma string procedure ForceDirectories(Dir: string); Cria multiplos diretrios de uma s vez
procedure TForm1.Button1Click(Sender: TObject); var Dir: string; begin Dir := 'C:\APPS\SALES\LOCAL'; ForceDirectories(Dir); if DirectoryExists(Dir) then Label1.Caption := Dir + ' was created' end;

12

function FormatDateTime(const Format: string; DateTime: TDateTime): string; Formata o valor DateTime usando o formato de Format. Os especificadores de formato abaixo so vlidos Specifier Displays c Displays the date using the format given by the ShortDateFormat global variable, followed by the time using the format given by the LongTimeFormat global variable. The time is not displayed if the fractional part of the DateTime value is zero. d Displays the day as a number without a leading zero (1-31). dd Displays the day as a number with a leading zero (01-31). ddd Displays the day as an abbreviation (Sun-Sat) using the strings given by the ShortDayNames global variable. dddd Displays the day as a full name (Sunday-Saturday) using the strings given by the LongDayNames global variable. ddddd Displays the date using the format given by the ShortDateFormat global variable. dddddd Displays the date using the format given by the LongDateFormat global variable. m Displays the month as a number without a leading zero (1-12). If the m specifier immediately follows an h or hh specifier, the minute rather than the month is displayed. mm Displays the month as a number with a leading zero (01-12). If the mm specifier immediately follows an h or hh specifier, the minute rather than the month is displayed. mmm Displays the month as an abbreviation (Jan-Dec) using the strings given by the ShortMonthNames global variable. mmmm Displays the month as a full name (January-December) using the strings given by the LongMonthNames global variable. yy Displays the year as a two-digit number (00-99). yyyy Displays the year as a four-digit number (0000-9999). h Displays the hour without a leading zero (0-23). hh Displays the hour with a leading zero (00-23). n Displays the minute without a leading zero (0-59). nn Displays the minute with a leading zero (00-59). s Displays the second without a leading zero (0-59). ss Displays the second with a leading zero (00-59). t Displays the time using the format given by the ShortTimeFormat global variable. tt Displays the time using the format given by the LongTimeFormat global variable. am/pm Uses the 12-hour clock for the preceding h or hh specifier, and displays 'am' for any hour before noon, and 'pm' for any hour after noon. The am/pm specifier can use lower, upper, or mixed case, and the result is displayed accordingly. a/p Uses the 12-hour clock for the preceding h or hh specifier, and displays 'a' for any hour before noon, and 'p' for any hour after noon. The a/p specifier can use lower, upper, or mixed case, and the result is displayed accordingly. ampm Uses the 12-hour clock for the preceding h or hh specifier, and displays the contents of the TimeAMString global variable for any hour before noon, and the contents of the TimePMString global variable for any hour after noon. / Displays the date separator character given by the DateSeparator global variable. : Displays the time separator character given by the TimeSeparator global variable. 'xx'/"xx" Characters enclosed in single or double quotes are displayed as-is, and do not affect formatting. Format specifiers may be written in upper case as well as in lower case letters--both produce the same result. If the string given by the Format parameter is empty, the date and time value is formatted as if a 'c' format specifier had been given.
S := FormatDateTime('"The meeting is on" dddd, mmmm d, yyyy, ' + '"at" hh:mm AM/PM', StrToDateTime('2/15/95 10:30am'));

13

function FormatFloat(const Format: string; Value: Extended): string; Transforma um Float numa string usando a formatao contida em Format Os especificadores de formato abaixo so vlidos Specifier Represents 0 Digit place holder. If the value being formatted has a digit in the position where the '0' appears in the format string, then that digit is copied to the output string. Otherwise, a '0' is stored in that position in the output string. # Digit placeholder. If the value being formatted has a digit in the position where the '#' appears in the format string, then that digit is copied to the output string. Otherwise, nothing is stored in that position in the output string. . Decimal point. The first '.' character in the format string determines the location of the decimal separator in the formatted value; any additional '.' characters are ignored. The actual character used as a the decimal separator in the output string is determined by the DecimalSeparator global variable. The default value of DecimalSeparator is specified in the Number Format of the International section in the Windows Control Panel. , Thousand separator. If the format string contains one or more ',' characters, the output will have thousand separators inserted between each group of three digits to the left of the decimal point. The placement and number of ',' characters in the format string does not affect the output, except to indicate that thousand separators are wanted. The actual character used as a the thousand separator in the output is determined by the ThousandSeparator global variable. The default value of ThousandSeparator is specified in the Number Format of the International section in the Windows Control Panel. E+ Scientific notation. If any of the strings 'E+', 'E-', 'e+', or 'e-' are contained in the format string, the number is formatted using scientific notation. A group of up to four '0' characters can immediately follow the 'E+', 'E-', 'e+', or 'e-' to determine the minimum number of digits in the exponent. The 'E+' and 'e+' formats cause a plus sign to be output for positive exponents and a minus sign to be output for negative exponents. The 'E-' and 'e-' formats output a sign character only for negative exponents. 'xx'/"xx" Characters enclosed in single or double quotes are output as-is, and do not affect formatting. ; Separates sections for positive, negative, and zero numbers in the format string. The locations of the leftmost '0' before the decimal point in the format string and the rightmost '0' after the decimal point in the format string determine the range of digits that are always present in the output string. The number being formatted is always rounded to as many decimal places as there are digit placeholders ('0' or '#') to the right of the decimal point. If the format string contains no decimal point, the value being formatted is rounded to the nearest whole number. If the number being formatted has more digits to the left of the decimal separator than there are digit placeholders to the left of the '.' character in the format string, the extra digits are output before the first digit placeholder. To allow different formats for positive, negative, and zero values, the format string can contain between one and three sections separated by semicolons. One section: The format string applies to all values. Two sections: The first section applies to positive values and zeros, and the second section applies to negative values. Three sections: The first section applies to positive values, the second applies to negative values, and the third applies to zeros. If the section for negative values or the section for zero values is empty, that is if there is nothing between the semicolons that delimit the section, the section for positive values is used instead. If the section for positive values is empty, or if the entire format string is empty, the value is formatted using general floatingpoint formatting with 15 significant digits, corresponding to a call to FloatToStrF with the ffGeneral format. General floatingpoint formatting is also used if the value has more than 18 digits to the left of the decimal point and the format string does not specify scientific notation. 0 1234 0.00 1234.00 #.## 1234 #,##0.00 1,234.00 #,##0.00;(#,##0.00) 1,234.00 #,##0.00;;Zero 1,234.00 0.000E+00 1.234E+03 #.###E-0 1.234E3 function Frac(X: Real): Real; Retorna a parte fracional do parmetro X
var R: Real; begin R := Frac(123.456); R := Frac(-123.456); end;

-1234 -1234.00 -1234 -1,234.00 (1,234.00) -1,234.00 -1.234E+03 -1.234E3

1 0.50 .5 0.50 0.50 0.50 5.000E-01 5E-1

0 0.00 0.00 0.00 Zero 0.000E+00 0E0

{ 0.456 } { -0.456 }

14

function GetCurrentDir: string; Retorna uma string contendo o diretrio corrente procedure GetDir(D: Byte; var S: string); Rerorna o diretrio corrente do driver especificado. O onde D pode ser : Value 0 1 2 3 Drive Corrente A B C

var s : string; begin GetDir(0,s); { 0 = Current drive } MessageDlg('Current drive and directory: ' + s, mtInformation, [mbOk] , 0); end;

procedure Inc(var X [ ; N: Longint ] ); Incrementa de uma ou N unidades o parmetro X


var IntVar: Integer; LongintVar: Longint; begin Inc(IntVar); { IntVar := IntVar + 1 } Inc(LongintVar, 5); { LongintVar := LongintVar + 5 } end;

function IncMonth(const Date: TDateTime; NumberOfMonths: Integer): TDateTime; Retorna Date acrescido ou decrescido de NumberOfMonths meses. function InputBox(const ACaption, APrompt, ADefault: string): string; Exibe uma Caixa de Entrada onde o usurio pode digitar uma string. ACaption representa o ttulo do Input Box e APrompt o ttulo do edit e ADefault representa o valor inicial do Edit.
uses Dialogs; procedure TForm1.Button1Click(Sender: TObject); var InputString: string; begin InputString:= InputBox('Input Box', 'Prompt', 'Default string'); end;

function InputQuery(const ACaption, APrompt: string; var Value: string): Boolean; Semelhante ao InputBox, sendo que retorna True se o usurio fechou a O InputBox com OK e False se fechou com Cancel ou ESC. E Value armazena a string digitada.
procedure TForm1.Button1Click(Sender: TObject); var NewString: string; ClickedOK: Boolean; begin NewString := 'Default String'; Label1.Caption := NewString; ClickedOK := InputQuery('Input Box', 'Prompt', NewString); if ClickedOK then { NewString contains new input string } Label1.Caption := 'The new string is ''' + NewString + ''''; end;

15

procedure Insert(Source: string; var S: string; Index: Integer); Insere uma string em outra a partir da posio Index
var S: string; begin S := 'Honest Lincoln'; Insert('Abe ', S, 8); end;

{ 'Honest Abe Lincoln' }

function IntToHex(Value: Integer; Digits: Integer): string; Converte o inteiro Value num Hexadecimal (Base 16). Digits indica o nmero mnimo de dgitos Hexa a serem retornados
procedure TForm1.Button1Click(Sender: TObject); begin Edit2.Text := IntToHex(StrToInt(Edit1.Text), 6); end;

function IntToStr(Value: Integer): string; Trasnforma um Inteiro numa String


procedure TForm1.Button1Click(Sender: TObject); var Value: Integer; begin Value := 1234; Edit1.Text := IntToStr(Value); end;

function IsValidIdent(const Ident: string): Boolean; Indica se um identificador vlido para o Pascal function Length(S: string): Integer; retorna o nmero de caracters usados na string S
var S: string; begin S := 'The Black Knight'; Canvas.TextOut(10, 10, 'String Length = ' + IntToStr(Length(S))); end;

function MaxIntValue(const Data: array of Integer): Integer; Retorna o maior inteiro de um vetor function MaxValue(const Data: array of Double): Double; Retorna o maior valor de um vetor function Mean(const Data: array of Double): Extended; Retorna a mdia aritmtica de um vetor

16

function MessageDlg(const Msg: string; AType: TMsgDlgType; AButtons: TMsgDlgButtons; HelpCtx: Longint): Word; Exibe uma Caixa de Mensagem e obtem uma resposta do usurio. Onde 3.1.1.1.1 Msg : Mensagem AType : Tipo da caixa de mensagem Value Meaning mtWarning A message box containing a yellow exclamation point symbol. mtError A message box containing a red stop sign. mtInformation A message box containing a blue "i". mtConfirmation A message box containing a green question mark. mtCustom A message box with no bitmap. The caption of the message box is the name of the application's executable file. 3.1.1.1.2 AButtons : Quais botes aparecero na caixa de mensagem Meaning A button with the text 'Yes' on its face A button with the text 'No' on its face A button with the text 'OK' on its face A button with the text 'Cancel' on its face A button with the text 'Help' on its face A button with the text 'Abort' on its face A button with the text 'Retry' on its face A button with the text 'Ignore' on its face A button with the text 'All' on its face Puts Yes, No, and Cancel buttons in the message box Puts t OK and Cancel buttons in the message box Puts Abort, Retry, and Ignore buttons in the message box

Value mbYes mbNo mbOK mbCancel mbHelp mbAbort mbRetry mbIgnore mbAll mbYesNoCancel mbOkCancel mbAbortRetryIgnore

MessageDlg returns the value of the button the user selected. These are the possible return values: 3.1.1.1.2.1 mrNone mrOk mrCancel Return values mrYes mrNo mrAll

mrAbort mrRetry mrIgnore

procedure TForm1.Button1Click(Sender: TObject); begin if MessageDlg('Welcome to my Object Pascal application. Exit now?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then begin MessageDlg('Exiting the Object Pascal application.', mtInformation, [mbOk], 0); Close; end; end;

function MessageDlgPos(const Msg: string; AType: TMsgDlgType; AButtons: TMsgDlgButtons; HelpCtx: Longint; X, Y: Integer): Word; Semelhante a MessageDlg exceto por permitir indicar a posio na qual a janela ser exibida
procedure TForm1.Button1Click(Sender: TObject); begin MessageDlgPos('Are you there?',mtConfirmation, mbYesNoCancel, 0, 200, 200); end;

function MinIntValue(const Data: array of Integer): Integer; Retorna o menor inteiro do vetor function MinValue(const Data: array of Double): Double; Retorna o menor valor de um vetor

17

procedure MkDir(S: string); Cria um novo diretrio


uses Dialogs; begin {$I-} { Get directory name from TEdit control } MkDir(Edit1.Text); if IOResult <> 0 then MessageDlg('Cannot create directory', mtWarning, [mbOk], 0) else MessageDlg('New directory created', mtInformation, [mbOk], 0); end;

function Now: TDateTime; Retorna a data e a hora corrente


procedure TForm1.Button1Click(Sender: TObject); begin Label1.Caption := 'The date and time is ' + Str(Now); end;

function Ord(X): Longint; Retorna a ordem de um valor ordinal


uses Dialogs; type Colors = (RED,BLUE,GREEN); var S: string; begin S := 'BLUE has an ordinal value of ' + IntToStr(Ord(BLUE)) + #13#10; S := 'The ASCII code for "c" is ' + IntToStr(Ord('c')) + ' decimal'; MessageDlg(S, mtInformation, [mbOk], 0); end;

function Pi: Extended; Retorna o valor de PI 3.1415926535897932385. function Pos(Substr: string; S: string): Integer; Procura por uma sub-string numa string e retorna a posio da primeira ocorrncia ou zero se no encontrou
var S: string; begin S := ' 123.5'; { Convert spaces to zeroes } while Pos(' ', S) > 0 do S[Pos(' ', S)] := '0'; end;

function Power(Base, Exponent: Extended): Extended; Potncia

18

function Pred(X); Retorna o predecessor de um ordinal


uses Dialogs; type Colors = (RED,BLUE,GREEN); var S: string; begin S := 'The predecessor of 5 is ' + IntToStr(Pred(5)) + #13#10; S := S + 'The successor of 10 is ' + IntToStr(Succ(10)) + #13#10; if Succ(RED) = BLUE then S := S + 'In the type Colors, RED is the predecessor of BLUE.'; MessageDlg(S, mtInformation, [mbOk], 0); end;

function Random [ ( Range: Integer) ]; Retorna um valor Randmico 0 <= X < Range.
var I: Integer; begin Randomize; for I := 1 to 50 do begin { Write to window at random locations } Canvas.TextOut(Random(Width), Random(Height), 'Boo!'); end; end;

procedure Randomize; Inicializa o modo Randomico


var I: Integer; begin Randomize; for I := 1 to 50 do begin { Write to window at random locations } Canvas.TextOut(Random(Width), Random(Height), 'Boo!'); end; end;

function RemoveDir(const Dir: string): Boolean; Remove um diretrio retornando True caso tenha conseguido e False caso contrrio procedure Rename(var F; Newname);

F is a variable of any file type. Newname is a string-type expression or an expression of type PChar
uses Dialogs; var f : file; begin OpenDialog1.Title := 'Choose a file... '; if OpenDialog1.Execute then begin SaveDialog1.Title := 'Rename to...'; if SaveDialog1.Execute then begin AssignFile(f, OpenDialog1.FileName); Canvas.TextOut(5, 10, 'Renaming ' + OpenDialog1.FileName + ' to ' + SaveDialog1.FileName); Rename(f, SaveDialog1.FileName); end; end; end;

19

function RenameFile(const OldName, NewName: string): Boolean; Renomeia arquivos e retorna o sucesso ou insucesso
The following code renames a file: if not RenameFile('OLDNAME.TXT','NEWNAME.TXT') then ErrorMsg('Error renaming file!');

procedure RmDir(S: string); Remove um diretrio


uses Dialogs; begin {$I-} { Get directory name from TEdit control } RmDir(Edit1.Text); if IOResult <> 0 then MessageDlg('Cannot remove directory', mtWarning, [mbOk], 0) else MessageDlg('Directory removed', mtInformation, [mbOk], 0); end;

function Round(X: Extended): Longint; Arredonda um nmero real function SelectDirectory(var Directory: string; Options: TSelectDirOpts; HelpCtx: Longint):Boolean; Exibe um Caixa de Dialogo para seleo de Diretrio. O Diretrio passado para a funo aparece como diretrio corrente e o diretrio escolhido retonado no mesmo Diretrio (Directory). O valor do diretrio corrente no alterado These are the possible values that can be added to the Options set: Value Meaning sdAllowCreate An edit box appears to allow the user to type in the name of a directory that does not exist. This option does not create a directory, but the application can access the Directory parameter to create the directory selected if desired. sdPerformCreate Used only when Options contains sdAllowCreate. If the user enters a directory name that does not exist, SelectDirectory creates it. sdPrompt Used when Options contains sdAllowCreate. Displays a message box that informs the user when the entered directory does not exist and asks if the directory should be created. If the user chooses OK, the directory is created if Options contains sdPerformCreate. If Options does not contain sdPerformCreate, the directory is not created: the application should create it when SelectDirectory returns. The function returns True if the user selected a directory and chose OK, and False if the user chose Cancel or closed the dialog box without selecting a directory.
This example uses a button on a form. When the user clicks the button, a Select Directory dialog box appears. The current directory displayed in the dialog box is C:\MYDIR. The user can select a directory from the directory list, or enter a new directory in the edit box. If the user enters a new directory, a message box asks the user if the directory should be created. If the user chooses Yes, the directory is created. If the user chooses No, the message box goes away without creatubg the directory. The name of the directory the user selects appears as the caption of the label: uses FileCtrl; procedure TForm1.Button1Click(Sender: TObject); var Dir: string; begin Dir := 'C:\MYDIR'; if SelectDirectory(Dir, [sdAllowCreate, sdPerformCreate, sdPrompt]) then Label1.Caption := Dir; end;

function SetCurrentDir(const Dir: string): Boolean; Torna o Dir o diretrio corrente e retorna o sucesso da operao procedure SetLength(var S: string; NewLength: Integer); Coloca um novo tamanho para uma string S[0] := NewLength.

20

procedure ShowMessage(const Msg: string); Exibe uma mensagem ao usurio


procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage('Push this button'); end;

function Sqr(X: Extended): Extended; Retorna o quadrado de X function Sqrt(X: Extended): Extended; Retorna a raiz quadrada de X function StrComp(Str1, Str2 : PChar): Integer; Compara duas strings em case sensitivity Return value Condition <0 if Str1< Str2 =0 if Str1= Str2 >0 if Str1 > Str2 function StringOfChar(Ch: Char; Count: Integer): string; Retorna uma string contendo Count caracters Ch
S := StringOfChar('A', 10); {sets S to the string 'AAAAAAAAAA'}

function StrToDate(const S: string): TDateTime; Converte uma string em data


procedure TForm1.Button1Click(Sender: TObject); var ADate: TDateTime; begin ADate := StrToDate(Edit1.Text); Label1.Caption := DateToStr(ADate); end;

function StrToDateTime(const S: string): TDateTime; Convrete uma string para o formato DateTime
procedure TForm1.Button1Click(Sender: TObject); var ADateAndTime: TDateTime; begin ADateAndTime := StrToDateTime(Edit1.Text); Label1.Caption := DateTimeToStr(ADateAndTime); end;

function StrToFloat(const S: string): Extended; Converte uma string num Float function StrToInt(const S: string): Integer; Converte uma string num inteiro
procedure TForm1.Button1Click(Sender: TObject); var S: string; I: Integer; begin S := '22467'; I := StrToInt(S); Inc(I); Edit1.Text := IntToStr(I); end;

21

function StrToTime(const S: string): TDateTime; Converte uma string em hora


procedure TForm1.Button1Click(Sender: TObject); var ATime: TDateTime; begin ATime := StrToTime(Edit1.Text); Label1.Caption := TimeToStr(ATime); end;

function Succ(X); Retorna o sucessor de um ordinal


uses Dialogs; type Colors = (RED,BLUE,GREEN); var S: string; begin S := 'The predecessor of 5 is ' + IntToStr(Pred(5)) + #13#10; S := S + 'The successor of 10 is ' + IntToStr(Succ(10)) + #13#10; if Succ(RED) = BLUE then S := S + 'In the type Colors, RED is the predecessor of BLUE.'; MessageDlg(S, mtInformation, [mbOk], 0); end;

function Sum(const Data: array of Double): Extended register; Calcula a soma de dos elementos de um vetor function SumInt(const Data: array of Integer): Integer register; Calcula a soma dos elementos de um vetor de inteiros function Time: TDateTime; Retorna a hora corrente
procedure TForm1.Button1Click(Sender: TObject); begin Label1.Caption := 'The time is ' + TimeToStr(Time); end;

function TimeToStr(Time: TDateTime): string; Converte hora para string


procedure TForm1.Button1Click(Sender: TObject); begin Label1.Caption := TimeToStr(Time); end;

function Trim(const S: string): string; Retira os espaos em brancos a esquerda e a direita da string S function TrimLeft(const S: string): string; Retira os espaos em brancos a esquerda da string S function TrimRight(const S: string): string; Retira os espaos em brancos a direita da string S function Trunc(X: Extended): Longint; Retorna a parte inteira de um nmero

22

function UpCase(Ch: Char): Char; Converte o caracter Ch em maiscula


uses Dialogs; var s : string; i : Integer; begin { Get string from TEdit control } s := Edit1.Text; for i := 1 to Length(s) do s[i] := UpCase(s[i]); MessageDlg('Here it is in all uppercase: ' + s, mtInformation, [mbOk], 0); end;

function UpperCase(const S: string): string; Converte a string S em maisculas


procedure TForm1.Button1Click(Sender: TObject); var I: Integer; begin for I := 0 to ListBox1.Items.Count -1 do ListBox1.Items[I] := UpperCase(ListBox1.Items[I]); end;

23

3.2 3.2.1

Componentes - Propriedades, Eventos e Mtodos Propriedades Comuns

Nome Align

Descrio Determina como o componente ser alinhado no seu container [alNone, alTop, alBottom, alLeft, alRight, alClient] Caption Legenda do componente (& indica a tecla de atalho) Cursor Desenho que representa o cursor da mouse [crDefault, crNone, crArrow, crCross, crIBeam, crSize, crSizeNESW, crSizeNS, crSizeNWSE, crSizeWE, crUpArrow, crHourGlass, crDrag, crNoDrop, crHSplit, crVSplit, crMultiDrag, crSQLWait, crNo, crAppStart, crHelp, crHandPoint] Name Nome da instncia do componente Left Distncia em Pixel da borda esquerda do componente at a borda esquerda do FORM Top Distncia em pixel da borda superior do componente at a borda superior do FORM Height Altura em pixel do componente Width Largura em pixel do componente ComponentCount O nmero de componentes possudos por um componente container Components Uma matriz de componentes possudos por um componente container Color Indica a cor de fundo do componente Font Fonte utilizada no componente Ctl3D Define a aparncia 3D ou 2D de um componente Enabled Define se o componente esta ou no ativo Visible Define se o componente esta ou no visvel Hint String utilizada na exibio de dicas instantneas ShowHint Define se o hint ser mostrado automaticamente PopupMenu Menu que ser acionado com o boto direito do mouse TabOrder A ordem de tabulao do componente TabStop Indica se o componente ser ponto de parada para a tecla TAB HelpContext Nmero utilizado para chamar o help on-line sensvel ao contexto 3.2.2 Eventos Comuns Descrio O contedo do componente alterado O componente acionado (Mouse ou Enter) Duplo-clique sobre o componente O componente recebe o foco O componente perde o foco Tecla(s) so pressionada(s) inclusive teclas de controle Parametros : Key = Cdigo da tecla Shift = conjunto que indica a(s) tecla(s) de controle pressionadas (ssShift, ssAlt, ssCtrl, ssLeft, ssRight, ssMiddle, ssDouble) Uma tecla pressionada, onde Key contm o caracter pressionado Uma tecla solta

Nome OnChage OnClick OnDblClick OnEnter OnExit OnKeyDown

OnKeyPress OnKeyUp

24

3.2.3

Mtodos Comuns Descrio Cria uma nova instncia Destri a instncia Torna o componente visvel Torna o componente invisvel Coloca o foco no componente Determina se o componente tem o foco Coloca o componente na frente dos outros Coloca o componente atrs dos outros Gradua o componente em determina escala. Ex: Button1.ScaleBy(90,100) altera o tamanho do boto para 90% do tamanho original Muda a posio e o tamanho do componente (ALeft,ATop,AWidth,AHeigh)

Nome Create Destroy Show Hide SetFocus Focused BringToFront SendToBack ScaleBy SetBounds

25

3.3

Componentes

Form - Elemento bsico no desenvolvimento Delphi formando o alicerce sobre, o qual um aplicativo construdo. Propriedades Active ActiveControl AutoScroll HorzScrollBar VertScrollBar BorderIcons BorderStyle FormStyle Icon Menu Position Descrio Indica quando o formulrio esta ativo. Determina o controle que receber o foco quando o formulrio ativado Adiciona barras de rolagens automaticamente quando um formulrio redimensionado de forma a cobrir componentes Adiciona Barra de rolagem Horizontais quando necessrio Adiciona Barra de rolagem Verticais quando necessrio Define quais cones de controle sero visveis [biSystemMenu, biMinimize, biMaximize, biHelp] Estilo da borda da janela [bsDialog, bsSingle, bsNone, bsSizeable, bsToolWindow, bsSizeToolWin] Tipo da janela [fsNormalfs, MDIChild, fsMDIForm, fsStayOnTop] cone da janela Indica qual o componente menu do formulrio ser apresentado Permite controlar a posio e tamanho dos formulrios na execuo [poDesigned, poDefault, poDefaultPosOnly, poDefaultSizeOnly, poScreenCenter] Estado da janela (normal, minimizado ou maximizado) Descrio O formulrio criado Antes de mostrar a janela chamada para validar se a janela pode ser fechada Ocorre quando a janela fechada Ocorre quando a janela torna-se ativa Ocorre quando a janela perde o foco Ocorre quando a janela muda de tamanho Descrio Mostra uma janela no-modal Ativa uma janela modal Fecha a janela Redesenha a Janela

WindowState Eventos OnCreate OnShow OnCloseQuery OnClose OnActivate OnDeactivate OnResize Mtodos Show ShowModal Close Refresh

26

Button - Componente utilizado para representar aes Propriedades Cancel Default ModalResult Descrio Dispara o evento OnClick do boto quando a tecla ESC pressionada Dispara o evento OnClick do boto quando a tecla ENTER pressionada Associa o boto a opo de fechamento de um Form modal

BitBtn - Boto contendo uma Legenda e um BitMap, possui as propriedades e mtodos do SpeedButton Propriedades Kind Style Descrio Seleciona um BitMap padro para o boto Indica a aparncia do boto (win3.11, win95, winxx)

SpeedButton - Boto contendo um BitMap, normalmente utilizado na construo de barra de ferramentas Propriedades Glyph LayOut Margin Spacing Down GroupIndex AllowAllUp Mtodos Click Descrio BitMap exibido pelo boto Posio do BitMap no Boto Indica o espao entre a borda do boto e o BitMap Indica o espao entre o BitMap e o Texto do boto Estado do boto (Pressionado ou no) Indica quais botes pertencero ao mesmo grupo Permite que todos os botes de um grupo possam estar no pressionados Descrio Ativa o evento OnClick do boto

Label - Utilizado para exibir rtulos Descrio Alinhamento do texto no componente Define se o tamanho do componente ser automaticamente ajustado ao tamanho da legenda WordWrap Retorno automtico Transparent Define se o componente ser transparente FocusControl Nome do componente que receber o foco ShowAccelChar Indica se & ser far ou no parte da legenda Propriedades Alignment AutoSize

27

Edit - Utilizado para entrada de dados texto em uma nica linha. Propriedades Text AutoSelect MaxLength CharCase PasswordChar ReadOnly SelLength SelStart SelText Descrio Armazena a entrada de dados Indica se o texto ser ou no selecionado quando o componente receber o foco Nmero mximo de caracteres permitidos Define se as letras aparecero em maisculo, minsculo ou normal Caracter utilizado para esconder os dados digitados (Senhas) Define se ser permitido alterar o texto Comprimento da seleo Inicio da seleo Texto selecionado

MaskEdit - Permite entrada de dados texto em uma linha, utilizando uma mscara de edio. Possui todas as propriedades do componente Edit Propriedades Descrio EditMask Mscara de edio A propriedade EditMask consiste em uma mscara de edio permitindo definir quais os possveis caracteres e a formatao para a propriedade Text. Essa mscara consiste de trs partes separadas por ;. A primeira parte a mscara propriamente dita, a segunda parte indica se os caracteres literais sero armazenados na propriedade text (0 - no armazena; 1 armazena). A terceira parte indica qual o caracter utilizado representar os espaos a serem digitados no texto Estes so os caracteres especiais que podem compor a mscara de edio
Caracter ! > < \ l L a A 9 0 c C # : / Descrio Espaos em branco no aparecero Todos os caracteres seguintes sero maisculos at que aparea o caracter < Todos os caracteres seguintes sero minsculos at que aparea o caracter > Indica um caracter literal Somente caracter alfabtico Obrigatoriamente um caracter alfabtico (A-Z, a-z) Somente caracter alfanumrico Obrigatoriamente caractere alfanumrico ( A-Z, a-z, 0-9) Somente caracter numrico Obrigatoriamente caracter numrico permite um caracter Obrigatoriamente um caracter Permite um caracter numrico ou sinal de mais ou de menos, mas no os requer. Separador de horas, minutos e segundos Separador de dias, meses e anos

28

Memo - Permite entrada de dados texto em mltiplas linhas. Propriedades Alignament Lines WantReturns WantTab WordWrap ScrollBar Mtodos Clear ClearSelection Descrio Indica como ser o alinhamento do texto Armazena as linhas de texto Define se a tecla ENTER ser tratada pelo Formulrio ou pelo Memo Define se a tecla TAB ser tratada pelo Formulrio ou pelo Memo Indica se a linha digitada ser quebrada, automaticamente, de acordo com o tamanho do componente Indica se Memo ter barras de rolagem Descrio Limpa o memo Limpa o texto selecionado no memo

Obs: Muitos componentes possuem propriedades do Tipo TStrings, essa classe permite armazenar e manipular uma lista de Strings. Toda propriedade do tipo TStrings permite acesso indexado aos itens da listas (Propriedade[indce]) TString Propriedades Count Mtodos Add Insert Delete Clear IndexOf LoadFromFile SaveToFile

Descrio Nmero de linhas Descrio Adiciona uma nova linha no final da lista Insere uma nova linha numa posio especificada Apaga uma linha Apaga toda a lista Retorna o ndice do item e -1 caso no encontre Carrega de um arquivo texto Salva para um arquivo texto

29

CheckBox - Utilizado para obter informaes lgicas independentes Propriedades AllowGrayed Checked State Descrio Determina se o checkbox ter duas ou trs possibilidades Determina se o checkbox est selecionado Estado atual do checkbox (cbUnchecked, cbChecked, cbGrayed)

RadioButton - Utilizado para obter informaes lgicas mutuamente exclusivas Propriedades Checked Descrio Determina se o RadioButton esta selecionado

GroupBox - Utilizados para agrupar componentes, sobre determinado ttulo. RadioGroup - Componente que agrupa e controla RadioButtons Propriedades Columns Items ItemIndex Descrio Nmero de colunas de botes de rdio Valores dos botes de rdio. Items[n] acessa o n-simo componente Item selecionado. (-1 nenhum, comea em 0)

Panel - Utilizados para agrupar componentes e criar barras de ferramentas. Propriedades BevelInner BevelOuter BevelWidth BorderStyle BorderWidth Descrio Estilo interno da superfcie do Panel Estilo externo da superfcie do Panel Distncia entre as superfcies externas e internas Estilo da Borda Largura da borda

ScrollBox - Semelhante ao componente GrupoBox, sendo que, possui barras de rolagem Propriedades HorzScrollBar VertScrollBar Descrio Barra Horizontal (Increment, Tracking e Visible) Barra Vertical (Increment, Tracking e Visible)

30

Bevel - Define linhas, retngulos e molduras nas janelas. Propriedades Shape Style Descrio Tipo de figura a ser desenhada Define alto e baixo relevo

ListBox - Utilizado para escolher em uma lista grande de opes. Propriedades Columns MultiSelect ExtendedSelect IntegralHeight Items ItemIndex Selected SelCount Sorted Descrio Nmero de colunas da lista Define se ser permitida a seleo de mltiplos itens Define se a seleo poder ser estendida pelo uso das teclas Shift e Ctrl Define se os itens podero aparecer parcialmente ou somente por completo Valores dos itens da lista Item selecionado. (-1 no existe item selecionado e o 1 0) De acordo com o ndice indica se um item em particular esta selecionado. Indica quantos itens esto selecionado Define se os itens aparecero ordenados

ComboBox - Rene as caractersticas de Edit e ListBox. Propriedades Items DropDownCount Text Style Descrio Valores a serem exibidos na lista Nmero de itens visveis da lista Contedo texto digitado na ComboBox csDropDown - permite edio e exibe os itens mediante solicitao csDropDownList - no permite edio e mostra itens no edit ao pressionar a 1 letra do item. CsSimple - permite edio e exibe a lista Define se os itens aparecero ordenados

Sorted

CheckListBox Possui toda a funcionalidade do ListBox exibindo uma CheckBox p/ cada item Propriedades Checked[n] State[n] Eventos OnClickChecked Descrio Retorna true se o item n estiver selecionado Retorna o estado do item n : [cvUnchecked, cbChecked, cbGrayed] Descrio Quando um item marcado ou desmarcado

31

ScrollBar - Permite a escolha de um valor numrico dentro de uma faixa. Propriedades Min Max Position LargeChange SmallChange Kind Eventos OnEditMask Descrio Valor mnimo possvel Valor mximo possvel Posio Atual Incremento da posio quando o click na barra Incremento da posio quando o click na seta Se a barra vertical ou horizontal Descrio Permite atribuir uma mscara a clula. A linha e a coluna da clula editada so recebidas pelo evento e mascar representada pelo parmetro Value

StringGrid e DrawGrid - Utilizado para entrada ou exibio de dados no formato de tabela. Propriedades ColCount RowCount Col Row DefaultColWidth DefaultRowHeight DefaultDrawing FixedCol FixedRow GridLineWidth Options Cells[col,lin] Descrio Nmero de colunas Nmero de linhas Coluna corrente Linha Corrente Largura das colunas Altura das linhas Define se o desenho das clulas ser automtico ou manual Quantidade de Linhas Fixas Quantidade de colunas fixas Espessura das Linhas divisrias Define caractersticas do Grid. goEditing e goTabs Permite acessar as clulas da Grid, por coluna e linha, sendo que a primeira linha e coluna tm valores 0.

Image - Exibe uma imagem. Propriedades Picture Center Stretch Transparente Descrio Arquivo Bitmap, cone ou Windows Metafile exibido Centraliza a figura no componente Define se o tamanho da figura deve ser ajustada ao do componente Torna o fundo visvel ou opaco

Shape - Exibe uma figura geomtrica Propriedades Brush Pen Shape Descrio Cor e preenchimeto da figura Cor e preenchimento da borda Figura geomtrica

Splitter Permite o redimensionamento de componente em tempo de execuo Propriedades Beveled MinSize Descrio Exibe o componente com aparncia 3D Tamanho mnimo para os componentes

32

TabControl - Contem guias, as quais podem ser utilizadas para alterar outros componentes Propriedades MultiLine Tabs TabPositon HotTrack TabIndex ScrollOpposite Descrio Permite mltiplas linhas para as guias Guias Posio das orelhas em cima ou embaixo Destaca a orelha quando o curso do mouse esta em cima da mesma Guia ativa Transfere as orelhas das linhas anteriores selecionada para a outra extremidade do Componente Descrio Quando uma guia selecionada

Eventos OnChange

PageControl - Contem pginas, as quais, podem possuir diversos componentes. Para inserir uma nova pgina d um clique com o boto direito do mouse e escolha NewPage. Cada pgina criada um objeto do tipo TTabSheet e possui a seguintes propriedades : Caption, PageIndex e TabVisible, onde PageIndex indica a ordem de apresentao de cada pgina e TabVisible permite exibir ou ocultar as pginas. Propriedades MultiLine ActivePage PageIndex Eventos OnChange Descrio Permite mltiplas linhas para as pginas Pgina ativa ndice da pgina ativa Descrio Quando uma pgina selecionada

ImageList Representa uma coleo de imagens do mesmo tramanho, sua principal funo armazenar imagens para outros componentes, onde cada imagem pode ser refrenciada atravs de seu ndice no vetor de imagens. Propriedades Count Descrio Nmero de imagens na lista

RichEdit Componente para editar texto no formato Rich Text, esse componente permite diferentes formataes para o seu texto, diferenciando-o do componente Memo. Possui todas a propriedades do memo. Propriedades HideScrollBar HideSelection SelAttributes Descrio Somente exibe as barras de rolagem quando necessrio Indica se o texto continuara com a indicao de selecionado mesmo que o componente perca o foco Formatao do Texto selecionado. Color - Cor dos caracteres Name - Nome da fonte usada Size - Tamanho da Fonte Style - Estilo da Fonte [fsBold,fsItalic, fsUnderline,fsStrikeout]

33

TrackBar - Componente utilizado para seleo de valores inteiros dentro de uma faixa Propriedades Orientation Min Max Position TickStyle TickMarks PageSize LineSize SelStart SelEnd Descrio Orientao vertical ou horizontal valor mnimo valor mximo Posio corrente Estilo de exibio das marcaes Aparncia do indicador Determina o incremento que deve ser dado quando as teclas PgUp e PgDn forem pressionadas Determina o incremento que deve ser dado quando as setas forem pressionadas Posio de inicio do preenchimento Posio de trmino do preenchimento

ProgressBar - Componente para indicar visualmente o andamento da execuo de tarefas Propriedades Min Max Step Position Mtodos StepIt StepBy Descrio valor mnimo valor mximo incremento que deve ser dado a propriedade position em cada mudana Posio corrente Descrio Incrementa Position de Step unidades Incrementa Position de n unidades

UpDown - Utilizado normalmente associado a outro componente para realizar incremento em dados numricos Propriedades Descrio Associate Indica o componente associado AlignButton Indica o alinhamento do UpDown em relao ao componente associado (udLeft, udRight) Min Valor mnimo Max Valor mximo Orientation Orientao do componente (UdHorizontal, udVertical) Wrap Salto do valor mnimo para o mximo e vice-versa Increment Incremento dado ao componente associado ArrowKeys Indica que o componente recebe os incrementos das teclas de SETAS Positon Valor corrente Thousands Indica se ir aparecer o separdor de milhar Wrap Salto altomtico de Max para Min e vice-versa

34

HotKey - Obtm em tempo de execuo teclas de atalho e podem ser utilizadas para definir as teclas de atalho para outros componentes quem tenham a propriedade ShortCut Propriedades HotKey InvalidKeys Descrio Combinao de teclas para a HotKey Especifica as teclas invlidas para modificadores [hcNone , hcShift, hcCtrl, hcAlt, hcShiftCtrl, hcShiftAlt, hcCtrlAlt, hcShiftCtrlAlt] Teclas modifocadoras [hkShift, hkCtrl, hkAlt, hkExt]

Modifiers

Animate Componente capaz de exibir um AVI, o qual representa um formato de arquivo multimdia com imagens e sons, mas este componente apenas exibe as imagens. Propriedades Active AutoSize Center FileName FrameCount Repetitions Descrio Indica se a animao esta sendo exibida ou no Ajusta automaticamente o tamanho do componente ao tamanho da imagem Centraliza a animao Nome do arquivo AVi Nmero de Frames da animao Nmero de repeties quando a animao for executada. O valor zero indica repeties indefinidas

DateTimePicket Componente que permite a seleo visual de uma datas ou horas Propriedades Time Date DateMode DateFormat Kind ShowCheckbox Check Descrio Hora selecionada Data Selecionada A forma como a data poder ser selecionada [dmComboBox, dmUpDown] Formato da Data [dfShort, dfLong] Seleciona o componente para Data ou Hora [dtkDate, dtkTime] Exibe um CheckBox Indica se o CheckBox esta selecionado

35

TreeView - Permite exibio de dados em forma hierrquica. Este componente possui mtodos e eventos que permitem controle e modificao da sua estrutura em tempo de execuo. Propriedades Items Ident ShowLines ShowRoot ShowButtons HideSelect SortedType Descrio Define os itens da hierarquia. Recuo dos sus-itens Determina se haver uma linha ligando os sub-itens Determina se haver uma linha ligando os itens razes Indica se o boto a esquerda do item ser visvel Indica se quando o componente perder o foco a seleo continuar ativa nsNone no ordenado nsData os iten so ordenados quando os dados so alterados nsText os itens so ordenados quando o Caption alterado. nsBoth a ordenao e feita em ambos os casos Item selecionado. Podemos acessar o contedo selecionado atravs de Select.Text;

Selected

ListView - Componente que permite exibir de vrias maneiras uma lista de itens. Propriedades ViewStyle Descrio Determina se os itens devem ser apresentados em colunas com cabealhos e sub-itens, verticalmente ou horizontalmente, com cones grandes ou pequenos LargeImages Lista de Imagens (TImagesList) contendo a bitmaps a serem exibidos e somente usada quando a propriedade ViewStyle vsIcon SmallImages Lista de Imagens (TImagesList) contendo a bitmaps a serem exibidos e somente usada quando a propriedade ViewStyle vsSmallIcon Items Items a serem exibidos Columns Cabealhos das colunas da Lista ShowColumnHeaders Exibe os cabealhos das colunas ColumnClick Indica se os cabealhos das colunas tero a aparncia de botes IconOptions Opes de exibio dos cones quando ViewStyle for vsIcon ou vsSmallIcons Arrangement alinhado no topo ou esquerda do ListView AutoArrange os cones so alinhados automaticamente WrapText a propriedade caption ser quebrada SortedType nsNone no ordenado nsData os iten so ordenados dados so alterados nsText os itens so ordenados quando o Caption alterada. nsBoth a ordenao e feita em ambos os casos Selected Item selecionado. Podemos acessar o contedo selecionado atravs de Select.Captiont;

36

HeaderControl - Utilizado para exibir barra de ttulos ajustveis e cabealhos. Podemos abrir o editor de sees atravs do boto direito do mouse. Propriedades Sections[n] Descrio Cabealhos do componente, possuindo as seguintes propriedades : Text, With, Min, Max, Style, Alignment, AllowClick e Index. Onde uma seo em particular pode ser acessada atravs do seu ndice Diferencia o cabelho quando o mouse esta sobre este Descrio Clique sobre uma seo A seo tem seu tamanho alterado

HotTrack Eventos OnSectionClick OnSectionResize

StatusBar - Utilizado para criar barra de Status para exibir informaes sobre a aplicao. Podemos abrir o editor de paines atravs do boto direito do mose Propriedades SimplePanel SimpleText SizeGrip Panels Descrio Indica se o StatusBar possuir um ou vrios panels Texto exibido caso SimplePanel igual a TRUE Indicador de tamanho padro do Windows Painis do StatusBar, cada panel permite a exibio de informao. Os painis so acessados como elementos de um vetor (Panels[n]) e possuem as seguintes propriedades : Text, Width, Style, Bevel, Alignment

ToolBar Componete utilizado para criar barras de ferramentas. Para adicionar botes e sepradores usamos o boto direito do mouse. Este um componente container e podemos colocar outros componentes no seu interior, os quais sero automaticamente alinhados. Cada boto adicionado possui as seguinte propriedades : ImageIndex, Style[tbsButton, tbsCheck, tbsDivide, tbsDropDown, tbsSeparator] e Indeterminate Propriedades Flat Images Buttons[n] Descrio Os botes ficam tero a aparncia do Office 97 Componente ImageList que conter as figuras dos botes Acessa os botes atravs do ndice n

CoolBar Componete utilizado para criar barras de ferramentas que podem ser arrastadas e reposicionadas. Podemos editar as faixas atravs do boto direito do mouse. Propriedades Bands BandBorderStyle BitMap FixedOrder FixedSize ShowText Vertical Images Descrio Armazenas as Faixas (Cool bands) Indica o estilo da borda entre os CollBands BitMap exibindo no fundo do componente Indica se o usurio poder modificar a ordem dos CollBands Indica se o usurio poder modificar o tamanho dos CollBands Indica se o valor da propriedade Text de cada TollBand ser exibido ao lado de sua faixa Indica se os CollBand sero verticais Coleo de desenhos exibidos ao lado de cada CoollBand

37

3.4

Dilogos Comuns

Grupo de caixas de dilogo comuns a muitos programas. Parte integrante do Windows, so atualizadas com a atualizao do Windows. Necessitam pouca ou nenhuma programao para serem utilizadas. Facilitam a padronizao em tarefas comuns. Depois de serem executados os Dilogos Comuns armazenam em suas propriedades as escolhas do usurio. Mtodo Execute Descrio Ativa a caixa de dilogo e retorna True caso o dialogo comum seja encerrado com o boto OK.

OpenDialog, SaveDialog, OpenPictureDialog e SavePictureDialog - Caixas de dilogo para abrir e salvar arquivo Propriedades Descrio FileName Nome do arquivo DefaultExt Extenso padro para os arquivos Filter Define os tipos de arquivos que podem ser abertos ou salvos FilterIndex Nmero do filtro default InitialDir Diretrio inicial Title Ttulo da janela Options Define caractersticas da janela de abrir ou salvar FontDialog - Caixa de dilogo de escolha de fonte. Propriedades Descrio Device Define se deve utilizar fontes para tela, impressora ou ambos MinFontSize Tamanho mnimo da fonte MaxFontSize Tamanho mximo da fonte Options Define caractersticas das fontes Evento OnApply Descrio Ocorre aps o usurio pressionar o boto apply e antes da janela fechar

ColorDialog - Caixa de dilogo para escolha de cor. Propriedades Descrio Options Define caractersticas da caixa de dilogo PrintDialog - Caixa de dilogo de impresso. Propriedades Descrio Copies Nmero de cpias inicial PrintToFile Define se a impresso ser direcionada para arquivo PrintRange Faixa de pginas a ser impressa (todas ou somente o selecionado) FromPage Pgina inicial ToPage Pgina final MinPage Menor nmero de pgina que o usurio pode escolher MaxPage Maior nmero de pgina que o usurio pode escolher Options Define caractersticas da caixa de dilogo PrintSetupDialog - D acesso caixa de dilogo de configurao de impressora.

38

FindDialog e ReplaceDialog - Caixas de dilogo de pesquisa e substituio de texto. Propriedades Descrio FindText Texto a pesquisar ReplaceText Texto a substituir (somente em ReplaceDialog) Options Define caractersticas da caixa de dilogo Evento OnFind OnReplace Descrio Ocorre aps o usurio pressionar o boto Find Next Ocorre quando o usurio pressiona o boto Replace (somente em ReplaceDialog) Descrio Fecha a caixa de dilogo

Mtodo CloseDialog

39

MainMenu e PopupMenu - Usado para criao de barras de menus, onde o MainManu representa o Menu suspenso presente nos aplicativos e o PopupMenu represnta o menu instatneo (boto direito do mouse) associado aos componentes atravs da propriedade PopupMenu. Propriedades Items Eventos OnPopup Descrio Itens do menu, utiliza o MenuEditor Descrio Ocorre quando o menu popup ativado

MenuEditor - Utilizado para definio dos itens e sub-itens do menu Operaes : Inserir, Deletar e Criar SubItems MenuItem - Item do menu. Propriedades Descrio Caption Texto do item Checked Se o item esta marcado ou no Visible Se o item esta visvel ou no Enabled Se o item esta ativado ou desativado ShortCut Tecla de atalho Break Indica quebra de coluna GroupIndex Indica que o item do menu pertence a um grupo RadioItem Indica que o item de menu funcionra como um Radio, ou seja, dentro do mesmo grupo apenas um item estr selecionado. Eventos OnClick Descrio Quando o item de menu selecionado, usado para executar a funo do item

40

3.5 3.5.1

Criando Aplicaes MDI Definindo uma janela pai

FormStyle fsMDIForm WindowMenu Item do menu onde aparecer a lista de janelas

3.5.2

Definindo uma janela filha

Deve-se eliminar a criao automtica da janela no projeto. FormStyle fsMDIChild No evento OnClose, deve-se utilizar um cdigo semelhante a:

Action := caFree; JanelaFilha := nil 3.5.3 Abrindo uma janela filha

No Tratamento de Abertura da janela filha, deve-se utilizar um cdigo semelhante a:

if JanelaFilha = nil then Application.CreateForm(ClasseFilha, JanelaFilha) else begin JanelaFilha.BringToFront; JanelaFilha.WindowState := wsNormal end

41

Das könnte Ihnen auch gefallen