hilpers


  hilpers > microsoft.* > microsoft.csharp

 #1  
29-01-2008, 15:11
Imac_man
Saludos amigos,

estoy comenzando en la programacion c# y me encuentro con que no existe la
funcion isdate, el caso es que he encontrado algunos codigos en internet que
parecen funcionar, la mayoria emplea Parse o TryParse y esto parece
funcionar hasta que lo pruebo con valores como 1.3 o 1.5, los cuales toma
como fechas validas.....alguno de ustedes puede ayudarme a crear una funcion
isdate que realmente funcione.

Gracias de antemano
 #2  
29-01-2008, 16:39
Jesús López
No hace falta que crees una función IsDate en C#. En C# Puedes seguir
utilizando la función IsDate de Visual Basic.

Añades una referencia al ensamblado Microsoft.VisualBasic y ya puedes usar
la función:

using Microsoft.VisualBasic;

......

if ( Informatio.IsDate( "lo que sea") )
{
.....
}


"Imac_man" <usuarioespecifico> escribió en el mensaje
news:5816
[..]
 #3  
29-01-2008, 20:02
Octavio Hernandez
Hola,

Es que no miraste ParseExact y TryParseExact, que ofrecen enormes
facilidades para eso...
Te envío dos implementaciones de IsDate(), una que te dice si es una fecha o
no lo es, y
otra que además te da la fecha convertida a DateTime.

Slds - Octavio

// using System.Globalization
public static bool IsDate(string cadena)
{
DateTime tmp;
return IsDate(cadena, out tmp);
}
public static bool IsDate(string cadena, out DateTime res)
{
string[] formatos = new string[] {
"d/M/yy", "d/M/yyyy",
"d/MM/yy", "d/MM/yyyy",
"dd/M/yy", "dd/M/yyyy",
"dd/MM/yy", "dd/MM/yyyy"
};
CultureInfo cultura = new CultureInfo("es-ES");
return DateTime.TryParseExact(
cadena, formatos, cultura, DateTimeStyles.None, out res);
}

"Imac_man" <usuarioespecifico> wrote in message
news:5816
[..]
 #4  
29-01-2008, 20:04
Octavio Hernandez
Hola, Jesús!

Tengo entendido que hasta los propios de Visual Basic están intentando
"quitarse de encima"
Microsoft.VisualBasic.dll, mejor sería no usar este truco...

Salu2 - Octavio


"Jesús López" <sqranger.mvp.removethis> wrote in message
news:4160
[..]
 #5  
29-01-2008, 20:10
Pedro Luna Montalvo
Saludos,

> Tengo entendido que hasta los propios de Visual Basic están intentando
> "quitarse de encima"
> Microsoft.VisualBasic.dll, mejor sería no usar este truco...


Adicional, no sería de sorprenderse que el método IsDate en esta librería se
comporte igual que el TryParse porque....finalmente lo usa!!

saludos,
Pedro Luna
 #6  
30-01-2008, 19:55
Guillermo 'guille'
Mira esto, lo mismo te vale:
http://www.elguille.info/NET/dotnet/...nciavbcs5.aspx

Harvey Triana posteó una mejora para mi función IsDate:
http://groups.google.es/group/micros... 232a9b16bd2b4
 #7  
31-01-2008, 09:47
Jesús López
¿Puede saberse qué tiene de malo la función IsDate de Visual Basic?

Imac_man está pidiendo una función con la misma semántica que la función
IsDate de Visual Basic. ¿Qué mejor que la propia función?

Microsoft.VisualBasic.dll es un ensamblado parte de la .NET Framewok
instalado en el GAC, así que puede usarse cuando uno quiera y para lo que
uno quiera.

Saludos:

Jesús López
www.solidq.com



"Octavio Hernandez" <octavio.hdez.NOSPAM> escribió en el mensaje
news:5416
[..]
 #8  
01-02-2008, 02:28
Octavio Hernandez
Hola, Jesús!

Yo a lo que me refería concretamente era a esto:

http://www.panopticoncentral.net/arc.../31/20766.aspx

Aquí el "padre" de VB.NET, Paul Vick, apunta a la posibilidad de que el
runtime de VB no esté soportado en Silverlight u otras futuras plataformas,
razón por la cual en VS2008 se ha añadido al compilador una opción para
garantizar la independencia de Microsoft.VisualBasic.dll.

Por lo demás, tienes razón: es un ensamblado como otro cualquiera.

Saludos - Octavio



"Jesús López" <sqranger.mvp.removethis> wrote in message
news:a984
[..]
 #9  
01-02-2008, 13:45
Pedro Luna Montalvo
Adicional, yo opino que esta medida es sana. Me refiero a que la tendencia
sea que la inclusión de esta referencia sea opcional, como primer paso para
una eliminación posterior de la misma.

En realidad, me parece lógico, dado que esta librería no implementa casi
nada nuevo, solo sirve de "puente" para las antigüas funciones de VB6 y
anteriores, proveyendo de métodos similares, pero que internamente lo que
hacen es invocar a los métodos apropiados del propio Framework.

En otras palabras, su objetivo primario ha sido minimizar el impacto de
migración de aplicaciones VB6 hacia VB.NET, y a estas alturas creo que el
ciclo de maduración de este lenguaje ya ha pasado por mucho tiempo.

Esto es una opinión muy personal...y por cierto, yo he desarrollado
aplicaciones con VB6 durante unos 7 años antes de adoptar .NET como nueva
plataforma de desarrollo.

saludos,
Pedro Luna

"Octavio Hernandez" <octavio.hdez.NOSPAM> escribió en el mensaje
de noticias:O0baEpHZIHA.484...
[..]
 #10  
08-02-2008, 22:38
Imac_man
Les agradezco a todos sus consejos y el tiempo que se han tomado en
ayudarme, la verdad no queria utilizar la dll porque igual se que es la
implementacion de metodos y funciones de vb6, y comparto la idea de que el
lenguaje ha madurado pero no estoy deacuerdo en que todos criticaron la
aportacion del compañero pero nadie aporto una solucion que puediese ser
tomada en lugar de la DLL.

Saludos

"Pedro Luna Montalvo" <petermoon> escribió en el mensaje
news:f72b
[..]
 #11  
10-02-2008, 16:58
News Microsoft
Ahi te va una solucion

public bool IsDate(string fecha) {

DateTime aux;

return DateTime.TryParse( fecha, out aux );

}



Y un ejemplo de su uso:

MessageBox.Show(IsDate("22-12-2005").ToString());



Se puede usar ademas el IFormeteer del tryparse para especificar el formato
del string si quieres.

Con esto te quitas de historias de visualbasic y ademas se llama igual, si
alguna vez quieres usar el isdate de visual basic, borras tu funcion y pones
su correspondiente using

Saludos Cordiales,


"Imac_man" <usuarioespecifico> escribió en el mensaje
news:4696
[..]
Temas Similares
Tema Autor
function o sub

hola cuando quiero crear una macro en excel 2000, veo que he de poner function y no sub comoen los ejemplos que eencuentro ya que de lo contrario me da error. Pongo un poco...

Carmelo J. Morales Muñoz
Isnumeric e Isdate

Disculpen si esta pregunta es muy elemental. Pero no se como utilizar en un Case de un procedimiento almacenado las funciones Isnumeric() Isdata() Me sale error si tengo case...

Aventurero
IsNumeric, IsDate....

Existen en c# funciones que me indiquen si una cadena es una fecha, un número, un dígito... vamos, las equivalentes a InNumeric, IsDate, IsDigit... de visual...

KIKO
FUNCION ISDATE PARA C#?

Hola. Soy un programador que esta migrando de VB a C#. Alguien sabe si hay alguna funcion en C# que sustituya la funcion IsDate que valida el formato de las fechas en...

Raul M. Colon
¿Existe alguna función similar a IsDate de VBasic?

Se trata de verificar si una fecha introducida en un TextBox es correcta. Con VBasic usaba IsDate, pero con C# no tengo ni idea. Conoceis alguna página de ayuda para los que...

Jose Campos

Privacy Policy | La franja horaria es GMT. Ahora son las 11:51.

Merging Information Logo
[Deutschland] [France] [Italia] [Nederland] [Polska] [Tech] [United Kingdom]