Question Barre de progression

Plus d'informations
il y a 17 ans 1 semaine #4314 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Barre de progression
Une petite confirmation à propos de ta question suivante :

Dans ton exemple, ton maximum correspond au nombre de checkbox sur ta form,
mais moi mon maximum est différent a chaque requete =/ ce n'est pas possible de le faire en % ?

Pourtant d'après ton code d'origine, tu as un tableau de taille fixe.
Et si je comprend bien certains checkbox seront cochés d'autres pas mais toutes sont déclarés et leur nombre ne change pas, c'est bien ça ?

Tutoriels PowerShell

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

Plus d'informations
il y a 17 ans 5 jours #4336 par Johan
Réponse de Johan sur le sujet Re:Barre de progression

Pourtant d'après ton code d'origine, tu as un tableau de taille fixe.
Et si je comprend bien certains checkbox seront cochés d'autres pas mais toutes sont déclarés et leur nombre ne change pas, c'est bien ça ?


c'est tout a fait ca

sinon je met mon code fonctionnel en annexe si jamais ...

au passage, y'a-t-il une autre methode pour désactivé le parefeu windows a distance a part netsh firewall et sc stop sharedaccess ?

interface 1 : g.imagehost.org/0094/Sans_titre_4.jpg

interface 2: g.imagehost.org/0950/Sans_titre2.jpg

La pièce jointe Application2.ps1 est absente ou indisponible

<br><br>Message édité par: VashQuiRit, à: 16/03/09 09:25
Pièces jointes :

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

Plus d'informations
il y a 17 ans 5 jours #4337 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Barre de progression
VashQuiRit écrit:

au passage, y'a-t-il une autre methode pour désactivé le parefeu windows a distance a part netsh firewall et sc stop sharedaccess ?

Le mieux est de créer un autre post.
Je te joins une version adaptée, la barre de progression en placée dans le bas de la fenêtre. Et comme tu utilises d'autres checkbox dans la forme, autant continuer d'utiliser ton tableau.
Il y a un pb potentiel dans ton script :
[code:1]Exception calling \&quot;FindAll\&quot; with \&quot;0\&quot; argument(s): \&quot;Le domaine spécifié n'existe pas ou n'a pas pu être contacté.[/code:1]

Enfin tu devrais découper ton script en plusieurs fonctions et/ou fichiers. En cas de modification de ton interface seul les appels de fonction seraient à modifier dans le script de création de forme qui est généré par un outil.

La pièce jointe Test_ProgressBarreV1.ps1 est absente ou indisponible


Tutoriels PowerShell

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

Plus d'informations
il y a 17 ans 5 jours #4338 par Johan
Réponse de Johan sur le sujet Re:Barre de progression
en fait j'ai re tester ma progress barre de la semaine dernière et il s'evère qu'elle marche ...

[code:1]
$progressBar1.Name = 'progressBar1'
$System_Drawing_Size = New-Object System.Drawing.Size
$System_Drawing_Size.Height = 32
$System_Drawing_Size.Width = 569
$progressBar1.Size = $System_Drawing_Size
$progressBar1.TabIndex = 29
$System_Drawing_Point = New-Object System.Drawing.Point
$System_Drawing_Point.X = -1
$System_Drawing_Point.Y = 458
$progressBar1.Location = $System_Drawing_Point
$progressBar1.Dock =[System.Windows.Forms.DockStyle]::Bottom
$progressBar1.Maximum = 100
$progressBar1.Minimum = 0
$progressBar1.Value = 0
$form_generation.Controls.Add($progressBar1)


$button_Valider_OnClick=
{
$ProgressBar1.Value=0
Start-sleep 1

$objRecherche = new-object system.DirectoryServices.DirectorySearcher($objDomaine)
$objRecherche.Filter=\&quot;(&amp;(objectCategory=computer)(objectClass=computer))\&quot;
$objResult = $objRecherche.FindAll()

$x = $objResult.count
$progressBar1.Step = (100/$x)

#Pour chaque PC/PO
foreach ($result in $objResult)
{
[System.Windows.Forms.MessageBox]::«»Show(\&quot;OK\&quot;«»)
$progressBar1.PerformStep()
Start-sleep -m 200
}
}



function OnFormClosing_Form_generation($Sender,$e){
($_).Cancel= $False
}


$Form_generation.Add_FormClosing( { OnFormClosing_Form_generation $Form_generation $EventArgs} )
$Form_generation.Add_Shown({$Form_generation.Activate()})
$Form_generation.ShowDialog()| Out-Null

[/code:1]

donc avec ca, pour chaque ligne de la requete ca incrémente ma barre comme il faut et me donne la progression exact.

le problème vient donc du fait que ma requête est trop \&quot;grosse\&quot; et que mon appli se fige

il faut donc que je \&quot;redonne la main\&quot; a l'interface pour incrementé la barre (comme avec les boite de dialogue dans l'exemple). Comment puis-je faire cela en \&quot;automatique\&quot; ?<br><br>Message édité par: VashQuiRit, à: 16/03/09 11:26

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

Plus d'informations
il y a 17 ans 5 jours #4341 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Barre de progression
VashQuiRit écrit:

il faut donc que je \&quot;redonne la main\&quot; a l'interface pour incrementé la barre (comme avec les boite de dialogue dans l'exemple). Comment puis-je faire cela en \&quot;automatique\&quot; ?

En C# on peut appeller Application.DoEvents
Don sous PS soit
[code:1][System.Windows.Forms.Application]::«»DoEvents()[/code:1]
soit par un appel à refresh sur la form, mais je n'ai pas encore rencontré ce pb, donc à tester.

Tutoriels PowerShell

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

Plus d'informations
il y a 17 ans 5 jours #4342 par Johan
Réponse de Johan sur le sujet Re:Barre de progression
merci ca marche (enfin mon appli se fige toujours mais elle se défige par intervale afin d'incrémenter la barre)

les deux solutions marchent et comme j'ai pas remarqué une grande différence de temps entre les deux j'ai opté pour l'application.doevents

merci pour l'aide Laurent

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

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