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

  FORUM HardWare.fr
  Programmation

  [Delphi] Identifier le déclencheur d'une fonction :)

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Delphi] Identifier le déclencheur d'une fonction :)

n°86947
Tetedeienc​h
Head Of God
Posté le 08-01-2002 à 09:21:10  profilanswer
 

Hello !
 
J'ai besoin d'identifier l'évenement déclencheur d'une fonction... je m'explique.
 
j'ai une table des clients.
 
Pour ajouter un client, j'appelle la procedure ajouterclient a partir d'un bouton.
 
pour modifier un client quand l'utilisateur 2xclic dessus, je mets tous les champs a la bonne valeur dans la fenetre d'ajout de client, et j'apelle la procedure ajouterclient ...
 
Enfin j'aimerai bien.
 
pour ca, j'aurai besoin d'identifier si le déclencheur est mon bouton ou le 2xclic, afin de faire les petites différences entre les 2 ( Table.modify au lieu de Table.append, le titre de la fenetre, etc).
 
Pouvez me dire comment ca se fait ? (jamais réussi :( jamais compris non plus)
 
PS : je sais je demande beaucoup, mais bon big projet a rendre pour Lundi (on viens de l'apprendre today ca la date butoir :sweat:), et le prof a dit avoir passé 50h a faire la correction (pas mal... imaginez nous, on en est a 24 heures dessus, spaassez ! )


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v9 OUT ! 5 tests : 2 CPU, 2 GPU, 1 Alim ! 2 Benchmarks : CPU and Me
mood
Publicité
Posté le 08-01-2002 à 09:21:10  profilanswer
 

n°86950
antp
Super Administrateur
Champion des excuses bidons
Posté le 08-01-2002 à 09:36:16  profilanswer
 

dans tous les événements tu as un paramètre Sender qui te permet de trouver quel composant a déclanché l'event.  
if sender is TButton then
...
else
if sender is TListBox then
...;


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°86963
Tetedeienc​h
Head Of God
Posté le 08-01-2002 à 10:46:24  profilanswer
 

Oky marchi ;)
 
Vé appliquer ca...
 
Sinon on a encore un probleme avec une DBgrid.
 
Quand on met la propriété "Dragmode" sur "dmAutomatic" , pour sélectionner une ligne précise (autre que la première) l'utilisateur doit faire un click droit...
 
En gros, pour faire un drag and drop de la ligne n°3, il doit faire un click droit pour mettre le focus sur la troisième ligne (le gauche ne met pas le focus :/ ) , puis seulement faire son drag & drop ...
 
T'as une idée du probleme ?


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v9 OUT ! 5 tests : 2 CPU, 2 GPU, 1 Alim ! 2 Benchmarks : CPU and Me
n°86979
antp
Super Administrateur
Champion des excuses bidons
Posté le 08-01-2002 à 12:16:21  profilanswer
 

c'est le DBGrid qui ne prend pas le focus ou la ligne ?
tu peux tj essayer de tricher en donnant le focus à la ligne lors du mousedown


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°87071
Tetedeienc​h
Head Of God
Posté le 08-01-2002 à 15:56:32  profilanswer
 

C la ligne qui le prends pas...
 
Et lors du mousedown, comment tu veux faire pour mettre le focus, en fait surtout idenntifier l'élément sur lequel on doit le mettre (en fait la ligne plus exactement) :??:


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v9 OUT ! 5 tests : 2 CPU, 2 GPU, 1 Alim ! 2 Benchmarks : CPU and Me
n°87097
[SDF]Poire
Vive Grumly
Posté le 08-01-2002 à 17:02:31  profilanswer
 

Alors encore des chtits pb ? :D  
Pour ton histoire de focus peut pas vraiment t'aider (G pas de projet qui utilise une BD) sauf si tu m'envois un chtit projet de démo pour voire ce que je peux faire...
(T sur que le click gauche donne pas le focus ? ça m'étonne...)
 :hello:


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°87098
antp
Super Administrateur
Champion des excuses bidons
Posté le 08-01-2002 à 17:03:56  profilanswer
 

avec les paramètres X et Y du mousedown...
sinon je sais pas vraiment t'aider plus, je sais pas comment réagissent les cellules de ce dbgrid
 
edit: ha mais voilà du renfort :)

 

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


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°87109
Tetedeienc​h
Head Of God
Posté le 08-01-2002 à 17:30:56  profilanswer
 

En fait, C tout con a décrire.
 
Créé une DBgrid, relie la a une table lambda avec une paire d'enregistrement pour qu'elle affiche quelque chose.
 
Mets l'option "DragMode" sur "dmAutomatic"
 
Maintenant, lance l'appli.
 
Tu vois els enregistrement pépère, et a coté du premier, y a une fleche noire, montrant la ligne sélectionnée.
 
Fais un click gauche sur n'importe quelle autre ligne : la fleche ne bouge pas => Pour le programme, c'est toujours la première ligne qui est sélectionnée.
 
Fais un click droit => La fleche bouge. La pour le programme C la ligne sur la quelle tu as clické droit qui est sélectionnée.
 
Or, nous, pour le drag and drop, on a besoin que l'élément sur lequel le gars fait son click gauche pour le drag soit l'élément pointé par la fleche : comme le click gauche la bouge pas ben... les boules kwoa :/
 
Et quand tu mets la propriété 'dragmode" sur "dmManual", le click gauche bouge la fleche noire...

 

[edtdd]--Message édité par Tetedeiench--[/edtdd]


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v9 OUT ! 5 tests : 2 CPU, 2 GPU, 1 Alim ! 2 Benchmarks : CPU and Me
n°87111
VisualC++
J'va y penser ...
Posté le 08-01-2002 à 17:34:44  profilanswer
 

Franchement Iench ... tu me decois :ange:


---------------
VT ... Vaucluse / Vrille(euse :sarcastic: ) c'est pareil tant qu'il y a l'humour :D
n°87114
Tetedeienc​h
Head Of God
Posté le 08-01-2002 à 17:37:32  profilanswer
 

VisualC++ a écrit a écrit :

Franchement Iench ... tu me decois :ange:  




 
va mourire chacal :na:


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v9 OUT ! 5 tests : 2 CPU, 2 GPU, 1 Alim ! 2 Benchmarks : CPU and Me
mood
Publicité
Posté le 08-01-2002 à 17:37:32  profilanswer
 

n°87116
VisualC++
J'va y penser ...
Posté le 08-01-2002 à 17:38:00  profilanswer
 

:heink:


---------------
VT ... Vaucluse / Vrille(euse :sarcastic: ) c'est pareil tant qu'il y a l'humour :D
n°87117
[SDF]Poire
Vive Grumly
Posté le 08-01-2002 à 17:39:28  profilanswer
 

Tetedeiench a écrit a écrit :

En fait, C tout con a décrire.
 
Créé une DBgrid, relie la a une table lambda avec une paire d'enregistrement pour qu'elle affiche quelque chose.
 
Mets l'option "DragMode" sur "dmAutomatic"
 
Maintenant, lance l'appli.
 
Tu vois els enregistrement pépère, et a coté du premier, y a une fleche noire, montrant la ligne sélectionnée.
 
Fais un click gauche sur n'importe quelle autre ligne : la fleche ne bouge pas => Pour le programme, c'est toujours la première ligne qui est sélectionnée.
 
Fais un click droit => La fleche bouge. La pour le programme C la ligne sur la quelle tu as clické droit qui est sélectionnée.
 
Or, nous, pour le drag and drop, on a besoin que l'élément sur lequel le gars fait son click gauche pour le drag soit l'élément pointé par la fleche : comme le click gauche la bouge pas ben... les boules kwoa :/
 
Et quand tu mets la propriété 'dragmode" sur "dmManual", le click gauche bouge la fleche noire...  
 
 




Tu connais la feignatise ???
C pas que G pas compris ou que je sais pas utiliser un DBGrid C juste que ça me fait chier de faire un mini projet test et une BD pour faire des test  :D  
Mais bon vais voir....
(sinon mon mail C : gti-poire@wanadoo.fr)


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°87123
[SDF]Poire
Vive Grumly
Posté le 08-01-2002 à 17:47:50  profilanswer
 

Et ça risque d'être long.... beh oui G pas que ça à faire non + ;)


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°87127
Tetedeienc​h
Head Of God
Posté le 08-01-2002 à 17:55:32  profilanswer
 

SDF[poire] > J'ai fait un exemple : http://perso.wanadoo.fr/tetedeiench/Exemple.zip
 
Tu pompes le fichier, et tu décompresse dans C:\Program Files\Borland\Delphi6\Projects\Demo
 
Enfin il faut que les bases soient la bas... A moins que tu ne change leur propriété "database name".
 
Essaie de faire un drag & drop de la DBgrid de droite vers celle de gauche, tu verra.
 
Puis fais la meme chopse, avec un click droit avant sur le champ que tu drag & droppe...


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v9 OUT ! 5 tests : 2 CPU, 2 GPU, 1 Alim ! 2 Benchmarks : CPU and Me
n°87143
[SDF]Poire
Vive Grumly
Posté le 08-01-2002 à 18:31:54  profilanswer
 

Bon ok en effet ça merde.....
Laisse DragMode à dmManual et quand tu veux faire un drag tu appels BeginDrag du composant source  
Tu le place par exemple dans le OnMouseMove.... (je te prépare 1 chtit exemple)


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°87145
Tetedeienc​h
Head Of God
Posté le 08-01-2002 à 18:51:31  profilanswer
 

Merci pour l'exemple, car on a pas reussi a le faire nous :(


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v9 OUT ! 5 tests : 2 CPU, 2 GPU, 1 Alim ! 2 Benchmarks : CPU and Me
n°87146
Tetedeienc​h
Head Of God
Posté le 08-01-2002 à 18:51:54  profilanswer
 

et prends ton temps : on s'y remets pas avant demain midi !


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v9 OUT ! 5 tests : 2 CPU, 2 GPU, 1 Alim ! 2 Benchmarks : CPU and Me
n°87150
[SDF]Poire
Vive Grumly
Posté le 08-01-2002 à 19:01:56  profilanswer
 

unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Grids, DBGrids, Db, DBTables;
 
type
  TForm1 = class(TForm)
    DBGrid1: TDBGrid;
    Edit1: TEdit;
    DataSource1: TDataSource;
    Table1: TTable;
    procedure DBGrid1DragOver(Sender, Source: TObject; X, Y: Integer;
      State: TDragState; var Accept: Boolean);
    procedure DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure Edit1DragOver(Sender, Source: TObject; X, Y: Integer;
      State: TDragState; var Accept: Boolean);
    procedure Edit1DragDrop(Sender, Source: TObject; X, Y: Integer);
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.DFM}
 
procedure TForm1.DBGrid1DragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
begin
  Accept := True;
end;
 
procedure TForm1.DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  if ssLeft in Shift then
    DBGrid1.BeginDrag(True, -1);
end;
 
procedure TForm1.Edit1DragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
begin
  Accept := True; // pas necessaire ici c'etais pour le test d'avant  ;)  
end;
 
procedure TForm1.Edit1DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
  Edit1.Text := TDBGrid(Source).Fields[TDBGrid(Source).SelectedIndex].AsString;
end;
 
end.
 
Si tu veux tout le projet file ton Mail
 :hello:

 

[edtdd]--Message édité par [SDF]Poire--[/edtdd]


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°87151
[SDF]Poire
Vive Grumly
Posté le 08-01-2002 à 19:02:48  profilanswer
 

Au fait C quoi le projet ?


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°87152
Tetedeienc​h
Head Of God
Posté le 08-01-2002 à 19:07:15  profilanswer
 

Un truc infame : Faire une appli qui gère entièrement un club de plongée, a savoir :
 
Clients , Lieux de plongée, bateau, Matos loué, Inscriptions, Facturation, réglements...
 
Avec une table des clients comprenant 35 enregistrements (bien lourd ! )
 
Et la facturation via OLE, du drag & drop a gogo, la gestion des bateaux libres ou non, des groupes de plongée, des niveaux des plongeurs, initiateur ou non, la location de matos, tout ce qui est possible d'imaginer d'ailleurs ...
 
Tu vois le bordel ?
 
Pasla peine pour le mail, ca  me suffit AMPLEMENT, merci bcp ! :hello:

 

[edtdd]--Message édité par Tetedeiench--[/edtdd]


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v9 OUT ! 5 tests : 2 CPU, 2 GPU, 1 Alim ! 2 Benchmarks : CPU and Me
n°87155
[SDF]Poire
Vive Grumly
Posté le 08-01-2002 à 19:24:57  profilanswer
 

Tu fais quoi comme études ?
(ça ressemble à une application de ce que je fais en GL SGBD, MLD, et autre.....)


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°87157
Tetedeienc​h
Head Of God
Posté le 08-01-2002 à 19:32:38  profilanswer
 

Je suis en IUP Miage, 2ème année (en gros Licence miage).
 
le prof nous balance ca a faire apres 2 mois de cours uniquement théoriques sur Delphi...
 
je te raconte pas la galère :(
 
Enfin, on arrive au quart la... apres 20 heures de boulot.
 
le prof l'a fini en 50 heures : tu vois la somme de boulot :eek:  
 
Enfin merci de ton aide !
 
La base C obligé de passer par ODBC...


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v9 OUT ! 5 tests : 2 CPU, 2 GPU, 1 Alim ! 2 Benchmarks : CPU and Me
n°87159
[SDF]Poire
Vive Grumly
Posté le 08-01-2002 à 19:46:43  profilanswer
 

:D


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°87188
[SDF]Poire
Vive Grumly
Posté le 08-01-2002 à 21:47:30  profilanswer
 

Tu me tiendra au courant de ta note  ;)  
 :hello:


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
mood
Publicité
Posté le   profilanswer
 


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

  [Delphi] Identifier le déclencheur d'une fonction :)

 

Sujets relatifs
[Delphi] Comment créer une DLL ?[DELPHI] Créer un racourci dans le menu démarer depuis un programme
[DELPHI] récupérer la liste des programmes en cours d'execution[delphi] On peut activer le drag and drop sur un DBgrid ?
[Delphi] Couleur: memobox et label[c++] probleme pour une fonction :(
[Delphi/SQL] Big probleme de comparaisons de date en SQL-> access :([HTML] rendre le scrollbar invisible en gardant ca fonction
[delphi] Mettre a jour un fichier[Delphi] Créer une fenêtre avec Netstat ou ping
Plus de sujets relatifs à : [Delphi] Identifier le déclencheur d'une fonction :)


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