tableau de voyants clignotants clignotant, voyants, leds, timer, souris, source n°40775

tableau de voyants clignotants clignotant, voyants, leds, timer, souris, source n°40775 csvb, vb.netasp.net,aspc, c++coldfusionphpjavascriptdelphiflashjavagraphismeircassembleurc#mobilitésqlfoxpropythonwindevsnippetsit pros codes (2916) listes de codes toutes les sources les plus récents les mis à jour les plus populaires les plus populaires du mois tout le niveau 1 (débutant) tout le niveau 2 (initié) tout le niveau 3 (expert) toutes les sources avec un fichierzip les sources(1147) les mieux notés categories des codes api base de donnees base de registre composants compression & split control date & heure direct x divers exécution fichier / disque formulaire graphique imprimante jeux kylix maths multimedia opengl périphériques réseau & internet sécurité souris, clavier, etc. système texte trucs & astuces turbo pascal tutoriaux trouver des codes trouver un code par mot clé (nouveau) top des codes les trophées top des favoris des membres top par catégorie auteurs de codes les auteurs de sources le top des membres ajouter une source tutoriaux (33) forums (58765) vidéos livres (22296) outils & liens emploi (cv et offres) services téléchargement chat autres sites divers partenaires section étudiants section pro connexion begin process at 2007 10 22 19:02:48 derniers blogs sql server 2005 : astu... a quoi sert list<t>.fo... [article] comprendre l... [vs 2008] profiling: t... emploi : enquête intér... la suite... mini sondage la suite bureautique que vous utilisez microsoft office xpmicrosoft office 2000microsoft office 2003microsoft office 2007openofficeautre voter . derniers logiciels camstudio (2.5 beta 1)wamp5 (1.7.3)gnoztik (0.98 beta)deepburner free (1.8.0...faststone capture 5.3 ... la suite... mes rss vonage poursuivi par ...la directrice marketi...phonenumber@email.com...mm/dd/yyyy...parsing aspx and othe... la suite...personnaliser stats 989 299 membres 587 nouveaux aujourd'hui 12 992 membres club divers mettre ce site au démarrage ajouter ce site à vos favoris codes-sources dans votre msn ! priceminister acheter-vendre : livre, matériel informatique, logiciel, imprimante, antivirus, firewall, disque dur, onduleur, écran, clavier, carte mémoire, pc portable, ordinateur mes favoris plein ecran connexion trouver une ressource trouvez une ressource parmi 36 770 codes, 1 001 233 messages d'aide etc... recherche:   dans tout le site codes tutoriaux forum blogs livres rfc icones news .net boutique [ dernières recherches ] filtre: tous les codes.net uniquementexclure .net tableau de voyants clignotants information sur la source télécharger le zip voir la capture ajouter à mes favoris catégorie :graphique classé sous : clignotant, voyants, leds, timer, souris niveau : débutant date de création : 18/12/2006 23:51:08 date de mise à jour : 31/12/2006 17:53:09 vu / téléchargé: 3 275 / 280 auteur : jean_jean ecrire un message privé note :aucune note commentaire sur cette source (12) ajouter un commentaire et/ou une note description c'est en travaillant sur un projet que je me suis heurté à une gestion de voyants (voir la capture!) que je voulais clignotants et d'une part à un besoin de faire une petite révision d'instructions delphi. des et d'autre part. je pense que mes recherches pourront servir à d'autres débutants. les thèmes et intérêts de programmation sont divers : pour la 1ère version :- image des voyants chargés par appel direct du fichier bitmap:         timage(findcomponent('image' + inttostr(i))).picture.loadfromfile(ficvoy);  ou par référence à un index du composant imagelist  imagelist1.getbitmap(1,timage(components[i]).picture.bitmap)- sélection visuelle d'option (en cliquant sur un voyant). paramétrage de la colonne et de la ligne d'une matrice de voyants  colonne = process concerné / ligne = niveau du paramètre du process- clignotement (par deux timers) du voyant concerné par l'option choisie- identifications dynamiques divers de voyants :      if assigned(findcomponent('image' + inttostr(i))) then      timage(findcomponent('image' + inttostr(i))).picture.loadfromfile(ficvoy)      ou      if components[i] is timage then if ( components[i].name = 'image4') then...pour la 2ème version, on ajoutera :- création dynamique des leds- centralisation des clics de sélection des leds- personnalisation du tableau des leds : nombre de proces, de leds par process, espacements...voilà, je suis toujours à l'écoute de vos remarques...jean_jean conclusion le source est commenté en détail.le code est encore améliorable. notamment, celui d'écrire un objet tableau de voyants ou un composant comme l'a suggéré florenth :-)l'utilisation va de soi et peut s'adapter très facilement...c'était mon cadeau de fin d'année... fichier zip pour les "membres club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier ! fblinker2.dfm19 637 octets fblinker2.pas16 286 octets fmain.dfm28 419 octets fmain.pas3 064 octets fvieuxmain.dfm466 417 octets fvieuxmain.pas16 320 octets grpvoyants.dpr285 octets ledoff.bmp246 octets ledrouge.bmp246 octets niveaux2.bmp45 878 octets télécharger le zip historique 31 décembre 2006 17:53:09 : 18/12/2006 : 1ère version non optimisée plusieurs timers, images statiques, 1 méthode par voyant... bien que le code n'est pas de haut niveau, je l'ai laissé. il permet aux débutants de voir les différents niveaux de programmation. le code fourni n'était alors que prétexte à faire une petite révision de l'utilisation de quelques instructions. 31/12/2006 : 2ème version optimisée suivant les commentaires du 1er source paramètres modifiables du tableau de leds création dynamique des leds : 1 fréquence possible par led 1 seule méthode pour la sélection d'une led quelconque merci à ceux qui ont participé sources de la même categorie afficher, telecharger des images se trouvant sur internet dans votre appli delphi grace a indy sauvegarder un bitmap en jpeg avec donnÉes exif et vignette wallpapercam visionneuse btools form trÉs personnel (design) toutes les sources de la catégorie graphique sources en rapport avec celle ci chronometre / compte a rebours *10 tic tac shut down - outil servant À Éteindre votre pc en un temps donnÉ (sleep timer) ni clic ni touche dÉcompteur de temps pour match de boxe (ou autre) calcul du coÛt d'une communication tÉlÉphonique commentaires commentaire de florenth le 19/12/2006 09:35:15 pas mal du tout ! par contre, j'aurais eu une approche complètement différente. je pense que ça vaut le coup que le la décrive.explication:créer un composant "tledclignotante" avec comme propriétés:- une référence vers un timagelist- deux index pour les images allumées et éteintes (relative au imagelist)- une propriété "clignote: boolean" (pour savoir si la led doit clignoter)- une propriété "allumé: boolean" (indique l'état de la led)- une référence vers un "tledmanager". (voir plus bas)donc, pour chaque led, il y aurait un composant. la gestion des états "allumé/éteint/clignotant" se ferait par des gestionnaires onclick (un seul pour chaque processus, on teste le sender pour savoir le nouvel état)deuxième composant "tledmanager" (non-visuel) se composerait tout simplement:- d'un timer déclanchant les clignotements (intervalle réglable depuis l'extérieur bien sûr)- d'une liste (non propriétaire) de tledclignotante.a chaque intervalle du timer, il changerait l'état des leds si leur propriété "clignote" est à true. comme ça, le clignotement est synchronisé (parmi toutes les leds qui lui sont reliées), et il est possible d'arrèter tous les clignotements en une seule ligne.l'idée étant de séparer complètement l'aspect visuel (clignotements) et l'action de l'utilisateur (click pour changer les priorités des processus). on pourrait même envisager un composant, "tledradiobox" qui regroupperait une liste de leds sous forme d'un dérivé de tstrings, qui les positionnerait à l'intérieur de lui même, qui s'assurerait qu'une seule led doit cochée (il serait aussi possible de rajouter une propriété pour en allumer plusieurs) et qui gérerait le clignotement (grâce, bien sûr, au tledmanager).je ne sais pas ce que tu en penses, fais le moi savoir stp. c'est sûr que ça fait plus de code, mais je pense que l'aspect réutilisable que prendrait ce genre de projet rentabiliserait largement le temps passé à le coder. en plus, non seulement ce serait utile, mais aussi joli et pratique. *vous ne vous imaginez pas tout ce que citroën (euh... un composant) peut faire pour vous !* ^^a+florent commentaire de f0xi le 19/12/2006 09:39:21 administrateur cs pfiuuu que de code pour ça ...tu pourrais optimiser tout cela avec des tableaux, des inverseurs booléens ect... ect...exemple avec des paintbox :type  tform1 = class(tform)    timer1: ttimer;    paintbox1: tpaintbox;    paintbox2: tpaintbox;    paintbox3: tpaintbox;    paintbox4: tpaintbox;    paintbox5: tpaintbox;    paintbox6: tpaintbox;    paintbox7: tpaintbox;    paintbox8: tpaintbox;    paintbox9: tpaintbox;    paintbox10: tpaintbox;    paintbox11: tpaintbox;    paintbox12: tpaintbox;    paintbox13: tpaintbox;    paintbox14: tpaintbox;    paintbox15: tpaintbox;    paintbox16: tpaintbox;    paintbox17: tpaintbox;    paintbox18: tpaintbox;    paintbox19: tpaintbox;    paintbox20: tpaintbox;    procedure timer1timer(sender: tobject);    procedure formcreate(sender: tobject);  private    { déclarations privées }    procedure doimageclick(sender : tobject);  public    { déclarations publiques }  end;var  form1: tform1;implementation{$r *.dfm}type  tblinker = record    image     : tpaintbox;    state     : boolean;    enabled   : boolean;    frequency : integer;    tick      : integer;  end;var  blinkcolors : array[boolean] of integer = (clgreen, cllime);  blinkers    : array of tblinker;procedure tform1.formcreate(sender: tobject);var n : integer;begin  randomize;  setlength(blinkers, 20);  for n := 0 to high(blinkers) do      with blinkers[n] do begin           state     := false;           enabled   := true;           frequency := (n+1) shl 1;           tick      := 0;           image     := tpaintbox(findcomponent('paintbox'+inttostr(n+1)));           image.tag := n;           image.onclick := doimageclick;           image.hint    := 'f = '+inttostr(frequency*timer1.interval)+' ms';      end;   timer1.interval := 10;end;procedure tform1.doimageclick(sender : tobject);begin  with blinkers[(sender as tpaintbox).tag] do begin       enabled := not enabled;       state   := false;       tick    := 0;       image.canvas.brush.color := blinkcolors[state];       image.canvas.fillrect(image.clientrect);  end;end;procedure tform1.timer1timer(sender: tobject);var n : integer;begin   for n := 0 to high(blinkers) do      with blinkers[n] do        if enabled then begin           inc(tick);           if tick >= frequency then begin              state := not state;              image.canvas.brush.color := blinkcolors[state];              image.canvas.fillrect(image.clientrect);              tick  := 0;           end;        end;end;end. commentaire de florenth le 19/12/2006 10:31:07 euh f0xi, quitte à revoir le code, autant tout revoir ... et faire de beaux composants réutilisables, non ?sinon, c'est vrai que j'ai oublié de préciser que le code est un peu fouillis.[mode-hs on]mais c'est bien que les codes ne soient pas parfaits ! ça laisse des choses à dire et à améliorer !qu'est ce qu'on s'embetterait si tous les codesdu site étaient de la pure merveille, prêt-à-l-emploi ou encore z-avez-qu-a-le-déposer-sur-la-fiche ...bon ok, je sors ... ^^[mode-hs off] commentaire de francky23012301 le 19/12/2006 12:54:42 @f0xi : quitte à utiliser 20 tpainbox autant les créer dynamiquement (idem pour le timer) non ? commentaire de jean_jean le 19/12/2006 13:14:12 vive la jeunesse! j’aimerai avoir 20 ans de moins et avoir plus de temps. changer d’activité et reprendre une spécialisation de 3ème cycle à 50 balais!…pas évident, mais j’ai l’enthousiasme d’un jeune de 20 ans dans tout ce que je fais. alors merci à tous!je me doutai bien que mon code ferait bondir les pros ! j’ai un tas de code en attente, mais si je ne publie pas, je ne vais pas progresser. par exemple, j’étais gêné d’utiliser 2 timers pour 1 clignotant, mais mon souci 1er était ailleurs!délibérément, je n’ai pas voulu me lancer dans la conception d’un composant car je n’arrive pas à les installer. de plus, avec la migration de d5 à d7, j’ai perdu tout le travail que j’avais fait en composants !…. borland ne m’a pas renvoyé mon code d’utilisateur de delphi 7 (je leur ai envoyé pourtant le n° de série). donc, j’attends de normaliser et clarifier mon installation de delphi, avant de gérer à nouveau : composants et bases de données.florenth, ok. je vais peut-être créé un objet clignotant plutot qu’un composant ? ça reviendra au même, non ?foxi, ok. je vais tester ta solution. y a t-il une raison pour que tu choisisses paintbox au lieu de image ? francky, ok!bien à vous ! commentaire de florenth le 19/12/2006 17:47:36 @jean_jean:si tu as des problèmes en ce qui concerne l'installation de compos, envoye moi un mp ou poste sur le forum. ce serait bête de s'en passer alors que ce serait grandement utile, surtout si c'est juste à cause de problèmes futiles (la plupart du temps, c'est bidon à resoudre, mais pas évident à trouver).as-tu bien pensé à ajouter le dossier qui contient ton unité de composant dans la liste des bibliothèques de delphi (outils > otions d'environnement > bibliothèque > chemins de bibliothèque > bouton [...] > liste des chemins) ? as-tu bien pensé à créer une procedure "register" ? a y mettre le bon nom de classe, la bonne palette où tu veux qu'il apparaisse ?si tu crée des icônes dans un *.dcr, as-tu bien pensé à le lier correctement ?sinon, il y a toujours des bons tutos à ce sujet : http://www.delphifr.com/tutoriaux/_195.aspx pour la création et http://www.delphifr.com/tutoriaux/_86.aspx pour leur installation.++ commentaire de jean_jean le 19/12/2006 18:08:54 merci florenth :)j'ai d'autres priorités! il faut que je clarifie chez borland. en fermant mon entreprise, je suis passé de 4 à 1 ordinateur. ça pas été sans problème!je remettrai tout nickel un peu plus tard!mais ça fait plaisir de voir que je fais un peu parti de la communauté des delphim'ans et qu'elle vit bien au travers de ce site. j'ai plein de choses à donner, mais faut pas pousser mémé, sinon, je panique!!! je connais la procédure pour créer 1 compo... on verra plus tard! je travaille sur un compte utilisateur. c'est peut-être ça le bug car j'ai installé d7 sur le compte admi.pour l'appli, je vais essayer de créer un objet led et tenir compte de vos remarques. après réflexion, ça pourrait être intéressant. je posterai une nouvelle version, quand je sentirai que je suis bloqué pour optimiser plus!a + commentaire de japee le 19/12/2006 22:41:10 administrateur cs salut jean_jean,ben c'est plutôt sympa, pour un premier envoi.il est certain qu'il y a moyen d'optimiser, et je vais y aller moi aussi de ma petite suggestion.tiens, comme ça, par exemple, pourquoi ne pas l'écrire ainsi :procedure tform1.eteint_voyants(anumthrd : byte);  var i : byte;begin  ficvoy := rep+'ledoff.bmp';  for i := ((anumthrd - 1) * 7) + 1 to anumthrd * 7 do    if assigned(findcomponent('image' + inttostr(i))) then      timage(findcomponent('image' + inttostr(i))).picture.loadfromfile(ficvoy);end;on gagne quelques lignes de code, et c'est plus rigolo.car la programmation, faut que ça reste rigolo, telle est ma devise.florenth a dit :"qu'est ce qu'on s'embetterait si tous les codes du site étaient de la pure merveille, prêt-à-l-emploi ou encore z-avez-qu-a-le-déposer-sur-la-fiche ..."je suis entièrement d'accord avec lui.et, oserai-je ajouter, on s'emmerderait grave...bonne continuation à tous.japee commentaire de jean_jean le 19/12/2006 23:57:14 ha oui, merci japee!bonne idée. je corrige tout de suite.j'étais justement en train d'adapter ton code sur la création dynamique à l'appli:)@+ commentaire de f0xi le 20/12/2006 00:27:59 administrateur cs salut les zoulous!@francky :mon but premier n'etait pas de dynamisé les compos de la fiche mais de montrer ce qu'on pouvait faire avec 3 procedure et un seul timer (toute les paintbox clignote a leurs propre frequence).@jeanjean :pour les compos, y'a que l'embaras du choix, soit on part d'une classe tgraphiccontrol, soit d'un radiobutton ou encore un tradiogroup etc....comme je disais a je sais plus qui y'a pas longtemps, quand on commence a avoir des tonnes de lignes de codes redondante ... il faut se demander si il n'y a pas un chemin plus cours.pour ce qui est des pertes de compos, y'a une astuce simple, tu crée un dossier "delphi" sur une partition ou disque different du c:.avec comme sous repertoire : delphi\lib et delphi\projectsce qui permet, en cas de reinstallation de delphi ou du systeme ou de formatage du disque c: de ne rien perdre.on peu d'ailleur faire pareil avec le dossier "mes documents", on peu le placer ailleur que sur  c: (click droit sur "mes documents" > propriétés > onglet cible > deplacer) commentaire de jean_jean le 20/12/2006 08:44:18 oui, merci franckyok pour tout.1. pour la gestion de mes sources,j'ai perdu des mois de boulot sur certains codes suite à un pb de hard! je suis en train d'installer un disque de sauvegarde externe. 2. j'ai testé ton code,c'est ok. je suis en train de l'adapter. je pense que je vais procéder en plusieurs étapes. la création d'un composant suggérée par florenth est une bonne idée que j'exploiterai plus tard. voilà pour l'heure les  types que j'ai créés pour l'instant :  {fiche----------------------------------}  tformblinker = class(tform)    timer1: ttimer;    imagelist1: timagelist;    procedure formcreate(sender: tobject);    procedure timer1timer(sender: tobject);    procedure formdestroy(sender: tobject);  private    { déclarations privées }    procedure doimageclick(sender : tobject);    procedure libere_les_leds;  public    { déclarations publiques }  end;  {voyant ----------------------------------}  tblinker = record    image     : timage;    state     : boolean;    enabled   : boolean;    frequency : integer;    tick      : integer;  end;  {classe led  -----------------------------}  tledblink = class(timage) // classe héritant de tpaintbox  public    constructor create(aled : tcomponent); override;    procedure   aledclick(sender : tobject);  end;const  nledprocess = 7;  nprocess    = 4;var  formblinker : tformblinker;  blinkcolors : array[boolean] of integer = (clgreen, cllime);  blinkers    : array of tblinker;  nbreleds    : integer;  // compte les voyants créés  aledblink   : tledblink;3. j'ai préféré un timage pour image, car je n'arrive pas à affecter une image bmp existente de manière dynamique à un paintbox. 4. d'ailleurs ça bug toujours dans la procédure timer1timer. les images ne clignotent pas et s'effacent. je vais m'y pencher un peu aujourd'hui.     if tick >= frequency then    begin      state := not state;      if state then      begin        imagelist1.getbitmap(0,timage(findcomponent('image'+inttostr(n+1))).picture.bitmap);        timage(findcomponent('image'+inttostr(n+1))).refresh;      end else      begin        imagelist1.getbitmap(1,timage(findcomponent('image'+inttostr(n+1))).picture.bitmap);        timage(findcomponent('image'+inttostr(n+1))).refresh;      end;... commentaire de jean_jean le 20/12/2006 09:01:21 autant pour moi!la procédur timer1timer fonctionne, j'avais résolu le pb!:) ajouter un commentaire authentification nom d'utilisateur : mot de passe : se souvenir du profil connexion en cours ...';}webform_dopostbackwithoptions(new webform_postbackoptions("ctl00$cph1$pnl1$uccode1$ctl02$pnlcomments$lvaddcomment$ctl00$btnconnect", "", true, "ctl00_cph1_pnl1_uccode1_ctl02_pnlcomments_lvaddcomment_ctl00_v", "", false, true))" class="button btn">connexion mot de passe oublié ? / activation de comptecréer un compte pub snippets en rapport positionner le curse... masquer le curseur d... côté it configurer firefox et ...optimiser firefoxconnexion à un réseau ...redimensionner une par...automatiser vos backup...faire des backups avec...installer microsoft of... tous les articles it codyx le site 100% snippets ! [nouveau]codyx, le site des snippets boutique shopping logitech g5 (910-000094)de 53€ à 60€ logitech cordless desktop® s 530 (9676640101)de 67€ à 101€ hachette multimédia astro loisir version complètede 24€ à 24€ nos partenaires et amis ;-) dev réalisé par nicolas sorel (nix) avec l'aide de : cyril durand, bidou, nurgle base de données maintenue par christian, design réalisé par guillaume, mascotte réalisée par n.sorel (nix) & kdo-comception delphifr.com© toute reproduction même partielle est interdite sauf accord écrit du webmaster codes-sources.com© est une marque déposée tous droits réservéshébergement de serveur dédié - téléphonie voip - comparer les prix - envoyer des ecards gratuit - icones temps d'éxécution de la page : 0,7813-3sec mesure d'audience roi statistique webanalytics par

tableau de voyants clignotants clignotant, voyants, leds, timer, souris, source n°40775   Précédent 388  Précédent 387  Précédent 386  Précédent 385  Précédent 384  Précédent 383  Précédent 382  Précédent 381  Précédent 380  Précédent 379  Précédent 378  Précédent 377  Précédent 376  Précédent 375  Précédent 374  Précédent 373  Précédent 372  Précédent 371  Précédent 370  Précédent 369  Précédent 368  Précédent 367  Précédent 366  Précédent 365  Précédent 364  Précédent 363  Précédent 362  Précédent 361  Précédent 360  Précédent 359  Suivant 390  Suivant 391  Suivant 392  Suivant 393  Suivant 394  Suivant 395  Suivant 396  Suivant 397  Suivant 398  Suivant 399  Suivant 400  Suivant 401  Suivant 402  Suivant 403  Suivant 404  Suivant 405  Suivant 406  Suivant 407  Suivant 408  Suivant 409  Suivant 410  Suivant 411  Suivant 412  Suivant 413  Suivant 414  Suivant 415  Suivant 416  Suivant 417  Suivant 418  Suivant 419