Accueil > Forum > > > > StrToDate
StrToDate
mardi 5 avril 2005 à 16:38:18 |
StrToDate

sany2000
|
Bonjour, Je souhaite utiliser la fonction StrToDate (const S: string; const FormatSettings: TFormatSettings): TDateTime, pour convertir une chaine de caractere en date. Cela fonctionne correctement lorsque le separateur de Date (FormatSettings.DateSeparator)est différent du caractère vide. Autrement dit cela fonctionne parfaitement avec des string du type '13/12/2005' ou '12/13/2005' avec un DateSeparator egal à : '/', ou avec des string du type '13-12-2005' ou '12-13-2005' avec un DateSeparator égal à '-'. Le probleme arrive lorsque j'ai des dates du style '13122005' ou '12132005'. Dans ce cas de figure, le Separateur de date n'est pas explicite. Donc je ne sais pas quel caractère je dois passer a FormatSettings.DateSeparator. Lorsque je fais : FormatSettings.DateSeparator := chr(0), pour specifier le caractère nul, cela ne fonctionne pas non plus. Quelqu'un a t'il la solution a ce probleme ? D'avance merci ! Sany
|
|
mardi 5 avril 2005 à 19:49:17 |
Re : StrToDate

WhiteHippo
|
Le problème vient de la façon dont Delphi gère le scan de la chaine qu'on lui passe comme date. En mettant : FormatSettings.DateSeparator := chr(0);
Delphi s'attend à trouver une date de la forme : '10'#0'12'#0'2005' // le séparateur étant #0 ou chr(0) si tu préfères.
Il lui faut FORCEMENT un séparateur !!!
Donc, il n'y a me semble t-il pas d'autres solutions, si tu ne veux pas utiliser de separateur, que d'ecrire ta propre routine de gestion de date.
Cordialement.
|
|
mercredi 6 avril 2005 à 02:01:03 |
Re : StrToDate
|
mercredi 6 avril 2005 à 09:40:14 |
Re : StrToDate

sany2000
|
Merci beaucoup pour vos reponses !
Cela confirme donc que dans le cas de figure qui m'interesse, StrToDate ne peut pas etre utilisé en l'Etat... Je vais donc soit creer ma propre fonction de gestion de dates, soit ajouter un separateur lorsqu'il n'en existe pas...
Bonne journée !
|
|
mercredi 6 avril 2005 à 12:43:33 |
Re : StrToDate

Delphiprog
|
Attention Japee, si tu ajoutes des caractères dans ta chaine, alors la deuxième position à examiner n'est plus la quatrième mais la cinquième. Il faut donc que tu remplaces : if i in [2, 4] thenpar if i in [2, 5] then
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient. 
|
|
mercredi 6 avril 2005 à 16:16:30 |
Re : StrToDate

Kenavo
|
On peut utiliser (également dans Delphi 4) la fonction FormatMaskText
s:= FormatMaskText('00/00/0000;0;0','06042005');
Retourne bien '06/04/2005' dans s.
Il y a quand même quelque chose de rigolo :
var
FormatSettings : TFormatSettings;
s : string;
Date : TDateTime;
begin
GetLocaleFormatSettings(0, FormatSettings);
FormatSettings.ShortDateFormat := 'ddmmyyyy';
s := DateToStr(Now, FormatSettings); // Résultat '06042005' (aujourd'hui seulement)
Date := StrToDate(s,FormatSettings); // Erreur '06042005' n'est pas une date correcte !
end;
Là mon Dédé (c'est comme ça que j'apelle mon Delphi), tu déconnes !
Ken@vo
Code, Code, Codec !
P.S. Je savais pas qu'il y avait autant de choix dans les dates.
|
|
mercredi 6 avril 2005 à 17:16:50 |
Re : StrToDate

japee
|
Que nenni, que nenni, Delphiprog
Mon code peut bluffer à la première lecture.
Mais je ne suis pas tombé dans le piège infâme qui m'était tendu... 
En fait, je rajoute le caractère séparateur dans Result, et non dans le
String passé en paramètre, qui lui-même n'est pas modifié.
J'aurais par contre pu ajouter une protection plus pointue de la
validité du String, mais je suis parti du principe... que j'avais pas
envie, et que ça avait sans doute été fait ailleurs !
Bonne prog'
|
|
mercredi 6 avril 2005 à 21:19:55 |
Re : StrToDate

Delphiprog
|
Arf, il a raison le bougre  Sans doute que je n'avais pas envie de réfléchir trop longtemps et, du coup, c'est moi qui suis tombé dans le panneau. Bien vu Japee. Précision : FormatMaskText est déclarée dans MaskUtils. Je ne connaissais pas cette fonction. Merci Kenavo.
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient. 
|
|
Cette discussion est classée dans : date, string, dateseparator, formatsettings, strtodate
Répondre à ce message
Sujets en rapport avec ce message
Fichier typé (RECORD) [ par selma-elec ]
UN fichier à été créer sur disque avec borland pascal 7.0 avec des enregistrement de ce type :Type Tata = Record Chemin : integer
fonction opposée a FormatDateTime [ par Sat83 ]
Bonjour, Je suis a la recherche d'une fonction qui fait l'inverse de la fonction FormatDateTime.Je m'explique: plutot que d'avoir en entrée un TDateTi
comment modifier le 0 en 1536 dans un cookie [ par Kurtounet ]
Bonjour Amis développeur. Voilà mon problème. J' ai intégré à mon application un bout de code, qui sert à créer un cookiedans le répert
prob de conversion de date [ par patof ]
je voudrai mettre a jour l heure du pc avec l heure du serveur intranet, mais ce que je récupère est une string de la forme : "Monday, April 14, 2003
Pourquoi ca marche pas? [ par magicvinni ]
Et une deuxième question : pourquoi cette routine ne marche pas? (je voudrais convertir un string en date et si ca plante renvoyer la date d'aujourd'h
PB Requete SQL :( [ par funemul ]
Voila le probleme :J'utilise un Tquery et ma requete est la suivante :SELECT * FROM annee_2003 WHERE DATE_DU = 01-12-2003Et la requete ne me selection
URGENT!HELP gros pb de positionnement dbase [ par kristof708 ]
salut a tousen fait g du mal m'expliquer (autant pour moi)voila je crée dynamiquement une base de donnée..... with FieldDefs dobegin Add('DATE',f
Pointer une table pour enregistrement (scuse delphiprog) [ par kristof708 ]
> salut a tousScuse moi delphiprog pour "URGENT ETC...."je debute ds les forums (merci a toi)> en fait g du mal m'expliquer (autant pour moi)> voila j
Date ... [ par MAsterC ]
Comment fait-on pour vérifier si la date a changer...exemple :j'ai un label avec comme caption : 30Exécution ...Si nous reculon la date de "1" de wind
Renvoi d'1 SELECT ds Variable [ par TheShAmAn ]
Voici ma fonction qui doit récupérer le résultat de la requête :function Tfrmba.Select(CorpsReq: string):string; var selection : string; begin
Livres en rapport
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
RE : SAVEDIALOGRE : SAVEDIALOG par zeydounnounou
Cliquez pour lire la suite par zeydounnounou RE : SAVEDIALOGRE : SAVEDIALOG par JulioDelphi
Cliquez pour lire la suite par JulioDelphi SAVEDIALOGSAVEDIALOG par zeydounnounou
Cliquez pour lire la suite par zeydounnounou
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|