Soustraire Valeur TListView [Résolu]

Signaler
Messages postés
76
Date d'inscription
mardi 18 décembre 2007
Statut
Membre
Dernière intervention
11 mars 2014
-
Messages postés
76
Date d'inscription
mardi 18 décembre 2007
Statut
Membre
Dernière intervention
11 mars 2014
-
Bonsoir,

J'ai un TListview dans lequel il y a des Données qui représentent des temps(Time).
Je veux y soustraire des minutes et comparer l'heure avec l'heure système.
Voici mon code:

for i := 0 to 5 do

if (listview2.Items.Item[i].SubItems[0] - InttoStr(StrtoInt(ComboBox1.Text) div (1440)) ) = TimeToStr(Time) then begin
...
...



ça marche pas parc que :" listview2.Items.Item[i].SubItems[0]" est un string et on peut pas!
-"listview2.Items.Item[i].SubItems[0]" : je récupère la valeur.
- "ComboBox1.Text" : représente la valeur à soustraire.

Merci pour votre éventuelle aide.

NABIL1974

7 réponses

Messages postés
675
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
19 février 2019
12
Salut
Juste comme cela rapidos : essaie avec strtodate(listview2.Items.Item[i].SubItems[0] - strtodate( .....)
Messages postés
257
Date d'inscription
lundi 27 octobre 2003
Statut
Membre
Dernière intervention
20 août 2020
8
Salut,
ne connaissant pas les valeur exacte de chaque string pas facile, mais le code devrait plus ressembler à ca car string-integer effectivement ca marche pas
if TimeToStr(StrToInt(listview2.Items.Item[i].SubItems[0]) - (StrtoInt(ComboBox1.Text) div (1440))) = TimeToStr(Time) then begin

@+
Messages postés
76
Date d'inscription
mardi 18 décembre 2007
Statut
Membre
Dernière intervention
11 mars 2014

Bonjour,
Merci pour vos réponses.
je sais que c'est un problème de conversion mais...
@ dubois77: ça marche pas.

@ cs_yanb:
- les valeurs du ListView sont changeantes : des valeurs temps:
ex: 05:15:55 ou 15:02:47 ou ...
quand je lance l'application, ça compile sans soucis, mais j'ai un msg d'erreur : "06:10:20" n'est pas une valeur correcte.
donc c'est la conversion.

@+

NABIL1974
Messages postés
675
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
19 février 2019
12
Peux tu donner le contenu exact de
- listview2.Items.Item[i].SubItems[0]
- ComboBox1.Text
çà permettrait de faire quelques essais
Messages postés
257
Date d'inscription
lundi 27 octobre 2003
Statut
Membre
Dernière intervention
20 août 2020
8
Salut,
comme le dit dubois77 il faudrait le contenu car on ne peut pas donner un code qui fonctionne à coup sur...
Par déduction je suppose que Combobox1.Text est le nombre de jour et que tu le divises pour en avoir les minutes par jour...
if TimeToStr(StrToTime(listview2.Items.Item[i].SubItems[0])-(StrToInt(ComboBox1.Text) / 1440)) = TimeToStr(Time) then
Mais il va peut-être falloir aller plus loin avec du DecodeTime, DecodeDate, IncMinute, DateUtils etc...c'est pour cela que nous donner le contenu à toute son importance ! Car je pense que le code actuel ne correspond pas à ce que tu souhaites faire et au résultat que tu veux obtenir...
@+
Messages postés
76
Date d'inscription
mardi 18 décembre 2007
Statut
Membre
Dernière intervention
11 mars 2014

Bonjour ,

Les gars, listview2 n'a pas de contenu exact.
il y a 6 lignes et chaque ligne a une valeur temps: heure , minutes ,secondes.
Son contenu change chaque jour.
Pour la Combobox1, elle contient les minutes que je soustraire.L'utilisateur peut les saisir.
Par exemple: 5. donc on soustrait 5 minutes d'une ligne de la"listview2.

@+
Messages postés
76
Date d'inscription
mardi 18 décembre 2007
Statut
Membre
Dernière intervention
11 mars 2014

Rebonjour,

Ecouter les gars, je viens juste de rentrer chez-moi et j'ai testé le code cs_yanb, il marche!!
Merci à tout les deux d'être penché sur mon soucis.
A la prochaine peut-être.

Encore Merci!