Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1477 connectés 

  FORUM HardWare.fr
  Programmation

  [Delphi] Optimisation

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Delphi] Optimisation

n°105214
Ciler
Posté le 26-02-2002 à 19:16:04  profilanswer
 

Hello,
 
Voila la question que je me pose :
Sachant que mon appli doit pouvoir créer dynamiquement un nombre indéterminé de boutons, qu'a chaque bouton doivent êtres associés 4 valeurs (2 strings, un boolean et un integer) et un popupmenu, et que ces valeurs doivent êtres accessibles depuis une autre form que celle où est le bouton ;  vaut-il mieux  
- dériver une classe (MyButton) de TButton en ajoutant les 4 valeurs en variables et le popup
- dériver une classe (MyButton) de TButton en ajoutant les 4 valeurs en property et le popup
- faire un tableau ouvert de records MyButton avec MyButton contenant 6 champs (TButton, string, string, boolean, integer, Tpopupmenu)
 
Quand je dis "vaut-il mieux, je parle en terme d'utilisation mémoire, pas en terme de simplicité du code  :crazy:  
Toute autre solution est la bienvenue :)
 
PS : Pas besoin de m'expliquer comment créer dynamiquement le bouton, j'ai trouvé un topic très chouette qui l'explique !


---------------
And I looked, and behold a pale horse: and his name that sat on him was Death, and Hell followed with him. Revelations 6:8
mood
Publicité
Posté le 26-02-2002 à 19:16:04  profilanswer
 

n°105222
antp
Super Administrateur
Champion des excuses bidons
Posté le 26-02-2002 à 19:42:52  profilanswer
 

record contenant un TButton + des autres trucs ou bien un TMyButton, je crois que ça sera pareil. La property ajoute peut-être un peu...
Pour le tableau ouvert, je dirais une TList plutôt.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°105291
os2
Posté le 26-02-2002 à 22:13:05  profilanswer
 

test les diverses méthodes tu pourras savoir laquelle est la plus performantes...
essaye en créant 5000 bouton...


---------------
Borland rulez: http://pages.infinit.net/borland
n°105307
antp
Super Administrateur
Champion des excuses bidons
Posté le 26-02-2002 à 22:30:25  profilanswer
 

y a intérêt à faire ça sous NT/2k/xp
si on fait ce genre de trucs sous win98, on explose les ressources :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°105414
BlackSunSo​ft
Keyboard error - Press F1
Posté le 27-02-2002 à 09:23:18  profilanswer
 

antp Ciler fait la partie DiviDivX


---------------
PowerDivX NextGen 3.12 sur: http://www.powerdivx.com
n°105426
antp
Super Administrateur
Champion des excuses bidons
Posté le 27-02-2002 à 09:52:34  profilanswer
 

ha, mais ça ne change rien au fait que faire un test avec des milliers de boutons tu risque de crasher Win9X :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°105464
Ciler
Posté le 27-02-2002 à 11:05:26  profilanswer
 

Test avec 5000 boutons... pkoi pas...
 
Sinon un problème, comment faire pour signifier au popupmenu associé à chaquze bouton que c'est le bouton qui l'appelle genre avoir dans le menu un "Delete" qui ferait
Bouttoncorrespondant.Free ?


---------------
And I looked, and behold a pale horse: and his name that sat on him was Death, and Hell followed with him. Revelations 6:8
n°105564
BlackSunSo​ft
Keyboard error - Press F1
Posté le 27-02-2002 à 14:22:34  profilanswer
 

heu un truc, c'est pas des boutons comme ça qu'il faut :) il faut qu'ils soit transparents car video derriere oblige (bon je me tait tu le savais dejà)


---------------
PowerDivX NextGen 3.12 sur: http://www.powerdivx.com
n°105587
antp
Super Administrateur
Champion des excuses bidons
Posté le 27-02-2002 à 14:50:06  profilanswer
 

Ciler a écrit a écrit :

Sinon un problème, comment faire pour signifier au popupmenu associé à chaquze bouton que c'est le bouton qui l'appelle genre avoir dans le menu un "Delete" qui ferait
Bouttoncorrespondant.Free ?  




 
y a un paramètre "Sender" dans chaque événement qui donne un pointeur vers l'objet ayant déclanché l'événement ;)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°105692
Ciler
Posté le 27-02-2002 à 18:12:14  profilanswer
 

Voui, mais là, le sender c'est un TMenuItem, pas un bouton... alors pour savoir qui est le boton qui a sollicité le menu :??:


---------------
And I looked, and behold a pale horse: and his name that sat on him was Death, and Hell followed with him. Revelations 6:8
mood
Publicité
Posté le 27-02-2002 à 18:12:14  profilanswer
 

n°105705
JWhy
je peux plier (héhé)
Posté le 27-02-2002 à 19:12:45  profilanswer
 

tu dois avoir une propriete popupcomponent dans ton popupmenu qui fait ce que tu veux


---------------
www.alliancefrancophone.org ... Home is where the heart is
n°105718
antp
Super Administrateur
Champion des excuses bidons
Posté le 27-02-2002 à 19:40:03  profilanswer
 

En effet.
 
Et il y a l'évenement suivant qui est déclanché juste avant d'afficher le menu:
 
TPopupMenu.OnPopup:

Citation :

Occurs just before the pop-up menu appears.
 
property OnPopup: TNotifyEvent;
 
Description
 
Write an OnPopup event handler to take specific action just before the pop-up menu appears. For example, use an OnPopup event handler to set the Checked, Enabled, or Visible property of individual items in the menu so that they are appropriate to the PopupComponent.

 

[jfdsdjhfuetppo]--Message édité par antp--[/jfdsdjhfuetppo]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°105866
Ciler
Posté le 28-02-2002 à 09:30:16  profilanswer
 

:jap:
 
Tu saurais pas comment faire un bouton avec le fond transparent mais pas les bordures des fois aussi ? :crazy:

 

[jfdsdjhfuetppo]--Message édité par Ciler--[/jfdsdjhfuetppo]


---------------
And I looked, and behold a pale horse: and his name that sat on him was Death, and Hell followed with him. Revelations 6:8
n°106092
Ciler
Posté le 28-02-2002 à 15:15:03  profilanswer
 

os2 a écrit a écrit :

test les diverses méthodes tu pourras savoir laquelle est la plus performantes...
essaye en créant 5000 bouton...  




 
 :sweat: Ca crashe effectivement...
 
Quoi, que signifie NbrButton: Byte ? A c'est pour ça que je peut pas en créer plus que 256  :sarcastic:


---------------
And I looked, and behold a pale horse: and his name that sat on him was Death, and Hell followed with him. Revelations 6:8
n°106123
JWhy
je peux plier (héhé)
Posté le 28-02-2002 à 15:51:47  profilanswer
 

Ciler a écrit a écrit :

 
Quoi, que signifie NbrButton: Byte



tu vois ca ou ? :??:

 

[jfdsdjhfuetppo]--Message édité par JWhy--[/jfdsdjhfuetppo]


---------------
www.alliancefrancophone.org ... Home is where the heart is
n°106156
Ciler
Posté le 28-02-2002 à 16:22:26  profilanswer
 

JWhy a écrit a écrit :

 
tu vois ca ou ? :??:  
 
 




 
 :sweat:  
C'était une blague... Plus haut, os2 me proposait de tester mon prog avec 5000 boutons, j'ai essayé et ça a planté, mais ce n'étais pas une question de ressource, tout simplement qu ele compteur n'en permet pas plus  
(byte: unsigned sur 8 bits -> 0-255)


---------------
And I looked, and behold a pale horse: and his name that sat on him was Death, and Hell followed with him. Revelations 6:8
n°106164
JWhy
je peux plier (héhé)
Posté le 28-02-2002 à 16:36:48  profilanswer
 

ah ok, ... pardon... ch'ui fatigué ;)


---------------
www.alliancefrancophone.org ... Home is where the heart is
n°106246
antp
Super Administrateur
Champion des excuses bidons
Posté le 28-02-2002 à 18:09:17  profilanswer
 

Ciler a écrit a écrit :

:jap:
 
Tu saurais pas comment faire un bouton avec le fond transparent mais pas les bordures des fois aussi ? :crazy:  
 
 




 
TSpeedButton je crois


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°106455
BlackSunSo​ft
Keyboard error - Press F1
Posté le 01-03-2002 à 08:01:13  profilanswer
 

Ciler tu lit tes mails des fois ?


---------------
PowerDivX NextGen 3.12 sur: http://www.powerdivx.com
n°106470
Ciler
Posté le 01-03-2002 à 09:17:53  profilanswer
 

antp a écrit a écrit :

 
TSpeedButton je crois  




 
Pas exactement, mais moyennant bidouille on arrive à ça effectivement !m :D  
 
@ Sun : oui, quand la connexion marche... Mais bon, je crois que je vais regarder ça avec attention, car de tout point de vue sauf ce :gun: d'overlay, il est mieux que qui tu sais...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [Delphi] Optimisation

 

Sujets relatifs
[Delphi 6 et BDE] réinitialiser une clé primaire autoincrémentée.[Delphi] Je cherche à créer des forms dynamiquement ...
[ DELPHI ] commander le port //[delphi] question sur les tableaux
[DELPHI - DLL]pb d'affichage d'une formMyBase delphi
Compatibilité : DirectX / composants réseaux de Delphi !C'est quoi cette fenetre noire derrière mon appli Delphi ?!
[Delphi] Mettre une fenetre au premier planOptimisation Web -> z'avez des idées ?
Plus de sujets relatifs à : [Delphi] Optimisation


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR