Question
Calendrier
- crouzille
- Auteur du sujet
- Hors Ligne
- Membre junior
-
- Messages : 34
- Remerciements reçus 0
Je suis atuellement sur une interface graphique ( j'ai bien avancé , merci Laurent:laugh: ) qui comporte une calendrier voici le code:
[code:1]
$System_Drawing_Size = New-Object System.Drawing.Size
$System_Drawing_Size.Width = 200
$System_Drawing_Size.Height = 20
$Calendrier.Size = $System_Drawing_Size
$Calendrier.TabIndex = 0
$Calendrier.CalendarMonthBackground = [System.Drawing.Color]::FromArgb(255,255,255,225)
$Calendrier.Cursor = [System.Windows.Forms.Cursors]::Hand
$System_Drawing_Point = New-Object System.Drawing.Point
$System_Drawing_Point.X = 246
$System_Drawing_Point.Y = 46
$Calendrier.Location = $System_Drawing_Point
$Calendrier.DataBindings.DefaultDataSourceUpdateMode = 0
$Calendrier.Name = \"Calendrier\"
$groupbox_Date.Controls.Add($Calendrier)
# =========================================================================
# =========================================================================
# PARTIE EVENEMENT
# =========================================================================
# =========================================================================
# =========================================================================
# \"calendrier\"
# =========================================================================
$date = $calendrier.value
$calendrier.add_closeup(
{
$date = $calendrier.value
})[/code:1]
Après pas mal d'essais j'ai réussi à sortir la date en variable que l'utilisateur à choisit.
Cependant je souhaiterais changer le format de la date, j'ai cherché du côté de :
dateTimePicker1.set_CustomFormat(\"MMMM dd, yyyy - dddd\");
dateTimePicker1.set_Format(DateTimePickerFormat.Custom);
Mais sans succès.
Quelqu'un pourrait t'il m'aiguiller?
Merci d'avance
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
- Messages : 6311
- Remerciements reçus 68
noir28 écrit:
C'est à dire ? Qu'est-ce que l'utilisateur choisit, la date, une variable ou une variable qui contient une date ?j'ai réussi à sortir la date en variable que l'utilisateur à choisit.
noir28 écrit:
D'accord, mais où exactement ? Sur le composant ou sur le résultat renvoyé ?Cependant je souhaiterais changer le format de la date
Et connaitre le pourquoi n'est pas inutile.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- crouzille
- Auteur du sujet
- Hors Ligne
- Membre junior
-
- Messages : 34
- Remerciements reçus 0
Alors Mon programme principale sert pour l'extraction de mp3.
Donc pour la premiere phase, j'ai crée une interface graphique avec les choix suivants:
-Chemin de destination via le destinataire ou choix par folderbroswerdialog
-Extraction sur la journée ou sur une plage horaire
et biensur la date souhaité.
Donc pour cela L'utilisateur cliquera sur le calendrier et choisira la date qu'il souhaite.
deuxième phase récupérer toutes les informations saisie par l'utilisateur et de les mettre en variables afin de m'en servir dans la suite du programme:
ex :
[code:1]
$objshell = new-object -com shell.application
$Boutton_dossier.add_click(
{
$objFolder = $objshell.browseForFolder(0,\"Choissisez l'endroit où vous souhaitez stocker les enregistrements.\",0,\"D:\\"«»); $textbox.text = $objfolder.self.path
$objfolder.self.path
$textbox.enabled = $true
$chemin = $textbox.get_text()
[/code:1]
Donc actuellement quand l'utilisateur clique sur le calendrier
la variable $date prend la valeur soit la date qui à été saisie.
Mais mon problème est que le format de la date de la variable $date ne me correspond pas pour la suite du programme. Je souhaiterai avoir un format de ce type:
25/05/2010
Esce que le format définit la première fois est'il changeable?
ex: $test = get-date -uformat %A/%m%/Y
donc $test = Jeudi/05/2010
puige changer directement le format de $test directement avec quelque chose de ce genre:
$test1 = $test -format %d%m%y
je sais pas si j'ai été très clair enfaite:pinch:
Connexion ou Créer un compte pour participer à la conversation.
- Arthur
- Hors Ligne
- Membre elite
-
- Messages : 226
- Remerciements reçus 0
[code:1]PS D:\Boulot> [datetime]$date = \"2010-05-27\"
PS D:\Boulot> [string]$newdate = \"$($date.day)/$($date.Month)/$($date.Year)\"
PS D:\Boulot> $newdate
27/5/2010[/code:1]
Perso je suis assez allergique au format \"datetime\" c'est toujours chiant avec les formats(US,UE, ou encore parfois y a des virgules et PS aime pas etc...), bref c'est casse cou*****
Au pire tu refait carrément un PSObject.<br><br>Message édité par: bilbao, à: 27/05/10 15:18
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
- Messages : 6311
- Remerciements reçus 68
On comprend qu'il s'agit d'un pb de formatage, mais à quel niveau il se situe...Oui c'est vrai que j'étais pas trés clair.
bilbao écrit:
Disons qu'il faut investir dans l'étude de la localisation sous dotnet, si ça peux te rassurer l'équipe de dev de PS, à mon avis, doit penser tout bas la même chose que toic'est toujours chiant avec les formats
C'est vrai que c'est pénible, en même temps de concevoir un système qui fonctionne pour un système américain, arabe, russe, français, chinois, j'en passe et des meilleurs, cela suppose qq contraintes.
On peux déjà regarder du coté de la culture, au sens dotnet s'entend :
[code:1]
Get-Culture
#cf. Add-lib
#Write-Properties (Get-Culture)
[/code:1]
La propriété suivante contient de nombreuses informations de formatage prédéfinies :
[code:1]
$DTF=(Get-Culture).DateTimeFormat
$DTF
[/code:1]
On peut afficher leurs contenu :
[code:1]
$DTF|gm -member property|% {Write-Warning $_.Name; $DTF.\"$($_.Name)\"}
[/code:1]
puis l'appliquer sur la date concernée ( un exemple , copiez/collez le code de la fonction Get-DatePicker directement dans la console) :
[code:1]
$ErrorActionPreference=\"SilentlyContinue\"
$DTF|gm -member property|% {Write-Warning $_.Name; get-date $DatePicker.value -format $DTF.\"$($_.Name)\"}
[/code:1]
Si on utilise l'opérateur de formatage au lieu du cmdlet Get-Date, certains contenus ne provoquent plus d'erreur :
[code:1]
$DTF|gm -member property|% {Write-Warning $_.Name; \"{0:$($DTF.\"$($_.Name)\"«»)}\" -f $DatePicker.value}
[/code:1]
Donc,
noir28 écrit:
Oui, il te faut juste mémoriser la date d'origine, en tant que type DateTime.Est-ce que le format définit la première fois est-il changeable ?
La notion d'objet sert à cela, séparer l'information de sa représentation.
noir28 écrit:
(Get-Culture).DateTimeFormat.ShortDatePattern semble correspondre à ton besoin.Je souhaiterai avoir un format de ce type: 25/05/2010
Chaine de formatage également présente sur la classe DateTime via la méthode $DatePicker.value.ToShortDateString()
bilbao écrit:
Mieux vaut enrichir l'objet existant, d'où le Cpluplus ( mieuxAu pire tu refais carrément un PSObject.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- crouzille
- Auteur du sujet
- Hors Ligne
- Membre junior
-
- Messages : 34
- Remerciements reçus 0
Merci à vous deux pour votre aide
Connexion ou Créer un compte pour participer à la conversation.
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Calendrier