IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Delphi Discussion :

Comment résoudre : 'Aucun argument pour le format 'Chaîne date incorrecte : %s %s


Sujet :

Langage Delphi

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2013
    Messages : 9
    Points : 3
    Points
    3
    Par défaut Comment résoudre : 'Aucun argument pour le format 'Chaîne date incorrecte : %s %s
    Bonjour,
    j'ai cette procedure qui affiche la date et l'heure au lancement de l'app.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    procedure TMainForm.FormCreate(Sender: TObject);
    var
      Present: TDateTime;
      x: string;
    begin
      Present:= Now;
      x := FormatDateTime('mmmm d, yyyy " - " hh:mm AM/PM " UTC-Disclaimer"', Present);
      SubTitle.Text := x;
      //--------------------------------------------------------------------------------------------------------------------
    end;
    mais dans l'execution avec debug, j'obtiencette erreur
    Nom : Screenshot 2022-07-07 091628.png
Affichages : 169
Taille : 11,8 Ko

    Quelques conseils? merci!

  2. #2
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 728
    Points : 5 382
    Points
    5 382
    Par défaut
    Ceci fonctionne parfaitement :
    Code Delphi : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Present := Now;
    x := FormatDateTime('mmmm d, yyyy " - " hh:mm AM/PM " UTC-Disclaimer"', Present);

    Donc ton problème doit se situer sur SubTitle.Text := x;.
    Je soupçonne la présence d'un masque de saisie sur ce composant.

  3. #3
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 563
    Points : 25 165
    Points
    25 165
    Par défaut
    C'est une erreur de traduction de SInvalidDateString, je l'avais mentionné déjà ici


    Il faut corriger
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ...\source\rtl\common\fr\System.RTLConsts.pas(549):   SInvalidDateString = 'Chaîne date incorrecte : %s %s';
    en

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ...\source\rtl\common\fr\System.RTLConsts.pas(549):   SInvalidDateString = 'Chaîne date incorrecte : %s';

    Ensuite, cela devrait produire une nouvelle Exception qui sera plus en raccord avec le sujet
    SubTitle est un TEdit ou autre chose ?
    Car normalement l'erreur SInvalidDateString c'est lors d'un String To Date et pas l'inverse (et encore on le trouve que pour des versions ISO8601 de la conversion)


    Sinon, on peut faire un code plus compact

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    procedure TMainForm.FormCreate(Sender: TObject);
    begin
      SubTitle.Text := FormatDateTime('mmmm d, yyyy " - " hh:mm AM/PM " UTC-Disclaimer"', Now());
    end;

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2013
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Merci pour vos réponses et désolé pour le délai,
    En fait le SubTitle est un TLabel. Et ayant lu les résolutions évoquées dans le lien que t'as posté, j'ai d'abords essayé de retirer les lignes de procédure une à une et j'ai remarqué que l'erreur se produisait lorsque je procède avec un livebinding avec RESTDebugger sur une TListView. Une fois retiré, il ne se produit plus d'erreur de chaine de date. J'ai comme l'impression que c'est un conflit avec le Time/Timestamp de l'API
    Etapes:
    1- API: https://api.apilayer.com/exchangerates_data/symbols
    2- Avec RESTDebugger copier les composantes dans le TForm

  5. #5
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 097
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 097
    Points : 41 081
    Points
    41 081
    Billets dans le blog
    62
    Par défaut
    Donc, le problème, c'est que vous tentez de modifier SubTitle.Text dans le oncreate alors qu'il est déjà fourni avant par les Livebindings. Mauvaise idée.

    https://apilayer.com/marketplace/exc...umentation-tab
    selon cette doc la date est sous le format yyyy-mm-dd,
    exemple :
    Code JSON : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    {
      "date": "2018-02-22",
      "historical": "",
      "info": {
        "rate": 148.972231,
        "timestamp": 1519328414
      },
      "query": {
        "amount": 25,
        "from": "GBP",
        "to": "JPY"
      },
      "result": 3724.305775,
      "success": true
    }

    donc : La date n'est peut-être pas au format par défaut de votre poste

    Question : qu'est-ce que vous aviez écrit comme liaison ?

  6. #6
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2013
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    ...

    Question : qu'est-ce que vous aviez écrit comme liaison ?
    Sinon, juste après la modification du SubTitle j'entame un ExecuteAsync: je souhaitais dans ce cas faire pivoter les données de la table obtenue du "Json Object" en "Json Array"
    Nom : Screenshot 2022-07-11 065343.png
Affichages : 126
Taille : 51,6 Ko Nom : Screenshot 2022-07-11 065256.png
Affichages : 109
Taille : 50,8 Ko
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    procedure TForm.FormCreate(Sender: TObject);
    var
      Present: TDateTime;
      x: string;
    begin
      Present:= Now;
      x := FormatDateTime('mmmm d, yyyy " - " hh:mm AM/PM " UTC-Disclaimer"', Present);
      SubTitle.Text := x;
      //--------------------------------------------------------------------------------------------------------------------
      RESTReq.ExecuteAsync(procedure begin
        sFDMemTable.EmptyDataSet;
        for var I := 0 to FDMemTable.Fields.Count-1 do
        begin
          sFDMemTable.AppendRecord([FDMemTable.Fields.Fields[I].FieldName, FDMemTable.Fields.Fields[I].Value])
          FDMemTable.Close;
        end;
      end);
    end;

  7. #7
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 097
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 097
    Points : 41 081
    Points
    41 081
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    Vous ne m'avez pas répondu et quel est le rapport entre votre dernière réponse et une date ? AUCUN !

    Qu'est-ce que vous vous embêtez à recharger une table qui peut être remplie directement par un RESTResponseDatasetAdapter !
    Image2 cliquez sur [Appliquer] puis le [Copier composants] ajoutera, en plus des RESTIdentifier,RESTClient,RESTRequest et RESTResponse, le RESTResponseDatasetAdapter et un FDMemtable

  8. #8
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 563
    Points : 25 165
    Points
    25 165
    Par défaut
    On passe d'une pauvre erreur à un PIVOT
    Et en plus on n'a pas le code du PIVOT mais un autre semble sans rapport.

Discussions similaires

  1. [Vxi3] Webi - Format de date incorrecte lors de la planification
    Par Eric Patrat dans le forum Webi
    Réponses: 0
    Dernier message: 10/12/2014, 13h53
  2. Format de date incorrect
    Par alexxxx69 dans le forum Développement
    Réponses: 5
    Dernier message: 08/11/2012, 13h24
  3. tOracleInput_1 et format de date incorrecte
    Par flash22 dans le forum Développement de jobs
    Réponses: 5
    Dernier message: 22/04/2011, 16h03
  4. Réponses: 3
    Dernier message: 12/02/2011, 19h51
  5. Version Francaise de MSDE pour le format de date
    Par Drahu dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 25/11/2004, 18h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo