Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Como puedo cambiar la configuración regional y de idioma desde Builder? (https://www.clubdelphi.com/foros/showthread.php?t=28460)

JuanErasmo 20-12-2005 19:04:32

Como puedo cambiar la configuración regional y de idioma desde Builder?
 
Como puedo cambiar la configuracion regional por código?
Lo necesito cambiar para no tener que desconfigurar el idioma para que mi
Filtro por fechas trabaje bien....
Solamente le cambio la configuración regional a USA por dentro por código, y cuando termine la dejo como estaba....
Alguine sabe como hacerlo???


Gracas!

dec 20-12-2005 19:37:46

Hola,

Tal vez puedas utilizar las variables que expone la unidad "SysUtils" para esos menesteres, esto pensando que "SysUtils" exista en C++ Builder, pero, ¿creo que sí, no? En estos Foros se ha tratado ya alguna vez el tema. Así pueden verse declaradas en la unidad "SysUtils", como digo, sus nombres puede que sean suficiente explicación: en la ayuda habrá más información:

Código Delphi [-]
var
  CurrencyString: string;
  CurrencyFormat: Byte;
  NegCurrFormat: Byte;
  ThousandSeparator: Char;
  DecimalSeparator: Char;
  CurrencyDecimals: Byte;
  DateSeparator: Char;
  ShortDateFormat: string;
  LongDateFormat: string;
  TimeSeparator: Char;
  TimeAMString: string;
  TimePMString: string;
  ShortTimeFormat: string;
  LongTimeFormat: string;
  ShortMonthNames: array[1..12] of string;
  LongMonthNames: array[1..12] of string;
  ShortDayNames: array[1..7] of string;
  LongDayNames: array[1..7] of string;
  SysLocale: TSysLocale;
  TwoDigitYearCenturyWindow: Word = 50;
  ListSeparator: Char;

JuanErasmo 20-12-2005 21:05:12

Hola Dec, muy efectiva tu ayuda, pero lo único que necesito es cambiar la opcion que esta en Panel de Control->Configuracion regional y de idioma->Estandares y formatos. Poder modificarla cuando quiera desde Builder.

Y sí la librería SysUtils la puedo utilizar en Builder no te preocupes y Gracias!!

dec 21-12-2005 00:00:23

Hola,

Cita:

Empezado por JuanErasmo
(...) lo único que necesito es cambiar la opcion que esta en Panel de Control->Configuracion regional y de idioma->Estandares y formatos. Poder modificarla cuando quiera desde Builder.

Bueno. Si el programa no va a dedicarse a eso, precisamente, no me parece buena idea lo que quieres hacer: si consigues cambiar la configuración que dices no estarás afectando a tu programa solamente, sino al resto del sistema.

De ahí el utilizar si es necesario las variables de la unidad "SysUtils". Por ejemplo, si quiero que el separador decimal sea siempre un punto, independientemente de la configuración regional del sistema, puedo utilizar la variable "DecimalSeparator", de forma que no cambie la configuración del sistema, pero, en el programa, el separador decimal sea el que estime oportuno.

JuanErasmo 21-12-2005 00:45:02

Lo que pasa David es que los filtros el tipo Date en interbase solo lee MM/dd/yyyy, por lo que al filtrarlo cambiandole el tipo decimal o cualquier otro parámetro independiente no funciona..... debe tener toda la configuración regional de Ingles( Estados Unidos ) por lo que cambiandolo se soluciona...

Gracias por tu ayuda como siempre!!!!

PD: ya fuí atacado por la actualización del ms de microsoft.....que bandidos no?
cambian el registro y nuestras conexiones a DB quedan inhabilitadas....
Bueno pero en estos mismos foros encontré la respuesta!!!!
Nos vemos..

dec 21-12-2005 04:47:00

Hola,

Copio y pego de la ayuda de Delphi acerca de la variable "ShortDateFormat":


Cita:

Empezado por Ayuda de Delphi
This example uses a label and a button on a form. When the user clicks the button, the current date displays in the caption of the label. Because some of the date variables are assigned new values, the format of the date in the label changes. For example, if the date is 9/15/94, the date displays as 9-15-1994.

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  DateSeparator := '-';
  ShortDateFormat := 'm/d/yyyy';
  Label1.Caption := DateToStr(Date);
end;

No veo porqué, cambiando el formato de la fecha del ejemplo a "MM/dd/yyyy" no funcionaría... no lo he probado y puedo estar equivocado, pero, tal vez podrías probar a ver si te va bien o qué. ;)


La franja horaria es GMT +2. Ahora son las 21:41:10.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi