DELPHI 6 Borland - PowerPoint PPT Presentation

About This Presentation
Title:

DELPHI 6 Borland

Description:

Pour les tudiants, un bon ouvrage, un prix tr s correct de 20 , Student ... Ord(), chr(), trunc(), round(), hight(), low() Var. i:integer=12; ... – PowerPoint PPT presentation

Number of Views:308
Avg rating:3.0/5.0
Slides: 20
Provided by: JT157
Category:
Tags: delphi | borland | trunc

less

Transcript and Presenter's Notes

Title: DELPHI 6 Borland


1
DELPHI 6Borland
  • Les bases
  • J.THIOU

2
Avant de commencer
  • Voir les bases du Turbo Pascal (par exemple sur
    le site http//jean.thiou.free.fr.
  • Pour les étudiants, un bon ouvrage, à un prix
    très correct de 20 , Student Edition, Borland
    Delphi 6 chez CampusPress.
  • Lexcellente version Delphi 6 personnelle est
    gratuite sur le site de Borland ou certains sites
    de téléchargement. Il suffit de vous enregistrer.
    Merci Borland.

3
Sommaire Pascal Objet
  • Constantes
  • Variables
  • Variables initialisées
  • Surcharge de procédures
  • Opérateurs
  • Types de données
  • Les variants

4
Les constantes
  • Const
  • Mot clé à placer avant la déclaration des
    constantes en début de programme (globales) ou de
    procédure et de fonction (locales)
  • Exemple
  • e2.72
  • Max10
  • MsgAttention erreur

5
Les variables
  • Var
  • Mot clé réservé (même principe que const)
  • Procedure Exemple
  • Var
  • i,j integer
  • x double
  • Begin
  • i5j7i //i vaut 5 et j vaut 12
  • xsqrt(ij) // x est la racine de 17
  • End

6
Variables initialisées
  • Remarque
  • Les fonctions simples peuvent être utilisées dans
    les déclarations des constantes et des variables
    initialisées.
  • Ord(), chr(), trunc(), round(), hight(), low()
  • Var
  • iinteger12 // autorisé
  • SstringBonjour // autorisé
  • NbOrdouble1,6180339887 //autorisé
  • NbOrdouble(1sqrt(5))/2 // interdit

7
Paramètres par valeur implicite
  • Le valeurs implicites ne peuvent être que de type
     simple 
  • Ordinal, ensemble ou pointeur
  • Entête de la procédure passage par valeur
  • Procedure truc(sstringiinteger10)
  • Deux appels possibles
  • Truc(Coucou,12) // i prend la valeur 12
  • Truc(Coucou) // i reste à 10 valeur implicite

8
Surcharge des procédures
  • Overload
  • Des procédures peuvent avoir le même nom et
    peuvent recevoir des paramètres différents.
  • Exemple
  • Procedure Truc(Ibyte)overload
  • Procedure Truc(sstring)overload
  • Procedure Truc(xdouble)overload

9
OPÉRATEURS
  • Aucune nouveauté par rapport au langage Turbo
    Pascal
  • Rappelons
  • Inc(entier, valeur) Dec(entier, valeur)
  • Div pour la division entière
  • / pour la division des réels
  • Opérateurs binaires and, not, or, xor,shl, shr

10
Types de données
  • De nombreux types de données ont évolués depuis
    les versions 16 bits comme Turbo Pascal ou Delphi
    1.
  • Ces évolutions ont commencées avec Delphi 2 et 3,
    puis se sont poursuivies avec Delphi 4, où elles
    arrivent à leur forme actuelle.
  • Afin de si retrouver, dans le nombre doctets
    utilisés par un type, utiliser la fonction
    sizeof()

11
Types de données (numériques)
  • Entiers signés
  • 1 octet ShortInt 2 octets SmallInt
  • 4 octets Integer ou Longint
  • 8 octets Int64
  • Entiers non signés
  • 1 octet Byte 2 octets Word
  • 4 octets Cardinal ou LongWord
  • Flottants
  • 4 octets Single 6 octets Real48
  • 8 octets Double (Real) 10 octets Extended

12
Type de données (chaînes)
  • Caractère
  • 1 octet Char (AnsiChar)
  • 2 octets WideChar (Unicode)
  • Chaîne
  • 255 octets max ShortString
  • Dynamique AnsiString
  • A zéro terminal (AZT) pChar, PAnsiChar,PWideChar
  • Dynamique sur 2 octets WideString
  • AZT
  • Opérateur de concaténation

13
Caractéristique de AnsiString
  • Cest un pointeur vers une chaîne
  • String est maintenant un alias de AnsiString
  • Il nest plus possible dutiliser loctet 0 pour
    connaître la longueur.
  • Seule la fonction Length() donne la longueur
  • La fonction SetLength() permet de modifier cette
    longueur
  • Exemple
  • Pour attribuer une longueur initiale de 40
    caractères à la chaîne s, vous pouvez utiliser la
    fonction SetLength(s,40)
  • La chaîne AnsiString est une chaîne à zéro
    terminal.
  • Il en résulte que le transtypage peut se faire
    directement avec un pChar par une simple
    affectation.
  • La correction de longueur (avec le zéro) est
    obtenu avec la fonction RealizeLength(s).
  • Référence
  • Aide de Delphi pour lunité StrUtils
  • Livre Student Edition Borland Delphi 6 chez
    Campus Press

14
Caractéristiques de WideString
  • WideString est une chaîne de type unicode, ce qui
    signifie que tous les caractères quelle contient
    sont de type WideCode, écrit sur deux octets.
  • Sa réservation est dynamique.
  • Les conversions entre les types WideString et
    AnsiString sont automatiques par une simple
    affectation

15
Caractéristiques des chaînes AZT
  • AZT Chaînes à zéro terminal
  • On peut utiliser le AnsiString (gestion
    automatique) à la place du Pchar (gestion
    manuelle)
  • LAPI de WIN32 utilise fréquemment lAZT
  • Voir dans laide de Dephi, lutilité des
    fonctions de réservation et de libération de
    lespace mémoire.
  • Réservation
  • AllocMen(), GlobalAlloc(), GetMem(), New(),
    StrAlloc(), StrNew(), VirtualAlloc()
  • Libération
  • FreeMem(), GlobalFree(), Dispose(), StrDispose(),
    VirtualFree()

16
Autres types de données
  • Monétaire
  • 8 octets Currency
  • Date, heure
  • 8 octets TDateTime
  • Variant
  • 16 octets Variant, OleVariant, TvarData
  • Booléen
  • 1 octet Boolean, ByteBool
  • 2 octets WordBool
  • 4 octets LongBool

17
Les variants
  • Ce type de variable nexiste pas en Turbo Pascal.
  • A utiliser lorsque lon ne connaît pas par avance
    le type de résultat obtenu.
  • Un variant peut contenir une référence de type
    suivant
  • Nb entier ou flottant, chaîne, booléen, date,
    heure, monétaire, automation OLE
  • Un variant ne peut pas contenir
  • Vos propres types  Objet 
  • De types Pointeur ou Class
  • Delphi gère lui-même la réservation et la
    libérations des espaces mémoires nécessaires pour
    les variants.
  • Les variants peuvent être utilisés dans des
    expressions algébriques ou chaînes de caractères.
    Delphi gère lui-même de lopportunité du
    résultat. Attention à ce que vous allez écrire.

18
Transtypage dun variant en un autre type de
données
  • Procedure pVariant
  • Var vvariantiinteger sstringbboolean
    ddouble
  • Begin
  • v3.14
  • iInteger(v) // donne larrondi commercial, ici
    3
  • sString(v)// donne la chaîne  3.14 
  • bboolean(v) // Donne false uniquement si v0
  • Ddouble(v) // donne la valeur décimale 3.14
  • End

19
Utilisation des variants
  • Téléchargez lexemple écrit en Delphi avec tout
    le code à votre disposition.
  • Cet exercice
  • montre des variables typées initialisées dans la
    déclaration.
  • montre des sommes de variants dont vous pouvez
    choisir le type et la valeur. Il est intéressant
    de voir la différence de lopérateur (comme
    addition et comme concaténation dans la même
    expression).
  • Téléchargement variants.zip
Write a Comment
User Comments (0)
About PowerShow.com