Springen naar inhoud


- - - - -
DB .NET SOLVED

Tijd Am/Pm Naar 24U

.NET

  • Log in a.u.b. om te beantwoorden
Er zijn 15 reacties in dit onderwerp

#1 Hypenate

Hypenate

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1228 berichten
    Laatst bezocht 15 mei 2019 21:27
Inzender

Geplaatst op 18 september 2013 - 12:15

Momenteel worden datums weergeven met AM/PM desondanks dat bij landinstellingen 24u-notatie staat?
Iemand een oplossing hiervoor?

#2 Dirk Andries

Dirk Andries

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1145 berichten
    Laatst bezocht
  • LocatieGent

Geplaatst op 18 september 2013 - 12:21

De landinstellingen van wat?
En waar precies worden die datums weergegeven met am/pm?

#3 Hypenate

Hypenate

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1228 berichten
    Laatst bezocht 15 mei 2019 21:27
Inzender

Geplaatst op 18 september 2013 - 13:26

Het rare is, alleen in mijn programma zie ik net.
De database is wel "onze" tijd.
Enige idee hoe dit komt? :/

#4 pascalbianca

pascalbianca

    Webmaster/Admin

  • Webmaster
  • 4382 berichten
    Laatst bezocht 28 mei 2019 18:00
  • LocatieSusteren, Nederland, Midden Limburg.
Inzender

Geplaatst op 18 september 2013 - 14:37

Dit zou je probleem ten allertijde moeten oplossen al zou hij nu 12/24 uurs geven.
Visual Basic Code:
Waarde.ToString("MM/dd/yyyy HH:mm:ss")


#5 Dirk Andries

Dirk Andries

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1145 berichten
    Laatst bezocht
  • LocatieGent

Geplaatst op 18 september 2013 - 15:30

Bericht bekijkenHypenate, op 18 september 2013 - 13:26, zei:

Het rare is, alleen in mijn programma zie ik net.
De database is wel "onze" tijd.
Enige idee hoe dit komt? :/
Is dit wpf ?
Zo ja, zie Globalization for WPF

#6 Hypenate

Hypenate

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1228 berichten
    Laatst bezocht 15 mei 2019 21:27
Inzender

Geplaatst op 18 september 2013 - 15:55

Bericht bekijkenDirk Andries, op 18 september 2013 - 15:30, zei:

Is dit wpf ?
Zo ja, zie Globalization for WPF

Wow, knap :).
Hier staat het dus letterlijk in:
Set the xml:lang attribute. This attribute describes the culture of a specific element and its child elements. The value of this property changes the behavior of several features in WPF. For example, it changes the behavior of hyphenation, spell checking, number substitution, complex script shaping, and font fallback. See Globalization for WPF for more information about setting the xml:lang Handling in XAML.

Ondertussen heb ik al wat gegoogled, maar ik kan de xml:lang attribute niet vinden.
Ook vind ik de 'startup' niet waar ik dit eventueel dit in VB-code kan fixen:

Visual Basic Code:
System.Globalization.CultureInfo ci =
new System.Globalization.CultureInfo("zh-cn");
System.Threading.Thread.CurrentThread.CurrentCulture = ci;
System.Threading.Thread.CurrentThread.CurrentUICulture = ci; 


#7 Hypenate

Hypenate

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1228 berichten
    Laatst bezocht 15 mei 2019 21:27
Inzender

Geplaatst op 18 september 2013 - 16:10

Ik heb dit gevonden in mijn WPF projec toen ik een zoektoch deed naar UICulture:

'In order to begin building localizable applications, set
'<UICulture>CultureYouAreCodingWith</UICulture> in your .vbproj file
'inside a <PropertyGroup>.  For example, if you are using US english
'in your source files, set the <UICulture> to "en-US".  Then uncomment the
'NeutralResourceLanguage attribute below.  Update the "en-US" in the line
'below to match the UICulture setting in the project file.

<Assembly: NeutralResourcesLanguage("nl-BE", UltimateResourceFallbackLocation.Satellite)>

Bovenstaande zin heb ik reeds aangepast. Maar met "set '<UICulture>CultureYouAreCodingWith</UICulture> in your .vbproj file" snap ik niet wat ze bedoelen

#8 Hypenate

Hypenate

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1228 berichten
    Laatst bezocht 15 mei 2019 21:27
Inzender

Geplaatst op 18 september 2013 - 16:15

Als ik dit run krijg ik de volgende fout:

The satellite assembly named "Security.resources.dll, PublicKeyToken=" for fallback culture "nl-BE" either could not be found or could not be loaded. This is generally a setup problem. Please consider reinstalling or repairing the application.

#9 Dirk Andries

Dirk Andries

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1145 berichten
    Laatst bezocht
  • LocatieGent

Geplaatst op 20 september 2013 - 09:35

Je doet te veel.
Zet gewoon
XAML Code:
Language="nl-be"
in je xaml

Of in code behind:
Visual Basic Code:
	Language = XmlLanguage.GetLanguage("nl-be")
	' of voor de huidige culture
	Language = XmlLanguage.GetLanguage(Thread.CurrentThread.CurrentCulture.Name)


Noteer wel dat geen van die oplossingen rekening zal houden met de internationale instellingen op de machine van de gebruiker.
Je kan (als je binding gebruikt) ook het formaat meegeven.

#10 Hypenate

Hypenate

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1228 berichten
    Laatst bezocht 15 mei 2019 21:27
Inzender

Geplaatst op 20 september 2013 - 22:57

Maar in welk bestand moet ik dat plaatsen?

#11 Dirk Andries

Dirk Andries

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1145 berichten
    Laatst bezocht
  • LocatieGent

Geplaatst op 28 september 2013 - 21:50

In het xaml bestand van je window waar je de control gebruikt.
XAML Code:
<Window
	xmlns="http://schemas.micro...l/presentation"
	xmlns:x="http://schemas.micro...infx/2006/xaml"
	xmlns:local="clr-namespace:VbibWpfDatum" x:Class="MainWindow"
	Title="MainWindow" Height="350" Width="525"
	Language="nl-be">
  
   ...
</Window>
 


Of in de code behind van dat window.
Bijvoorbeeld Loaded event.

Visual Basic Code:
 Private Sub Window_Loaded(sender As Object, e As RoutedEventArgs) Handles MyBase.Loaded
		Language = XmlLanguage.GetLanguage("nl-be")
		' of voor de huidige culture
		Language = XmlLanguage.GetLanguage(Thread.CurrentThread.CurrentCulture.Name)
  End Sub


Of in de code behind in constructor van het Window:

Visual Basic Code:
 Public Sub New()
		' This call is required by the designer.
		InitializeComponent()

		' Add any initialization after the InitializeComponent() call.
		Language = XmlLanguage.GetLanguage("nl-be")
		' of voor de huidige culture
		Language = XmlLanguage.GetLanguage(Thread.CurrentThread.CurrentCulture.Name)
	End Sub


Als je een bepaald formaat wil kan je dat ook in de binding (in de xaml of in code).
XAML Code:
<DataGridTextColumn x:Name="GeboorteDatumColumn"
	Binding="{Binding GeboorteDatum, StringFormat='dd MMMM yyyy' }" 
	Header="GeboorteDatum" Width="SizeToCells" CanUserResize="False"/>



#12 Hypenate

Hypenate

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1228 berichten
    Laatst bezocht 15 mei 2019 21:27
Inzender

Geplaatst op 30 september 2013 - 11:35

Dan moet ik dat eigenlijk in elk scherm doen?
Kan ik dat niet op 1 plaats doen, dat het meteen voor alle schermen geldt?

#13 Dirk Andries

Dirk Andries

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1145 berichten
    Laatst bezocht
  • LocatieGent

Geplaatst op 30 september 2013 - 18:38

Bericht bekijkenHypenate, op 30 september 2013 - 11:35, zei:

Kan ik dat niet op 1 plaats doen, dat het meteen voor alle schermen geldt?

Voor alle FrameWorkElements ineens: zet in je Application.StartUp event handler volgende code:
Visual Basic Code:
	Private Sub Application_Startup(sender As Object, e As StartupEventArgs) Handles Me.Startup
		FrameworkElement.LanguageProperty.OverrideMetadata(GetType(FrameworkElement),
			  New FrameworkPropertyMetadata(XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag)))
	End Sub


of voor een specifieke culture:
Visual Basic Code:
 Private Sub Application_Startup(sender As Object, e As StartupEventArgs) Handles Me.Startup
		FrameworkElement.LanguageProperty.OverrideMetadata(GetType(FrameworkElement),
			  New FrameworkPropertyMetadata(XmlLanguage.GetLanguage("fr-FR")))
	End Sub



#14 Hypenate

Hypenate

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1228 berichten
    Laatst bezocht 15 mei 2019 21:27
Inzender

Geplaatst op 30 september 2013 - 20:09

Bericht bekijkenDirk Andries, op 30 september 2013 - 18:38, zei:

Voor alle FrameWorkElements ineens: zet in je Application.StartUp event handler volgende code:

Sorry dat ik nu overkom gelijk een volledige retard, maar waar vind ik dat bestand juist? :)

#15 Dirk Andries

Dirk Andries

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1145 berichten
    Laatst bezocht
  • LocatieGent

Geplaatst op 01 oktober 2013 - 08:26

De event is er één van je application.
Je hebt, als het goed is, in één van je projects in je solution, een Application.xaml (xaml) en een Application.xaml.vb (code behind).
Voeg een event handler toe in Application.xaml.vb (of kopieer de code uit mijn vorige post).

Bijlage  application.xaml.vb.png   17,53K   2 downloads



Hou er rekening mee dat als je een specifieke culture vraagt, de mogelijkheid bestaat dat dit fout loopt (omdat de nodige resources niet kunnen gevonden worden).

#16 Hypenate

Hypenate

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1228 berichten
    Laatst bezocht 15 mei 2019 21:27
Inzender

Geplaatst op 06 oktober 2013 - 07:07

Hey Dirk,

'k Heb dit getest en dit werkt!! Super!
Thank you vewwy much!!!!





Ook met taq DB .NET SOLVED, .NET voorzien

0 gebruiker(s) lezen dit onderwerp

0 lid(leden), 0 bezoeker(s), 0 anonieme gebruikers

Inloggen


[DB .NET SOLVED] Untitled 1

Met dank aan Jürgen voor de jarenlange inzet van visualbasic.be (anno dec 2000)
Met dank aan Mike en Ronneke voor de jarenlange inzet van vbib.be (anno dec 2010)
Met dank aan PascalBianca voor de jarenlange inzet van vbib.be (anno dec 2016)