| |
Membre enregistré 14 messages |
|
Posté le 17 novembre 2023 - 19:29 |
Bonjour,
Ça paraît tout bête mais je sèche sur une erreur : "un élément de type chaîne ne peut pas être convertis vers une durée"
Mais dans mon code je n'ai défini AUCUNE chaîne
//Variable globale HeureRef est une heure = SAI_Heure Durée est une durée = ParkingConnu.DureeStationnement //rubrique HFSQL Classic de type "Durée"
//Code au Clic du bouton BTN_Calculer HeureDeDepart est une heure = HeureRef + Durée
Voilà, je n'ai que ça à vous mettre sous la dent, rien de compliqué mais cette heure qui vient de 'je ne sais où" me bloque...! |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 284 messages |
|
Posté le 20 novembre 2023 - 09:07 |
Bonjour,
Commençons par le commencement : Est-ce que l'affectation de SAI_Heure dans HeureRef se passe bien ? Y a-t-il un masque de saisie dans SAI_Heure ?
Sinon sur le papier c'est censé fonctionner puisque d'après la doc la partie date de la durée est ignorée dans une telle addition. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 14 messages |
|
Posté le 20 novembre 2023 - 23:30 |
Bonjour Pucpood, et merci,
l'affectation de la valeur a SAI_Heure se fait à son initialisation avec la ligbne de code : MoiMeme = HeureSys() cette valeur est ensuite affecté a la variable HeureRef, donc oui l'affectation de l'heure courante à la variable HeureRef est je pense correct.
Après un rapide controle de chaque valeur : Au clic sur BTN_Calculer
HeureRef = 231900000 ParkingConnu.DureeStationnement = 0200 HeureDeDepart = 231945807 //initialisé à HeureSys()
Masque de Saisie de SAI_Heure = "Rouleau Heure" Masque d'affichage de SAI_Heure = "meme que la saisie" valeur retournée = HHMM //pareil pour les autres valeurs
je suis completement paumé... merci en tout cas de votre aide... |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 14 messages |
|
Posté le 20 novembre 2023 - 23:46 |
après quelques modif, j'obtiens maintenant l'erreur "Un element de type chaine ne peut etre converti vers le type durée" Au code de Selection d'une ligne de Combo_ParkingConnu qui contient :
HLitRecherche(ParkingConnu,Lieu,MoiMême..ValeurAffichée) DureeChoisie = ParkingConnu.DuréeStationnement LIB_duree = ParkingConnu.Durée |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 312 messages |
|
Posté le 21 novembre 2023 - 09:36 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 14 messages |
|
Posté le 26 novembre 2023 - 02:45 |
par desespoir, j'ai tout recommencé... J'ai supprimer les type durée et remplacer par des type heure, je n'ai plus l'erreur "durée vers chaine" mais le calcul ne se fait pas correctement... (Et pour te répondre cédric, oui j'avais aussi tenté avec la fonction ChaineVersDurée sans succès...)
ParkingConnu.Durée = 0200 //Type : Heure HeureArrivée est une Heure // = Exemple : 023544000 //HHMMSSCCC DuréeChoisie est une Heure // = Exemple : 020000000 //HHMMSSCCC HeureDépart est une Heure // = Résultat Obtenu : 023544000 //HHMMSSCCC
Mon code au Clic sur BTN_Calculer :
HeureArrivée = HeureSys() DureeChoisie = ParkingConnu.Durée HeureDepart = HeureArrivee+DureeChoisie
LIB_Heure = HeureDepart
Ma question :
Pourquoi mon HeureDepart n'est pas le resultat de l'opération : HeureArrivee + DureeChoisie (et est identique à HeureArrivée) ? |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 273 messages Popularité : +24 (28 votes) |
|
Posté le 26 novembre 2023 - 09:09 |
Bonjour à Tous  Je me pose une question qu'il-il prévu lors d'un dépassement que capacité ? 23H50 + 20 minutes ? Bien Cordialement
//--------------------
MonHeureArrivee is Time MonHeureDepart is Time MaDuree is Duration
MonHeureArrivee = "2230"
MaDuree..Hour = 1; MaDuree..Minute = 25
MonHeureDepart = MonHeureArrivee
MonHeureDepart..Hour += MaDuree..Hour MonHeureDepart..Minute += MaDuree..Minute
Trace(MonHeureArrivee +TAB+ MaDuree +TAB+ MonHeureDepart) |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 927 messages Popularité : +16 (20 votes) |
|
Posté le 27 novembre 2023 - 10:45 |
Je passerai par une requete HFSQL 1 - transformer la durée en minutes 2 - SELECT dateadd(mi,maDureeEnMinutes,getdate())
-- Pascal Boulesteix Applications Visiolittoral et WNat |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 284 messages |
|
Posté le 30 novembre 2023 - 09:16 |
Ludovic BLANC a écrit :
par desespoir, j'ai tout recommencé... J'ai supprimer les type durée et remplacer par des type heure, je n'ai plus l'erreur "durée vers chaine" mais le calcul ne se fait pas correctement... (Et pour te répondre cédric, oui j'avais aussi tenté avec la fonction ChaineVersDurée sans succès...)
ParkingConnu.Durée = 0200 //Type : Heure HeureArrivée est une Heure // = Exemple : 023544000 //HHMMSSCCC DuréeChoisie est une Heure // = Exemple : 020000000 //HHMMSSCCC HeureDépart est une Heure // = Résultat Obtenu : 023544000 //HHMMSSCCC
Mon code au Clic sur BTN_Calculer :
HeureArrivée = HeureSys() DureeChoisie = ParkingConnu.Durée HeureDepart = HeureArrivee+DureeChoisie
LIB_Heure = HeureDepart
Ma question :
Pourquoi mon HeureDepart n'est pas le resultat de l'opération : HeureArrivee + DureeChoisie (et est identique à HeureArrivée) ?
Je me demande si tu ne te mélanges pas les pinceaux entre les heures et les durées. Toute information de durée doit se trouver dans une variable ou une rubrique de type durée. Tout horodatage doit se trouver dans une variable ou une rubrique de type Heure ou DateHeure. Il est impératif que "DuréeChoisie" soit de type "Durée". As-tu regardé cette page ? https://doc.pcsoft.fr/fr-FR/?1514040
La question de Gemini1961 est intéressante, mais il faut déjà qu'un cas simple fonctionne.Message modifié, 30 novembre 2023 - 09:18 |
| |
| |
| | | |
|
| | |