Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Banco de Dados I. Material II-Bimestre Objetos de Controle, Eventos Funções de Manipulação de data e hora, Manipulação de Strings site: http://www1.univap.br/~wagner Prof. Responsáveis Wagner Santos C. de Jesus Objetos de Controle Delphi conta com uma barra de tarefas capaz de permitir a confecção de rotinas mas sofisticadas com relação a parte visual da aplicação. Usando Objetos principais do Delphi Criando uma caixa de lista. (ListBox) Atribuindo dados para caixa de lista. Usando a propriedade Items. Permite acrescentar em cada posição da caixa de lista um item enviado pelo métodos Add() que adiciona criando uma nova posição na caixa de texto. Exemplo : ListBox1.items.Add("Maria"); ListBox1.Items.Add("José"); ListBox1.Items.Add("Célia"); Saída : Onde o primeiro item da caixa de lista é 0 e o terceiro 2 e assim por diante. Em caso nenhum item esteja seleciona o valor será (-1). Capturando o Item Selecionado por intermédio da propriedade ItemIndex. Exemplo : x := ListBox1.ItemIndex; ShowMessage(IntToStr(x)); Obs : No exemplo acima x será um número de 0 a 2. Capturando uma "String" da caixa de Lista. Método Strings[]. Exemplo : x := ListBox1.ItemIndex; a := ListBox1.Items.Strings[x]; Obs : Irá retorna com a string selecionada na caixa de Lista pelo usuário armazenando o conteúdo na variável (a). Criando uma Caixa de Combinação. (ComboBox). Atribuindo dados para uma caixa de combinação. Exemplo : ComboBox1.Items.Add("Item-1"); ComboBox1.Items.Add("Item-2"); ComboBox1.Items.Add("Item-3"); ComboBox1.Items.Add("Item-4"); Saída : Capturando dados de uma caixa de combinação. AnsiString a := ComboBox1->Text; Removendo dados de uma caixa de Combinação. Método Delete(). ComboBox1.Items.Add("Item-1"); ComboBox1.Items.Add("Item-2"); ComboBox1.Items.Add("Item-3"); ComboBox1.Items.Add("Item-4"); ComboBox1.Items.Delete(3); Obs : No exemplo acima o item eliminado será (Item-4). Pois como na caixa de lista a caixa de combinação também inicia na posição 0 (Zero). Atenção : Todas as propriedades e métodos usados para a caixa de lista (ListBox) valem para a caixa de combinação (ComboBox1). Criando uma caixa de verificação. (CheckBox) Exemplo : CheckBox1.Checked := true; Saida : Obs : Marca a caixa de verificação quando recebe verdadeiro e desmarca quando recebe false, podendo ser usado também (0- não selecionado ou 1- Selecionado). Criando botões de rádio. (RadioGroup) Exemplo : RadioGroup1.Items.Add("Masc."); RadioGroup1.Items.Add("Fem."); Saída : Capturando a informação selecionada no botão de rádio. Exemplo : k := RadioGroup1.ItemIndex; if k =0 then ShowMessage("Masc. Foi Selecionado !!!") else ShowMessage("Fem. Foi Selecionado !!!"); Criando uma Barra de Rolagem. (ScrollBar). Capturando dados de uma Barra de Rolagem. procedure TForm1.ScrollBar1Change(Sender: TObject); var y:Integer; begin y := ScrollBar1.Position; Label1.Caption := IntToStr(y); end; Obs : Uma Barra de Rolagem possui como propriedades principais Max = 100 (determina o valor máximo que será atribuído para a barra e a propriedade Min = 0, o valor mínimo atribuído) e o Position que retorna o valor selecionado. Criando um Painel. (Panel). Cria um painel para agrupamento de objetos, ou seja tudo o que acontecer em um objeto Panel acontecera também com os outros vinculados ao mesmo painel. Exemplo : (Panel) No exemplo abaixo a programação irá desabilitar os dois botões usando apenas uma única linha sem que seja preciso desabilitar cada botão. Exemplo : Panel1.Visible = false; Manipulando os Eventos. Evento vem a ser qualquer tipo de operação disparada por um usuário da aplicação desenvolvida. OnClick - Dispara o código de programa ao selecionar o objeto com o click do mouse. Exemplo: procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage(‘Ok, Botão foi Clicado !!’); end; OnChange - Dispara o código quando um objeto sofre algum tipo de modificação. procedure TForm1.Edit1Change(Sender: TObject); begin if (Edit1.text <> 'D') and (Edit1.text <> 'N') and (Edit1.text <> '') then begin ShowMessage('O período deve ser diurno ou noturno..'); edit1.Clear; end; end; OnEnter - Dispara o código quando o objeto for selecionado. procedure TForm1.Edit1Enter(Sender: TObject); begin ShowMessage('Digite D ou N maiusculo !!'); end; OnExit - Dispara o código quando o foco abandonar o mesmo. procedure TForm1.Edit1Exit(Sender: TObject); begin ShowMessage('Foi Digitado o caracter '+ edit1.text); end; OnDblClick - Dispara o código quando for selecionado com um duplo click. procedure TForm1.FormDblClick(Sender: TObject); begin Button1.Left := Button1.Left + 5; end; OnActivate - Dispara o código após ter desenhado o formulário. procedure TForm1.FormActivate(Sender: TObject); begin ShowMessage('Não Esquecer de verificar a data...'); end; OnCreate - Dispara o código antes de desenhar o formulário. procedure TForm1.FormCreate(Sender: TObject); begin Edit2.text := 'Nada na caixa'; end; OnMouseDown- Dispara o código ao soltar o botão de direito do mouse. procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var i : integer; begin Label1.Caption := 'Houve um clique'; end; OnMouseMove - Dispara o código ao mover o mouse no objeto. procedure TForm1.Button1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin Label1.Caption := 'Clique aqui para sair'; end; OnClose - Dispara o código antes de fechar o formúlario. procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin ShowMessage('O sistema irá fechar todos os programas e irá sair'); end; Funções e Procedimentos Função vem a ser um fragmento de código ao ser executado retornar um valor para o programa principal. Funções Numéricas Abs() - Retornar o valor absoluto de um número dado. Exemplo : x := abs(-3); retorna com valor 3 para variável x. Trunc() - retorna com truncamento de número real. Retornando um inteiro. Sintaxe : <varInteira> := trunc(<real>); Exemplo : x := trunc(23.45); Retorna o truncamento do número para 23. Sqr() - Eleva um determinado valor ao quadrado. Sintaxe : <varReal> := Sqr(<Valor>); Exemplo : y := Sqr(3); Retorna o valor de y igual 9. Sqrt() - Retorna com a raiz quadrada de um valor em ponto flutuante. Sintaxe : <valor> := Sqrt(<valor>); Exemplo : xy = Sqrt(49); Retorna o valor 7. Power() - Retorna o resultado de uma base elevada a um expoente. Sintaxe : <valorReal> := Power(<Base>,<Exp>); Exemplo : x := power(10,2); Retorna com 100 resultado de 10 ao quadrado. Ln() - Calcula o logaritmo Natural de um número Sintaxe : <VarReal> := Ln(<valor>); Exemplo : y := Ln(100); Retorna o valor de y com 4.605170. Exp() - Retorna com o valor especificado, ou seja de e elevado a x operação contrária a ln(). Sintaxe : <varReal> := Exp(<Valor>); Exemplo : k := Exp(4.60); Retorna para o valor de k aproximadamente 100. Pi - Retorna com valor do número Pi. Sintaxe: <VarReal> := Pi; Exemplo : v := Pi; Retorna para v, valor de pi = 3.1415926535897932385. Sin() - Retorna com seno de um ângulo em graus Sintaxe: <VarReal> := Sin(<Valor>); Exemplo : v := Sin(30*Pi/180); Retorna o valor do seno convertido em radianos o valor será 0.5. cos() - Retorna com cosseno de um ângulo em graus Sintaxe: <VarReal> := cos(<Valor>); Exemplo : v := cos(30*Pi/180); Retorna o valor do seno convertido em radianos o valor será 0.5. frac() - Retorna a parte fracionária de um valor dado. Sintaxe: <VarReal> := frac(<Valor>); Exemplo : y := frac(4.987); Retorna o valor para y = 0.987. log10() - Retorna o logaritmo na base dez para um valor especificado. Sintaxe: <VarReal> := log10(<Valor>); Exemplo : y := log10(100); Retorna o valor para y = 2. logN() - Retorna o logaritmo na base N para um valor especificado. Sintaxe: <VarReal> := logN(<base>,<valor>); Exemplo : y := logN(10,100); Retorna o valor para y = 2. max() - Retorna com o maior entre dois valores. Sintaxe: <VarTipo> := max(<valor-x>,<valor-y>); Exemplo : y := max(100,30); Retorna o valor para y = 100. min() - Retorna com o menor entre dois valores. Sintaxe: <VarTipo> := min(<valor-x>,<valor-y>); Exemplo : y := min(100,30); Retorna o valor para y = 30. Obs : A função max(), mim() são polimorficas. Inc() - Incrementa um a uma determinada variável. Sintaxe: <VarTipo> := Inc(<valor-x>[,<valor-y>]); Exemplo : y := Inc(x,3); Retorna o valor de x = 3, se no caso o x for igual a zero. / Função dec análoga a função Inc, decrementando o valor. odd() - Retorna true se o número dado for um número impar. Sintaxe: <Varboolean> := odd(<valor>); Exemplo : y := odd(13); Retorna true para o argumanto impar. random() - Retorna um valor aleatório entre 0 e 1. Sintaxe: <VarReal> := random(); Exemplo : y := random(); Poderá retornar 0,40544938. Obs a função random deverá ser usada em conjunto com a função randomize para ativar número aleatórios. Formatando dados monetários formatFloat() - retorna formatos de valores com separação de milhar e casas decimais. Exemplo : x := formatFloat('#,##0.00;(#,##0.00)',-123.00); floattostrf() - retorna formatos de valore com separação de milhar e casas decimais. Exemplo: x := floattostrf(strtofloat(edit1.text),ffNumber,7,2); Funções de Manipulação de Data e Hora Formação de data e Hora Date - Retorna com a data do sistema no formato TdateTime. Exemplo : var x : TdateTime; Begin x := Date; End; DateTimetoStr() - Retorna um valor do tipo TdateTime em uma String. Exemplo : var y : String begin y:= dateTimeToStr(date); ShowMessage(y); end; DayOfWeek() - Retorna o dia da semana de uma determinada data. Sendo um valor de 1 à 7. Exemplo : var i : integer; begin i := DayOfWeek(date); Showmessage(inttostr(i)); end; TimeToStr() - converte um hora em formato TdateTime para String. Exemplo : var i : String; begin i :=TimetoStr (Time); Showmessage(i); end; StrToTime() - converte uma String em formato TdateTime. Exemplo : var d : TdateTime; begin d :=StrtoTime (‘00:20’); Showmessage(StrtoTime(d)); end; FormatDateTime() -Retorna uma data e hora formatados de acordo com o formato especificado. Exemplo : var s : string; begin s:= FormatDateTime('yyyy',date); ShowMessage(s); end; Componente DateTimePicker cria um combobox agregado a um calendário. Propriedade date pega a data seleciona ou corrente, ou a hora corrente. IsLeapYear() - Retorna true se ano específicado for bissexto. Var c : Boolean; Begin c := IsLeapYear(2002); End; Funções de Manipulação de Caracteres e Strings Length() - Retorna um número inteiro equivalente a quantidade de caracteres da String. Exemplo : x = length(‘Abacaxi’); x, Será igual a 7 caracteres. Uma String em Delphi tambem é um vetor de caracteres. Portando podemos usar a string como um vetor de caracteres ou seja cada índice representa uma posição da string. s := 'Testando um programa em delphi'; soma := 0; for i := 1 to length(s) do begin if s[i] = 'a' then inc(soma); end; ShowMessage(inttostr(soma)); Copy() - Pega uma parte da String especificada no argumento. Exemplo : var x : String; begin x := copy(‘Banana’,2,3); end; O valor de x será ‘ana’. Pos() - Procura por uma sequencia de caracteres em uma outra string. Retornando a primeira ocorrência Exemplo : var x : Integer; begin x := pos(‘a’,’Mar’); end; O valor será x = 2. Delete() -Remove um substring de um string. Exemplo : var s : String; begin s := ‘Morango’; delete(s,3,3); ShowMessage(s); end; O resultado será Mogo. Insert() - Insere um substring em uma string apartir de uma posição. Exemplo : var s : String; begin s := ‘umano’; Insert(‘h’,s,1); ShowMessage(s); end; O resultado será humano. IsDelimiter() -Retorna true se um determinado caractere de um string estiver como delimitador. Exemplo : var s : String; b : boolean; begin s := 'Maria,Ana,Solange,Joao,Marcos'; b := IsDelimiter(s,',',1); if b then ShowMessage('ok'); end; UpperCase() - Retorna com a string em letras maiúculas. LowerCase() - Retorna com a String em letras minúsculas. Exemplo : var s : String; begin s := UpperCase(‘banana’); end; Arrays (vetores) São variáveis que podem conter mais de um elemento sendo todos eles do mesmo tipo em delphi. Sintaxe para criação de Array Var <nome-var> : Array[ 1..n,1..n,..] Of <tipo>; Exemplo : procedure TForm1.Button2Click(Sender: TObject); var v : Array[1..5] of integer; i,x : integer; begin i V x := 3; 1 3 2 4 for i := 1 to 5 do 3 5 4 6 begin 5 7 v[i] := x; 6 8 inc(x); end; for i := 1 to 5 do ShowMessage(inttostr(v[i])); end;