Question
[Résolu] utilisation variable suite import-csv
- Philippe
- Hors Ligne
- Modérateur
-
- Messages : 1778
- Remerciements reçus 21
a tu avancé sur ton script ?
à chaque fois que tu crée un objet New-Object System.Windows.Forms.LinkLabel tu doit le faire dans une variable différente sinon les nouveaux liens que tu rajoute écrase/remplace les précédents déjà crééJ'ai modifié le code en utilisant $b et en forçant les paramètres mais j'ai toujours le même souci, seule la dernière valeur de $linka est valable quelque soit le lien que je click, je tombe sur news.google.fr.
tu doit donc
- soit créé une variable pour chaque lien (pas facile pour du dynamique mais faisable),
- soit faire un tableau
du bon chinois cette phrase :
chaque New-Object System.Windows.Forms.LinkLabel que fait doit ce faire dans une variable différente sinon nouveau lien que tu rajoute écrase/remplace le précédent
j'était pas vraiment réveillé !
et dire que je suis Français
Connexion ou Créer un compte pour participer à la conversation.
- Christophe
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 7
- Remerciements reçus 0
Lorsque je dis dynamique, il faut bien comprendre que ce n'est pas réellement dynamique.
Le but ici est d'avoir un fichier CSV avec pour faire simple une liste de site que je veux pouvoir changer sans modifier en dur dans le script powershell.
D'où mon idée d'utiliser un csv modifiable à souhait.
L'idée de la variable dynamique semble sympa mais je ne connais pas.
Pour le tableau je pensais que cela en était un, non ?
Sinon, j'étais en train d'essayer de créer une fonction qui serait conditionnée au linklabel sur lequel je clic avec dans le genre si je clic sur $link.Name = \"Label0\" alors lance chrome avec $tablink[0].Lien.
Je ne sais juste pas
1. si c'est faisable
2. lorsque je clic comment je prends en compte ce sur quoi je clic.
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
- Messages : 1778
- Remerciements reçus 21
[code:1]$tabPage2 = New-Object System.Windows.Forms.Form
$tabPage2.Size = New-Object System.Drawing.Size(400,300)
$tabPage2.Text = \"Link Label Demo\"
$tabPage2.StartPosition = \"CenterScreen\" #loads the window in the center of the screen
#Remplissage liens
$linkpath = \"c:\link.csv\"
$tablink = Import-Csv -Path $linkpath -Header Nom, Lien -Delimiter \";\"
$posX = 10
$posY = 10
$k = 0
function lancelien {
[system.Diagnostics.Process]::«»start($tablink[$this.tabindex].lien)
}
foreach($b in $tablink)
{
$link = New-Object System.Windows.Forms.LinkLabel
$link.DataBindings.DefaultDataSourceUpdateMode = 0
$link.LinkColor = [System.Drawing.Color]::FromArgb(255,255,255,255)
$link.BackColor = [System.Drawing.Color]::transparent
$link.Font = New-Object System.Drawing.Font(\"Microsoft Sans Serif\",8.25,1,3,0)
$System_Drawing_Point = New-Object System.Drawing.Point
$System_Drawing_Point.X = $posX
$System_Drawing_Point.Y = $posY
$link.Location = $System_Drawing_Point
$link.Name = \"Label$k\"
$System_Drawing_Size = New-Object System.Drawing.Size
$System_Drawing_Size.Height = 20
$System_Drawing_Size.Width = 100
$link.Size = $System_Drawing_Size
$link.TabIndex = $k
$link.TabStop = $True
$link.Text = $b.Nom
$link.add_Click({lancelien})
$tabPage2.Controls.Add($link)
$posY+=20
$k++
}
$tabPage2.ShowDialog()
Remove-Variable link
Remove-Variable tabPage2
[/code:1]
j'avais commencé par faire un tableau avec tous les LinkLabel mais je sais pas pourquoi ça n'a pas marché ?
j'ai donc fais une fonction lancelien qui s'exécute quand on click sur un lien
dedans j'utilise la variable $this qui contient le linklabel du lien sur lequel on click qui lui même contient le TabIndex qui me permet de lire le bon lien du fichier dans $tablink
si c'est pas clair dis le moi
par contre contourne le fonctionnement normal
et enfin il y une note chez microsoft qui dis ceci :
<br><br>Message édité par: 6ratgus, à: 11/03/15 18:01Le contrôle ToolStripLabel remplace et ajoute des fonctionnalités aux contrôles Label et LinkLabel. Toutefois, les contrôles Label et LinkLabel sont conservés à des fins de compatibilité descendante et d'utilisation future, si vous le souhaitez.
Connexion ou Créer un compte pour participer à la conversation.
- Christophe
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 7
- Remerciements reçus 0
Je savais qu'il devait y avoir un truc avec le $this mais quand on apprend par soi même c'est plus chaud.
MERCI BEAUCOUP tu me sauves de mes futurs insomnies.
Et une hola pour 6ratgus.
Connexion ou Créer un compte pour participer à la conversation.
- Christophe
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 7
- Remerciements reçus 0
Quand je dis que je suis nouveau je ne plaisante pas.
Connexion ou Créer un compte pour participer à la conversation.
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- [Résolu] utilisation variable suite import-csv