La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

La programmation objet Application : Turbo Vision C. Application : TURBO-VISION Généralités Introduction Objets visuels Événements Objets muets Hiérarchie.

Présentations similaires


Présentation au sujet: "La programmation objet Application : Turbo Vision C. Application : TURBO-VISION Généralités Introduction Objets visuels Événements Objets muets Hiérarchie."— Transcription de la présentation:

1 La programmation objet Application : Turbo Vision C. Application : TURBO-VISION Généralités Introduction Objets visuels Événements Objets muets Hiérarchie des classes Exemple commenté Le programme Commentaires

2 La programmation objet Application : Turbo Vision Généralités : Introduction Turbo Vision est une bibliothèque de classes, certaines à caractère général (collection, flux); d'autres orientées vers la création d'interface homme_machine. Diverses techniques portant sur les fenêtres, les boites de dialogues, les menus déroulant, la souris,... sont mis à notre disposition exigeant de nous des connaissances en matière de programmation orientée objet.

3 La programmation objet Application : Turbo Vision Généralités : Introduction Une application basée sur Turbo Vision représente une société dans laquelle collaborent trois types de composants : — Les elvis (objets pouvant être affichés à l'écran) — Les événements — Les objets muets

4 La programmation objet Application : Turbo Vision Généralités : Elvis (Views) On appelle elvis tous les objets qui peuvent se manifester de manière visible à l'écran : les fenêtres de tous types, les menus, la ligne d'état,.... Tous les elvis sont des descendants de l'objet TView. Un elvis se définit à l'aide de deux points : le coin supérieur gauche et le coin inférieur droit. Ces coordonnées sont stockées dans un champ TPoint. Comme un elvis peut se déplacer sur l'écran, un champ TRect contiendra les deux valeurs : position définie et la position courante.

5 La programmation objet Application : Turbo Vision Généralités : Évènements (Events) Un événement est une action en provenance de l'extérieur et à laquelle votre application doit en règle générale répondre. Les événements proviennent du clavier, de la souris ou encore de certaines autres parties de Turbo Vision. Les événements sont stockés dans une file d'attente par le squelette d'application de Turbo Vision dans l'ordre de leur arrivée. Ils sont ensuite analysés dans cet ordre par un gestionnaire d'événements.

6 La programmation objet Application : Turbo Vision Généralités : Objets muets (mute objects) Le terme objet muet correspond à tout objet du programme qui n'est pas un elvis. Ce type d'objet est muet parce qu'il ne réalise aucune interaction avec l'écran. Les objets muets permettent de réaliser des calculs, de communiquer avec les périphériques et de manière générale de réaliser les traitements de l'application. Lorsqu'un objet muet a besoin d'afficher des informations, il collabore avec un elvis. Le concept de Stream par exemple facilite les opérations d'entrées/sorties.

7 La programmation objet Application : Turbo Vision Généralités : Hiérarchie des classes Les langages orientés objets font très généralement dériver toutes les classes d'une classe de base. Toutes les classes de Turbo Vision dérivent de qui définit un constructeur, un destructeur et une méthode de libération. L'examen de la hiérarchie montre un ensemble patronné par qui gère les éléments visuels (fenêtres, boutons,...) et quelques autres lignes à caractère plus général (,,...).

8 La programmation objet Application : Turbo Vision Généralités : Hiérarchie des classes On remarquera la classe encadrée dont héritera une application Turbo Vision. Cette classe met en place trois éléments visuels fondamentaux : —une barre horizontale destinée à accueillir les options du menu, —le bureau —et une ligne d'état située en bas de l'écran et dont laquelle on remarquera le fameux raccourci clavier. Ces derniers sont respectivement désignés par, et.

9 La programmation objet Application : Turbo Vision Exemple : Le programme program TVGUID05; uses Objects, Drivers, Views, Menus, App; const WinCount: Integer = 0; cmFileOpen = 100; cmNewWin = 101; { Définition des objets } type TMyApp = object(TApplication) procedure HandleEvent(var Event: TEvent); virtual; procedure InitMenuBar; virtual; procedure InitStatusLine; virtual; procedure NewWindow; end;

10 La programmation objet Application : Turbo Vision Exemple : Le programme PDemoWindow = ^TDemoWindow; TDemoWindow = object(TWindow) constructor Init(Bounds: TRect; WinTitle: String; WindowNo: Word); end; PInterior = ^TInterior; TInterior = object(TView) constructor Init(var Bounds: TRect); procedure Draw; virtual; end;

11 La programmation objet Application : Turbo Vision Exemple : Le programme { TInterior } constructor TInterior.Init(var Bounds: TRect); begin TView.Init(Bounds); GrowMode := gfGrowHiX + gfGrowHiY; Options := Options or ofFramed; end; procedure TInterior.Draw; const Greeting: string = 'Hello, World!'; begin TView.Draw; WriteStr(4, 2, Greeting,$01); end;

12 La programmation objet Application : Turbo Vision Exemple : Le programme { TDemoWindow } constructor TDemoWindow.Init(Bounds: TRect; WinTitle: String; WindowNo: Word); var S: string[3]; Interior: PInterior; begin Str(WindowNo, S); TWindow.Init(Bounds, WinTitle + ' ' + S, wnNoNumber); GetClipRect(Bounds); Bounds.Grow(-1,-1); Interior := New(PInterior, Init(Bounds)); Insert(Interior); end;

13 La programmation objet Application : Turbo Vision Exemple : Le ^programme { TMyApp } procedure TMyApp.HandleEvent(var Event: TEvent); begin TApplication.HandleEvent(Event); if Event.What = evCommand then begin case Event.Command of cmNewWin: NewWindow; else Exit; end; ClearEvent(Event); end;

14 La programmation objet Application : Turbo Vision Exemple : Le programme procedure TMyApp.InitMenuBar; var R: TRect; begin GetExtent(R); R.B.Y := R.A.Y + 1; MenuBar := New(PMenuBar, Init(R, NewMenu( NewSubMenu('~F~ile', hcNoContext, NewMenu( NewItem('~O~pen', 'F3', kbF3, cmFileOpen, hcNoContext, NewItem('~N~ew', 'F4', kbF4, cmNewWin, hcNoContext, NewLine( NewItem('E~x~it', 'Alt-X', kbAltX, cmQuit, hcNoContext, nil))))),

15 La programmation objet Application : Turbo Vision Exemple : Le programme NewSubMenu('~W~indow', hcNoContext, NewMenu( NewItem('~N~ext', 'F6', kbF6, cmNext, hcNoContext, NewItem('~Z~oom', 'F5', kbF5, cmZoom, hcNoContext, nil))), nil)) ))); end;

16 La programmation objet Application : Turbo Vision Exemple : Le programme procedure TMyApp.InitStatusLine; var R: TRect; begin GetExtent(R); R.A.Y := R.B.Y - 1; StatusLine := New(PStatusLine, Init(R, NewStatusDef(0, $FFFF, NewStatusKey('', kbF10, cmMenu, NewStatusKey('~Alt-X~ Exit', kbAltX, cmQuit, NewStatusKey('~F4~ New', kbF4, cmNewWin, NewStatusKey('~Alt-F3~ Close', kbAltF3, cmClose, nil)))), nil) )); end;

17 La programmation objet Application : Turbo Vision Exemple : Le programme procedure TMyApp.NewWindow; var Window: PDemoWindow; R: TRect; begin Inc(WinCount); R.Assign(0, 0, 24, 7); R.Move(Random(55), Random(16)); Window := New(PDemoWindow, Init(R, 'Demo Window', WinCount)); DeskTop^.Insert(Window); end;

18 La programmation objet Application : Turbo Vision Exemple : Le programme var MyApp: TMyApp; begin MyApp.Init; MyApp.Run; MyApp.Done; end.

19 La programmation objet Application : Turbo Vision Exemple : Commentaires Création d'un interface avec une barre de menu (MenuBar), une ligne d'état (StatusLine) et un bureau (DeskTop). Création de 3 objets Tmyapp, TdemoWindow et Tinterior qui dérivent (héritent) des objets Tapplication, Twindows et Tview respectivement. Les modules InitMenuBar, InitStatusLine et HandleEvent de Tapplication ont été surchargés. De plus, Tapplication est étendu par le module NewWindow. InitMenuBar permet de créer la barre du menu,

20 La programmation objet Application : Turbo Vision Exemple : Commentaires InitStatusLine permet de créer la ligne d'état. Grâce à HandleEvent, le lien est fait entre les commandes (cmxx) et les actions à entreprendre. Il existe des commandes prédéfinies ( cmNext, CmZoom, cmQuit,...). Les commandes créées par l'utilisateur doivent être définies dans la partie Const par des valeurs comprises dans un intervalle prédéfini.

21 La programmation objet Application : Turbo Vision Exemple : Commentaires La méthode NewWindow crée une fenêtre et la place à un endroit aléatoire du bureau. Remarquez que la fenêtre n'est pas un elvis modal, ce qui veut dire que l'on peut cliquer n'importe où. Pour afficher un message à l'intérieur de la fenêtre, il faut toujours créer un elvis "interieur". Comme le cadre de ce dernier est confondu avec celui de la fenêtre, on ne le voit pas. Les écritures ne peuvent être faites qu'à partir des méthodes Draw des elvis. Le corps du programme principal contient généralement les appels aux méthodes ( Init, Run et Done).

22  Exécution après avoir créé une fenêtre et cliqué sur File. La programmation objet Application : Turbo Vision


Télécharger ppt "La programmation objet Application : Turbo Vision C. Application : TURBO-VISION Généralités Introduction Objets visuels Événements Objets muets Hiérarchie."

Présentations similaires


Annonces Google