IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 Delphi Discussion :

Nos petits trucs utiles de développeurs


Sujet :

Delphi

  1. #21
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    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 : 2 396
    Points : 3 263
    Points
    3 263
    Par défaut
    Re_bonjour,

    A Eric Boisvert : Je viens de tester :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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+
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  2. #22
    Membre éprouvé

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    582
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2003
    Messages : 582
    Points : 915
    Points
    915
    Par défaut
    à Gilbert Geyer..
    et pourtant ici, Delphi 5 pros+update pack 1... sous Win2k...
    CTRL+C dans la fenêtre et CTRL+V ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  3. #23
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 898
    Points : 8 529
    Points
    8 529
    Par défaut
    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
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  4. #24
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 700
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 700
    Points : 15 044
    Points
    15 044
    Par défaut
    Salut tout le monde.

    Extrait de l'aide de D7 sur ShowMessage :
    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
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  5. #25
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    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 : 2 396
    Points : 3 263
    Points
    3 263
    Par défaut
    Bonjour,

    A Eric Boisvert
    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 à :
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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+
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  6. #26
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    390
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 390
    Points : 620
    Points
    620
    Par défaut
    tu n'as même pas besoin d'un TEdit, en ajoutant clipbrd dans les uses

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    procedure SMS(S : string);
    begin
     clipboard.AsText := s;
     ShowMessage(S);
    end;

  7. #27
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    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 : 2 396
    Points : 3 263
    Points
    3 263
    Par défaut
    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+
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  8. #28
    Membre confirmé Avatar de TryExceptEnd
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    501
    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 : 501
    Points : 574
    Points
    574
    Par défaut
    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.

  9. #29
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    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 : 2 396
    Points : 3 263
    Points
    3 263
    Par défaut
    Re-bonjour,

    A TryExceptEnd :
    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+
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  10. #30
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 13
    Points : 15
    Points
    15
    Par défaut
    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 !

  11. #31
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 898
    Points : 8 529
    Points
    8 529
    Par défaut
    Salut
    Attention le sujet dirive...
    A++

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  12. #32
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    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 : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  13. #33
    Inactif
    Inscrit en
    Avril 2007
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 55
    Points : 53
    Points
    53
    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

  14. #34
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 429
    Points : 24 794
    Points
    24 794
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  15. #35
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    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.
    De retour parmis vous après 10 ans!!

  16. #36
    Membre chevronné
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 262
    Points : 1 928
    Points
    1 928
    Par défaut
    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 !


  17. #37
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    158
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 158
    Points : 158
    Points
    158
    Par défaut
    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]

  18. #38
    Membre chevronné
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 262
    Points : 1 928
    Points
    1 928
    Par défaut Message pour encourager les auteurs de freewares...

  19. #39
    Membre éclairé
    Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    624
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2004
    Messages : 624
    Points : 681
    Points
    681
    Par défaut
    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.

  20. #40
    Membre chevronné
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 262
    Points : 1 928
    Points
    1 928
    Par défaut
    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.

    @+

Discussions similaires

  1. Thread "Nos petits trucs utiles de.." cadenassé
    Par Droïde Système7 dans le forum Débuter
    Réponses: 8
    Dernier message: 22/02/2012, 12h45
  2. Petit truc utile que j'ai découvert $.each
    Par SpaceFrog dans le forum jQuery
    Réponses: 12
    Dernier message: 27/08/2010, 03h12
  3. Petit truc tout simple que je comprend pas
    Par Olaf MENJI dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 29/11/2005, 17h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo