[ roberto555 @ 10.05.2007. 11:50 ] @
pozdrav,
jel zna netko kako bi mogao promjeniti short date format sistemskog vremena iz C#-a?!?

Control Panel-Date,Time,Language and Regional Options-Regional and Language options- [Regional Options]-[Customize] , tu se to mjenja na xp-u!!! ja bi trebao moći promjeniti to iz programa, te eventualno uz promjenu da mogu i pročitati koji je format!
koji api bi koristio za to ili se može iz samog .net-a,, !?

isprobao sam sve i svašta iz system.globalization, ...currentthread.currentculture no to sve prođe ok, al ništa ne mijenja i u control panelu tak da več i mislim da se to iz samog .net nemože tj bez korištenja api-ja, dakle htio bi da kad tu promjenim, da onda kad idem u control panel, da je i ondje tako kak sam u programu postavio....

i da čitao sam stare teme na temu toga no nije bilo baš od neke pomoći...

Hvala!
[ mmix @ 10.05.2007. 12:54 ] @
Nema toga u frameworku direktno, moraces da koristis PInvoke i SetLocaleInfo API funkciju. Javi ako ti treba primer...
[ roberto555 @ 10.05.2007. 13:19 ] @
pa bilo bi dobro da napišeš primjer ak "imaš u glavi" kad češ stiči, jer imam Api guide 3.7 unutra uopče nema tih funkcija, tako da ću potražit na netu danas, trenutno nemam vremena za to, postoji jedna hitnija stvar...

---znači da promjenim samo format (short konkretno al može bilo šta) datuma, i da se to kad promjenim promjeni ne samo na nivou moje app. več i u control pan. tj. na win.---

hvala,
[ roberto555 @ 11.05.2007. 09:46 ] @
Code:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;

namespace Promjena_formata_datuma
{
    public partial class Form1 : Form
    {
        [DllImport("kernel32.dll")]
        static extern bool SetLocaleInfo(uint Locale, uint LCtype, string lpLCdata);

        const uint LOCALE_SSHORTDATE = 31;
        const uint LOCALE_USER_DEFAULT = 1024;

        public Form1()
        {
            InitializeComponent();            
        }

        private bool PromjeniKratkiFormatDatuma(string Format)
        {
            return SetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SSHORTDATE, Format);
        }

        private void btnPromjeni_Click(object sender, EventArgs e)
        {
            if (cmbFormat.Text.Length == 0)
            {
                MessageBox.Show("Odaberi format!");
                return;
            }
            if (PromjeniKratkiFormatDatuma(cmbFormat.Text) == true)
            {
                MessageBox.Show("Uspješno promjenjeno!");
            }
            else
            {
                MessageBox.Show("nije promjenjeno");
            }
        }

    }
}


ej, ovo mijenja format kratkog datuma a to mi je i zapravo jedino trebalo, e daj mi sad usput objasni gdje da uzmem int vrijednosti za recimo dugi datum, vrijeme ... nije bitno kao što je tu 31 za LOCALE_SSHORTDATE, i ovaj 1024 za LOCALE_USER_DEFAULT u msdn su samo nazivi, jel se to može konvertirati kako ili,.,!?!? eto to me zanima i kod getlocaleinfo onaj cchdata!?

zašto bi mi trebao pinvoke još uz ovo!?!?

hvala!