Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Obtenir la liste des fiches depuis l'EDI [ Archives / J'AI BESOIN D'AIDE !!!! :O ] (Millenod)

vendredi 9 juillet 2004 à 00:18:15 | Obtenir la liste des fiches depuis l'EDI

Millenod

Bonjour,

Je bute depuis quelques semaines sur le problème suivant :

- Je pose mon composant sur une fiche d'un projet
- je fais un click droit dessus > sous menu lister les fiches.

Comment lister toutes les fiches du projet en cours (ouvertes ou non dans l'edi).

Si j'utilise l'option "screen.FormCount", j'obtiens la liste des fiches ouvertes sous delphi. Or si l'une des fiches de mon projet est fermée (donc non affichée\visible) celle-ci n'apparait pas dans la liste.

si quelqu'un sait résoudre ce problème.

Je suis preneur de toute suggestion.

Merci d'avance pour votre aide

samedi 10 juillet 2004 à 14:08:07 | Re : Obtenir la liste des fiches depuis l'EDI

DRJEROME

On pourrait faire :

var
i:integer;
begin
Memo1.Clear;
for i:=0 to application.ComponentCount-1 do
Memo1.Lines.Add(application.Components[i].Name);


cependant s'il y a des fenêtres cachées il y a alors un THintWindow qui ne porte pas de nom et qui va apparaître sur la 1° ligne du mémo....vide !

donc il faut filtrer seuls les Forms :

var
i:integer;
begin
Memo1.Clear;
for i:=0 to application.ComponentCount-1 do
if pos('TForm',application.Components[i].ClassName)<>0 then Memo1.Lines.Add(application.Components[i].Name);
end;



Si quelqu'un a une autre idée...


DrJerome

samedi 10 juillet 2004 à 14:13:26 | Re : Obtenir la liste des fiches depuis l'EDI

DRJEROME

si tu veux voir les classes de tous les objets y compris le THintWindow qui n'a pas de nom (par curiosité)

c'est :

var
i:integer;
begin
Memo1.Clear;
for i:=0 to application.ComponentCount-1 do
Memo1.Lines.Add(application.Components[i].ClassName);
end;

DrJerome

samedi 10 juillet 2004 à 14:16:13 | Re : Obtenir la liste des fiches depuis l'EDI

Millenod

Merci pour ta réponse.
Même si pour le moment je savais faire...


le défaut est pour la gestion d'un composant, sous l'IDE :

Liste des forms ouvertes sous delphi7 par défaut

Self.ExcludeFormList.DelimitedText :=
'"",'+
'"AppBuilder",'+
'"EditWindow_0",'+
'"DockSite0",'+
'"ProjectManagerForm",'+
'"PropertyInspector",'+
'"ObjectTreeView",'+
'"AlignPalette",'+
'"frmRepository",'+
'"frmITESearchForm",'+
'"frmITESearchResults",'+
'"frmSelectFontDlg",'+
'"ITEfrmMain",'+
'"frmITEDFMForm",'+
'"frmITERCForm",'+
'"frmITEProjectStatus",'+
'"frmITEExplorer",'+
'"DbEngineErrorDlg",'+
'"MessageView",'+
'"CodeExplorer"'
;



Voici l'action principale (grabText) :


Procedure TMultiSpeakEditor.GrabTexts;
{-------------------------------------------------------------------------------
(Private) Récupère tous les textes de l'application
--------------------------------------------------------------------------------}
Var
I : integer;
Begin
For I:=0 to Screen.FormCount-1 do // Parcours toute les Fiches
If (not Self.IsExcludedForm(Screen.Forms[I].Name)) then Begin // Si la fiche scannée n'est pas répertoriée comme à "exlure"
Self.AddComponent('', Screen.Forms[I]);
Self.DetectComponents('', Screen.Forms[I]);
End;

Self.SaveToFile;
ShowMessage(IntToStr(Self.MS.CompListProperties.Count)+' component(s) count');
End;





Procedure TMultiSpeakEditor.DetectComponents(const strName : string; Comp : TComponent);
{-------------------------------------------------------------------------------
(Private) Détecte les composants d'une fiche
-----
Paramètres :
- strName (string) (in) : nom_fiche.nom_composant
- Comp (TComponent) (in) : Composant
--------------------------------------------------------------------------------}
Var
I : Integer;
Begin
For I:=0 to Comp.ComponentCount-1 do // Parcours chaque composant
If (Comp.Components[I].Name <> '') then Begin // si le nom du composant <> '' on l'analyse
If (Comp.Components[I].ComponentCount > 0) then // si le composant possède des composants fils
Self.DetectComponents(strName+Comp.Name+'.'+Comp.Components[I].Name, Comp.Components[I]) // on les liste, en indiquant le nom du père
Else
Self.AddComponent(strName+Comp.Name+'.'+Comp.Components[I].Name, Comp.Components[I]);
End;
End;




Le problème que j'ai est le suivant : mon composant avexc l'action GrabText, ne scanne que les fiches\forms ouvertes sous delphi.
La solution, est ce qu'il existe une propriété des BorlandServices (en passant par les INTA\IOTA) pour ouvrir toutes les fiches? ou une permettant de juste avoir le nom des fiches pour les ouvrir, et ainsi les scanner...


En tt cas merci pour ton aide.

samedi 10 juillet 2004 à 14:19:39 | Re : Obtenir la liste des fiches depuis l'EDI

Millenod

Si j'ai une fiche de fermée à l'intérieur de l'IDE de delphi, donc non visible, est ce que via 'THintWindow' je peux les lister?

c'est une question un peu stupide, mais je n'ai pas delphi sous la main, pour quelques heures, et tant que tu es là, je te pose les questions, en espétant que cela ne te dérange pas.

merci beaucoup pour ton aide, je testerais tout ça au pire ce soir.



Cette discussion est classé dans : projet, liste, obtenir, fiches, edi


Répondre à ce message

Sujets en rapport avec ce message

Fiches Modal [ par MacDaddy91 ] Bonjour,Je développe une application avec des fiches Modal.Il se trouve que dans mon application j'ai plusieurs fois le même type de fiche(Boutton,Lab Lister les ressources dispo [ par bebeb3 ] Bonjour, J'utilise un fichier .res pour stocker des fichiers textes et des images. J'aimerais pouvoir obtenir la liste des ressources dispo m Création d'applications skinnées avec FreeMedia (aka MediaPack) [ par maxabbey ] Salut à tous,Sur SourceForge.net, il y a une suite de composants Delphi, FreeMedia (http://sourceforge.net/projects/ksfreemedia), gratuite et avec sou Liste de mots... [ par mentral ] Salut : J'aimerais faire un programme pour lequel l'ordinateur devra choisir un mot parmi une liste (non ce n'est pas un simple pendu...). Comment pui fenetre avec liste de checkbox [ par djl ] g debute en delphi, g me ser de delphi 6 personalj'arrive pas a faire avec le builder une fenetre contenant une liste de checkbox avec scrollbar si ya appelle de fiche [ par msoin ] Salut tous !Alors je suis begginer et g un probleme existentiel : J'apprend à programmer sur delphi7 avec un boukin sur delphi2 et il y a bien sur que Problème de ListBox [ par tof.p ] Bonjour, j'ai un problème que je n'arrive pas à expliquer, je vais essayer d'être clair :J'utilise 2 ListBox, une procédure recherche dans une premièr Socket: Liste des connectés [ par etrix ] Bonjour tout le monde ! Voilà je suis en train de faire une application avec un server socket et un clientsocket, qui permet de dialoguer entre deux o Interraction entre deux fiches... [ par MasterNKZ ] Salut à tous, j'ai donc un ptit problème, mon application contient deux fiches. Dans une procedure de la premiere fiche je réalise un test sur un c Projet sans form [ par birdyz ] Bonjour à tousJe suis en train de dévelloper un serveur FTP, et je souhaite réaliser un exe sans aucune forms (pas besoin, et exe plus léger). Mon sou


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.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és
Temps d'éxécution de la page : 0,686 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.