|
|
||||||
|
#1
|
|
|
|
|
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
|
|
|
|
|
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
|
|
|
|
|
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
|
|
|
|
|
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
|
|
|
|
|
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
|
|
|
|
|
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
|
|
|
|
|
¿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
|
|
|
|
|
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
|
|
|
|
|
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
|
|
|
|
|
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
|
|
|
|
|
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.
|
|
|