Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #3  
Antiguo 21-08-2015
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
NO modifiques la configuracion regional del sistema operativo en ningun programa que hagas
Esa configuracion global esta asi porque el usuario lo seteo de esa forma por algun motivo x (llamese x un programa o servicio que si no tiene esa configuracion no funciona bien, o porque cuando usa el excel le gusta que el separador de decimales sea '.' y no '.' entre otras muchisimas cosas)

Los programas bien diseñados no dependen de la configuracion regional del sistema operativo para funcionar bien.
Los programas bien diseñados formatean la informacion al formato mas adecuado/necesario

Hay muchas formas de lograr el formato numerico o de fechas mas adecuado para tu programa

El mas sencillo es usando las variables globales de tu programa. Con esto te evitas andar lidiando con FormatSettings (si bien es posible crear funciones propias que inicializan el registro FormatSettings/pasan los argumentos correctos a las DateToStr, IntToStr, CurrToStr)

Yo suelo hacerlo con en el .dpr del proyecto:

Código Delphi [-]
program Project1;

uses
  Forms,
  SysUtils,
  Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

begin
  Application.Initialize;
  Application.UpdateFormatSettings := False;
  Application.UpdateMetricSettings := False;
  CurrencyString := '$';
  DecimalSeparator := '.';
  ThousandSeparator := ',';
  ShortDateFormat := 'dd\mm\yy';
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.

Código Delphi [-]
  ShowMessage(CurrToStr(100.33)); // --> imprime 100.33
  ShowMessage(DateToStr(Now));  // --> imprime 21\08\15

Notar que es necesario agegar SysUtils en la secciones uses

Con esto le estas diciendo a Delphi que dentro de tu programa se usara determinada configuracion pero que NO modifique la configuracion regional del equipo

Esa configuracion es solo visible por tu programa,

Última edición por AgustinOrtu fecha: 21-08-2015 a las 21:48:16.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Cambio de resolución entre xp y win7 kambiz Varios 2 16-03-2012 21:03:17
Como Imprimir varia Etiquetas en una hoja afastos Impresión 3 29-06-2010 18:06:49
Currency to float david duarte Varios 2 14-11-2006 16:53:22
Error de Currency Epunamun OOP 2 05-12-2005 23:41:25
Problema con currency erfedecai C++ Builder 0 10-06-2004 11:49:19


La franja horaria es GMT +2. Ahora son las 06:53:45.


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
Copyright 1996-2007 Club Delphi