Quem disse que programar embaixo de Windows era complicado?
Autor: Pedro Luis Kantek Garcia Navarro
Tinha toda a razão. Mas, conhecendo POO, e conhecendo TURBO PASCAL, é possível escrever programas tão complexos e sofisticados quanto se queira, sem esquentar muito a cuca.
A seguir, um programa ( Turbo Pascal for Windows versão 1.5) bem simples, mas que funciona.
Program Primeiro; {Nome do programa}
Uses Wobjects; {Usarei a unidade Wobjects, que define todos os objetos necessários ao
Windows}
Type Oba = OBJECT (Tapplication) {Oba é um objeto descendente de Tapplication, que está dentro da unidade Wobjects}
Procedure InitMain Window; VIRTUAL; {Vamos reescrever o método InitMain Window, para poder colocar uma mensagem (Ula la la), e é VIRTUAL}
end;
Procedure Oba.InitMain Window; {Reescrevendo o método...}
begin
Main Window:= new (Pwindow, Init (Nil, 'Ula la la'));
{Main Window é um ponteiro do tipo Pwindow, (handle) que aponta para a janela.
New é um procedimento para criar uma nova instância. Init recebe 2 parâmetros: a janela pai desta (não há nenhuma, logo...nil; e o que botar dentro da janela}
end;
var Gloria: Oba; { A instância GLORIA é do tipo OBA, pois OBA é um TIPO e não uma variável}
begin
Gloria.Init ('Meu primeiro');
Gloria.Run;
Gloria.Done;
{O método INIT prepara a execução da aplicação, o método Run executa-a, e o método Done, termina-a. Foram todos herdados de InitMain Window}
end.
Tinha toda a razão. Mas, conhecendo POO, e conhecendo TURBO PASCAL, é possível escrever programas tão complexos e sofisticados quanto se queira, sem esquentar muito a cuca.
A seguir, um programa ( Turbo Pascal for Windows versão 1.5) bem simples, mas que funciona.
Program Primeiro; {Nome do programa}
Uses Wobjects; {Usarei a unidade Wobjects, que define todos os objetos necessários ao
Windows}
Type Oba = OBJECT (Tapplication) {Oba é um objeto descendente de Tapplication, que está dentro da unidade Wobjects}
Procedure InitMain Window; VIRTUAL; {Vamos reescrever o método InitMain Window, para poder colocar uma mensagem (Ula la la), e é VIRTUAL}
end;
Procedure Oba.InitMain Window; {Reescrevendo o método...}
begin
Main Window:= new (Pwindow, Init (Nil, 'Ula la la'));
{Main Window é um ponteiro do tipo Pwindow, (handle) que aponta para a janela.
New é um procedimento para criar uma nova instância. Init recebe 2 parâmetros: a janela pai desta (não há nenhuma, logo...nil; e o que botar dentro da janela}
end;
var Gloria: Oba; { A instância GLORIA é do tipo OBA, pois OBA é um TIPO e não uma variável}
begin
Gloria.Init ('Meu primeiro');
Gloria.Run;
Gloria.Done;
{O método INIT prepara a execução da aplicação, o método Run executa-a, e o método Done, termina-a. Foram todos herdados de InitMain Window}
end.