Précédent   Forum du club des développeurs et IT Pro > Environnements de développement > Delphi > Débutant
Débutant Pour bien débuter avec Delphi
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Actualité déjà publiée
 
Outils de la discussion
Publicité
'
Vieux 20/11/2007, 16h56   #21
Gilbert Geyer
Modérateur
 
Homme
Ingénieur retraité
Inscription : octobre 2005
Messages : 1 930
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Ingénieur retraité

Informations forums :
Inscription : octobre 2005
Messages : 1 930
Points : 2 483
Points : 2 483
Re_bonjour,

A Eric Boisvert : Je viens de tester :
Code :
1
2
3
4
procedure ShowMsg(DisplayText:string);
begin
  Application.MessageBox(PChar(DisplayText),PChar(Application.ExeName),MB_OK);
end;
en lui donnant un nom différent de ShowMessage pour être certain que c'est bien ShowMsg qui s'affiche et non la ShowMessage standard, mais même dans ce cas l'astuce du Ctrl-C ne marche pas sous Delphi-5.
Mais rien ne m'empêche de faire un truc personnalisé avec une lucarne surgissante porteuse d'un TEdit à la place de TLabel si je veux pourvoir y faire un Ctrl-C.

A+
Gilbert Geyer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2007, 17h40   #22
Eric Boisvert
Membre chevronné
 
Inscription : mai 2003
Messages : 571
Détails du profil
Informations personnelles :
Localisation : Canada

Informations forums :
Inscription : mai 2003
Messages : 571
Points : 756
Points : 756
à Gilbert Geyer..
et pourtant ici, Delphi 5 pros+update pack 1... sous Win2k...
CTRL+C dans la fenêtre et CTRL+V ici
Code :
1
2
3
4
5
6
7
8
 
---------------------------
C:\P\Delphi\Test\Test.exe
---------------------------
Testing
---------------------------
OK   
---------------------------
Y a probablement une différence entre les différents OS?
__________________
Comment dupliquer un disque...ça vous intéresse?
Tutoriel et code source delphi ici
Eric Boisvert est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2007, 17h40   #23
Qwazerty
Expert Confirmé Sénior
 
Avatar de Qwazerty
 
Homme Stéphane
La très haute tension :D
Inscription : avril 2002
Messages : 2 529
Détails du profil
Informations personnelles :
Nom : Homme Stéphane
Âge : 33
Localisation : France

Informations professionnelles :
Activité : La très haute tension :D
Secteur : Service public

Informations forums :
Inscription : avril 2002
Messages : 2 529
Points : 4 791
Points : 4 791
Envoyer un message via MSN à Qwazerty
SAlut
Tout d'abord c'est bien sympa cette section
Pour le showmessage, j'etais persuadé qu'il faisait appelle a une api Windows, et le Ctrl+C c'est justement l'api qui le gere :/. j'ai donc du me fourvoyer....
++
Qwaz
__________________

MagicQwaz := Harry Potter la baguette en moins
Le monde dans lequel on vit
La Brigade du Tigre !
HammerFest
Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer
Qwazerty est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2007, 18h55   #24
Jipété
Membre Expert
 
Inscription : juillet 2006
Messages : 1 929
Détails du profil
Informations personnelles :
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : juillet 2006
Messages : 1 929
Points : 2 176
Points : 2 176
Salut tout le monde.

Extrait de l'aide de D7 sur ShowMessage :
Citation:
Remarque : Si l'utilisateur tape Ctrl+C dans la boîte de message, le texte du message est copié dans le Presse-papiers.
Mes 2 cts,
--
jp
Jipété est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2007, 13h32   #25
Gilbert Geyer
Modérateur
 
Homme
Ingénieur retraité
Inscription : octobre 2005
Messages : 1 930
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Ingénieur retraité

Informations forums :
Inscription : octobre 2005
Messages : 1 930
Points : 2 483
Points : 2 483
Bonjour,

A Eric Boisvert
Citation:
et pourtant ici, Delphi 5 pros+update pack 1... sous Win2k...
... autant pour moi, j'avais oublié de préciser que j'utilise Delphi 5 Standard sous Win98.

A Jipété : A propos de l'extrait de l'aide de D7 sur ShowMessage :
vérification faite dans l'aide de D5-Standard le description concernant ShowMessage se résume à :
Citation:
Description

Appelez ShowMessage pour afficher un message simple avec le bouton OK. Le paramètre Msg est la chaîne qui apparaît dans la boîte de dialogue. Le nom de l'exécutable de l'application apparaît comme légende de la boîte de dialogue.

Pour afficher un message avec d'autres boutons ou avec une icône, utilisez la fonction MessageDlg.
... sans aucune allusion à un Ctrl+C.

A Tous: c'est sympa mais ne vous tracassez pas pour moi, et rien n'empêche un utilisateur de se faire une routine du type
Code :
1
2
3
4
5
6
7
8
9
 
procedure SMS(S : string);
begin     with Form1.Edit8 do // Edit8 est invisible sur ma Form 
          begin text:=S;
                SelectAll;
                CopyToClipBoard;
          end;
          ShowMessage(S);
end;
... et non seulement ça marche même sous D5-Standard et en prime d'une part ça évite d'avoir à taper Ctrl+C, reste plus-qu'à taper le Ctrl-V par la suite.
et d'autre part SMS() ça évite d'avoir à taper les 9 caractères de ShowMessage.

Au fait, au lieu d'utiliser Edit8 on pourrait aussi le remplacer par un TEdit créé et libéré dynamiquement..

A+
Gilbert Geyer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2007, 14h21   #26
exoseven
Membre confirmé
 
Inscription : mai 2005
Messages : 240
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 240
Points : 259
Points : 259
tu n'as même pas besoin d'un TEdit, en ajoutant clipbrd dans les uses

Code :
1
2
3
4
5
procedure SMS(S : string);
begin
 clipboard.AsText := s;
 ShowMessage(S);
end;
exoseven est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2007, 14h39   #27
Gilbert Geyer
Modérateur
 
Homme
Ingénieur retraité
Inscription : octobre 2005
Messages : 1 930
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Ingénieur retraité

Informations forums :
Inscription : octobre 2005
Messages : 1 930
Points : 2 483
Points : 2 483
Re-bonjour,

A Exoseven : Merci beaucoup. Ah que j'aime ce type de routine où l'on règle un problème avec seulement deux instructions!

A+
Gilbert Geyer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2007, 15h56   #28
TryExceptEnd
Membre éclairé
 
Avatar de TryExceptEnd
 
Homme
Développeur informatique
Inscription : octobre 2006
Messages : 435
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2006
Messages : 435
Points : 363
Points : 363
Citation:
Envoyé par Gilbert Geyer
... autant pour moi, j'avais oublié de préciser que j'utilise Delphi 5 Standard sous Win98.
En fait, la cause proviens de Win98 et non de Delphi 5.
la solution est de passer a Win2000 ou supérieur.
__________________
Si vous êtes libre, choisissez le Logiciel Libre.
TryExceptEnd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2007, 16h38   #29
Gilbert Geyer
Modérateur
 
Homme
Ingénieur retraité
Inscription : octobre 2005
Messages : 1 930
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Ingénieur retraité

Informations forums :
Inscription : octobre 2005
Messages : 1 930
Points : 2 483
Points : 2 483
Re-bonjour,

A TryExceptEnd :
Citation:
En fait, la cause proviens de Win98 et non de Delphi 5.
la solution est de passer a Win2000 ou supérieur.
... ça fait depuis longtemps que je voulais installer WinXp mais la manip m'oblige à réinstaller tout le reste et les réinstallations c'est pas mon truc.

A+
Gilbert Geyer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2007, 15h59   #30
vingt-huit
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 13
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 13
Points : 12
Points : 12
J'utilise peu les showmessages pour une raison très simple. J'ai la plupart du temps un code multithread, et showmessage est rarement apprécié dans ce cas. Par contre j'utilise un petit objet "cLog", qui stocke tout ce qu'on lui envoie dans un fichier texte, via la fonction Append, et lui ne me pose pas de problème avec les Thread. En se débrouillant bien, çà permet de stocker le ou les messages avec un horodatage précis. Pas inutile dans le cas de traitement passablement long !
vingt-huit est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2007, 18h23   #31
Qwazerty
Expert Confirmé Sénior
 
Avatar de Qwazerty
 
Homme Stéphane
La très haute tension :D
Inscription : avril 2002
Messages : 2 529
Détails du profil
Informations personnelles :
Nom : Homme Stéphane
Âge : 33
Localisation : France

Informations professionnelles :
Activité : La très haute tension :D
Secteur : Service public

Informations forums :
Inscription : avril 2002
Messages : 2 529
Points : 4 791
Points : 4 791
Envoyer un message via MSN à Qwazerty
Salut
Attention le sujet dirive...
A++
__________________

MagicQwaz := Harry Potter la baguette en moins
Le monde dans lequel on vit
La Brigade du Tigre !
HammerFest
Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer
Qwazerty est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2007, 09h04   #32
Rayek
Modérateur
 
Avatar de Rayek
 
Homme
Développeur informatique
Inscription : mars 2005
Messages : 4 991
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 39
Localisation : France, Haute Savoie (Rhône Alpes)

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mars 2005
Messages : 4 991
Points : 7 729
Points : 7 729
Pour ma part, j'ai une unité où je mets les fonctions que j'utilise le plus souvent et qui se répercute de programmes en programmes.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
 
unit uDefs;
 
interface
 
uses SysUtils,stdctrls,Dialogs,DateUtils,Forms;
 
const
  CVERSION = '1.00';
  CVERDATE = '10/08/2007';
 
var
  GAPPPATH : String;
 
  procedure MemoMessage (Memo : TMemo; sText : String);
  procedure CreateLogFile(sFilename,sText : String);
  function Wait (ms : Integer) : Integer;
 
 
implementation
 
procedure MemoMessage (Memo : TMemo; sText : String);
begin
  CreateLogFile(FormatDateTime('YYYYMMDD',Now) + '.log',
                  DateToStr(Now) + ' ' + TimeToStr(Now) +  sText);
  while Memo.Lines.Count > 500 do
    Memo.Lines.Delete(0);
  Memo.Lines.Add('[' + DateToStr(Now) + ' ' + TimeToStr(Now) + '] ' + sText);
end;
 
procedure CreateLogFile(sFilename,sText : String);
var
  FText : TextFile;
  sFile, sDir : String;
begin
  try
    sDir := GAPPPATH + '\logs\' + FormatDateTime('YYYY',Now) + '\' +
            FormatDateTime('MM',Now) + '\';
    if not DirectoryExists(sDir) then
      ForceDirectories(sDir);
    sFile :=sDir + sFileName;
    AssignFile(FText,sFile);
    if FileExists(sFile) then
      Append(FText)
    else
      ReWrite(FText);
    try
      Writeln(FText,Trim(sText));
    finally
      Closefile(FText);
    end;
  Except on E:Exception do
    begin
      if IOResult = 32 then
        CreateLogFile(sFileName,sText)
      else
        ShowMessage(E.Message);
    end;
  end;
end;
 
function Wait (ms : Integer) : Integer;
var
  dTimeDebut : TDateTime;
  iMsBetween : Integer;
begin
  dTimeDebut := Now;
  iMsBetWeen := MilliSecondsBetween(Now,Now);
  while  iMsBetWeen <= ms do
  begin
    Application.ProcessMessages;
    iMsBetween := MilliSecondsBetween(dTimeDebut,Now);
  end;
  Result := abs(iMsBetween);
end;
 
end.
la variable Globale GAPPPATH est initialisée au démarrage et recoit le chemin de l'application.

Code delphi :
1
2
 
GAPPPATH := ExtractFilePath(Application.exename);

De même que pour CVERSION et CVERDATE, je m'en sert pour le titre de l'paplication au démarrage

Code Delphi :
1
2
 
Caption := 'MonApplication v' + CVERSION + ' du ' + CVERDATE;

La fonction Wait est une sorte de sleep sans le défaut du sleep.
Car lors de l'utilisation du sleep, le programme est mis en pause (voir dans l'aide) alors que ma fonction laisse passer correctement les messages Windows.
__________________
Modérateur Delphi Combattez la brute
Aucune réponse aux sollicitations techniques par MP

Le guide du bon forumeur :__________
[Projet en cours] Des unités pour faciliter l'utilisation d'indy : EasyIndy 1.3
Rayek est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 23/11/2007, 09h59   #33
PapyJohn
Inactif
 
Inscription : avril 2007
Messages : 55
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 55
Points : 36
Points : 36
Par défaut Debbug

Petite astuce pour debugger un projet
Aller dans Projets options
DÉSACTIVER l'optimisation (choix implicite)
ACTIVER les trois erreurs à l'exécution
ACTIVER les cinq options de debug

Et quand vous compilez traitez les messages d'avertissement
Pris un par un ils n'ont que peu d'importance (d'où leur claassificatio)
mais leur combinaison peut générer à terme un bug beaucoup plus sournois a identifié (les effets de bord par exemple)

L'ennemi le plus redoutable est le gestionnaire de mémoire Il est assez redoutable a debuger.
Le meilleur moyen est de s'en passer au maximum aussi préférer toujours une variable de taille fixe globale a une dynamique locale.
Il sera toujours temps quand votre projet sera au point de mettre en dynamique se qui peut l'etre et si cela se passe mal vous identifirez beaucoup plus facilement l'opération provoquant le bug.

Bon debbug
'Heureusement que l'on commets des erreurs : où serait le plaisir de la programmation si tous marchait du premier coup?

PapyJohn
PapyJohn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2007, 16h32   #34
ShaiLeTroll
Expert Confirmé Sénior
 
Avatar de ShaiLeTroll
 
Homme
Développeur C++\Delphi
Inscription : juillet 2006
Messages : 9 172
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 32
Localisation : France

Informations professionnelles :
Activité : Développeur C++\Delphi
Secteur : High Tech - Électronique et micro-électronique

Informations forums :
Inscription : juillet 2006
Messages : 9 172
Points : 13 204
Points : 13 204
Citation:
Envoyé par Rayek Voir le message
La fonction Wait est une sorte de sleep sans le défaut du sleep.
Car lors de l'utilisation du sleep, le programme est mis en pause (voir dans l'aide) alors que ma fonction laisse passer correctement les messages Windows.
Le Sleep n'a aucun défaut, il est fait justement pour qu'un thread relache totalement son temps processeur au profit des autres threads, durant un tant donné sans se préoccuper des messages, car il y a justement une fonction d'attente prévue pour cela, c'est WaitMessage appelé dans le thread VCL, qui suspend le thread et reprend son execution dès l'apparation d'un message dans la file d'attente tout ceci appelé dans le Application.Idle, ensuite, lorsque WaitMessage relache la main au thread VCL, cela reprend l'execution de la boucle run, qui va lancer une écoute de message via l'API "PeekMessage" (voir ProcessMessage sans S dans TApplication) ... sinon,

tu devrais modifier ta fonction Wait qui consomme à mon avis BEAUCOUP de processeur (100% pour un mono core, 50% pour un dual, ...), tient j'ai adapté (simplifié) une fonction que j'avais développé pour l'attente du remplissage asynchrone du HTMLBody d'un WebBrowser ...

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{* -----------------------------------------------------------------------------
Attend un Nombre de Milli-Seconde sans bloquer la réaction au Message 
@param TimeOut Nombre de Milli-Seconde à attendre
------------------------------------------------------------------------------ }
procedure WaitSleeping(TimeOut: Cardinal);
var
   StartTime, PointTime: Cardinal;
begin
  StartTime := GetTickCount();
  repeat
    Sleep(1); // Il laisse une Milliseconde Entière aux Autres Processus
    Application.ProcessMessages();
    PointTime := GetTickCount();
  until PointTime >= StartTime+TimeOut; // Continue jusqu'à ce que le Délai soit écoulé
end;
__________________
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !

L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

Halte à la ségrégation des Cinémas, VO sur Paris, VF en Banlieue, Abonnement résilié !
ShaiLeTroll est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2007, 16h43   #35
Sub0
Expert Confirmé
 
Avatar de Sub0
 
Homme
Développeur Web
Inscription : décembre 2002
Messages : 3 489
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 40

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2002
Messages : 3 489
Points : 3 514
Points : 3 514
Envoyer un message via MSN à Sub0 Envoyer un message via Skype™ à Sub0
Salut! Pour info, dans cette boucle ci-dessus, la durée du sleep affecte directement la charge du processeur. Dans certains cas, il est utile de ne pas bloquer le proc durant le délai... Perso, je mets sleep(50) en général pour obtenir une boucle suffisemment rapide sans trop bloquer le proc.
Sub0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2007, 11h36   #36
Droïde Système7
Membre Expert
 
Avatar de Droïde Système7
 
Homme
Inscription : septembre 2003
Messages : 1 896
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : septembre 2003
Messages : 1 896
Points : 1 665
Points : 1 665
Bonjour,

Encore deux trucs, dont l'un est en principe indispensable à tout développeur, à moins de disposer d'une mémoire d'éléphant.

  • 1. lorsque je tourne en rond, m'obstine sur un code, une méthode, un algo récalcitrant à trouver ; la pause du déjeuner ou dîner m'apporte souvent la réponse gràce justement à ce recul salutaire.

  • 2. pour revenir à votre mémoire d'éléphant comment, quelle méthode vous permet de conserver, mémoriser, stoker vos codes et snippets ?
    (snippet = morceau de code)
    Perso j'utilise avec bonheur depuis des années un des freewares de Christian Martinez (SoftChris). Ce programme se nomme SoftNote 2002.
    A noter également que je compte bientôt changer contre SortNote 2005, bien plus évolué !

A l'aide de ce programme, à condition que votre classement soit effectué logiquement ; retrouver un code devient un simple jeu d'enfant, merci à son auteur et vive les freewares et auteurs de freewares !

Droïde Système7 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/11/2007, 10h55   #37
pitango
Membre habitué
 
Inscription : janvier 2005
Messages : 159
Détails du profil
Informations personnelles :
Âge : 42
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : janvier 2005
Messages : 159
Points : 126
Points : 126
Citation:
Envoyé par Droïde Système7
2. pour revenir à votre mémoire d'éléphant comment, quelle méthode vous permet de conserver, mémoriser, stoker vos codes et snippets ?
(snippet = morceau de code)
Perso j'utilise avec bonheur depuis des années un des freewares de Christian Martinez (SoftChris). Ce programme se nomme SoftNote 2002.
A noter également que je compte bientôt changer contre SortNote 2005, bien plus évolué !
Je ne dirais qu'un mot : Adopté.

Merci Droïde Système7
__________________
Pitango
-------------------------------------------------
[Delphi7.1 Entreprise][MYSQL 5.0.27][SQL SERVER 7][W2000/NT4]
pitango est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/11/2007, 15h48   #38
Droïde Système7
Membre Expert
 
Avatar de Droïde Système7
 
Homme
Inscription : septembre 2003
Messages : 1 896
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : septembre 2003
Messages : 1 896
Points : 1 665
Points : 1 665
Par défaut Message pour encourager les auteurs de freewares...

pitango,

Merci de ton merci, mais je n'y suis pour rien

Droïde Système7 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 27/11/2007, 11h44   #39
bubulemaster
Membre chevronné
 
Développeur Java
Inscription : mars 2004
Messages : 619
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Développeur Java

Informations forums :
Inscription : mars 2004
Messages : 619
Points : 630
Points : 630
Pour ma part, je dirais qu'il faut toujours avoir un programme prévu pour les tests dans lequel on va tester uniquement un bout de code pour le mettre au point au le debugger. Dans ce programme on va tester tous les cas possibles même si on sait qu'une valeur ne pourra pas arrivé on ne sais jamais un jour le code pourra être déplacé et l'erreur se produire.
En plus, par ce système on s'affranchit des complications du code éventuel.
bubulemaster est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2008, 11h47   #40
Droïde Système7
Membre Expert
 
Avatar de Droïde Système7
 
Homme
Inscription : septembre 2003
Messages : 1 896
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : septembre 2003
Messages : 1 896
Points : 1 665
Points : 1 665
Encore une :

J'utilise Google tous les jours (GG pour les intimes), mais je viens d'apprendre qu'il existe une spécialisation CODE de notre ami GG :
http://www.google.com/codesearch?hl=fr

Dire, que je viens seulement de trouver ça grâce à notre camarade reisubar que je remercie très sincèrement.

Mais je suis certain, que je ne dois pas être le seul, à découvrir cette mine d'or trop tardivement.

@+
Droïde Système7 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Actualité déjà publiée
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 00h03.


 
 
 
 
Partenaires

Hébergement Web