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. #81
    Membre habitué
    Profil pro
    Inscrit en
    Août 2006
    Messages
    185
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2006
    Messages : 185
    Points : 192
    Points
    192
    Par défaut
    Pour continuer dans la série des Ctrl bien utile

    On sélectionne le text et on tape Ctrl + KN pour mettre en majuscule (bien pratique quand on a des requêtes SQL et que les champs sont en "case sensitive".

    Celui qui connait sont contraire m'interesse

    PS : existe t'il un endroit où tout ces raccourcis claviers sont repris ?
    Tu peux le faire, tu veux le faire tu vas le faire Bref, soyons positif

  2. #82
    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
    Citation Envoyé par dd_garion Voir le message

    Celui qui connait sont contraire m'interesse
    CTRL+KO
    Comment dupliquer un disque...ça vous intéresse?
    Tutoriel et code source delphi ici

  3. #83
    Membre chevronné Avatar de chaplin
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 215
    Points : 1 819
    Points
    1 819
    Par défaut
    Citation Envoyé par dd_garion Voir le message
    PS : existe t'il un endroit où tout ces raccourcis claviers sont repris ?
    Sur le site de John Colibri.

  4. #84
    Membre habitué
    Profil pro
    Inscrit en
    Août 2006
    Messages
    185
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2006
    Messages : 185
    Points : 192
    Points
    192
    Par défaut
    Thank's a lot
    Tu peux le faire, tu veux le faire tu vas le faire Bref, soyons positif

  5. #85
    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
    Je viens de passer au moins une heure à trouver pour quelle raison l'appli sur laquelle je passe en update, ne fonctionne pas correctement, si je la lance depuis Delphi 7.

    Par contre si je lance cette appli directo en cliquant sur son EXE ; tout est impeccable.

    J'ai repassé le code soupçonnable en long et en travers, j'ai testé à l'aide de marqueurs "ShowMessage", etc.

    Bref, le code était bon, mais c'est qu'il se trouve que la semaine dernière, j'ai installé la dernière mouture de Kaspersky IS 2010.

    Devinez quoi...

    Avec la version 2009 de Kaspersky IS, la version de l'appli que j'updatais ne posait aucun problème, même si lancée via Delphi.

    Mais avec cette version 2010, ça bloque certaines parties de codes ; par exemple, s'il existe des écritures...

    Grâce à l'aide de l'option "Suspension de la protection", en mettant une minute et en testant de suite ; le pot aux roses était découvert !

    Si un jour pareille mésaventure vous arrive...

    Faudra que je place Delphi en zone de confiance, mais l'ergonomie de cette dernière version...
    (Je ne parle pas de Delphi )

    @+

  6. #86
    Membre éprouvé
    Avatar de Montor
    Homme Profil pro
    Autre
    Inscrit en
    Avril 2008
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Avril 2008
    Messages : 879
    Points : 963
    Points
    963
    Par défaut
    Citation Envoyé par edam Voir le message
    ....[]
    Citation Envoyé par edam
    sa je l'ai bien compris, mais la boucle principale peut faire l'affaire,non??
    oui elle peut faire l’affaire… cette optimisation est pour deux raisons a mon avis la première avec une boucle le thread devient "inutilement" très active il va épuiser toute la durée de temps qui lui a été accordé et puisque il est en premier plan il est un peu favorisé en guis des autres processus .
    secundo toutes les messages seront traitées dès la première invocation de la méthode ProcessMessages donc elle va faire plusieurs centaines de millier de boucles avant qu’une nouvelle message apparaitre
    avec cette optimisation on va limiter le nombre d’itérations
    le processus n’a plus de priorité d’exécution
    Citation Envoyé par edam
    bien sûr si ce activix d'IE peut envoyer des evénement(onterminate) par example
    Non cette optimisation est très répandu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
      WebBrowser1.Navigate('http://www.un truc.com/');
      while WebBrowser1.ReadyState <> READYSTATE_COMPLETE do
      begin
       Application.ProcessMessages();
       Sleep(5);
      end;
    Citation Envoyé par edam
    mais avec sleep dans une boucle, c'est déjà il consomme du temps de CPU!!!??, c'est ce que je veux dire,
    il s’agit d’une boucle repeat until dépendante de condition de sortie pas de nombre de boucle.

  7. #87
    Membre éprouvé
    Avatar de Montor
    Homme Profil pro
    Autre
    Inscrit en
    Avril 2008
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Avril 2008
    Messages : 879
    Points : 963
    Points
    963
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    ...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;
    Sauf que cette fonction va rendre l'ame si GetTickCount reprend une nouvelle boucle ...
    il a du changer la condition de sortie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ...
    until (PointTime-StartTime) >= TimeOut;

  8. #88
    Membre éprouvé
    Avatar de Montor
    Homme Profil pro
    Autre
    Inscrit en
    Avril 2008
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Avril 2008
    Messages : 879
    Points : 963
    Points
    963
    Par défaut
    Citation Envoyé par Droïde Système7 Voir le message
    Encore une petite

    Ce petit canailloux de Vista

    L'autre fois j'ai bien passé 1/2 heure pour trouver pour quelle raison, lors de tests, je n'étais même plus fichu de créer un tout bête fichier INI.

    Sur le code ci-dessous, Vista refuse de façon silencieuse l'écriture :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ...
    FileIni := TIniFile.Create('test.ini');
    ...
    Par contre, en affectant un dossier bien ciblé, là tout est autrement, et la création est effective :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ...
    FileIni := TIniFile.Create(ExtractFilePath(Application.ExeName)+'test.ini');
    ...
    Par contre, je n'ai pas testé en neutralisant l'UAC de Vista, mais je subodore...

    @+
    Les fichiers IniFile utilisent en interne la fonction WritePrivateProfileString pour écrire les différents type de donnée
    Citation Envoyé par msdn
    if the lpfilename parameter does not contain a full path and filename for the file, writeprivateprofilestringsearches the windows directory for the file. If the file does not exist, this function creates the file in the windows directory.
    le fichier est crée dans le dossier windows...

  9. #89
    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 Truc sans code pour une fois...
    Une fois n'est pas coutume, voici un truc sans aucun rapport avec du code.

    Ce truc revêt simplement la forme d'un lien, car souvent les débutants, et les autres, se trouvent confrontés au problème de créer, ou dénicher de jolies icônes pour leurs interfaces.

    En complément des ressources icônes disponibles sur Developpez.com, voici une page à dévorer des yeux.

    En principe, ces icônes sont gratuites et libres de droit, mais vérifiez toutefois, car il existe des exceptions :

    http://www.iconpot.com/

    Vous allez en trouver des


    .

  10. #90
    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 Recherche efficace et bien structurée
    Encore un élément clé de tout développeur : la recherche d'informations.

    Réponses issue d'une discussion très intéressante.

    Méthode ouiouioui
    1. Algo de principe :
      [Langage] + [mots clés de recherche] + [site:nom de domaine]
    2. Algo appliqué :
      [delphi] + [comment mettre en premier plan] + [site:developpez.net]
    3. Exemple fonctionnel de recherche :
      delphi comment mettre en premier plan site:developpez.net


    Méthode Guardian
    1. Algo de principe :
      [nom de domaine sans extension] + [langage] + [mots clés de recherche]
    2. Algo appliqué :
      [developpez] + [delphi] + [mots clés de recherche]
    3. Exemple fonctionnel de recherche :
      developpez delphi threads


    Voilà, je vous souhaite bonnes recherches

  11. #91
    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 XPMan avec Panels et propriété Color
    Aller, encore un que je souhaite partager avec vous

    Fallait absolument que je respecte la propriété Color d'une sorte d'empilement de Panels.

    Bien entendu, je m'en doutait largement, j'avais un petit canailloux de XPMan dans le coin, qui allait me jouer des tours de cochon

    Au bout d'un certain moment, j'ai obtenu un résultat encourageant sur un des panels.

    Mais pas évident du tout car la loi de l'héritage joue à plein !

    Bref, la propriété (si évidente pourtant) de ParentBackground est la clé de tout.

    Hé oui la loi de l'héritage Pascal est super bien illustrée en ce cas :

    - Placez un Panel sur votre Form, regardez la propriété
    ParentBackground si elle est ou non par défaut (= en gras)

    - Placez un second Panel sur le premier Panel, regardez encore la
    propriété ParentBackground si elle est ou non par défaut (= en gras)

    Ça change en effet !

    Mais pour arriver à ses fins, pas aussi direct que cela... mais la propriété
    ParentBackground en est la clé vous dis-je

    @+

    PS : Combien de fois j'ai lu en forums, que le XPMan empêchait de colorier les panels !

  12. #92
    Membre chevronné Avatar de philnext
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 552
    Points : 1 780
    Points
    1 780
    Par défaut
    Un petit truc que j'utilise sur des projets pour suivre à la fois les évolution de versions et le modif. qui restent à faire :
    Je rajoute un commentaire à un format particulier, à l'endroit où je modifie le code, associé au N° de version en cours style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    //@@ V 1.2.1.3 - Correctif pour vérifier si le fichier test.txt n'est pas en lecture seule avant d'écrire dedans.
    Avec une petite syntaxe toute simple :
    V x.x.x.x pour identifier le N° de version de la modif (ou T pour un TODO)
    - pour les correctifs (+ pour les fonctions * pour le reste)
    ..etc.
    Après il suffit de faire mouliner un petit parseur de code qui me génère un fichier rtf des modif. pour mon projet.
    A priori ça existe déjà sous d'autres formes (et c'est inutile si un a un outil de suivi de versions) mais je n'ai rien trouvé de simple.

  13. #93
    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 Mise en garde !!!


    Un peu plus haut en ce thread, je vantais les qualités du programme noté ci-dessous, d'ailleurs que j'utilise tous les jours ou presque.

    Citation Envoyé par Droïde Système7 Voir le message

    • 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 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 !
    Or, depuis un moment, je constate que des fiches entières sont disparues

    Mais à la place est présent le contenu de la première fiche située tout en haut de l'arborescence des fiches de ce programme.

    Plusieurs fois, j'avais accusé mon étourderie...

    Mais avec le temps passant et les autres fiches disparaissant, je me suis posé des questions !

    Jusqu'au moment de prendre la décision de faire quelque chose afin de stopper ces pertes réelles et constatées.

    J'ai donc décidé de sauvegarder toutes les fiches "racines" et de les cloner en "Note enfant" sur chacune de ces fiches...

    Mais vu le nombre de fiches que j'ai, je réalise cela petit à petit. Cela me permet de confirmer la perte de certaines fiches. Heureusement que je réalise des sauvegardes régulières du fichier idoine, vers d'autres supports.

    Bref, voici donc ma méthode sur chaque fiche "racine" :
    1. En haut tout au début, je place "trois petits points", signe que cette fiche est sauvegardée.
    2. Et bien entendu je crée une "Note enfant" en arbo de cette fiche, que je nomme tout simplement "Sav...", contenant le texte de la fiche au niveau racine.


    Si vous avez également eu le même soucis, dites...

    Si vous utilisez ce programme, je vous conseille fortement d'effectuer de la sorte.

    Je précise que la taille du fichier idoine en extension .bct pèse près de 2 Mo.

    @+

  14. #94
    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 Tout le monde,

    Chaque chatouilleur de code possède ses petites manies, pero j'ai celle de toujours avoir de visible à l'écran au bas à droite, le niveau de charge CPU. Ce qui peut se révéler très utile.

    Alors sous Vista, j'avais pris l'habitude de lancer la jauge CPU, via ce chemin :
    "Gestionnaire de tâches" > Onglet "Performances".

    Mais dernièrement, je viens de redécouvrir un autre site très instructif niveau 3D et graphisme (malheureusement à la dérive ) possédant le petit bijoux qui remplace désormais la jauge CPU Windows.

    Voir à cette adresse :

    Menu > Delphi > Programmes exécutables > Page 1 > CPU 2.0.

    Voilà, j'ai le plaisir de partager avec vous ce lien et j'espère que cette jauge vous sera également utile.

    @+

    Edit : Je viens d'échanger ce programme contre un encore mieux : CPU Plus, ce dernier permet de contrôler le taux d'occupation de la mémoire RAM en plus !

  15. #95
    Membre confirmé
    Inscrit en
    Janvier 2009
    Messages
    598
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 598
    Points : 628
    Points
    628
    Par défaut
    Alors je sais pas si ça marche avec vos versions de delphi mais moi qui ai la version 5, quand je veux tester mon programme sans une partie de mon code, je coupe cette partie et je la colle à la fin de mon programme, après le end de fin, puis je peux tester mon programme sans que le compilateur ne voit la partie que j'ai mis à la fin, donc c'est une façon de tester plusieurs façon d'écrire son code en mettant à chaque fois en fin du programme la partie que l'on veut rendre invisible au compilateur.
    Cliquez ici et reprenez le pouvoir !
    A bas IE !, Google, et le pistage du net, testons DuckDuckGo.com
    Lords Of The Realm II Download : Lords of the realm 2
    Infos en anglais :Ici

  16. #96
    Membre expérimenté
    Avatar de ouiouioui
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2006
    Messages
    984
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 984
    Points : 1 418
    Points
    1 418
    Par défaut
    Citation Envoyé par dragonno Voir le message
    Alors je sais pas si ça marche avec vos versions de delphi mais moi qui ai la version 5, quand je veux tester mon programme sans une partie de mon code, je coupe cette partie et je la colle à la fin de mon programme, après le end de fin, puis je peux tester mon programme sans que le compilateur ne voit la partie que j'ai mis à la fin, donc c'est une façon de tester plusieurs façon d'écrire son code en mettant à chaque fois en fin du programme la partie que l'on veut rendre invisible au compilateur.
    moi je sélectionne le code, CTRL + : et c'est en commentaire idem pour décommenter.
    Il existe 3 sortes de gens: ceux qui savent compter et ceux qui ne savent pas.

  17. #97
    Membre confirmé
    Inscrit en
    Janvier 2009
    Messages
    598
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 598
    Points : 628
    Points
    628
    Par défaut
    Ah pas mal ton astuce, cela peut se faire en Delphi 5 ? (Ouiouioui)
    Cliquez ici et reprenez le pouvoir !
    A bas IE !, Google, et le pistage du net, testons DuckDuckGo.com
    Lords Of The Realm II Download : Lords of the realm 2
    Infos en anglais :Ici

  18. #98
    Membre averti Avatar de archonte
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 341
    Points : 392
    Points
    392
    Par défaut
    Citation Envoyé par ouiouioui Voir le message
    moi je sélectionne le code, CTRL + : et c'est en commentaire idem pour décommenter.
    Ah ? chez moi c'est CRTL + / [Turbo Delphi 2006]
    "Je n'ai jamais rencontré d'homme si ignorant qu'il n'eut quelque chose à m'apprendre."
    Galilée

  19. #99
    Membre expérimenté
    Avatar de ouiouioui
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2006
    Messages
    984
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 984
    Points : 1 418
    Points
    1 418
    Par défaut
    Citation Envoyé par archonte Voir le message
    Ah ? chez moi c'est CRTL + / [Turbo Delphi 2006]
    effectivement c'est / vu que je me sert pas du pavé numérique pour commenter la touche sur mon clavier fait le : en minuscule et / en maj.
    donc CTRL + /.

    plus haut il y a un lien avec les raccourcis donc nos post sont inutile et à effacer.
    Il existe 3 sortes de gens: ceux qui savent compter et ceux qui ne savent pas.

  20. #100
    Membre habitué
    Développeur .NET
    Inscrit en
    Juin 2002
    Messages
    274
    Détails du profil
    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2002
    Messages : 274
    Points : 174
    Points
    174
    Par défaut
    Citation Envoyé par ouiouioui Voir le message
    effectivement c'est / vu que je me sert pas du pavé numérique pour commenter la touche sur mon clavier fait le : en minuscule et / en maj.
    donc CTRL + /.

    plus haut il y a un lien avec les raccourcis donc nos post sont inutile et à effacer.
    Génial celui là je le connaissais pas !!

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, 11h45
  2. Petit truc utile que j'ai découvert $.each
    Par SpaceFrog dans le forum jQuery
    Réponses: 12
    Dernier message: 27/08/2010, 02h12
  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, 16h56

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