Question
[Résolu] Actualiser des paramètres
- sezalory
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 7
- Remerciements reçus 0
il y a 10 ans 11 mois #19300
par sezalory
[Résolu] Actualiser des paramètres a été créé par sezalory
Bonjour,
Je débute alors je vais peut-être pas être très clair, dsl.
j'ai un script qui permet de créer/modifier et supprimer des fichiers.
Je charge les chemins des différents dossier depuis un fichier conf.
J'ai une fenêtre qui me permet d'enregistrer de nouveaux chemins dans le fichier conf.
Ma question est : comment faire en sorte que le script prenne en compte ces nouveaux paramètres après l'enregistrement sans avoir a redémarrer le script ?
J'ai essayé avec .Refresh() et .Update() sans résultat.
Merci<br><br>Message édité par: raspitef, à: 25/03/15 19:00
Je débute alors je vais peut-être pas être très clair, dsl.
j'ai un script qui permet de créer/modifier et supprimer des fichiers.
Je charge les chemins des différents dossier depuis un fichier conf.
J'ai une fenêtre qui me permet d'enregistrer de nouveaux chemins dans le fichier conf.
Ma question est : comment faire en sorte que le script prenne en compte ces nouveaux paramètres après l'enregistrement sans avoir a redémarrer le script ?
J'ai essayé avec .Refresh() et .Update() sans résultat.
Merci<br><br>Message édité par: raspitef, à: 25/03/15 19:00
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 10 ans 11 mois #19303
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Actualiser des paramètres
raspitef écrit:
Déjà en nous communiquant le code source que tu utilisescomment faire
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- sezalory
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 7
- Remerciements reçus 0
il y a 10 ans 11 mois #19304
par sezalory
Réponse de sezalory sur le sujet Re:Actualiser des paramètres
Oui évidemment,
Je pensais qu'il existait une sorte de fonction \"reload\" mais j'ai rien trouvé.
Le code est assez long :
[code:1] [void] [System.Reflection.Assembly]::LoadWithPartialName(\"System.Windows.Forms\"«»)
[void] [System.Reflection.Assembly]::LoadWithPartialName(\"System.Drawing\"«»)
$fenetre = New-Object Windows.Forms.Form
$fenetre.Text = \"R-dam\"
# Choix de la taille
$fenetre.Size = New-Object System.Drawing.Size(1020,460)
$fenetre.StartPosition=\"centerscreen\"
# Recuperation des chemins d acces depuis rdam.cfg
$dirmusic = Get-Content .\rdam.cfg | select-string \"Music=\" | foreach {$_ -replace \"Music=\",\"\"}
$dirmusicpath = $dirmusic |foreach { $_ -replace \"\\\",\"/\"}
$dirplaylist = Get-Content .\rdam.cfg | select-string \"Playlist=\" | foreach {$_ -replace \"Playlist=\",\"\"}
$dirrdamdata = Get-Content .\rdam.cfg | select-string \"Data=\" | foreach {$_ -replace \"Data=\",\"\"}
$Script:LabelTitre = New-Object System.Windows.Forms.label
$LabelTitre.Location = New-Object System.Drawing.Size(5,5)
$LabelTitre.Size = New-Object System.Drawing.Size(400,40)
$LabelTitre.text = \"Interface de gestion R-dam\"
$LabelTitre.Font = New-Object System.Drawing.Font(\"Calibri\", \"16\", [System.Drawing.FontStyle]::Underline)
$Script:LabelAjout = New-Object System.Windows.Forms.label
$LabelAjout.Location = New-Object System.Drawing.Size(15,50)
$LabelAjout.Size = New-Object System.Drawing.Size(210,22)
$LabelAjout.text = \"Ajouter un Badge \"
$LabelAjout.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\", [System.Drawing.FontStyle]::bold)
$Script:Labelbadges = New-Object System.Windows.Forms.label
$Labelbadges.Location = New-Object System.Drawing.Size(360,50)
$Labelbadges.Size = New-Object System.Drawing.Size(250,23)
$Labelbadges.text = \"Listes des badges Enregistrés\"
$Labelbadges.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\", [System.Drawing.FontStyle]::bold)
$Script:auteur= New-Object System.Windows.Forms.label
$auteur.Location = New-Object System.Drawing.Size(15,400)
$auteur.Size = New-Object System.Drawing.Size(520,100)
$auteur.Font = New-Object System.Drawing.Font(\"calibri\", \"10\", [System.Drawing.FontStyle]::Underline)
$auteur.forecolor = [System.Drawing.Color]::«»DarkBlue
$auteur.text = \"Interface de gestion créée par Jonathan Matos\"
$Script:radioShell = New-Object System.Windows.Forms.RadioButton
$radioshell.Size = New-Object System.Drawing.Size(80,22)
$radioshell.location = New-Object System.Drawing.Size(10,30)
$radioShell.Text = \"Shell\"
$radioshell.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\", [System.Drawing.FontStyle]::Regular)
$Script:radioControl = New-Object System.Windows.Forms.RadioButton
$radioControl.Size = New-Object System.Drawing.Size(100,22)
$radioControl.location = New-Object System.Drawing.Size(10,70)
$radioControl.Text = \"MPC Control\"
$radioControl.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\", [System.Drawing.FontStyle]::Regular)
$Script:radioAlbum = New-Object System.Windows.Forms.RadioButton
$radioAlbum.Size = New-Object System.Drawing.Size(80,22)
$radioAlbum.location = New-Object System.Drawing.Size(10,110)
$radioAlbum.Text = \"Album\"
$radioAlbum.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\", [System.Drawing.FontStyle]::Regular)
$Script:radioPlaylist = New-Object System.Windows.Forms.RadioButton
$radioPlaylist.Size = New-Object System.Drawing.Size(100,32)
$radioPlaylist.location = New-Object System.Drawing.Size(10,150)
$radioPlaylist.Text = \"Playlist\"
$radioPlaylist.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\", [System.Drawing.FontStyle]::Regular)
$Script:radioUnique = New-Object System.Windows.Forms.RadioButton
$radioUnique.Size = New-Object System.Drawing.Size(110,32)
$radioUnique.location = New-Object System.Drawing.Size(10,20)
$radioUnique.Text = \"unique\"
$radioUnique.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\", [System.Drawing.FontStyle]::Regular)
$Script:radioRepeat = New-Object System.Windows.Forms.RadioButton
$radioRepeat.Size = New-Object System.Drawing.Size(110,32)
$radioRepeat.location = New-Object System.Drawing.Size(110,20)
$radioRepeat.Text = \"repeat\"
$radioRepeat.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\", [System.Drawing.FontStyle]::Regular)
$groupbox1 = New-Object System.Windows.Forms.GroupBox
$groupbox1.Location = New-Object System.Drawing.size(15,130)
$groupbox1.Name = \"Commands\"
$groupbox1.Size = New-Object System.Drawing.Size(330,190)
$groupbox1.TabIndex = 0
$groupbox1.TabStop = $False
$groupbox1.Text = \"Commande\"
$groupbox1.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\", [System.Drawing.FontStyle]::Bold)
$groupbox2 = New-Object System.Windows.Forms.GroupBox
$groupbox2.Location = New-Object System.Drawing.size(15,330)
$groupbox2.Name = \"TAG\"
$groupbox2.Size = New-Object System.Drawing.Size(330,60)
$groupbox2.TabIndex = 0
$groupbox2.TabStop = $False
$groupbox2.Text = \"TAG\"
$groupbox2.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\", [System.Drawing.FontStyle]::Bold)
$groupbox3 = New-Object System.Windows.Forms.GroupBox
$groupbox3.Location = New-Object System.Drawing.size(15,70)
$groupbox3.Name = \"ID\"
$groupbox3.Size = New-Object System.Drawing.Size(330,50)
$groupbox3.TabIndex = 0
$groupbox3.TabStop = $False
$groupbox3.Text = \"ID\"
$groupbox3.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\", [System.Drawing.FontStyle]::Bold)
# Récup id new badge
$newbadge = Get-Content $dirrdamdata\newbadge
$chID = New-Object windows.Forms.TextBox
$chID.Location = New-Object system.Drawing.Size(10,20)
$chID.Size = New-Object system.Drawing.Size(235,100)
$chID.Text = \"$newbadge\"
$chID.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\"«»)
$chID.ReadOnly = $true
$chShell = New-Object windows.Forms.TextBox
$chShell.Location = New-Object system.Drawing.Size(110,30)
$chShell.Size = New-Object system.Drawing.Size(210,100)
$chShell.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\"«»)
$chAlbum = New-Object windows.Forms.TextBox
$chAlbum.Location = New-Object system.Drawing.Size(110,110)
$chAlbum.Size = New-Object system.Drawing.Size(135,100)
$chAlbum.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\"«»)
$boutonconfig = New-Object System.Windows.Forms.button
$boutonconfig.text = \"Config \"
$boutonconfig.Location = New-object System.Drawing.Size(265,5)
$boutonconfig.Size = New-Object System.Drawing.Size(70,30)
$boutonconfig.Font = New-Object System.Drawing.Font(\"calibri\", \"10\"«»)
$boutonconfig.BackColor = [System.Drawing.Color]::Gray
$boutonAjouter = New-Object System.Windows.Forms.button
$boutonAjouter.text = \"Ajouter \"
$boutonAjouter.Location = New-object System.Drawing.Size(250,15)
$boutonAjouter.Size = New-Object System.Drawing.Size(70,30)
$boutonAjouter.Font = New-Object System.Drawing.Font(\"calibri\", \"10\"«»)
$boutonAjouter.BackColor = [System.Drawing.Color]::LightBlue
$boutonnew = New-Object System.Windows.Forms.button
$boutonnew.text = \"Reload \"
$boutonnew.Location = New-object System.Drawing.Size(250,15)
$boutonnew.Size = New-Object System.Drawing.Size(70,30)
$boutonnew.Font = New-Object System.Drawing.Font(\"calibri\", \"10\"«»)
$boutonnew.BackColor = [System.Drawing.Color]::LightGray
$boutonModifier = New-Object System.Windows.Forms.button
$boutonModifier.text = \"Modifier le badge \"
$boutonModifier.Location = New-object System.Drawing.Size(410,345)
$boutonModifier.Size = New-Object System.Drawing.Size(150,30)
$boutonModifier.Font = New-Object System.Drawing.Font(\"calibri\", \"10\"«»)
$boutonModifier.BackColor = [System.Drawing.Color]::LightGreen
$boutonSupprimer = New-Object System.Windows.Forms.button
$boutonSupprimer.text = \"Supprimer le badge \"
$boutonSupprimer.Location = New-object System.Drawing.Size(610,345)
$boutonSupprimer.Size = New-Object System.Drawing.Size(150,30)
$boutonSupprimer.Font = New-Object System.Drawing.Font(\"calibri\", \"10\"«»)
$boutonSupprimer.BackColor = [System.Drawing.Color]::Red
$boutonrecharger = New-Object System.Windows.Forms.button
$boutonrecharger.text = \"Recharger la liste \"
$boutonrecharger.Location = New-object System.Drawing.Size(810,345)
$boutonrecharger.Size = New-Object System.Drawing.Size(150,30)
$boutonrecharger.Font = New-Object System.Drawing.Font(\"calibri\", \"10\"«»)
$boutonrecharger.BackColor = [System.Drawing.Color]::LightGray
$parcourir = New-Object system.Windows.Forms.Button
$parcourir.text = \"Parcourir\"
$parcourir.location = new-object system.Drawing.Size(250,107)
$parcourir.size = New-Object system.Drawing.Size(70,30)
$parcourir.Font = New-Object System.Drawing.Font(\"calibri\", \"10\"«»)
#Récupération des commands liste déroulante
$listeControl= New-Object System.Windows.Forms.Combobox
$listeControl.Location = New-Object System.Drawing.Size(110,70)
$listeControl.Size = New-Object System.Drawing.Size(210,100)
$listeControl.DropDownStyle = \"DropDownList\"
$listeControl.Items.AddRange((\"play\",\"toggle\",\"stop\",\"next\",\"prev\",\"volume +10\",\"volume -10\",\"random\",\"shuffle\",\"consume\",\"clear\",\"-h localhost update\",\"single\",\"repeat\",\"crop\",\"pause\"«»))
$listecontrol.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\"«»)
$listeControl.SelectedIndex = 0
$listePlaylist = New-Object System.Windows.Forms.Combobox
$listePlaylist.Location = New-Object System.Drawing.Size(110,153)
$listePlaylist.Size = New-Object System.Drawing.Size(210,100)
$listePlaylist.DropDownStyle = \"DropDownList\"
$listePlaylist.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\"«»)
#$listePlaylist.SelectedIndex = 0
# récuperer la playlist
$playlist = dir $dirplaylist\ -name
foreach( $obj in $playlist)
{
$listePlaylist.Items.Add(\"$obj\"«»)
}
$Script:badges = New-Object System.Windows.Forms.ListBox
$badges.Location = New-Object System.Drawing.Size(365,77)
$badges.Size = New-Object System.Drawing.Size(630,251)
$badges.BackColor = [System.Drawing.Color]::LightCyan
$badges.HorizontalScrollbar = $true
# récuperer les badges
$listbadges = dir $dirrdamdata\ -Name | foreach{ $_ -replace \"badgeerror\",\"\"} | foreach{ $_ -replace \"temp\",\"\"} | foreach{ $_ -replace \"lastnfcaction\",\"\"} | foreach{ $_ -replace \"newbadge\",\"\"} | where {$_ -ne \"$null\"}
foreach( $obj in $listbadges)
{
$donnees = Get-Content \"$dirrdamdata\$obj\"
[void] $badges.Items.Add($donnees)
}
###############################################################
# Fenetre de configuration
$boutonconfig.add_click({
$config = New-Object Windows.Forms.Form
$config.Text = \"Configuration\"
# Choix de la taille
$config.Size = New-Object System.Drawing.Size(330,300)
$config.StartPosition=\"centerscreen\"
$Script:LabelTitrecfg = New-Object System.Windows.Forms.label
$LabelTitrecfg.Location = New-Object System.Drawing.Size(5,5)
$LabelTitrecfg.Size = New-Object System.Drawing.Size(210,22)
$LabelTitrecfg.text = \"Sélection des répertoires : \"
$LabelTitrecfg.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\", [System.Drawing.FontStyle]::Underline)
$Script:Labelavertissement = New-Object System.Windows.Forms.label
$Labelavertissement.Location = New-Object System.Drawing.Size(10,150)
$Labelavertissement.Size = New-Object System.Drawing.Size(300,50)
$Labelavertissement.text = \"Attention, vous devez avoir les droits en écriture sur le répertoire data !\"
$Labelavertissement.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\", [System.Drawing.FontStyle]::Underline)
$Labelavertissement.forecolor = [System.Drawing.Color]::Red
$Script:Labelmusic = New-Object System.Windows.Forms.label
$labelmusic.Location = New-Object System.Drawing.Size(10,32)
$labelmusic.Size = New-Object System.Drawing.Size(50,23)
$labelmusic.text = \"Music\"
$labelmusic.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\", [System.Drawing.FontStyle]::bold)
$chmusic = New-Object windows.Forms.TextBox
$chmusic.Location = New-Object system.Drawing.Size(60,30)
$chmusic.Size = New-Object system.Drawing.Size(200,50)
$chmusic.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\"«»)
$chmusic.Text = $dirmusic
$boutonmusic = New-Object System.Windows.Forms.button
$boutonmusic.Image = [System.Drawing.Image]::FromFile(\".\wsrm.ico\"«»)
$boutonmusic.Location = New-object System.Drawing.Size(270,26)
$boutonmusic.Size = New-Object System.Drawing.Size(30,30)
$boutonmusic.Font = New-Object System.Drawing.Font(\"calibri\", \"10\"«»)
$boutonmusic.BackColor = [System.Drawing.Color]::LightGray
$Script:Labelplaylist = New-Object System.Windows.Forms.label
$labelplaylist.Location = New-Object System.Drawing.Size(10,72)
$labelplaylist.Size = New-Object System.Drawing.Size(50,23)
$labelplaylist.text = \"Playlist\"
$labelplaylist.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\", [System.Drawing.FontStyle]::bold)
$chplaylist = New-Object windows.Forms.TextBox
$chplaylist.Location = New-Object system.Drawing.Size(60,70)
$chplaylist.Size = New-Object system.Drawing.Size(200,50)
$chplaylist.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\"«»)
$chplaylist.Text = $dirplaylist
$boutonplaylist = New-Object System.Windows.Forms.button
$boutonplaylist.Image = [System.Drawing.Image]::FromFile(\".\wsrm.ico\"«»)
$boutonplaylist.Location = New-object System.Drawing.Size(270,66)
$boutonplaylist.Size = New-Object System.Drawing.Size(30,30)
$boutonplaylist.Font = New-Object System.Drawing.Font(\"calibri\", \"10\"«»)
$boutonplaylist.BackColor = [System.Drawing.Color]::LightGray
$Script:Labeldata = New-Object System.Windows.Forms.label
$labeldata.Location = New-Object System.Drawing.Size(10,112)
$labeldata.Size = New-Object System.Drawing.Size(50,23)
$labeldata.text = \"Data\"
$labeldata.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\", [System.Drawing.FontStyle]::bold)
$chdata = New-Object windows.Forms.TextBox
$chdata.Location = New-Object system.Drawing.Size(60,110)
$chdata.Size = New-Object system.Drawing.Size(200,50)
$chdata.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\"«»)
$chdata.Text = $dirrdamdata
$boutondata = New-Object System.Windows.Forms.button
$boutondata.Image = [System.Drawing.Image]::FromFile(\".\wsrm.ico\"«»)
$boutondata.Location = New-object System.Drawing.Size(270,106)
$boutondata.Size = New-Object System.Drawing.Size(30,30)
$boutondata.Font = New-Object System.Drawing.Font(\"calibri\", \"10\"«»)
$boutondata.BackColor = [System.Drawing.Color]::LightGray
$boutonenregistrer = New-Object System.Windows.Forms.button
$boutonenregistrer.text = \"Enregistrer\"
$boutonenregistrer.Location = New-object System.Drawing.Size(90,200)
$boutonenregistrer.Size = New-Object System.Drawing.Size(90,30)
$boutonenregistrer.Font = New-Object System.Drawing.Font(\"calibri\", \"10\"«»)
$boutonenregistrer.BackColor = [System.Drawing.Color]::LightGreen
$boutonannuler = New-Object System.Windows.Forms.button
$boutonannuler.text = \"Annuler\"
$boutonannuler.Location = New-object System.Drawing.Size(210,200)
$boutonannuler.Size = New-Object System.Drawing.Size(90,30)
$boutonannuler.Font = New-Object System.Drawing.Font(\"calibri\", \"10\"«»)
$boutonannuler.BackColor = [System.Drawing.Color]::Red
# evenemnt bouton parcourir
$boutonmusic.add_Click(
{
# appel de l'objet pour ouvrir une boite de dialogue
$OpenFolderDialog = New-Object System.Windows.Forms.FolderBrowserDialog
#répertoire par defaut est C:
$OpenFolderDialog.SelectedPath = \"$dirmusic\\"
#affichage de la boite de dialogue
$output = $OpenFolderDialog.ShowDialog()
$chmusic.text = $OpenFolderDialog.SelectedPath
$chmusic.Update()
#si l'on clique sur ok le fichier s'affiche
if($output -eq \"ok\"«»){
#récupérer nom du fichier dans la box nom de fichier
$chmusic.text = $OpenFolderDialog.SelectedPath
$chmusic.Update()
}
#sinon le message suivant s'affiche
else
{
$chmusic.text = \"Aucun dossier n'est séléctionné !\"
$chmusic.Update()
}
}
)
$boutonplaylist.add_Click(
{
# appel de l'objet pour ouvrir une boite de dialogue
$OpenFolderDialog = New-Object System.Windows.Forms.FolderBrowserDialog
#répertoire par defaut est C:
$OpenFolderDialog.SelectedPath = \"$dirplaylist\\"
#affichage de la boite de dialogue
$output = $OpenFolderDialog.ShowDialog()
$chplaylist.text = $OpenFolderDialog.SelectedPath
$chplaylist.Update()
#si l'on clique sur ok le fichier s'affiche
if($output -eq \"ok\"«»){
#récupérer nom du fichier dans la box nom de fichier
$chplaylist.text = $OpenFolderDialog.SelectedPath
$chplaylist.Update()
}
#sinon le message suivant s'affiche
else
{
$chplaylist.text = \"Aucun dossier n'est séléctionné !\"
$chplaylist.Update()
}
}
)
$boutondata.add_Click(
{
# appel de l'objet pour ouvrir une boite de dialogue
$OpenFolderDialog = New-Object System.Windows.Forms.FolderBrowserDialog
#répertoire par defaut est C:
$OpenFolderDialog.SelectedPath = \"$dirrdamdata\\"
#affichage de la boite de dialogue
$output = $OpenFolderDialog.ShowDialog()
$chdata.text = $OpenFolderDialog.SelectedPath
$chdata.Update()
#si l'on clique sur ok le fichier s'affiche
if($output -eq \"ok\"«»){
#récupérer nom du fichier dans la box nom de fichier
$chdata.text = $OpenFolderDialog.SelectedPath
$chdata.Update()
}
#sinon le message suivant s'affiche
else
{
$chdata.text = \"Aucun dossier n'est séléctionné !\"
$chdata.Update()
}
}
)
$boutonenregistrer.add_click({
$cfgmusic = $chmusic.text
$cfgplaylist = $chplaylist.text
$cfgdata = $chdata.text
$dirmusic2 = $dirmusic| foreach {$_ -replace \"\\\",\"\\\"}
$dirplaylist2 = $dirplaylist | foreach {$_ -replace \"\\\",\"\\\"}
$dirrdamdata2 = $dirrdamdata | foreach {$_ -replace \"\\\",\"\\\"}
$newconfigmusic = Get-Content .\rdam.cfg | foreach {$_ -replace \"Music=$dirmusic2\",\"Music=$cfgmusic\"}
$newconfigmusic > .\rdam.cfg
$newconfigplaylist = Get-Content .\rdam.cfg | foreach {$_ -replace \"Playlist=$dirplaylist2\",\"Playlist=$cfgplaylist\"}
$newconfigplaylist > .\rdam.cfg
$newconfigdata = Get-Content .\rdam.cfg | foreach {$_ -replace \"Data=$dirrdamdata2\",\"Data=$cfgdata\"}
$newconfigdata > .\rdam.cfg
$config.Close()
})
$boutonannuler.add_click({
$config.Close()
})
$config.Controls.Add($LabelTitrecfg)
$config.Controls.Add($Labelavertissement)
$config.Controls.Add($boutonenregistrer)
$config.Controls.Add($boutonannuler)
$config.Controls.Add($boutonmusic)
$config.controls.add($chmusic)
$config.Controls.Add($labelmusic)
$config.Controls.Add($boutonplaylist)
$config.controls.add($chplaylist)
$config.Controls.Add($labelplaylist)
$config.Controls.Add($boutondata)
$config.controls.add($chdata)
$config.Controls.Add($labeldata)
$config.showDialog()
})
$boutonrecharger.add_click({
# récuperer les badges
$badges.Items.Clear()
$listbadges = dir $dirrdamdata\ -Name | foreach{ $_ -replace \"badgeerror\",\"\"} | foreach{ $_ -replace \"temp\",\"\"} | foreach{ $_ -replace \"lastnfcaction\",\"\"} | foreach{ $_ -replace \"newbadge\",\"\"} | where {$_ -ne \"$null\"}
foreach( $obj in $listbadges)
{
$donnees = Get-Content \"$dirrdamdata\$obj\"
[void] $badges.Items.Add($donnees)
}
})
# evenemnt bouton parcourir
$parcourir.add_Click(
{
# appel de l'objet pour ouvrir une boite de dialogue
$OpenFolderDialog = New-Object System.Windows.Forms.FolderBrowserDialog
#répertoire par defaut est C:
$OpenFolderDialog.SelectedPath = \"$dirmusic\\"
#affichage de la boite de dialogue
$output = $OpenFolderDialog.ShowDialog()
$chAlbum.text = $OpenFolderDialog.SelectedPath
$chAlbum.Update()
#si l'on clique sur ok le fichier s'affiche
if($output -eq \"ok\"«»){
#récupérer nom du fichier dans la box nom de fichier
$chAlbum.text = $OpenFolderDialog.SelectedPath
$chAlbum.Update()
}
#sinon le message suivant s'affiche
else
{
$chAlbum.text = \"Aucun dossier n'est séléctionné !\"
$chAlbum.Update()
}
}
)
$boutonAjouter.add_click({
$ID = $chID.Text
# savoir qu'es ce qui est cocher
if( $radioShell.Checked -eq $true)
{
if ( $radioRepeat.Checked -eq $true)
{
$shell = $chShell.text
if( $shell -ne \"\" )
{
$repeat = $radioRepeat.Text
$utf8 = New-Object system.Text.UTF8Encoding($false)
[System.IO.File]::WriteAllLines(\"$dirrdamdata\$ID\",\"$shell;$repeat;\",$utf8)
# avant : \"$shell;$repeat;\" > \"$dirrdamdata\$ID\"
}
else { [System.Windows.Forms.MessageBox]::«»Show(\"Le champ Shell est vide\",\"Erreur\"«»)}
}
elseif ($radioUnique.Checked)
{
$shell = $chShell.Text
if( $shell -ne \"\" )
{
$unique = $radioUnique.Text
$utf8 = New-Object system.Text.UTF8Encoding($false)
[System.IO.File]::WriteAllLines(\"$dirrdamdata\$ID\",\"$shell;$unique;\",$utf8)
# avant : \"$shell;$unique;\" > \"$dirrdamdata\$ID\"
}
else { [System.Windows.Forms.MessageBox]::«»Show(\"Le champ Shell est vide\",\"Erreur\"«»)}
}
else {[System.Windows.Forms.MessageBox]::«»Show(\"Veuillez renseigner un TAG\",\"Erreur\"«»)}
}
elseif( $radioControl.Checked -eq $true)
{
if ( $radioRepeat.Checked -eq $true)
{
$controls = $listeControl.SelectedItem
$repeat = $radioRepeat.Text
$utf8 = New-Object system.Text.UTF8Encoding($false)
[System.IO.File]::WriteAllLines(\"$dirrdamdata\$ID\",\"mpc $controls;$repeat;\",$utf8)
# avant : \"mpc $controls;$repeat;\" > \"$dirrdamdata\$ID\"
}
elseif ($radioUnique.Checked)
{
$controls = $listeControl.SelectedItem
$unique = $radioUnique.Text
$utf8 = New-Object system.Text.UTF8Encoding($false)
[System.IO.File]::WriteAllLines(\"$dirrdamdata\$ID\",\"mpc $controls;$unique;\",$utf8)
# avant : \"mpc $controls;$unique;\" > \"$dirrdamdata\$ID\"
}
else {[System.Windows.Forms.MessageBox]::«»Show(\"Veuillez renseigner un TAG\",\"Erreur\"«»)}
}
elseif( $radioAlbum.Checked -eq $true)
{
if ( $radioRepeat.Checked -eq $true)
{
$album = $chAlbum.text
$album1 = $album |foreach { $_ -replace \"\\\",\"/\"}
$album2 = $album1 | foreach{$_ -replace \"$dirmusicpath/\",\"\"} | foreach { $_ -replace \" \",\"\ \"} | foreach{$_ -replace \"\(\",\"\(\"} | foreach{$_ -replace \"\)\",\"\)\"} | foreach{$_ -replace \"-\",\"\-\"} | foreach{$_ -replace \"\[\",\"\[\"} | foreach{$_ -replace \"\]\",\"\]\"} | foreach{$_ -replace \"_\",\"\_\"}
$repeat = $radioRepeat.Text
$utf8 = New-Object system.Text.UTF8Encoding($false)
[System.IO.File]::WriteAllLines(\"$dirrdamdata\$ID\",\"mpc stop && mpc clear && mpc add $album2 && mpc play;$repeat;\",$utf8)
# avant : \"mpc stop && mpc clear && mpc add $album2 && mpc play;$repeat;\" > \"$dirrdamdata\$ID\"
}
elseif ($radioUnique.Checked)
{
$album = $chAlbum.text
$album1 = $album |foreach { $_ -replace \"\\\",\"/\"}
$album2 = $album1 | foreach{$_ -replace \"$dirmusicpath/\",\"\"} | foreach { $_ -replace \" \",\"\ \"} | foreach{$_ -replace \"\(\",\"\(\"} | foreach{$_ -replace \"\)\",\"\)\"} | foreach{$_ -replace \"-\",\"\-\"} | foreach{$_ -replace \"\[\",\"\[\"} | foreach{$_ -replace \"\]\",\"\]\"} | foreach{$_ -replace \"_\",\"\_\"}
$unique = $radioUnique.Text
$utf8 = New-Object system.Text.UTF8Encoding($false)
[System.IO.File]::WriteAllLines(\"$dirrdamdata\$ID\",\"mpc stop && mpc clear && mpc add $album2 && mpc play;$unique;\",$utf8)
# avant : \"mpc stop && mpc clear && mpc add $album2 && mpc play;$unique;\" > \"$dirrdamdata\$ID\"
}
else {[System.Windows.Forms.MessageBox]::«»Show(\"Veuillez renseigner un TAG\",\"Erreur\"«»)}
}
elseif ( $radioPlaylist.Checked -eq $true)
{
if ( $radioRepeat.Checked -eq $true)
{
$playlist1 = $listePlaylist.SelectedItem | foreach{ $_ -replace \" \",\"\ \"}
$repeat = $radioRepeat.Text
$utf8 = New-Object system.Text.UTF8Encoding($false)
[System.IO.File]::WriteAllLines(\"$dirrdamdata\$ID\",\"mpc stop && mpc clear && mpc load $playlist1 && mpc play;$repeat;\",$utf8)
# avant : \"mpc stop && mpc clear && mpc load $playlist1 && mpc play;$repeat;\" > \"$dirrdamdata\$ID\"
}
elseif ($radioUnique.Checked)
{
$playlist1 = $listePlaylist.SelectedItem | foreach{ $_ -replace \" \",\"\ \"}
$unique = $radioUnique.Text
$utf8 = New-Object system.Text.UTF8Encoding($false)
[System.IO.File]::WriteAllLines(\"$dirrdamdata\$ID\",\"mpc stop && mpc clear && mpc load $playlist1 && mpc play;$unique;\",$utf8)
# avant : \"mpc stop && mpc clear && mpc load $playlist1 && mpc play;$unique;\" > \"$dirrdamdata\$ID\"
}
else {[System.Windows.Forms.MessageBox]::«»Show(\"Veuillez renseigner un TAG\",\"Erreur\"«»)}
}
else
{
[System.Windows.Forms.MessageBox]::«»Show(\"Veuillez sélectionner au moins une option\",\"Erreur\"«»)
}
# récuperer les badges
$badges.Items.Clear()
$listbadges = dir $dirrdamdata\ -Name | foreach{ $_ -replace \"badgeerror\",\"\"} | foreach{ $_ -replace \"temp\",\"\"} | foreach{ $_ -replace \"lastnfcaction\",\"\"} | foreach{ $_ -replace \"newbadge\",\"\"} | where {$_ -ne \"$null\"}
foreach( $obj in $listbadges)
{
$donnees = Get-Content \"$dirrdamdata\$obj\"
[void] $badges.Items.Add($donnees)
}
})
$boutonModifier.add_Click({
# récupération de l'ID
$index = $badges.SelectedIndex
$IDindex = $listbadges.Get($index)
$chID.Text = \"$IDindex\"
$chAlbum.Text =\"\"
#traitement du fichier
$modifCommands = $badges.SelectedItem
if( ($modifCommands -like \"*load*\"«») -and ($modifCommands -like \"*unique*\"«»))
{
$radioPlaylist.Checked = $true
$radioUnique.Checked = $true
$nomplaylist = $modifCommands | foreach {$_ -replace \"mpc stop && mpc clear && mpc load \",\"\"} | foreach{$_ -replace \" && mpc play;unique;\",\"\"} | foreach {$_ -replace \"\\ \",\" \"}
$listePlaylist.SelectedItem = \"$nomplaylist\"
return
}
elseif ( ($modifCommands -like \"*load*\"«») -and ($modifCommands -like \"*repeat*\"«») )
{
$radioPlaylist.Checked = $true
$radiorepeat.Checked = $true
$nomplaylist = $modifCommands | foreach {$_ -replace \"mpc stop && mpc clear && mpc load \",\"\"} | foreach{$_ -replace \" && mpc play;repeat;\",\"\"} | foreach {$_ -replace \"\\ \",\" \"}
$listePlaylist.SelectedItem = \"$nomplaylist\"
return
}
elseif ( ($modifCommands -like \"*add*\"«») -and ($modifCommands -like \"*repeat*\"«») )
{
$radioAlbum.Checked = $true
$radioRepeat.Checked = $true
$nomalbum = $modifCommands | foreach { $_ -replace \"mpc stop && mpc clear && mpc add \",\"\"} | foreach {$_ -replace \" && mpc play;repeat;\",\"\"}
$chAlbum.Text = $nomalbum
return
}
elseif ( ($modifCommands -like \"*add*\"«») -and ($modifCommands -like \"*unique*\"«») )
{
$radioAlbum.Checked = $true
$radioUnique.Checked = $true
$nomalbum = $modifCommands | foreach { $_ -replace \"mpc stop && mpc clear && mpc add \",\"\"} | foreach {$_ -replace \" && mpc play;unique;\",\"\"}
$chAlbum.Text = $nomalbum
return
}
$mpccontrol = \"play\",\"toggle\",\"stop\",\"next\",\"prev\",\"volume +10\",\"volume -10\",\"random\",\"shuffle\",\"consume\",\"clear\",\"-h localhost update\",\"single\",\"repeat\",\"crop\",\"pause\"
foreach ($obj in $mpccontrol)
{
if ( ($modifCommands -like \"*$obj*\"«») -and ($modifCommands -like \"*unique*\"«»))
{
$radioControl.Checked = $true
$radioUnique.Checked = $true
$listeControl.SelectedItem = \"$obj\"
return
}
elseif (($modifCommands -like \"*$obj*\"«») -and ($modifCommands -like \"*repeat*\"«»))
{
$radioControl.Checked = $true
$radiorepeat.Checked = $true
$listeControl.SelectedItem = \"$obj\"
return
}
}
})
$boutonnew.add_Click({
$testbadges = dir \"$dirrdamdata\\"
foreach ($obj in $testbadges)
{
if ( $obj -like $newbadge)
{
$command= get-content $dirrdamdata\$newbadge
[System.Windows.Forms.MessageBox]::«»Show(\"Le new badge est déjà créé et contient :'$command'. Présentez un nouveau badge pour enregistrer une autre commande.\",\"Nouveau Badge\"«»)
$newbadge = Get-Content $dirrdamdata\newbadge
$chID.Text = \"$newbadge\"
}
else
{
$newbadge = Get-Content $dirrdamdata\newbadge
$chID.Text = \"$newbadge\"
$utf8 = New-Object system.Text.UTF8Encoding($false)
$lastnfcaction = \"\"
[System.IO.File]::WriteAllLines(\"$dirrdamdata\lastnfcaction\",\"\",$utf8)
}
}
})
$boutonSupprimer.add_Click({
$index = $badges.SelectedIndex
$IDindex = $listbadges.Get($index)
# listbadges a décrémenter :/ dur dur
del \"$dirrdamdata\$IDindex\"
$badges.Items.RemoveAt($index)
$badges.Refresh()
# voir sa position peut etre mal mise bien joué !
$listbadges = $listbadges | Where-Object{$_ -ne $IDindex}
})
$groupbox1.Controls.Add($radioshell)
$groupbox1.Controls.Add($radioControl)
$groupbox1.Controls.Add($radioAlbum)
$groupbox1.Controls.Add($radioPlaylist)
$groupbox1.Controls.Add($listeControl)
$groupbox1.Controls.Add($listePlaylist)
$groupbox1.Controls.Add($parcourir)
$groupbox1.Controls.Add($chAlbum)
$groupbox1.Controls.Add($chShell)
$groupbox2.Controls.Add($radioRepeat)
$groupbox2.Controls.Add($radioUnique)
$groupbox2.Controls.Add($boutonAjouter)
$groupbox3.Controls.Add($chID)
$groupbox3.Controls.Add($boutonnew)
$fenetre.Controls.Add($boutonSupprimer)
$fenetre.Controls.Add($boutonModifier)
$fenetre.Controls.Add($boutonconfig)
$fenetre.Controls.Add($boutonrecharger)
$fenetre.Controls.Add($Labelbadges)
$fenetre.Controls.Add($LabelTitre)
$fenetre.Controls.Add($groupbox1)
$fenetre.Controls.Add($LabelAjout)
$fenetre.Controls.Add($groupbox2)
$fenetre.Controls.Add($groupbox3)
$fenetre.Controls.Add($badges)
$fenetre.Controls.Add($auteur)
$fenetre.Add_Shown({$fenetre.Activate()})
$fenetre.Add_Shown(
{
#La forme reçoit les événements de touche avant que
# l'événement ne soit passé au contrôle ayant le focus.
$fenetre.KeyPreview = $true;
$fenetre.Activate()
}
)
$fenetre.ShowDialog()[/code:1]
Et voici mon fichier conf :
[code:1][Path]
#Declaration des chemins sans le '\' a la fin.
#Attention, le dossier 'data' doit etre accessible en ecriture
Music=\\TEFCLOUD\Public\Music
Playlist=\\TEFCLOUD\Public\Music\playlist
Data=\\TEFCLOUD\Public\R-dam\data[/code:1]
Je mets aussi une capture d'écran de mon \"programme\".
Ce que j'aimerai faire, c'est quand je clique sur \"enregistrer\" ça recharge automatiquement les nouvelles variables de chemin. Sans avoir à relancer le programme.
<br><br>Message édité par: raspitef, à: 23/03/15 22:10
Je pensais qu'il existait une sorte de fonction \"reload\" mais j'ai rien trouvé.
Le code est assez long :
[code:1] [void] [System.Reflection.Assembly]::LoadWithPartialName(\"System.Windows.Forms\"«»)
[void] [System.Reflection.Assembly]::LoadWithPartialName(\"System.Drawing\"«»)
$fenetre = New-Object Windows.Forms.Form
$fenetre.Text = \"R-dam\"
# Choix de la taille
$fenetre.Size = New-Object System.Drawing.Size(1020,460)
$fenetre.StartPosition=\"centerscreen\"
# Recuperation des chemins d acces depuis rdam.cfg
$dirmusic = Get-Content .\rdam.cfg | select-string \"Music=\" | foreach {$_ -replace \"Music=\",\"\"}
$dirmusicpath = $dirmusic |foreach { $_ -replace \"\\\",\"/\"}
$dirplaylist = Get-Content .\rdam.cfg | select-string \"Playlist=\" | foreach {$_ -replace \"Playlist=\",\"\"}
$dirrdamdata = Get-Content .\rdam.cfg | select-string \"Data=\" | foreach {$_ -replace \"Data=\",\"\"}
$Script:LabelTitre = New-Object System.Windows.Forms.label
$LabelTitre.Location = New-Object System.Drawing.Size(5,5)
$LabelTitre.Size = New-Object System.Drawing.Size(400,40)
$LabelTitre.text = \"Interface de gestion R-dam\"
$LabelTitre.Font = New-Object System.Drawing.Font(\"Calibri\", \"16\", [System.Drawing.FontStyle]::Underline)
$Script:LabelAjout = New-Object System.Windows.Forms.label
$LabelAjout.Location = New-Object System.Drawing.Size(15,50)
$LabelAjout.Size = New-Object System.Drawing.Size(210,22)
$LabelAjout.text = \"Ajouter un Badge \"
$LabelAjout.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\", [System.Drawing.FontStyle]::bold)
$Script:Labelbadges = New-Object System.Windows.Forms.label
$Labelbadges.Location = New-Object System.Drawing.Size(360,50)
$Labelbadges.Size = New-Object System.Drawing.Size(250,23)
$Labelbadges.text = \"Listes des badges Enregistrés\"
$Labelbadges.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\", [System.Drawing.FontStyle]::bold)
$Script:auteur= New-Object System.Windows.Forms.label
$auteur.Location = New-Object System.Drawing.Size(15,400)
$auteur.Size = New-Object System.Drawing.Size(520,100)
$auteur.Font = New-Object System.Drawing.Font(\"calibri\", \"10\", [System.Drawing.FontStyle]::Underline)
$auteur.forecolor = [System.Drawing.Color]::«»DarkBlue
$auteur.text = \"Interface de gestion créée par Jonathan Matos\"
$Script:radioShell = New-Object System.Windows.Forms.RadioButton
$radioshell.Size = New-Object System.Drawing.Size(80,22)
$radioshell.location = New-Object System.Drawing.Size(10,30)
$radioShell.Text = \"Shell\"
$radioshell.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\", [System.Drawing.FontStyle]::Regular)
$Script:radioControl = New-Object System.Windows.Forms.RadioButton
$radioControl.Size = New-Object System.Drawing.Size(100,22)
$radioControl.location = New-Object System.Drawing.Size(10,70)
$radioControl.Text = \"MPC Control\"
$radioControl.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\", [System.Drawing.FontStyle]::Regular)
$Script:radioAlbum = New-Object System.Windows.Forms.RadioButton
$radioAlbum.Size = New-Object System.Drawing.Size(80,22)
$radioAlbum.location = New-Object System.Drawing.Size(10,110)
$radioAlbum.Text = \"Album\"
$radioAlbum.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\", [System.Drawing.FontStyle]::Regular)
$Script:radioPlaylist = New-Object System.Windows.Forms.RadioButton
$radioPlaylist.Size = New-Object System.Drawing.Size(100,32)
$radioPlaylist.location = New-Object System.Drawing.Size(10,150)
$radioPlaylist.Text = \"Playlist\"
$radioPlaylist.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\", [System.Drawing.FontStyle]::Regular)
$Script:radioUnique = New-Object System.Windows.Forms.RadioButton
$radioUnique.Size = New-Object System.Drawing.Size(110,32)
$radioUnique.location = New-Object System.Drawing.Size(10,20)
$radioUnique.Text = \"unique\"
$radioUnique.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\", [System.Drawing.FontStyle]::Regular)
$Script:radioRepeat = New-Object System.Windows.Forms.RadioButton
$radioRepeat.Size = New-Object System.Drawing.Size(110,32)
$radioRepeat.location = New-Object System.Drawing.Size(110,20)
$radioRepeat.Text = \"repeat\"
$radioRepeat.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\", [System.Drawing.FontStyle]::Regular)
$groupbox1 = New-Object System.Windows.Forms.GroupBox
$groupbox1.Location = New-Object System.Drawing.size(15,130)
$groupbox1.Name = \"Commands\"
$groupbox1.Size = New-Object System.Drawing.Size(330,190)
$groupbox1.TabIndex = 0
$groupbox1.TabStop = $False
$groupbox1.Text = \"Commande\"
$groupbox1.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\", [System.Drawing.FontStyle]::Bold)
$groupbox2 = New-Object System.Windows.Forms.GroupBox
$groupbox2.Location = New-Object System.Drawing.size(15,330)
$groupbox2.Name = \"TAG\"
$groupbox2.Size = New-Object System.Drawing.Size(330,60)
$groupbox2.TabIndex = 0
$groupbox2.TabStop = $False
$groupbox2.Text = \"TAG\"
$groupbox2.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\", [System.Drawing.FontStyle]::Bold)
$groupbox3 = New-Object System.Windows.Forms.GroupBox
$groupbox3.Location = New-Object System.Drawing.size(15,70)
$groupbox3.Name = \"ID\"
$groupbox3.Size = New-Object System.Drawing.Size(330,50)
$groupbox3.TabIndex = 0
$groupbox3.TabStop = $False
$groupbox3.Text = \"ID\"
$groupbox3.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\", [System.Drawing.FontStyle]::Bold)
# Récup id new badge
$newbadge = Get-Content $dirrdamdata\newbadge
$chID = New-Object windows.Forms.TextBox
$chID.Location = New-Object system.Drawing.Size(10,20)
$chID.Size = New-Object system.Drawing.Size(235,100)
$chID.Text = \"$newbadge\"
$chID.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\"«»)
$chID.ReadOnly = $true
$chShell = New-Object windows.Forms.TextBox
$chShell.Location = New-Object system.Drawing.Size(110,30)
$chShell.Size = New-Object system.Drawing.Size(210,100)
$chShell.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\"«»)
$chAlbum = New-Object windows.Forms.TextBox
$chAlbum.Location = New-Object system.Drawing.Size(110,110)
$chAlbum.Size = New-Object system.Drawing.Size(135,100)
$chAlbum.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\"«»)
$boutonconfig = New-Object System.Windows.Forms.button
$boutonconfig.text = \"Config \"
$boutonconfig.Location = New-object System.Drawing.Size(265,5)
$boutonconfig.Size = New-Object System.Drawing.Size(70,30)
$boutonconfig.Font = New-Object System.Drawing.Font(\"calibri\", \"10\"«»)
$boutonconfig.BackColor = [System.Drawing.Color]::Gray
$boutonAjouter = New-Object System.Windows.Forms.button
$boutonAjouter.text = \"Ajouter \"
$boutonAjouter.Location = New-object System.Drawing.Size(250,15)
$boutonAjouter.Size = New-Object System.Drawing.Size(70,30)
$boutonAjouter.Font = New-Object System.Drawing.Font(\"calibri\", \"10\"«»)
$boutonAjouter.BackColor = [System.Drawing.Color]::LightBlue
$boutonnew = New-Object System.Windows.Forms.button
$boutonnew.text = \"Reload \"
$boutonnew.Location = New-object System.Drawing.Size(250,15)
$boutonnew.Size = New-Object System.Drawing.Size(70,30)
$boutonnew.Font = New-Object System.Drawing.Font(\"calibri\", \"10\"«»)
$boutonnew.BackColor = [System.Drawing.Color]::LightGray
$boutonModifier = New-Object System.Windows.Forms.button
$boutonModifier.text = \"Modifier le badge \"
$boutonModifier.Location = New-object System.Drawing.Size(410,345)
$boutonModifier.Size = New-Object System.Drawing.Size(150,30)
$boutonModifier.Font = New-Object System.Drawing.Font(\"calibri\", \"10\"«»)
$boutonModifier.BackColor = [System.Drawing.Color]::LightGreen
$boutonSupprimer = New-Object System.Windows.Forms.button
$boutonSupprimer.text = \"Supprimer le badge \"
$boutonSupprimer.Location = New-object System.Drawing.Size(610,345)
$boutonSupprimer.Size = New-Object System.Drawing.Size(150,30)
$boutonSupprimer.Font = New-Object System.Drawing.Font(\"calibri\", \"10\"«»)
$boutonSupprimer.BackColor = [System.Drawing.Color]::Red
$boutonrecharger = New-Object System.Windows.Forms.button
$boutonrecharger.text = \"Recharger la liste \"
$boutonrecharger.Location = New-object System.Drawing.Size(810,345)
$boutonrecharger.Size = New-Object System.Drawing.Size(150,30)
$boutonrecharger.Font = New-Object System.Drawing.Font(\"calibri\", \"10\"«»)
$boutonrecharger.BackColor = [System.Drawing.Color]::LightGray
$parcourir = New-Object system.Windows.Forms.Button
$parcourir.text = \"Parcourir\"
$parcourir.location = new-object system.Drawing.Size(250,107)
$parcourir.size = New-Object system.Drawing.Size(70,30)
$parcourir.Font = New-Object System.Drawing.Font(\"calibri\", \"10\"«»)
#Récupération des commands liste déroulante
$listeControl= New-Object System.Windows.Forms.Combobox
$listeControl.Location = New-Object System.Drawing.Size(110,70)
$listeControl.Size = New-Object System.Drawing.Size(210,100)
$listeControl.DropDownStyle = \"DropDownList\"
$listeControl.Items.AddRange((\"play\",\"toggle\",\"stop\",\"next\",\"prev\",\"volume +10\",\"volume -10\",\"random\",\"shuffle\",\"consume\",\"clear\",\"-h localhost update\",\"single\",\"repeat\",\"crop\",\"pause\"«»))
$listecontrol.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\"«»)
$listeControl.SelectedIndex = 0
$listePlaylist = New-Object System.Windows.Forms.Combobox
$listePlaylist.Location = New-Object System.Drawing.Size(110,153)
$listePlaylist.Size = New-Object System.Drawing.Size(210,100)
$listePlaylist.DropDownStyle = \"DropDownList\"
$listePlaylist.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\"«»)
#$listePlaylist.SelectedIndex = 0
# récuperer la playlist
$playlist = dir $dirplaylist\ -name
foreach( $obj in $playlist)
{
$listePlaylist.Items.Add(\"$obj\"«»)
}
$Script:badges = New-Object System.Windows.Forms.ListBox
$badges.Location = New-Object System.Drawing.Size(365,77)
$badges.Size = New-Object System.Drawing.Size(630,251)
$badges.BackColor = [System.Drawing.Color]::LightCyan
$badges.HorizontalScrollbar = $true
# récuperer les badges
$listbadges = dir $dirrdamdata\ -Name | foreach{ $_ -replace \"badgeerror\",\"\"} | foreach{ $_ -replace \"temp\",\"\"} | foreach{ $_ -replace \"lastnfcaction\",\"\"} | foreach{ $_ -replace \"newbadge\",\"\"} | where {$_ -ne \"$null\"}
foreach( $obj in $listbadges)
{
$donnees = Get-Content \"$dirrdamdata\$obj\"
[void] $badges.Items.Add($donnees)
}
###############################################################
# Fenetre de configuration
$boutonconfig.add_click({
$config = New-Object Windows.Forms.Form
$config.Text = \"Configuration\"
# Choix de la taille
$config.Size = New-Object System.Drawing.Size(330,300)
$config.StartPosition=\"centerscreen\"
$Script:LabelTitrecfg = New-Object System.Windows.Forms.label
$LabelTitrecfg.Location = New-Object System.Drawing.Size(5,5)
$LabelTitrecfg.Size = New-Object System.Drawing.Size(210,22)
$LabelTitrecfg.text = \"Sélection des répertoires : \"
$LabelTitrecfg.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\", [System.Drawing.FontStyle]::Underline)
$Script:Labelavertissement = New-Object System.Windows.Forms.label
$Labelavertissement.Location = New-Object System.Drawing.Size(10,150)
$Labelavertissement.Size = New-Object System.Drawing.Size(300,50)
$Labelavertissement.text = \"Attention, vous devez avoir les droits en écriture sur le répertoire data !\"
$Labelavertissement.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\", [System.Drawing.FontStyle]::Underline)
$Labelavertissement.forecolor = [System.Drawing.Color]::Red
$Script:Labelmusic = New-Object System.Windows.Forms.label
$labelmusic.Location = New-Object System.Drawing.Size(10,32)
$labelmusic.Size = New-Object System.Drawing.Size(50,23)
$labelmusic.text = \"Music\"
$labelmusic.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\", [System.Drawing.FontStyle]::bold)
$chmusic = New-Object windows.Forms.TextBox
$chmusic.Location = New-Object system.Drawing.Size(60,30)
$chmusic.Size = New-Object system.Drawing.Size(200,50)
$chmusic.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\"«»)
$chmusic.Text = $dirmusic
$boutonmusic = New-Object System.Windows.Forms.button
$boutonmusic.Image = [System.Drawing.Image]::FromFile(\".\wsrm.ico\"«»)
$boutonmusic.Location = New-object System.Drawing.Size(270,26)
$boutonmusic.Size = New-Object System.Drawing.Size(30,30)
$boutonmusic.Font = New-Object System.Drawing.Font(\"calibri\", \"10\"«»)
$boutonmusic.BackColor = [System.Drawing.Color]::LightGray
$Script:Labelplaylist = New-Object System.Windows.Forms.label
$labelplaylist.Location = New-Object System.Drawing.Size(10,72)
$labelplaylist.Size = New-Object System.Drawing.Size(50,23)
$labelplaylist.text = \"Playlist\"
$labelplaylist.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\", [System.Drawing.FontStyle]::bold)
$chplaylist = New-Object windows.Forms.TextBox
$chplaylist.Location = New-Object system.Drawing.Size(60,70)
$chplaylist.Size = New-Object system.Drawing.Size(200,50)
$chplaylist.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\"«»)
$chplaylist.Text = $dirplaylist
$boutonplaylist = New-Object System.Windows.Forms.button
$boutonplaylist.Image = [System.Drawing.Image]::FromFile(\".\wsrm.ico\"«»)
$boutonplaylist.Location = New-object System.Drawing.Size(270,66)
$boutonplaylist.Size = New-Object System.Drawing.Size(30,30)
$boutonplaylist.Font = New-Object System.Drawing.Font(\"calibri\", \"10\"«»)
$boutonplaylist.BackColor = [System.Drawing.Color]::LightGray
$Script:Labeldata = New-Object System.Windows.Forms.label
$labeldata.Location = New-Object System.Drawing.Size(10,112)
$labeldata.Size = New-Object System.Drawing.Size(50,23)
$labeldata.text = \"Data\"
$labeldata.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\", [System.Drawing.FontStyle]::bold)
$chdata = New-Object windows.Forms.TextBox
$chdata.Location = New-Object system.Drawing.Size(60,110)
$chdata.Size = New-Object system.Drawing.Size(200,50)
$chdata.Font = New-Object System.Drawing.Font(\"Calibri\", \"10\"«»)
$chdata.Text = $dirrdamdata
$boutondata = New-Object System.Windows.Forms.button
$boutondata.Image = [System.Drawing.Image]::FromFile(\".\wsrm.ico\"«»)
$boutondata.Location = New-object System.Drawing.Size(270,106)
$boutondata.Size = New-Object System.Drawing.Size(30,30)
$boutondata.Font = New-Object System.Drawing.Font(\"calibri\", \"10\"«»)
$boutondata.BackColor = [System.Drawing.Color]::LightGray
$boutonenregistrer = New-Object System.Windows.Forms.button
$boutonenregistrer.text = \"Enregistrer\"
$boutonenregistrer.Location = New-object System.Drawing.Size(90,200)
$boutonenregistrer.Size = New-Object System.Drawing.Size(90,30)
$boutonenregistrer.Font = New-Object System.Drawing.Font(\"calibri\", \"10\"«»)
$boutonenregistrer.BackColor = [System.Drawing.Color]::LightGreen
$boutonannuler = New-Object System.Windows.Forms.button
$boutonannuler.text = \"Annuler\"
$boutonannuler.Location = New-object System.Drawing.Size(210,200)
$boutonannuler.Size = New-Object System.Drawing.Size(90,30)
$boutonannuler.Font = New-Object System.Drawing.Font(\"calibri\", \"10\"«»)
$boutonannuler.BackColor = [System.Drawing.Color]::Red
# evenemnt bouton parcourir
$boutonmusic.add_Click(
{
# appel de l'objet pour ouvrir une boite de dialogue
$OpenFolderDialog = New-Object System.Windows.Forms.FolderBrowserDialog
#répertoire par defaut est C:
$OpenFolderDialog.SelectedPath = \"$dirmusic\\"
#affichage de la boite de dialogue
$output = $OpenFolderDialog.ShowDialog()
$chmusic.text = $OpenFolderDialog.SelectedPath
$chmusic.Update()
#si l'on clique sur ok le fichier s'affiche
if($output -eq \"ok\"«»){
#récupérer nom du fichier dans la box nom de fichier
$chmusic.text = $OpenFolderDialog.SelectedPath
$chmusic.Update()
}
#sinon le message suivant s'affiche
else
{
$chmusic.text = \"Aucun dossier n'est séléctionné !\"
$chmusic.Update()
}
}
)
$boutonplaylist.add_Click(
{
# appel de l'objet pour ouvrir une boite de dialogue
$OpenFolderDialog = New-Object System.Windows.Forms.FolderBrowserDialog
#répertoire par defaut est C:
$OpenFolderDialog.SelectedPath = \"$dirplaylist\\"
#affichage de la boite de dialogue
$output = $OpenFolderDialog.ShowDialog()
$chplaylist.text = $OpenFolderDialog.SelectedPath
$chplaylist.Update()
#si l'on clique sur ok le fichier s'affiche
if($output -eq \"ok\"«»){
#récupérer nom du fichier dans la box nom de fichier
$chplaylist.text = $OpenFolderDialog.SelectedPath
$chplaylist.Update()
}
#sinon le message suivant s'affiche
else
{
$chplaylist.text = \"Aucun dossier n'est séléctionné !\"
$chplaylist.Update()
}
}
)
$boutondata.add_Click(
{
# appel de l'objet pour ouvrir une boite de dialogue
$OpenFolderDialog = New-Object System.Windows.Forms.FolderBrowserDialog
#répertoire par defaut est C:
$OpenFolderDialog.SelectedPath = \"$dirrdamdata\\"
#affichage de la boite de dialogue
$output = $OpenFolderDialog.ShowDialog()
$chdata.text = $OpenFolderDialog.SelectedPath
$chdata.Update()
#si l'on clique sur ok le fichier s'affiche
if($output -eq \"ok\"«»){
#récupérer nom du fichier dans la box nom de fichier
$chdata.text = $OpenFolderDialog.SelectedPath
$chdata.Update()
}
#sinon le message suivant s'affiche
else
{
$chdata.text = \"Aucun dossier n'est séléctionné !\"
$chdata.Update()
}
}
)
$boutonenregistrer.add_click({
$cfgmusic = $chmusic.text
$cfgplaylist = $chplaylist.text
$cfgdata = $chdata.text
$dirmusic2 = $dirmusic| foreach {$_ -replace \"\\\",\"\\\"}
$dirplaylist2 = $dirplaylist | foreach {$_ -replace \"\\\",\"\\\"}
$dirrdamdata2 = $dirrdamdata | foreach {$_ -replace \"\\\",\"\\\"}
$newconfigmusic = Get-Content .\rdam.cfg | foreach {$_ -replace \"Music=$dirmusic2\",\"Music=$cfgmusic\"}
$newconfigmusic > .\rdam.cfg
$newconfigplaylist = Get-Content .\rdam.cfg | foreach {$_ -replace \"Playlist=$dirplaylist2\",\"Playlist=$cfgplaylist\"}
$newconfigplaylist > .\rdam.cfg
$newconfigdata = Get-Content .\rdam.cfg | foreach {$_ -replace \"Data=$dirrdamdata2\",\"Data=$cfgdata\"}
$newconfigdata > .\rdam.cfg
$config.Close()
})
$boutonannuler.add_click({
$config.Close()
})
$config.Controls.Add($LabelTitrecfg)
$config.Controls.Add($Labelavertissement)
$config.Controls.Add($boutonenregistrer)
$config.Controls.Add($boutonannuler)
$config.Controls.Add($boutonmusic)
$config.controls.add($chmusic)
$config.Controls.Add($labelmusic)
$config.Controls.Add($boutonplaylist)
$config.controls.add($chplaylist)
$config.Controls.Add($labelplaylist)
$config.Controls.Add($boutondata)
$config.controls.add($chdata)
$config.Controls.Add($labeldata)
$config.showDialog()
})
$boutonrecharger.add_click({
# récuperer les badges
$badges.Items.Clear()
$listbadges = dir $dirrdamdata\ -Name | foreach{ $_ -replace \"badgeerror\",\"\"} | foreach{ $_ -replace \"temp\",\"\"} | foreach{ $_ -replace \"lastnfcaction\",\"\"} | foreach{ $_ -replace \"newbadge\",\"\"} | where {$_ -ne \"$null\"}
foreach( $obj in $listbadges)
{
$donnees = Get-Content \"$dirrdamdata\$obj\"
[void] $badges.Items.Add($donnees)
}
})
# evenemnt bouton parcourir
$parcourir.add_Click(
{
# appel de l'objet pour ouvrir une boite de dialogue
$OpenFolderDialog = New-Object System.Windows.Forms.FolderBrowserDialog
#répertoire par defaut est C:
$OpenFolderDialog.SelectedPath = \"$dirmusic\\"
#affichage de la boite de dialogue
$output = $OpenFolderDialog.ShowDialog()
$chAlbum.text = $OpenFolderDialog.SelectedPath
$chAlbum.Update()
#si l'on clique sur ok le fichier s'affiche
if($output -eq \"ok\"«»){
#récupérer nom du fichier dans la box nom de fichier
$chAlbum.text = $OpenFolderDialog.SelectedPath
$chAlbum.Update()
}
#sinon le message suivant s'affiche
else
{
$chAlbum.text = \"Aucun dossier n'est séléctionné !\"
$chAlbum.Update()
}
}
)
$boutonAjouter.add_click({
$ID = $chID.Text
# savoir qu'es ce qui est cocher
if( $radioShell.Checked -eq $true)
{
if ( $radioRepeat.Checked -eq $true)
{
$shell = $chShell.text
if( $shell -ne \"\" )
{
$repeat = $radioRepeat.Text
$utf8 = New-Object system.Text.UTF8Encoding($false)
[System.IO.File]::WriteAllLines(\"$dirrdamdata\$ID\",\"$shell;$repeat;\",$utf8)
# avant : \"$shell;$repeat;\" > \"$dirrdamdata\$ID\"
}
else { [System.Windows.Forms.MessageBox]::«»Show(\"Le champ Shell est vide\",\"Erreur\"«»)}
}
elseif ($radioUnique.Checked)
{
$shell = $chShell.Text
if( $shell -ne \"\" )
{
$unique = $radioUnique.Text
$utf8 = New-Object system.Text.UTF8Encoding($false)
[System.IO.File]::WriteAllLines(\"$dirrdamdata\$ID\",\"$shell;$unique;\",$utf8)
# avant : \"$shell;$unique;\" > \"$dirrdamdata\$ID\"
}
else { [System.Windows.Forms.MessageBox]::«»Show(\"Le champ Shell est vide\",\"Erreur\"«»)}
}
else {[System.Windows.Forms.MessageBox]::«»Show(\"Veuillez renseigner un TAG\",\"Erreur\"«»)}
}
elseif( $radioControl.Checked -eq $true)
{
if ( $radioRepeat.Checked -eq $true)
{
$controls = $listeControl.SelectedItem
$repeat = $radioRepeat.Text
$utf8 = New-Object system.Text.UTF8Encoding($false)
[System.IO.File]::WriteAllLines(\"$dirrdamdata\$ID\",\"mpc $controls;$repeat;\",$utf8)
# avant : \"mpc $controls;$repeat;\" > \"$dirrdamdata\$ID\"
}
elseif ($radioUnique.Checked)
{
$controls = $listeControl.SelectedItem
$unique = $radioUnique.Text
$utf8 = New-Object system.Text.UTF8Encoding($false)
[System.IO.File]::WriteAllLines(\"$dirrdamdata\$ID\",\"mpc $controls;$unique;\",$utf8)
# avant : \"mpc $controls;$unique;\" > \"$dirrdamdata\$ID\"
}
else {[System.Windows.Forms.MessageBox]::«»Show(\"Veuillez renseigner un TAG\",\"Erreur\"«»)}
}
elseif( $radioAlbum.Checked -eq $true)
{
if ( $radioRepeat.Checked -eq $true)
{
$album = $chAlbum.text
$album1 = $album |foreach { $_ -replace \"\\\",\"/\"}
$album2 = $album1 | foreach{$_ -replace \"$dirmusicpath/\",\"\"} | foreach { $_ -replace \" \",\"\ \"} | foreach{$_ -replace \"\(\",\"\(\"} | foreach{$_ -replace \"\)\",\"\)\"} | foreach{$_ -replace \"-\",\"\-\"} | foreach{$_ -replace \"\[\",\"\[\"} | foreach{$_ -replace \"\]\",\"\]\"} | foreach{$_ -replace \"_\",\"\_\"}
$repeat = $radioRepeat.Text
$utf8 = New-Object system.Text.UTF8Encoding($false)
[System.IO.File]::WriteAllLines(\"$dirrdamdata\$ID\",\"mpc stop && mpc clear && mpc add $album2 && mpc play;$repeat;\",$utf8)
# avant : \"mpc stop && mpc clear && mpc add $album2 && mpc play;$repeat;\" > \"$dirrdamdata\$ID\"
}
elseif ($radioUnique.Checked)
{
$album = $chAlbum.text
$album1 = $album |foreach { $_ -replace \"\\\",\"/\"}
$album2 = $album1 | foreach{$_ -replace \"$dirmusicpath/\",\"\"} | foreach { $_ -replace \" \",\"\ \"} | foreach{$_ -replace \"\(\",\"\(\"} | foreach{$_ -replace \"\)\",\"\)\"} | foreach{$_ -replace \"-\",\"\-\"} | foreach{$_ -replace \"\[\",\"\[\"} | foreach{$_ -replace \"\]\",\"\]\"} | foreach{$_ -replace \"_\",\"\_\"}
$unique = $radioUnique.Text
$utf8 = New-Object system.Text.UTF8Encoding($false)
[System.IO.File]::WriteAllLines(\"$dirrdamdata\$ID\",\"mpc stop && mpc clear && mpc add $album2 && mpc play;$unique;\",$utf8)
# avant : \"mpc stop && mpc clear && mpc add $album2 && mpc play;$unique;\" > \"$dirrdamdata\$ID\"
}
else {[System.Windows.Forms.MessageBox]::«»Show(\"Veuillez renseigner un TAG\",\"Erreur\"«»)}
}
elseif ( $radioPlaylist.Checked -eq $true)
{
if ( $radioRepeat.Checked -eq $true)
{
$playlist1 = $listePlaylist.SelectedItem | foreach{ $_ -replace \" \",\"\ \"}
$repeat = $radioRepeat.Text
$utf8 = New-Object system.Text.UTF8Encoding($false)
[System.IO.File]::WriteAllLines(\"$dirrdamdata\$ID\",\"mpc stop && mpc clear && mpc load $playlist1 && mpc play;$repeat;\",$utf8)
# avant : \"mpc stop && mpc clear && mpc load $playlist1 && mpc play;$repeat;\" > \"$dirrdamdata\$ID\"
}
elseif ($radioUnique.Checked)
{
$playlist1 = $listePlaylist.SelectedItem | foreach{ $_ -replace \" \",\"\ \"}
$unique = $radioUnique.Text
$utf8 = New-Object system.Text.UTF8Encoding($false)
[System.IO.File]::WriteAllLines(\"$dirrdamdata\$ID\",\"mpc stop && mpc clear && mpc load $playlist1 && mpc play;$unique;\",$utf8)
# avant : \"mpc stop && mpc clear && mpc load $playlist1 && mpc play;$unique;\" > \"$dirrdamdata\$ID\"
}
else {[System.Windows.Forms.MessageBox]::«»Show(\"Veuillez renseigner un TAG\",\"Erreur\"«»)}
}
else
{
[System.Windows.Forms.MessageBox]::«»Show(\"Veuillez sélectionner au moins une option\",\"Erreur\"«»)
}
# récuperer les badges
$badges.Items.Clear()
$listbadges = dir $dirrdamdata\ -Name | foreach{ $_ -replace \"badgeerror\",\"\"} | foreach{ $_ -replace \"temp\",\"\"} | foreach{ $_ -replace \"lastnfcaction\",\"\"} | foreach{ $_ -replace \"newbadge\",\"\"} | where {$_ -ne \"$null\"}
foreach( $obj in $listbadges)
{
$donnees = Get-Content \"$dirrdamdata\$obj\"
[void] $badges.Items.Add($donnees)
}
})
$boutonModifier.add_Click({
# récupération de l'ID
$index = $badges.SelectedIndex
$IDindex = $listbadges.Get($index)
$chID.Text = \"$IDindex\"
$chAlbum.Text =\"\"
#traitement du fichier
$modifCommands = $badges.SelectedItem
if( ($modifCommands -like \"*load*\"«») -and ($modifCommands -like \"*unique*\"«»))
{
$radioPlaylist.Checked = $true
$radioUnique.Checked = $true
$nomplaylist = $modifCommands | foreach {$_ -replace \"mpc stop && mpc clear && mpc load \",\"\"} | foreach{$_ -replace \" && mpc play;unique;\",\"\"} | foreach {$_ -replace \"\\ \",\" \"}
$listePlaylist.SelectedItem = \"$nomplaylist\"
return
}
elseif ( ($modifCommands -like \"*load*\"«») -and ($modifCommands -like \"*repeat*\"«») )
{
$radioPlaylist.Checked = $true
$radiorepeat.Checked = $true
$nomplaylist = $modifCommands | foreach {$_ -replace \"mpc stop && mpc clear && mpc load \",\"\"} | foreach{$_ -replace \" && mpc play;repeat;\",\"\"} | foreach {$_ -replace \"\\ \",\" \"}
$listePlaylist.SelectedItem = \"$nomplaylist\"
return
}
elseif ( ($modifCommands -like \"*add*\"«») -and ($modifCommands -like \"*repeat*\"«») )
{
$radioAlbum.Checked = $true
$radioRepeat.Checked = $true
$nomalbum = $modifCommands | foreach { $_ -replace \"mpc stop && mpc clear && mpc add \",\"\"} | foreach {$_ -replace \" && mpc play;repeat;\",\"\"}
$chAlbum.Text = $nomalbum
return
}
elseif ( ($modifCommands -like \"*add*\"«») -and ($modifCommands -like \"*unique*\"«») )
{
$radioAlbum.Checked = $true
$radioUnique.Checked = $true
$nomalbum = $modifCommands | foreach { $_ -replace \"mpc stop && mpc clear && mpc add \",\"\"} | foreach {$_ -replace \" && mpc play;unique;\",\"\"}
$chAlbum.Text = $nomalbum
return
}
$mpccontrol = \"play\",\"toggle\",\"stop\",\"next\",\"prev\",\"volume +10\",\"volume -10\",\"random\",\"shuffle\",\"consume\",\"clear\",\"-h localhost update\",\"single\",\"repeat\",\"crop\",\"pause\"
foreach ($obj in $mpccontrol)
{
if ( ($modifCommands -like \"*$obj*\"«») -and ($modifCommands -like \"*unique*\"«»))
{
$radioControl.Checked = $true
$radioUnique.Checked = $true
$listeControl.SelectedItem = \"$obj\"
return
}
elseif (($modifCommands -like \"*$obj*\"«») -and ($modifCommands -like \"*repeat*\"«»))
{
$radioControl.Checked = $true
$radiorepeat.Checked = $true
$listeControl.SelectedItem = \"$obj\"
return
}
}
})
$boutonnew.add_Click({
$testbadges = dir \"$dirrdamdata\\"
foreach ($obj in $testbadges)
{
if ( $obj -like $newbadge)
{
$command= get-content $dirrdamdata\$newbadge
[System.Windows.Forms.MessageBox]::«»Show(\"Le new badge est déjà créé et contient :'$command'. Présentez un nouveau badge pour enregistrer une autre commande.\",\"Nouveau Badge\"«»)
$newbadge = Get-Content $dirrdamdata\newbadge
$chID.Text = \"$newbadge\"
}
else
{
$newbadge = Get-Content $dirrdamdata\newbadge
$chID.Text = \"$newbadge\"
$utf8 = New-Object system.Text.UTF8Encoding($false)
$lastnfcaction = \"\"
[System.IO.File]::WriteAllLines(\"$dirrdamdata\lastnfcaction\",\"\",$utf8)
}
}
})
$boutonSupprimer.add_Click({
$index = $badges.SelectedIndex
$IDindex = $listbadges.Get($index)
# listbadges a décrémenter :/ dur dur
del \"$dirrdamdata\$IDindex\"
$badges.Items.RemoveAt($index)
$badges.Refresh()
# voir sa position peut etre mal mise bien joué !
$listbadges = $listbadges | Where-Object{$_ -ne $IDindex}
})
$groupbox1.Controls.Add($radioshell)
$groupbox1.Controls.Add($radioControl)
$groupbox1.Controls.Add($radioAlbum)
$groupbox1.Controls.Add($radioPlaylist)
$groupbox1.Controls.Add($listeControl)
$groupbox1.Controls.Add($listePlaylist)
$groupbox1.Controls.Add($parcourir)
$groupbox1.Controls.Add($chAlbum)
$groupbox1.Controls.Add($chShell)
$groupbox2.Controls.Add($radioRepeat)
$groupbox2.Controls.Add($radioUnique)
$groupbox2.Controls.Add($boutonAjouter)
$groupbox3.Controls.Add($chID)
$groupbox3.Controls.Add($boutonnew)
$fenetre.Controls.Add($boutonSupprimer)
$fenetre.Controls.Add($boutonModifier)
$fenetre.Controls.Add($boutonconfig)
$fenetre.Controls.Add($boutonrecharger)
$fenetre.Controls.Add($Labelbadges)
$fenetre.Controls.Add($LabelTitre)
$fenetre.Controls.Add($groupbox1)
$fenetre.Controls.Add($LabelAjout)
$fenetre.Controls.Add($groupbox2)
$fenetre.Controls.Add($groupbox3)
$fenetre.Controls.Add($badges)
$fenetre.Controls.Add($auteur)
$fenetre.Add_Shown({$fenetre.Activate()})
$fenetre.Add_Shown(
{
#La forme reçoit les événements de touche avant que
# l'événement ne soit passé au contrôle ayant le focus.
$fenetre.KeyPreview = $true;
$fenetre.Activate()
}
)
$fenetre.ShowDialog()[/code:1]
Et voici mon fichier conf :
[code:1][Path]
#Declaration des chemins sans le '\' a la fin.
#Attention, le dossier 'data' doit etre accessible en ecriture
Music=\\TEFCLOUD\Public\Music
Playlist=\\TEFCLOUD\Public\Music\playlist
Data=\\TEFCLOUD\Public\R-dam\data[/code:1]
Je mets aussi une capture d'écran de mon \"programme\".
Ce que j'aimerai faire, c'est quand je clique sur \"enregistrer\" ça recharge automatiquement les nouvelles variables de chemin. Sans avoir à relancer le programme.
<br><br>Message édité par: raspitef, à: 23/03/15 22:10
Pièces jointes :
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 10 ans 11 mois #19305
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Actualiser des paramètres
raspitef écrit:

Il est surtout d'un seul bloc avec de nombreux traitements identiques.
Il existe des fonctions en Powershell, l'appel de scripts en dotsource et les modules
Tout ce qu'il faut pour découper ton code.
La forme principale doit partager les données liées aux chemins avec la seconde fenêtre modale $config.
La forme principale doit donc avoir une fonction de configuration appelée lors du démarrage et lors de la fermeture de la fenêtre modale. C'est cette fonction qui doit mettre à jour les composants de la forme principale.
Le code est assez long :
Il est surtout d'un seul bloc avec de nombreux traitements identiques.
Il existe des fonctions en Powershell, l'appel de scripts en dotsource et les modules
Tout ce qu'il faut pour découper ton code.
La forme principale doit partager les données liées aux chemins avec la seconde fenêtre modale $config.
La forme principale doit donc avoir une fonction de configuration appelée lors du démarrage et lors de la fermeture de la fenêtre modale. C'est cette fonction qui doit mettre à jour les composants de la forme principale.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- sezalory
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 7
- Remerciements reçus 0
il y a 10 ans 11 mois #19324
par sezalory
Réponse de sezalory sur le sujet Re:Actualiser des paramètres
Merci pour la réponse,
J'ai créé des fonctions et en y faisant appel, ça marche parfaitement
J'ai une autre question.
Après avoir compilé mon script en .exe, quand je le lance, le répertoire d'exécution n'est pas celui où se trouve le .exe, du coup il trouve pas le fichier rdam.cfg que j'ai déclaré en chemin relatif.
J'ai essayé de changé le chemin avec la commande :
[code:1]Set-Location Split-Path -Path $MyInvocation.MyCommand.Path[/code:1]
Ça marche avec le ps1 mais pas avec l'exe, quand je fais un Get-Location le répertoire n'a pas changé.
Je comprends pas pourquoi
J'ai créé des fonctions et en y faisant appel, ça marche parfaitement
J'ai une autre question.
Après avoir compilé mon script en .exe, quand je le lance, le répertoire d'exécution n'est pas celui où se trouve le .exe, du coup il trouve pas le fichier rdam.cfg que j'ai déclaré en chemin relatif.
J'ai essayé de changé le chemin avec la commande :
[code:1]Set-Location Split-Path -Path $MyInvocation.MyCommand.Path[/code:1]
Ça marche avec le ps1 mais pas avec l'exe, quand je fais un Get-Location le répertoire n'a pas changé.
Je comprends pas pourquoi
Connexion ou Créer un compte pour participer à la conversation.
- sezalory
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 7
- Remerciements reçus 0
il y a 10 ans 11 mois #19325
par sezalory
Réponse de sezalory sur le sujet Re:Actualiser des paramètres
Pour compléter mon dernier post, y a un truc bizarre avec le .exe :
Quand je clique sur config, que selectionne les répertoires et que je clique sur \"enregistrer\", le fichier R-dam.cfg se met à jour et j'ai de nouveau accès à tout.
Ça veut dire que quelque part il trouve quand même le répertoire courant et le fichier .cfg
Si je ferme l'exe et que je le rouvre, il trouve plus la conf et faut recommencer.
Je trouve ça très déconcertant...
Quand je clique sur config, que selectionne les répertoires et que je clique sur \"enregistrer\", le fichier R-dam.cfg se met à jour et j'ai de nouveau accès à tout.
Ça veut dire que quelque part il trouve quand même le répertoire courant et le fichier .cfg
Si je ferme l'exe et que je le rouvre, il trouve plus la conf et faut recommencer.
Je trouve ça très déconcertant...
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.063 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- [Résolu] Actualiser des paramètres