Question [Résolu] utilisation variable suite import-csv

Plus d'informations
il y a 11 ans 1 semaine #19241 par Philippe
salut potagaom

a tu avancé sur ton script ?

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.

à 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éé
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 : :blink:

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é ! :blush: :whistle:
et dire que je suis Français :unsure:<br><br>Message édité par: 6ratgus, à: 11/03/15 17:02

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

Plus d'informations
il y a 11 ans 1 semaine #19242 par Christophe
Non, je n'avance pas, je fais du sur place et je tente plein de truc en cherchant différentes solutions sur le net.
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 = \&quot;Label0\&quot; 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.

Plus d'informations
il y a 11 ans 1 semaine #19243 par Philippe
bon j'ai repris ton idée de fonction appelé par le click sur le lien et voila le résultat :

[code:1]$tabPage2 = New-Object System.Windows.Forms.Form
$tabPage2.Size = New-Object System.Drawing.Size(400,300)
$tabPage2.Text = \&quot;Link Label Demo\&quot;
$tabPage2.StartPosition = \&quot;CenterScreen\&quot; #loads the window in the center of the screen
#Remplissage liens

$linkpath = \&quot;c:\link.csv\&quot;
$tablink = Import-Csv -Path $linkpath -Header Nom, Lien -Delimiter \&quot;;\&quot;
$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(\&quot;Microsoft Sans Serif\&quot;,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 = \&quot;Label$k\&quot;
$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é ? :unsure:
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 :

Le 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.

<br><br>Message édité par: 6ratgus, à: 11/03/15 18:01

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

Plus d'informations
il y a 11 ans 1 semaine #19244 par Christophe
:woohoo: purée (pour pas dire autre chose) c'est exactement ce que je cherchais à faire depuis plus d'1 mois.
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.

Plus d'informations
il y a 11 ans 1 semaine #19245 par Christophe
Par contre je ne sais pas comment changer le sujet en Résolu.:blush:
Quand je dis que je suis nouveau je ne plaisante pas.

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

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