Question [Form Converter][V0.5] Nouvelle version

Plus d'informations
il y a 18 ans 2 jours #1978 par Laurent Dardenne
Robin écrit:

Bravo pour ton travail !

Merci
Robin écrit:

Ce convertisseur va devenir une véritable référence

Qu'il soit fiable et pratique ce sera déjà pas mal :P

Bon après pas mal d'essais, voici la forme retenue pour la gestion des événements WinForm:
[code:1]
function OnClick_BtnAbandon($Sender,$e){
#On efface le contenu de la liste
$LstBxVisualisation.Items.Clear()
}

$BtnAbandon.Add_Click( {OnClick_BtnAbandon $BtnAbandon $EventArgs} )
[/code:1]
L'avantage est qu'on peut réutiliser les traitements au lieu de les laisser dans un scriptblock d'une méthode sensée appeler le gestionnaire d'événement.
[code:1]
$FrmVisuHst.Add_Shown(
{
$FrmVisuHst.Activate()
#On affiche directement la boite de dialogue Loadfile
OnClick_bntLoadFile $FrmVisuHst $EventArgs
}
)
[/code:1]
Et permet de tester quel est le composant qui déclenche l'événement
[code:1]
else
{ #Si l'appelant est l'événement $FrmVisuHst.Add_Shown alors on clôt la fenêtre
#Si l'appelant est $bntLoadFile alors on laisse cette fenêtre active
if ($this -eq $FrmVisuHst)
{$FrmVisuHst.Close()}
}
}
[/code:1]
;)<br><br>Message édité par: BatchMan, à: 18/03/08 19:57

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 17 ans 11 mois #2014 par Laurent Dardenne
Salut,
voici les dernières améliorations apportées :
le script gére désormais le fichier ressource d'une Winform (Form1.resx), on peut donc inclure des toolbar ou des bitmap :P .
Sur 10 projets de tests Winform, 8 sont correctement convertis.

Je vous livre une nouvelle version d'ici qq jours. Il me reste à ajouter la génération automatique du fichier de ressources...

- Corrections :
- l'imbrication de controls (panel) est possible.
- de l'analyse autour du mot \&quot;Layout\&quot;, certains événements d'une Winform contiennent ce mot
- de la reconnaissance de Regex autour des énumérations C#.
A l'origine on ne prenait en compte que 4 délimiteurs, aujourd'hui on ne tient plus compte
du nombre de délimiteurs :
origine :
[System.Windows.Forms.DialogResult]::Cancel
correction :
[System.Drawing.SystemColors]::MenuBar
[System.Drawing.Forms.MonthCalendar.HitArea]::Vertical

- Ajout :
- Ajout de la gestion du fichier de ressources (Images BMP,Gif,ico,...)
- Vérification des chemin d'accés
- Vérification des prérequis (Commande/Scripts/Fonctions)
- prise en charge des différentes déclarations d'une propriété Font (6 surcharges ):
C#: this.label1.Font = new System.Drawing.Font(\&quot;Arial Black\&quot;, 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
PS: $label1.Font = new-object System.Drawing.Font(\&quot;Arial Black\&quot;, 9.75,[System.Drawing.FontStyle]::Bold,[System.Drawing.GraphicsUnit]::Point, 0)

- prise en charge de la déclaration d'un appel de méthode static FromArgb :
C#: this.CaseàCocher.FlatAppearance.MouseDownBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
PS: $CaseàCocher.FlatAppearance.MouseDownBackColor = [System.Drawing.Color]::FromArgb(192,255,192)
- Contrôle sur la présence du composant System.Windows.Forms.WebBrowser. S'il est présent -&gt; exception
- de la gestion de tous les événements déclarés
- par défaut des événements add_actived et FormClosing
- [switch] $DontLoad. Ne génére pas le code de chargement des assemblies, cas d'une form secondaire.

- Modifications :
- La gestion des déclarations des propriétés Font et Anchor a nécessité une itération supplémentaire
sur la totalité des lignes à convertir. Certaines déclarations peuvent être sur 3 lignes.
A l'origine le script partait du principe qu'une suite d'instruction était sur une seule ligne .
- On utilise des ArrayList au lieu de tableau (redimensionnement possible) et des StringBuilder
- suite aux remarque de Janel : nom de script normé (Convert-Form), suppression de variables
temporaires inutiles (nom de fichier en double)

Il reste à tester les menus et les Datagrid une fois ceci fait ce sera je pense un script très utile!<br><br>Message édité par: BatchMan, à: 24/03/08 20:37

Tutoriels PowerShell
Pièces jointes :

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 17 ans 11 mois #2015 par Laurent Dardenne
Un aperçus d'une génération multiple :

Tutoriels PowerShell
Pièces jointes :

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.063 secondes
Propulsé par Kunena