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 :

utilisation du modulo


Sujet :

Langage Delphi

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 5
    Points : 2
    Points
    2
    Par défaut utilisation du modulo
    voila alor je fais mon projet et un moment donner je doi convertir des heures en secondes j'utilize pour cela le modulo mai il ne le reconait pas automatiquement comment faire pour quil le reconaise ses sur le delphi 2005 personal edition (je déteste programer mes pour passer il faut bien que je réusise cette matiére pffff lol )

  2. #2
    Membre expert
    Avatar de aityahia
    Homme Profil pro
    CIEPTAL CARS SPA
    Inscrit en
    Mars 2006
    Messages
    1 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Algérie

    Informations professionnelles :
    Activité : CIEPTAL CARS SPA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 938
    Points : 3 329
    Points
    3 329
    Par défaut
    utilise plutot la fonction SecondOfTheHour de l'unité DateUtils

    exp :
    Var NbrSeconde : Integer;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    NbrSeconde :=SecondOfTheHour (Time);
    se code renvoie le nombre de seconde de heure en cours

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Oui mes je me suis p-e mal exprimer (méme surment) ... un utilisateur introdui une heure dans des Edits et en suite ses heure sont transformer en secondes pour faire un calcul en suite une fois le calcule terminer je reprend le chiffre et je le converti en heure

    En faite ses Heure darriver => introduire ... Heure de depart => introduire ..
    calculer le temps de la prestation ... et pour reconvertir on a vu en cour le MOD mes bon il ne le me prend pas

    (pour info rien de tro compliquer je ne suis que en premiére et je n'ai que 2h d'info par sem )

  4. #4
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Bonjour,

    Comment sont éxprimées les heures en entrée (départ et arrivée)?
    Sous forme hh:mm:ss (exemple : 12:36:00) ou (12,66666).

    Faut-il le même format pour le temps de trajet ?
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  5. #5
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 865
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 865
    Points : 11 333
    Points
    11 333
    Billets dans le blog
    6
    Par défaut
    peut être faut-il déclarer Math dans les uses ?
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  6. #6
    Membre expert
    Avatar de aityahia
    Homme Profil pro
    CIEPTAL CARS SPA
    Inscrit en
    Mars 2006
    Messages
    1 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Algérie

    Informations professionnelles :
    Activité : CIEPTAL CARS SPA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 938
    Points : 3 329
    Points
    3 329
    Par défaut
    si je comprend bien tu voudra calculer le temps ecrouler entre deux valeur heur si c le cas je te propose
    d'utilser des TdateTimepicker au lieu des edit pour éviter le formatage et d'utiliser la fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    uses dateUtils;
    Var  
     H,M,S:Word;
    begin
    H:=MinutesBetween(DateTimePicker1.Time,DateTimePicker2.Time) Div 60;
    M:=MinutesBetween(DateTimePicker1.Time,DateTimePicker2.Time) Mod 60;
    S:=0;
    Edit1.tex := TimeToStr(EncodeTime(H,M,S));
    end;

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 5
    Points : 2
    Points
    2
    Par défaut rep
    en faite pour le modulo il faut changer la variable , la faire passer de "STRING " en "INTEGER" pour sela nous utilision en classe une ligne de commande mes pour passer des "REAL" à des STRING" on utilisai
    ex :
    Tempsensec:=strtostring(...) ;

    mes je ne sai pas les racouris pour les "INTEGER"
    car e tape

    INTtostring et il ne veu pas me lacepter :( terible machine qui ne répond pas a mes souhait lol

    ha joubliai depui le debu merci a tous seux qui prenne le temp de rep à mes message

  8. #8
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 865
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 865
    Points : 11 333
    Points
    11 333
    Billets dans le blog
    6
    Par défaut
    IntToStr prend un entier et fournit la chaîne correspondante

    l'inverse est donc ... ??? StrToInt !!!! (l'investissement neuronal était minime, même si on déteste programmer, lol)
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 5
    Points : 2
    Points
    2
    Par défaut tjs le méme pfff
    oui sauf que mes premiére variable sont des "REEL" et pour passer de "REEL" a "INTEGER" il faut la changer en "FLOAT" alor je mes cette ligne
    => tempint:=floattostr(strtoint(TempPrestsec ));
    mes il me di opérateur non applicable a se type dopérende

    les neurone en repréne un coup pffff... commen j'vé faire le jour de mon exam ... lol

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 209
    Points : 188
    Points
    188
    Par défaut
    Si je comprens bien, tu veux transformer un reel en integer ?

    Alors pourquoi dans ton exemple convertis-tu une string en entier (StrToInt) pour ensuite convertir cette valeur (que tu semble assimiler à un reel) en chaine ? En gros, dans ton exemple, tu converti une chaine en nombre, pour ensuite reconvertir ce nombre en chaine... C'est que j'ai pas compris ou il y a quelque chose qui cloche ?

    As-tu fait une recherche avec 'Transtypage' ?

    d'autres part, te serait-il possible d'adopter un style d'écriture moins SMS et de faire attention avec l'orthographe ? Je ne dis pas ça pour être ronchon, mais c'est relativement dur à lire. Et quand un truc est dur à lire, il arrive qu'on ne le lise pas... (j'ai vu des profs mettre de très mauvaises notes pour ce genre de choses ...)

  11. #11
    Membre expert
    Avatar de aityahia
    Homme Profil pro
    CIEPTAL CARS SPA
    Inscrit en
    Mars 2006
    Messages
    1 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Algérie

    Informations professionnelles :
    Activité : CIEPTAL CARS SPA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 938
    Points : 3 329
    Points
    3 329
    Par défaut
    tu peut toujour utilser la fonction Trunc pour récupérer la partie entière du réel

  12. #12
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 5
    Points : 2
    Points
    2
    Par défaut fin
    Alor voila j'ai demander a un bo frére il ma éxpliquer j'ai donc créer un prog ses pas top mes sa fonctione ik y a surement une ligne pour remplacer tous sa mes bon sa fonctione ainsi voila pour ceux que cela intéresse

    tempstr:=floattostr(TempPrestsec) ;
    tempint:=strtoint(tempstr) ;
    ResteH:= tempint Div 3600 ;
    Reste:=tempint MOD 3600 ;
    ResteMin:=Reste DIV 60 ;
    Restesec:=Reste MOD 60 ;
    TempPrestation:=(inttostr(ResteH) +'H:'+inttostr(ResteMin)+':Min:'+inttostr(ResteSec)) ;

    évidament il faut déclarer TempPrestsec en "REEL" tempstr en "STRING" tempint en "INTEGER" ResteH Reste ResteMin Restesec en "INTEGER" aussi
    Désoler d'avoir embéter mon monde désoler pour les fautes d'hortographe
    et finalement c'etai tous béte ... Mais comment on fait pour dire que le forum a été résolu ??? enfin our moi ces résolu ....lol

  13. #13
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 209
    Points : 188
    Points
    188
    Par défaut
    Pour le résolu, c'est tout bête aussi
    --> il y a un bouton qui apparait dans le coin en bas à gauche de ton post si tu es 'connecté'. Cliques dessus, et ça mettra le tag [Résolu] en entête de ton post

    PS : tu n'embêtes personne, mais si tu veux une réponse rapide et correcte, il faut écrire le plus correctement possible. Si tu veux qu'on fasse l'effort de te lire et de te répondre, je pense que tu peux faire l'effort d'écrire correctement (juste histoire de politesse). D'ailleurs, je suis sûr que beaucoup ne t'on pas donné de réponse car ton post était plutot dur à lire... Tu ne peux être pardonné que si le français n'est pas ta langue maternelle. Juste au cas où, je t'invite à (re)lire les règles du forum

  14. #14
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 865
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 865
    Points : 11 333
    Points
    11 333
    Billets dans le blog
    6
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    var
     TempPrest: Float;
     TempInt, NbHeures, NbMinutes, NbSecondes, ResteSec : integer;
     TempPrestation: string;
    begin
     TempPrest:=5876.5;
     ResteSec:=Trunc(TempPrest) ; // ou utiliser arrondi : fonction Round
     NbHeures:=ResteSec Div 3600 ; 
     ResteSec:=ResteSec Mod 3600 ; // ou Dec(ResteSec,3600*NbHeures);
     NbMinutes:=ResteSec DIV 60 ; 
     NbSecondes:=ResteSec MOD 60 ; 
     TempPrestation:=(inttostr(NbHeures) +'H:'+inttostr(NbMinutes)+':Min:'+inttostr(NbSecondes)) ; 
    end;
    peut-être plus clair ?
    et qui évite le strtoint(floattostr())...
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème utilisation du modulo
    Par toxycyty dans le forum Développement
    Réponses: 4
    Dernier message: 05/01/2011, 15h02
  2. [Tableaux] utiliser modulo correctement
    Par jexl dans le forum Langage
    Réponses: 1
    Dernier message: 13/06/2007, 00h14
  3. Calculer le modulo sans utiliser l'operateur %
    Par candidson dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 07/06/2007, 18h35
  4. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 12h36
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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