1 / 19

DELPHI 6 Borland

DELPHI 6 Borland. Les bases J.THIOU. 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.

fedora
Download Presentation

DELPHI 6 Borland

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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. • L’excellente 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. http://line.berjoan.free.fr

  3. Sommaire Pascal Objet • Constantes • Variables • Variables initialisées • Surcharge de procédures • Opérateurs • Types de données • Les variants http://line.berjoan.free.fr

  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 • e=2.72; • Max=10; • Msg=‘Attention erreur’; http://line.berjoan.free.fr

  5. Les variables • Var • Mot clé réservé (même principe que const) • Procedure Exemple; • Var • i,j : integer; • x: double; • Begin • i:=5;j:=7+i; //i vaut 5 et j vaut 12 • x:=sqrt(i+j); // x est la racine de 17 • End; http://line.berjoan.free.fr

  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 • i:integer=12; // autorisé • S:string=‘Bonjour’; // autorisé • NbOr:double=1,6180339887; //autorisé • NbOr:double=(1+sqrt(5))/2; // interdit http://line.berjoan.free.fr

  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(s:string;i:integer=10); • Deux appels possibles • Truc(‘Coucou’,12); // i prend la valeur 12 • Truc(‘Coucou’); // i reste à 10 valeur implicite http://line.berjoan.free.fr

  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(I:byte);overload; • Procedure Truc(s:string);overload; • Procedure Truc(x:double);overload; http://line.berjoan.free.fr

  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 http://line.berjoan.free.fr

  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 d’octets utilisés par un type, utiliser la fonction sizeof() http://line.berjoan.free.fr

  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 http://line.berjoan.free.fr

  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 + http://line.berjoan.free.fr

  13. Caractéristique de AnsiString • C’est un pointeur vers une chaîne • String est maintenant un alias de AnsiString • Il n’est plus possible d’utiliser l’octet 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 l’unité StrUtils • Livre Student Edition Borland Delphi 6 chez Campus Press http://line.berjoan.free.fr

  14. Caractéristiques de WideString • WideString est une chaîne de type unicode, ce qui signifie que tous les caractères qu’elle 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 http://line.berjoan.free.fr

  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) • L’API de WIN32 utilise fréquemment l’AZT • Voir dans l’aide de Dephi, l’utilité des fonctions de réservation et de libération de l’espace mémoire. • Réservation • AllocMen(), GlobalAlloc(), GetMem(), New(), StrAlloc(), StrNew(), VirtualAlloc() • Libération • FreeMem(), GlobalFree(), Dispose(), StrDispose(), VirtualFree() http://line.berjoan.free.fr

  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 http://line.berjoan.free.fr

  17. Les variants • Ce type de variable n’existe pas en Turbo Pascal. • A utiliser lorsque l’on 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 l’opportunité du résultat. Attention à ce que vous allez écrire. http://line.berjoan.free.fr

  18. Transtypage d’un variant en un autre type de données • Procedure pVariant; • Var v:variant;i:integer; s:string;b:boolean; d:double; • Begin • v:=3.14; • i:=Integer(v) // donne l’arrondi commercial, ici 3 • s:=String(v)// donne la chaîne « 3.14 » • b:=boolean(v) // Donne false uniquement si v=0 • D:=double(v) // donne la valeur décimale 3.14 • End; http://line.berjoan.free.fr

  19. Utilisation des variants • Téléchargez l’exemple é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 l’opérateur + (comme addition et comme concaténation dans la même expression). • Téléchargement variants.zip http://line.berjoan.free.fr

More Related