Accéder au contenu principal

Articles

Affichage des articles du 2001

Environnement de développement intégré

ENVIRONNEMENT DE DÉVELOPPEMENT INTÉGRÉ L'edi (environnement de développement intégré) de delphi est divisé en 3 parties. Fenêtre principale Inspecteur d'objet Espace de travail Fenêtre principale on y retrouve les barres d'outils et la palette de composants. C'est à partir de cette fenêtre qu'on choisit et dépose les composants sur notre fiche dans l'espace de travail. L'inspecteur d'objet L'inspecteur d'objet permet de: visualiser modifier les propriétés et événements des composants en mode création. Les propriétés et évènements varient d'un composant à l'autre. Les propriétés correspondent aux caractéristiques, aspects, comportements d'un objet. Explorez-les afin de les connaître d?avantage. Dans cette fenêtre, on remarque que Form1 sera affiché dans la barre de menu de l'application. On peut aisément changer cela en modifiant la propriété caption. Espace de travail L'espac...

Interface

INTERFACE Dans le chapitre précédent, nous avons vu que nous pouvons déclarer des méthodes abstraites dans une classe mère. Les méthodes peuvent ensuite être définies dans les classes enfants. Nous pouvons créer une interface au lieu d'avoir une classe avec de nombreuses méthodes abstraites. Une interface peut ressembler à une classe mais c'en est pas une. Une interface permet de déclarer plusieurs méthodes sans les définir. Elles sont très utilisées pour les objets com. En delphi comparativement au langage C++ on peut seulement hériter d'une seule classe. Il est impossible de faire de l'héritage multiple (image ci-dessus) avec delphi tout comme java. C'est là que les interfaces deviennent intéressantes. La structure d'une interface ressemble à type nomInterface = interface (interfaceAncêtre) ['{GUID}'] listeMembres end; La longue série de lettres et de chiffres dans l'interface est un identifiant numérique. L'interfaceAncêtr...

Programmation orienté objet

PROGRAMMATION ORIENTÉ OBJET La programmation orienté objet ou plus communément appelé poo est devenu essentiel. Les gains de temps et d'argent obtenues par une telle approche ont contribué à son ascension. La poo tente de modéliser des objets de la vie courante en des objets logiciels. C'est une manière complètement différente de penser. Même si au début, c'est un peu plus complexe que la programmation procédurale, la maîtriser est à la porter de tous. But La poo tente de résoudre quelques lacunes de la programmation procédurale. Différents facteurs font qu'une solution orienté objet est plus adapté qu'une solution à l'ancienne. C'est évident que chaque facteur ne peut atteindre un seuil d'utilisation parfait dans une application. Il faut savoir doser chaque facteur en fonction de nos besoins présents et à venir. Avantage de la poo Réutilisabilité Il arrive souvent en programmation qu'il y ait du code qui revient sans cesse de projet à pr...

Mastering Delphi 6

Excellent livre pour s'améliorer sous Delphi. Ce livre est très intéressant aussi pour Kylix. Il y a des explications sur la vcl et clx. Beaucoup d'informations concernant le développement sur des bases de donnée. Le côté internet n'a pas été oublié: xml, soap, websnap. La programmation orienté objet est aussi de la partie. La création de composent fait aussi parti du livre. Le parfait livre pour du développement sérieux sous delphi et kylix. Beaucoup d'exemples sont intégrés dans ce livre. Excellente référence.

Création d'un composant

CRÉATION D'UN COMPOSANT Beaucoup de composants visuel et non visuel existent pour Delphi. Il peut arriver que ces composants ne nous conviennent pas pour diverses raisons. On peut alors utiliser le composant existant et lui ajouter des fonctionnalités. Nous allons créer un composant qui défilera du texte à l'écran, un peu à la manière d'un générique au cinéma. Le composant fonctionnera sous Windows et Linux grâce à la CLX. Nous allons utiliser l'expert Delphi pour créer le squelette du composant. Il faut cliquer dans le menu «component», ensuite cliquez sur «New component...». L'expert Delphi apparait, on doit sélectionner l'ancêtre de notre composant, c'est à dire son parent. Notre composant héritera de ses fonction et méthode. L'ancêtre de notre composant est le TCustomPanel et le nom de la classe choisie est TUnitTextSequence. Squelette du composant Lorsqu'on valide, Delphi nous génère le code. La procédure Register permettra à no...

Comment changer le clavier de la console?

Comment changer le clavier de la console? Sous suse: regarder dans: /usr/share/kbd/keymaps/ (chercher où se trouve keymaps pour les autres distributions) si le clavier désiré est là sinon tenter de le trouver ensuite allez dans: /etc/sysconfig/keyboard et mettez le nom du claiver désiré par exemple : KEYTABLE="cf.map.gz" Le numlock, capslock... peut être mis à on par défaut lors du démarrage à partir de ce fichier.

Recherche

LES RECHERCHES Nous utilisons différents types de recherche pour trouver des données spécifiques. Nous verrons qu'il y a divers types de recherche qui peuvent être faites. Type de recherche La recherche séquentielle La recherche séquentielle consiste à vérifier du début  du tableau, liste... jusqu'à ce qu'on trouve ce qu'on désire ou parcoure totalement le tableau liste... C'est évidemment pas la recherche la plus efficace. Ce type de recherche est doit être utilisé si le tableau n'est pas trié. //on définit les variables utilisées Const Max=15; type tabType = array [1..Max] of integer; function SequentialSearch(tab:tabType; item:integer):integer; var i : integer; found : boolean; begin SequentialSearch := 0; i := low(tab); found := false; while( i <= high(tab)) and (not found) do begin if tab[i] = item then begin SequentialSearch := i; found := true; end; inc(i); end; end; La recherche binaire L...

Matrice

MATRICE Une matrice est un genre de tableau 2 44 69 15 71 8 562 3 9 128 67 564 L'exemple précédent est une matrice 4 * 3 (4 lignes, 3 colonnes). Il est bien sûr possible de mettre des chiffres à virgule flottante dans une matrice. Diverses opérations peuvent être effectuées sur les matrices, c'est ce qu'on verra. Opérations sur les matrices Produit Pour effectuer cette opération, il faut que le nombre de colonnes de la matrice A soit supérieur ou étal au nombre de ligne de la matrice B. Matrice A 1 2 3 4 5 6 Matrice B 1 2 3 4 5 6 La multiplication de A et B donnera Matrice A*B 1 2 22 28 49 64 Pour parvenir à ce résultat, il faut faire faire multip...

Chaine de caractère

CHAÎNE DE CARACTÈRE Type de chaîne Chaîne courte Les chaînes courtes ont une longueur fixe, elles ne peuvent dépasser plus de 255 caractères. Étant donné que les chaînes courtes ont une valeur fixe, leurs vitesses d'exécution sont très rapides. On peut les déclarer de deux façons, mais une seule est vraiment utile. var Nom:shortstring; Prenom:string[30]; Lorsqu'on utilise shortstring, la longueur de la variable est automatiquement de 255 caractères. A moins d'avoir absolument besoin de 255 caractères, il n'est pas vraiment intéressant d'utiliser le type shortstring. Il est intéressant d'utiliser les chaînes courtes lorsqu'on sait que la longueur de la variable sera fixe ou que l'on sait le nombre de caractère maximum qu'il peut y avoir. Le gain de vitesse sera appréciable si l'on fait beaucoup de manipulation sur les chaînes. Le premier élément d'une chaîne courte représente la longueur de la chaîne, ce qu...

Comment chercher et remplacer des caractères?

Comment chercher et remplacer des caractères? function SearchAndReplace (sSrc, sLookFor, sReplaceWith : string) : string; var nPos, nLenLookFor : integer; begin nPos := Pos(sLookFor, sSrc); nLenLookFor := Length(sLookFor); while (nPos > 0) do begin Delete(sSrc, nPos, nLenLookFor); Insert(sReplaceWith, sSrc, nPos); nPos := Pos(sLookFor, sSrc); end; Result := sSrc; end;

Comment vérifier si un fichier est utilisé?

Comment vérifier si un fichier est utilisé? function IsFileInUse(fName : string) : boolean; var HFileRes : HFILE; begin Result := false; if not FileExists(fName) then exit; HFileRes := CreateFile(pchar(fName), GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); Result := (HFileRes = INVALID_HANDLE_VALUE); if not Result then CloseHandle(HFileRes); end;

Learn Pascal

Delphi est basé sur pascal, alors autant le connaître. Bien connaître le pascal, facilitera le développement sous delphi.  Les routines de bas niveau du pascal nous serons présentées afin d'optimiser au mieux notre code delphi. La qualité de ce livre est phénoménale, on lit et on comprend aussitôt tellement que les exemples sont compréhensifs. De nombreux aspects que les autres livres oublient trop souvent d'expliquer sont précisés dans cet ouvrage: pointeur, tri de donnée, recherche de données...  Ces aspects sont très bien détaillés, ce qui m'a vraiment surprit, car ce sont des concepts complexes à apprendre.  C'est un livre en anglais, qui est aisé à lire et qui s'adresse à celui qui veut approfondir ses connaissances afin d'améliorer son code. Après la lecture de ce livre, les côtés sombres de Delphi vous sembleront plus claire. Le livre inclut une version complète de Delphi 4 standard.

Dll

DLL Les dll (dynamic link library) sont très répandues dans la programmation Windows. Une dll est en fait une portion de code exécutable d'un fichier ayant une extension dll. N'importe quel programme peut faire appel à une dll. Avantage d'une dll Réutilisation du code Partage du code entre plusieurs applications Fractionnement du code Meilleure gestion des ressources de Windows Création d'une dll Allez dans le menu File, cliquer sur New..., choisisez Dll Syntaxe d'une dll library Calculer; uses SysUtils, Classes; var //déclaration des variables TPS: double; TVQ: double; //déclaration de la fonction function CalculerTotal(Somme:double):double;register; begin Somme := Somme * TPS + Somme; Somme := Somme * TVQ + Somme; Result := Somme; end; //exportation de la fonction afin de pourvoir l'utiliser dans les programmes exports CalculerTotal; //initialisation des variables //peu pratique étant donné que la valeur des taxes...