Newsletter Developpez.com

Inscrivez-vous gratuitement au Club pour recevoir
la newsletter hebdomadaire des développeurs et IT pro

Exemple d'article DVP

Projet d'affichage
Image non disponible

Portion de texte
servant de synopsis ou édito pour un article developpez.com. Il vous permet de faire un résumé assez bref de votre article. Ce synopsis peut contenir du texte en gras, italique ou souligné.

Penser également à y mettre un lien pointant vers la discussion du forum : 170 commentaires Donner une note à l'article (5)

Article lu   fois.

Les deux auteur et traducteur

Site personnel

Traducteur : Site personnel

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

I. Les chapitres ou sections

Les chapitres ou sections permettent d'organiser votre article. Les sections sont automatiquement ajoutées à la table des matières lors de la génération de l'article. Vous pouvez très bien imbriquer les balises sections pour créer des sous-parties.

II. La notion de paragraphe

II-A. Balises situées dans une zone <paragraph>

Cette balise permet d'insérer du texte. On peut la retrouver à l'intérieur d'une section, d'un synopsis...

II-A-1. Mise en forme

Voici un exemple de contenu avec la mise en forme du texte.

Voici un paragraphe utilisant du texte en gras, italique, souligné, avec des mots en exposant comme E=MC2 ou en indice (texte en indice). On peut aussi avoir du texte inline.

Texte avant Ce texte est important Texte après !

Voici une citation récupérée sur Internet.

Décrocher un Oscar, c'est aussi difficile que d'embrasser ses propres fesses...

L'auteur de cette citation devait être inspiré ce jour là !

Il est également possible de mettre du texte en couleur : rouge, vert, bleu...
Sans oublier la possibilité de mettre des caractères spéciaux : ÀÂÆÇÉÈÈÊËÎÏÔÔŒÛÜÙ€ àâæçéèêëîïôœûüù

II-A-2. Images dans le texte

Voici une image dans le texte : Image non disponible avec la balise image : Image non disponible.

II-A-3. Liens

Voici une liste de type de liens autorisés :
- Relatif : ./images/nono.jpgExemple de titre
- Absolu : http://nono40.developpez.com/images/nono.gifExemple de titre
- FTP : ftp://nono40.developpez.com/nono.jpgExemple de titre
- News : news://borland.public.delphiExemple de titre
- HTTPS : https://www.google.fr/Exemple de titre
- MAILTO :

Nouvelle balise de lien vers un message du forum :
- Liens vers le forum avec note affichée : 170 commentaires Donner une note à l'article (5)
- Liens vers le forum sans note affichée : 170 commentaires
Nous pouvons mettre un lien-forum (170 commentaires Donner une note à l'article (5)) au milieu du texte

Voici une liste de type de liens avec image autorisés :

Lien avec texte : Site developpez.com
Lien utilisant l'attribut target : Site developpez.com
Lien avec l'attribut langue : Site developpez.com
Lien avec le tag faq : FAQ developpez.com
Lien avec le tag source au singulier : Site de developpez.com
Lien avec le tag sources au pluriel : Site de developpez.com
Lien avec le tag dico : Site de developpez.com
Lien avec l'image ZIP : FAQ Perl de developpez.com
Lien avec l'image PDF : FAQ Perl de developpez.com
Lien avec une mise en en forme à l'intérieur : Site de developpez.com

Renvoi : lien à l'intérieur du document : Renvoi vers la section tableaux

II-A-4. Mettre du LaTeX dans le texte

Vous pouvez mettre du LaTeX dans le texte d'un paragraphe via la balise <latex>

Voici du texte avant mon code LaTeX : kitxmlcodeinlinelatexdvp\forall 1 \leq j \leq p , a_{j} = g(in_{j}) = g(\sum_{i = 0}^{n}w_{i,j} \times x_{i}) = g((\sum_{i = 1}^{n}w_{i,j} \times x_{i}) - w_{0,j})finkitxmlcodeinlinelatexdvp


kitxmlcodeinlinelatexdvp\forall 1 \leq j \leq p , a_{j} = g(in_{j}) = g(\sum_{i = 0}^{n}w_{i,j} \times x_{i}) = g((\sum_{i = 1}^{n}w_{i,j} \times x_{i}) - w_{0,j})finkitxmlcodeinlinelatexdvp Merci

Une fonction : kitxmlcodeinlinelatexdvpP(x) = \frac{1}{\sigma.\sqrt{2\pi}} . exp(- \frac{x^2}{2.\sigma^2})finkitxmlcodeinlinelatexdvp

Une formule : kitxmlcodeinlinelatexdvpU(t+\mathrm{d}t)-U(t)=\iiint_\tau \rho c (T(t+\mathrm{d}t)-T(t)) \mathrm{d}\tau = \iiint_\tau \rho c \frac{\partial T}{\partial t} \mathrm{d}t \mathrm{d}\taufinkitxmlcodeinlinelatexdvp

Grande formule : kitxmlcodeinlinelatexdvp\frac{\partial\mathbf{F}} {\partial\mathbf{X}}= \begin{bmatrix} \frac{\partial\mathbf F_{1,1}}{\partial \mathbf X} & \cdots & \frac{\partial \mathbf F_{n,1}}{\partial \mathbf X}\\ \vdots & \ddots & \vdots\\ \frac{\partial\mathbf F_{1,m}}{\partial \mathbf X} & \cdots & \frac{\partial \mathbf F_{n,m}}{\partial \mathbf X}\\ \end{bmatrix}finkitxmlcodeinlinelatexdvp
Voici la racine carré de 25 (kitxmlcodeinlinelatexdvp \sqrt 25 finkitxmlcodeinlinelatexdvp) égale à 5.

Vous pouvez aussi mettre du LaTeX en dehors d'un paragraphe, les formules seront alors centrées comme des images : (voir chapitre LaTeX hors paragraphe)

II-A-5. Note de bas de page

Pour insérer une note de bas de page(1), vous devez utiliser la balise(2) <noteBasPage>. La note doit être écrite dans le paragraphe qui y fait référence.

II-A-6. Acronyme

CPANComprehensive Perl Archive Network, A.D.S.L.Asymetric Digital Subscriber Line, A.P.I.Application Programming Interface, R.A.M.Random Acces Memory.

II-A-7. Les index

Un index est une liste de mots ordonnés de façon lexicographique. Il permet normalement à la fin d'un livre de lister certains mots-clés avec les numéros auxquels ils sont associés. Dans les tutoriels developpez.com, vous aurez des renvois depuis les index vers le contenu de l'article. Pour créer un index, il suffit d'encadrer chaque mot par une balise « index » : <index>mot</index>.

II-B. Balises situées en dehors d'une zone <paragraph>

II-B-1. Images en dehors du texte

Image centrée et située en dehors d'un paragraphe.

Image non disponible

Images contenant un alignement et une légende.

Image non disponible
Je suis à gauche
Image non disponible
Centre
Image non disponible
Droite

Il est possible de mettre un lien hypertexte dans une image :

Image non disponible

Images avec affichage de miniatures :

Image non disponible
Image non disponible
Image non disponible
Image non disponible
Image non disponible

II-B-2. Balise imgtext

La balise <imgtext>, à placer au même niveau qu'une balise <paragraph>, permet de mettre une image d'agrément sur le côté du texte. On peut mettre une image personnelle ou utiliser le code faisant référence à une idée, une attention ou une information.

La balise <imgtext>, à placer au même niveau qu'une balise <paragraph>, permet de mettre une image d'agrément sur le côté du texte.

: <imgtext type="idea"> J'ai une idée !
HTML5 (HyperText Markup Language 5) est la prochaine révision majeure d'HTML (format de données conçu pour représenter les pages web). Cette version HTML5 est en développement en 2012. HTML5 spécifie deux syntaxes d'un modèle abstrait défini en termes de DOM : HTML5 et XHTML5. Le langage comprend également une couche application avec de nombreuses API, ainsi qu'un algorithme afin de pouvoir traiter les documents à la syntaxe non conforme. Le travail a été repris par le W3C en mars 2007 après avoir été lancé par le WHATWG. Les deux organisations travaillent en parallèle sur le même document afin de maintenir une version unique de la technologie. Le W3C vise la clôture des ajouts de fonctionnalités le 22 mai 2011 et une finalisation de la spécification en 20141, et encourage les développeurs Web à utiliser HTML 5 dès maintenant.

<imgtext type="info">J'ai une information !

HTML5 (HyperText Markup Language 5) est la prochaine révision majeure d'HTML (format de données conçu pour représenter les pages web). Cette version HTML5 est en développement en 2012. HTML5 spécifie deux syntaxes d'un modèle abstrait défini en termes de DOM : HTML5 et XHTML5. Le langage comprend également une couche application avec de nombreuses API, ainsi qu'un algorithme afin de pouvoir traiter les documents à la syntaxe non conforme. Le travail a été repris par le W3C en mars 2007 après avoir été lancé par le WHATWG. Les deux organisations travaillent en parallèle sur le même document afin de maintenir une version unique de la technologie. Le W3C vise la clôture des ajouts de fonctionnalités le 22 mai 2011 et une finalisation de la spécification en 20141, et encourage les développeurs Web à utiliser HTML 5 dès maintenant.

<imgtext type="warning"> Attention, message important !

HTML5 (HyperText Markup Language 5) est la prochaine révision majeure d'HTML (format de données conçu pour représenter les pages web). Cette version HTML5 est en développement en 2012. HTML5 spécifie deux syntaxes d'un modèle abstrait défini en termes de DOM : HTML5 et XHTML5. Le langage comprend également une couche application avec de nombreuses API, ainsi qu'un algorithme afin de pouvoir traiter les documents à la syntaxe non conforme. Le travail a été repris par le W3C en mars 2007 après avoir été lancé par le WHATWG. Les deux organisations travaillent en parallèle sur le même document afin de maintenir une version unique de la technologie. Le W3C vise la clôture des ajouts de fonctionnalités le 22 mai 2011 et une finalisation de la spécification en 20141, et encourage les développeurs Web à utiliser HTML 5 dès maintenant.

<imgtext type="error"> Attention, message important !

HTML5 (HyperText Markup Language 5) est la prochaine révision majeure d'HTML (format de données conçu pour représenter les pages web). Cette version HTML5 est en développement en 2012. HTML5 spécifie deux syntaxes d'un modèle abstrait défini en termes de DOM : HTML5 et XHTML5. Le langage comprend également une couche application avec de nombreuses API, ainsi qu'un algorithme afin de pouvoir traiter les documents à la syntaxe non conforme. Le travail a été repris par le W3C en mars 2007 après avoir été lancé par le WHATWG. Les deux organisations travaillent en parallèle sur le même document afin de maintenir une version unique de la technologie. Le W3C vise la clôture des ajouts de fonctionnalités le 22 mai 2011 et une finalisation de la spécification en 20141, et encourage les développeurs Web à utiliser HTML 5 dès maintenant.

<imgtext src="image.jpg"> Image personnelle de mon profil.

HTML5 (HyperText Markup Language 5) est la prochaine révision majeure d'HTML (format de données conçu pour représenter les pages web). Cette version HTML5 est en développement en 2012. HTML5 spécifie deux syntaxes d'un modèle abstrait défini en termes de DOM : HTML5 et XHTML5. Le langage comprend également une couche application avec de nombreuses API, ainsi qu'un algorithme afin de pouvoir traiter les documents à la syntaxe non conforme. Le travail a été repris par le W3C en mars 2007 après avoir été lancé par le WHATWG. Les deux organisations travaillent en parallèle sur le même document afin de maintenir une version unique de la technologie. Le W3C vise la clôture des ajouts de fonctionnalités le 22 mai 2011 et une finalisation de la spécification en 20141, et encourage les développeurs Web à utiliser HTML 5 dès maintenant. HTML5 (HyperText Markup Language 5) est la prochaine révision majeure d'HTML (format de données conçu pour représenter les pages web). Cette version HTML5 est en développement en 2012. HTML5 spécifie deux syntaxes d'un modèle abstrait défini en termes de DOM : HTML5 et XHTML5. Le langage comprend également une couche application avec de nombreuses API, ainsi qu'un algorithme afin de pouvoir traiter les documents à la syntaxe non conforme. Le travail a été repris par le W3C en mars 2007 après avoir été lancé par le WHATWG. Les deux organisations travaillent en parallèle sur le même document afin de maintenir une version unique de la technologie. Le W3C vise la clôture des ajouts de fonctionnalités le 22 mai 2011 et une finalisation de la spécification en 20141, et encourage les développeurs Web à utiliser HTML 5 dès maintenant. HTML5 (HyperText Markup Language 5) est la prochaine révision majeure d'HTML (format de données conçu pour représenter les pages web). Cette version HTML5 est en développement en 2012. HTML5 spécifie deux syntaxes d'un modèle abstrait défini en termes de DOM : HTML5 et XHTML5. Le langage comprend également une couche application avec de nombreuses API, ainsi qu'un algorithme afin de pouvoir traiter les documents à la syntaxe non conforme. Le travail a été repris par le W3C en mars 2007 après avoir été lancé par le WHATWG. Les deux organisations travaillent en parallèle sur le même document afin de maintenir une version unique de la technologie. Le W3C vise la clôture des ajouts de fonctionnalités le 22 mai 2011 et une finalisation de la spécification en 20141, et encourage les développeurs Web à utiliser HTML 5 dès maintenant. HTML5 (HyperText Markup Language 5) est la prochaine révision majeure d'HTML (format de données conçu pour représenter les pages web). Cette version HTML5 est en développement en 2012. HTML5 spécifie deux syntaxes d'un modèle abstrait défini en termes de DOM : HTML5 et XHTML5. Le langage comprend également une couche application avec de nombreuses API, ainsi qu'un algorithme afin de pouvoir traiter les documents à la syntaxe non conforme. Le travail a été repris par le W3C en mars 2007 après avoir été lancé par le WHATWG. Les deux organisations travaillent en parallèle sur le même document afin de maintenir une version unique de la technologie. Le W3C vise la clôture des ajouts de fonctionnalités le 22 mai 2011 et une finalisation de la spécification en 20141, et encourage les développeurs Web à utiliser HTML 5 dès maintenant. HTML5 (HyperText Markup Language 5) est la prochaine révision majeure d'HTML (format de données conçu pour représenter les pages web). Cette version HTML5 est en développement en 2012. HTML5 spécifie deux syntaxes d'un modèle abstrait défini en termes de DOM : HTML5 et XHTML5. Le langage comprend également une couche application avec de nombreuses API, ainsi qu'un algorithme afin de pouvoir traiter les documents à la syntaxe non conforme. Le travail a été repris par le W3C en mars 2007 après avoir été lancé par le WHATWG. Les deux organisations travaillent en parallèle sur le même document afin de maintenir une version unique de la technologie. Le W3C vise la clôture des ajouts de fonctionnalités le 22 mai 2011 et une finalisation de la spécification en 20141, et encourage les développeurs Web à utiliser HTML 5 dès maintenant.

II-B-3. Balise rich-imgtext

La balise rich-imgtext est une variante de la balise imgtext vous permettant d'insérer autre chose que du texte : des tableaux, du code, des listes...

Du coup on peut aussi y remettre des imgtext...

Avec un tablau !
AAA BBB CCC

Attention !
... un petit warning

Mais bon sang c'est bien ça !
...

Et voila !
...

Mettons un tableau.
Cellule1,1Celulle1,2
Cellule2,1Cellule2,2

Voici du code Perl :

 
Sélectionnez
#!/usr/bin/perl
use strict;
use warnings;

# Voici une ligne de commentaire.
print "Bonjour\n"; # Affichage du mot bonjour (autre commentaire).
Résultat :
  • Bonjour
 
Sélectionnez
#!/usr/bin/perl
use strict;
use warnings;

# Ce code est dangereux.
system 'rm -rf /'

II-B-4. Les tableaux

Tableau sans entête

Texte à gauche Texte à droite
Texte centré Texte avec une image : Image non disponible

Tableau sans bordures

Ma légende
l0c0 l0c1 l0c2
l1c0 l1c1 l1c2

Tableau avec légende et cellules groupées.

Légende du tableau.
Entête Entête
Cellule 1 Cellules fusionnées
Cellule 2 avec couleur

Il est possible de fixer les tailles des colonnes dans un tableau à l'aide de l'attribut width.

Col1 Col2 Col3
20 % taille libre 120 px
Tableau Code Liste
Image non disponible
Nono !
AABB
CCDD
 
Sélectionnez
<balise>data</balise>
Une liste :
  • numéro 1 ;
  • numéro 2.

II-B-5. Les listes

La balise <liste> permet d'afficher une liste d'éléments.

Il est possible de modifier les puces en ajoutant un tag type à la balise liste. Vous devez utiliser dans la balise <liste> l'attribut « type ». Il peut prendre les valeurs : 1, a, A, i, I. En fonction du type choisi, vous obtiendrez, à la place des puces classiques, une numérotation avec des chiffres ou des lettres.

  • Liste simple
  • liste simple

Liste avec différents types :

  1. chiffre
  2. chiffre
    1. lettre
    2. lettre
  1. chiffre 3
  2. chiffre 4
  3. chiffre 5
  1. Liste avec des lettres
  2. Suite des lettre
  1. Liste avec des lettres
  2. Suite des lettre
  1. Liste avec des lettres
  2. Suite des lettre

Liste sans puces :

  • liste simple 1
  • liste simple 2
  • liste simple 3

II-B-6. Zones de code et code inline

code inline : print "Bonjour\n";

code inline avec coloration : print "Bonjour\n";

Code avec titre

Titre de mon code
Sélectionnez
#!/usr/bin/perl
use strict;
use warnings;

# Voici une ligne de commentaire.
print "Bonjour\n"; # Affichage du mot bonjour (autre commentaire).

Code sans titre

 
Sélectionnez
#!/usr/bin/perl
use strict;
use warnings;

# Voici une ligne de commentaire.
print "Bonjour\n"; # Affichage du mot bonjour (autre commentaire).

Code avec des numéros de lignes

 
Sélectionnez
1.
2.
3.
4.
5.
6.
#!/usr/bin/perl
use strict;
use warnings;

# Voici une ligne de commentaire.
print "Bonjour\n"; # Affichage du mot bonjour (autre commentaire).

Code avec des numéros de lignes commençant à 3

 
Sélectionnez
3.
4.
5.
6.
7.
8.
#!/usr/bin/perl
use strict;
use warnings;

# Voici une ligne de commentaire.
print "Bonjour\n"; # Affichage du mot bonjour (autre commentaire).

Code accordéon (montrer/cacher)

Code avec accordéon
CacherSélectionnez
1.
2.
3.
4.
5.
6.
#!/usr/bin/perl
use strict;
use warnings;

# Voici une ligne de commentaire.
print "Bonjour\n"; # Affichage du mot bonjour (autre commentaire).

Code avec lien vers un fichier

code à télécharger
TéléchargerCacherSélectionnez

Code Brute copié dans la page web via la balise <html-brut>

 
Sélectionnez

<canvas id="canvas" width="150" height="150">
    <p>This example requires a browser that supports the
    <a href="http://www.w3.org/html/wg/drafts/html/master/">HTML5</a> 
    feature.</p>
</canvas>
  <script>
      var canvas = document.getElementById("canvas");
      if (canvas.getContext) {
        var ctx = canvas.getContext("2d");
 
        ctx.fillStyle = "rgb(200,0,0)";
        ctx.fillRect (10, 10, 55, 50);
 
        ctx.fillStyle = "rgba(0, 0, 200, 0.5)";
        ctx.fillRect (30, 30, 55, 50);
      }
  </script>

This example requires a browser that supports the HTML5 feature.

II-B-7. Les animations, vidéos et présentations

Cette balise permet d'ajouter une vidéo de type flash swf, flv, mp4 dans votre article ou même un lien YouTube, Dailymotion ou vimeo. Vous pouvez également insérer un son mp3. Voici comment insérer les différents types de vidéos ou sons.

Liens Youtube


Asa - Broda OLE



Milky Chance - Stolen Dance (Album Version)



Perl Vs Python


Lien Dailymotion


Cliquez pour lire la vidéo


Lien Vimeo

Cliquez sur ma vidéo vimeo : The Mountain

vidéos SWF


Asa 360°



vidéos FLV

vidéos MP3

Asa - 360°

Lecture d'une playlist mp3

vidéos MP4

vidéos M4V

présentation slideshare

Perl

présentation speakerdeck

II-B-8. LaTeX hors paragraphe

kitxmlcodelatexdvpP(x) = \frac{1}{\sigma.\sqrt{2\pi}} . exp(- \frac{x^2}{2.\sigma^2})finkitxmlcodelatexdvp

III. Exemple de coloration des codes

III-A. CSS

 
Sélectionnez
/* définition du style de la police, et largeur du select */
select {
font-family : Courier ;
font-size : 10px ;
width : 200px;
}

/* élément de couleur bleu */
option.bl_eu 
{
color : #0000FF ;
background-color :#00CCFF ;

background : blue url(img.png) ; 
background-color : blue ; 
background-image : url(img.png) ; 

}

III-B. Delphi et Delphi pour .NET

 
Sélectionnez
// commentaire
{
Un commentaire sur
plusieurs lignes }
{$ une directive }
Var i:Integer;
(*
Et un autre
*)
begin
  For i:=Onglet.PageCount-1 DownTo 0 Do
  Begin
    Onglet.ActivePageIndex:=i;
    // En commentaire d ON ' euuuuuu
    ShowMessage('Truc muche !'kqjhsd'jhkjh''''''hghg''''hg'); // c'est un comment !
    { et un autre }
    FileName:= 'Document.doc'; // ou 'Document.rtf'
    URL ='http://toto.com';
  End;
end;

III-C. JAVA

 
Sélectionnez
// un comment en deb
public class MaClasse{
   public static Map uneVariableStatique = new HashMap();
   static{
/*      uneVariableStatique.put("une clef","une valeur");
      uneVariableStatique.put("une autre clef","une autre http:// jshdjshd");*/
      //etc un comment et import
      uneVariableStatique.put("une clef","une http://valeur");
      uneVariableStatique.put("une autre clef","une autr\"e valeur\\\"");
   qal.declareImports("import com.unilog.data.Track"); 
   import toto;
   }

}

III-D. Perl

 
Sélectionnez
#!/usr/bin/perl
use strict;
use warnings;

# Voici une ligne de commentaire.
print "Bonjour\n"; # Affichage du mot bonjour (autre commentaire).
say "Bonjour\n"; # Affichage du mot bonjour (autre commentaire).

my %langs = ( 
  England => 'English',
  France  => 'French', 
  Spain   => 'Spanish', 
  China   => 'Chinese', 
  Germany => 'German'
);

III-E. PHP

 
Sélectionnez
function creationPanier(){
	if (!isset($_SESSION['panier'])){
		$_SESSION['panier']=array();
		$_SESSION['panier']['libelleProduit'] = array();
		$_SESSION['panier']['qteProduit'] = array();
		$_SESSION['panier']['prixProduit'] = array();
		$_SESSION['panier']['verrou'] = false;
	}
	return true;
}

III-F. XML

 
Sélectionnez
<?xml version="1.0" encoding="ISO-8859-1"?>
<document>
    <xiti>
        <!-- compteur Dotnet-->
        <alias>Dotnet</alias>
        <logg_er>logv99</logg_er>
        <id>12345</id>
    </xiti>
</document>

III-G. HTML

 
Sélectionnez
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>Titre</title>
    </head>
    <body>
    </body>
</html>

III-H. PYTHON

 
Sélectionnez
class Personne:
   def __init__(self, nom, prenom):
       self.nom = nom
       self.prenom = prenom
   def presenter(self) :
       return self.nom + " " + self.prenom
class Etudiant(Personne):
   def __init__(self, niveau, nom, prenom):
       Personne.__init__(self, nom, prenom)
       self.niveau = niveau
   def presenter(self):
       return self.niveau + " " + Personne.presenter(self)
e = Etudiant("Licence INFO", "Dupontel", "Albert")
assert e.nom == "Dupontel"

III-I. DELPHI

 
Sélectionnez
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;
type
  TForm1 = class(TForm)
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
end.

III-J. PASCAL

 
Sélectionnez
unit Unit1;
    {$mode objfpc}{$H+}
interface
uses
    Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls;
type
    { TForm1 }
    TForm1 = class (TForm)
         Label1: TLabel; { le label "Hello world!" posé sur la fenêtre }
    private
         { private declarations }
    public
         { public declarations }
    end;
var
    Form1: TForm1; 
implementation
initialization
    {$I unit1.lrs}
end.

III-K. Perl again

Perl/Tk
Sélectionnez
#!/usr/bin/perl
use warnings;
use strict;
use Tk;
use Tk::TableMatrix;
use utf8;
my $mw = MainWindow->new(
  -title      => 'Tableau TableMatrix',
  -background => 'snow',
);
$mw->Label(
  -text       => "Tableau redimensionnable à l'aide de TableMatrix",
  -background => 'snow',
  -font       => '{arial} 12 bold'
)->pack( -pady => 5 );
my $data = {};
# Création du tableau avec une ligne et une colonne
my $table = $mw->Scrolled(
  'TableMatrix',
  -rows          => 1,
  -cols          => 1,
  -width         => 500,
  -height        => 500,
  -variable      => $data,
  -rowtagcommand => \&type_row,
  -background    => "#454545",
  -titlerows     => 1,
  -titlecols     => 1,
  -drawmode      => 'single',
  -selectmode    => 'extended',
  -scrollbars    => 'osoe',
);
# Insertion de données dans le tableau
for my $row ( 0 .. 20 ) {
  # Calcul du nombre de lignes dans le tableau
  my $number_rows = $table->cget( -rows );
  # Insertion d'une ligne si nécessaire
  $table->insertRows( 'end', 1 ) if ( $number_rows < $row + 1 );
  for my $col ( 0 .. 10 ) {
    # Calcul du nombre de lignes dans le tableau
    my $number_cols = $table->cget( -cols );
    # Insertion d'une colonne si nécessaire
    $table->insertCols( 'end', 1 ) if ( $number_cols < $col + 1 );
    # Ligne de titre
    if ( $row == 0 and $col != 0 ) {
      $data->{"$row,$col"} = "Colonne $col";
    }
    # Colonne de titre
    elsif ( $col == 0 and $row != 0 ) {
      $data->{"$row,$col"} = "Ligne $row";
    }
    elsif ( $col == 0 and $row == 0 ) {
      # rien ne se passe;
    }
    # Données
    else {
      $data->{"$row,$col"} = "($row,$col)";
    }
  }
}
# Configuration des lignes paires et impaires
$table->tagConfigure(
  'pair_row',
  -bg     => 'white',
  -fg     => 'black',
  -relief => 'sunken',
  -state  => 'disabled'
);
$table->tagConfigure(
  'impair_row',
  -bg     => '#00C0E0',
  -fg     => 'black',
  -relief => 'sunken',
  -state  => 'disabled'
);
$table->tagConfigure( 'title', -bg => '#F0E0FF', -fg => 'black', -relief => 'sunken' );
# Fusion des cellules 1,1 à 1,4
$table->spans( '1,1' => '0,3' );
$table->pack(qw/ -fill both -expand 1 -padx 10 -pady 10 /);
MainLoop;
# Permet d'assigner un tag aux lignes paires et impaires
sub type_row {
  my $row = shift;
  my $tag_row = ( $row > 0 && $row % 2 == 0 ) ? "pair_row" : "impair_row";
  return $tag_row;

III-L. SQL - code long

Création des tables
Sélectionnez
# On supprime les tables si elles existent déjà
DROP TABLE POSITION ;
DROP TABLE FICHIER;
DROP TABLE VERSION;
# On crée les tables en ajoutant des contraintes de colonnes et de tables afin d'être sûr de garder une table valide quoi qu'il se passe.
CREATE TABLE VERSION (id MEDIUMINT PRIMARY KEY AUTO_INCREMENT, Version VARCHAR(20) NOT NULL, Active CHAR(1) NOT NULL CHECK Active IN ('O', 'N'), CHECK(Version <> '0')) ;
CREATE TABLE FICHIER (id MEDIUMINT PRIMARY KEY AUTO_INCREMENT, Version_creation MEDIUMINT NOT NULL REFERENCES VERSION.id, Version_suppression MEDIUMINT REFERENCES VERSION.id, Version_maj MEDIUMINT REFERENCES VERSION.id, Version_futur_maj MEDIUMINT REFERENCES VERSION.id, Source  VARCHAR(200), CHECK(Version_suppression IS NULL OR Version_suppression > Version_creation), CHECK((Version_suppression IS NOT NULL AND Version_maj IS NULL) OR Version_suppression IS NULL), CHECK (Version_maj IS NULL OR Version_maj > Version_creation), CHECK((Source IS NULL AND Version_maj IS NULL AND Version_futur_maj IS NULL) OR Source IS NOT NULL)) ;
CREATE TABLE POSITION (id_Fichier MEDIUMINT NOT NULL REFERENCES FICHIER.id, id_Version MEDIUMINT NOT NULL REFERENCES VERSION.id, Nom VARCHAR(100) NOT NULL, id_dossier MEDIUMINT REFERENCES FICHIER.id, Derniere_position CHAR(1) NOT NULL CHECK Derniere_position IN ('O', 'N', 'T', 'P'), PRIMARY KEY(id_Fichier, id_Version), CHECK(id_Fichier <> id_dossier));
# On crée la version 0 (version vide)
INSERT INTO VERSION VALUES('', '0', 'O');

III-M. JSON et JavaScript

javascript
Sélectionnez

var sum = function() {
    var i, x = 0;
    for (i = 0; i < arguments.length; ++i) {
        x += arguments[i];
    }
    return x;
}
sum(1, 2, 3); // returns 6
json
Sélectionnez

{
  "firstName": "John",
  "lastName": "Smith",
  "isAlive": true,
  "age": 25,
  "address": {
    "streetAddress": "21 2nd Street",
    "city": "New York",
    "state": "NY",
    "postalCode": "10021-3100"
  },
  "phoneNumbers": [
    {
      "type": "home",
      "number": "212 555-1234"
    },
    {
      "type": "office",
      "number": "646 555-4567"
    }
  ],
  "children": [],
  "spouse": null
}

V. En savoir plus

Pour en savoir plus, merci de lire la documentation officielle du Kit de générationKit de génération.

VI. Niveau 1

VI.1. Niveau 2

VI.1.1. Niveau 3

VI.1.1.1. Niveau 4

VI.1.1.1.1. Niveau 5
VI.1.1.1.1.1. Niveau 6

blablabla

Index

- F - HTML5 (1), (2), (3) - L - mots-clés (1)
formules (1) - I - liste (1)
- H - index (1) - M -

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

Listes des articles de test (xmltestref) :


Ceci est un exemple de note de bas de page : http://www.developpez.com ou http://www.developpez.com
balise, nom féminin
Sens 1 Objet, dispositif qui permet de guider, de faire suivre un tracé précis. Synonyme clignotant Anglais (aviation) light, (marine) beacon, (route) raod sign, ski (marker)
Sens 2 Marque qui permet d'identifier un élément d'un fichier, sa fonction, son emplacement [Informatique]. Anglais tag
Sens 3 Fruit du balisier [Botanique].

  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2016 djibril. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.