Question Calendrier

Plus d'informations
il y a 15 ans 9 mois #6982 par crouzille
Calendrier a été créé par crouzille
Bonjour à tous.

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.

Plus d'informations
il y a 15 ans 9 mois #6983 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Calendrier
Si tu pouvais reformuler l'existant et le problème lié à l'adaptation souhaitée, ce serait plus mieux :lol:
noir28 écrit:

j'ai réussi à sortir la date en variable que l'utilisateur à choisit.

C'est à dire ? Qu'est-ce que l'utilisateur choisit, la date, une variable ou une variable qui contient une date ?
noir28 écrit:

Cependant je souhaiterais changer le format de la date

D'accord, mais où exactement ? Sur le composant ou sur le résultat renvoyé ?
Et connaitre le pourquoi n'est pas inutile.

Tutoriels PowerShell

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

Plus d'informations
il y a 15 ans 9 mois #6985 par crouzille
Réponse de crouzille sur le sujet Re:Calendrier
Oui c'est vrai que j'étais pas trés clair. :(

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.

Plus d'informations
il y a 15 ans 9 mois #6986 par Arthur
Réponse de Arthur sur le sujet Re:Calendrier
Bon je n'ai pas regardé sur le net y a peut être plus élégant mais voila :P :

[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***** :laugh:

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.

Plus d'informations
il y a 15 ans 9 mois #6991 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Calendrier
noir28 écrit:

Oui c'est vrai que j'étais pas trés clair. :(

On comprend qu'il s'agit d'un pb de formatage, mais à quel niveau il se situe...
bilbao écrit:

c'est toujours chiant avec les formats

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 toi :-)
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.\&quot;$($_.Name)\&quot;}
[/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=\&quot;SilentlyContinue\&quot;
$DTF|gm -member property|% {Write-Warning $_.Name; get-date $DatePicker.value -format $DTF.\&quot;$($_.Name)\&quot;}
[/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; \&quot;{0:$($DTF.\&quot;$($_.Name)\&quot;«»)}\&quot; -f $DatePicker.value}
[/code:1]
Donc,
noir28 écrit:

Est-ce que le format définit la première fois est-il changeable ?

Oui, il te faut juste mémoriser la date d'origine, en tant que type DateTime.
La notion d'objet sert à cela, séparer l'information de sa représentation.
noir28 écrit:

Je souhaiterai avoir un format de ce type: 25/05/2010

(Get-Culture).DateTimeFormat.ShortDatePattern semble correspondre à ton besoin.
Chaine de formatage également présente sur la classe DateTime via la méthode $DatePicker.value.ToShortDateString()
bilbao écrit:

Au pire tu refais carrément un PSObject.

Mieux vaut enrichir l'objet existant, d'où le Cpluplus ( mieux :silly: )

Tutoriels PowerShell

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

Plus d'informations
il y a 15 ans 9 mois #6998 par crouzille
Réponse de crouzille sur le sujet Re:Calendrier
Euh j'ai pas tout compris vis à vis des PSobject :unsure: mais je vais pencher la dessus.

Merci à vous deux pour votre aide B)

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

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