begin process at 2010 02 09 23:46:03
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Delphi

 > 

Archives

 > 

Système

 > 

exception sur une lecture de stringgrid


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

exception sur une lecture de stringgrid

vendredi 13 février 2004 à 03:42:00 | exception sur une lecture de stringgrid

Kruger

bonjour,
je suis en train de developper une petite appli qui permet la gestion de caisse et de stock d'un magasin et je me retrouve avec une exception quend j'additionne le contenu de cellules d'une stringgrid, cette exception est:

Le projet xxx.exe a provoquer une classe d'exception EConvertError avec le message '' n'est pas une valeur en virgule flottante correcte. processus stoppé.

en fait por additionner le contenu des cellules, j'ai fais une boucle qui me recupere toutes les valeurs et le soucis est qu'il y a des cellules vides et ce sont ces cellules qui me crée une exceptions puisqu'il ne reconnais pas le contenu d'une cellule vide en tant que réel, comment résoudre mon probleme, si qqn peut m'aider??

le contenu des cellules est du type 10.23
Merci de votre aide.

--==[Kruger]==--
samedi 14 février 2004 à 11:02:06 | Re : exception sur une lecture de stringgrid

MM TOUR

Bonjour,
Pourquoi ne pas lire le contenu des cellules de la stringgrid dans un TRY ... EXEPT et traiter la dite exeption à ta convenance ? (par exemple sauter l'obstacle...)
En lisant ta question je m'en pose une aussi : pourquoi ne préfères - tu pas utiliser les 'CURRENCY' dans ton appli ?
amicalement, MM TOUR.
samedi 14 février 2004 à 14:20:00 | Re : exception sur une lecture de stringgrid

Kruger

excuse moi, j'aurai du le preciser au départ, en fait c'est que je suis débutant en delphi donc je suis pas forcement une lumière, .
Pour ce qui est des try exept et currency, comment les utiliser, pour le moment j'utilise une boucle pour faire le calcul:

Somme :=0;
for i:=1 to 19 do
Somme:= Somme+StrToFloat(StringGrid1.Cells[5,i]);
Remise:= StrToFloat(Edit5.Text);
Edit6.text:= FloatToStr(Somme-Remise);

Si toutes les cellules sont remplie, tous va bien, sinon, je me retrouve avec l'exception que j'ai cité au dessus


Merci de votre aide!

--==[Kruger]==--
samedi 14 février 2004 à 14:23:52 | Re : exception sur une lecture de stringgrid

Kruger

Pardon, ce que je voulais dire pour le CURRENCY, c'est quelle est la difference avec un float ou un double, dans mon cas ça revient au même, non??

--==[Kruger]==--
samedi 14 février 2004 à 15:29:28 | Re : exception sur une lecture de stringgrid

MM TOUR

BIEN, avec ton extrait de code c'est un peu plus facile pour moi...
somme := 0; ensuite essaie
FOR i := 1 TO stringgrid.rowcount - 1 DO

(est tu sur que ta table aura toujours la même longeur? )

TRY
somme := somme + strtocurr(Stringgrid1.cells[5,j];
EXCEPT

et ici gère ton exception à ta convenance (entre begin et
end ..)

remise := strtocurr(Edit5.text);
edit6.text := currtostrf(somme - remise, fffixed, 2);

Autre solution : teste la valeur de ta cellule avant de l'addition..
IF stringgrid.cell[i,j] <> '' then
begin
ici, le code qui est entre try ... except.. et rien à gerer

end;
Note : CURRTOSTRF te permet de formater les valeurs monétaires en ajoutant les zeros absents. (10 devient : 10,00 )

voila qq. pistes..j'allais oublier : en mode execution Delphi ne semble pas voir les TRY.. donc essaie ton programe en
dehors.

Bonne chance!
MM TOUR
samedi 14 février 2004 à 16:10:16 | Re : exception sur une lecture de stringgrid

Kruger

Merci beaucoup de ton aide, entre temps, j'avais essayer ça:
{Calcul du montant à payer}
Somme :=0;
for i:=1 to 19 do
begin
try
Somme:= Somme+StrToFloat(StringGrid1.Cells[5,i]);
except
on EconvertError do
Somme:= Somme+0;
end;
Remise:= StrToFloat(Edit5.Text);
Edit6.text:= FloatToStr(Somme-Remise);
end;
end;

sans sésultat non plus mais c'est parcequ'en mode execution, les exceptions ne sont pas gérée comme tu dis, j'avais pas pensé a essayer mon prog en dehors, merci beaucoup de ton aide MM_TOUR, j'en apprend tous les jours.

--==[Kruger]==--
samedi 14 février 2004 à 16:22:11 | Re : exception sur une lecture de stringgrid

Kruger

Voilà mon bout de code pour ceux qui aurais ou auront le même probleme que moi

{Calcul du montant à payer}
somme := 0;
for i := 1 to stringgrid1.rowcount - 1 do
try
somme := somme + strtocurr(Stringgrid1.cells[5,i]);
except
begin
somme := somme + 0;
end;
end;
remise := strtocurr(Edit5.text);
edit6.text := currtostrf(somme - remise, fffixed, 2);
end;
end.

Merci à MM_TOUR

--==[Kruger]==--
mercredi 1 mars 2006 à 01:16:03 | Re : exception sur une lecture de stringgrid

yasoft1

merci beaucoup j'avais ce probleme
mercredi 1 mars 2006 à 01:33:17 | Re : exception sur une lecture de stringgrid

cirec

Membre Club Administrateur CodeS-SourceS
Salut,
il y avais aussi tout simplement function
StrToCurrDef(const S: stringconst Default: Currency): Currency;
Si S une valeur en virgule flottante correcte il renvoie Default

Donc StrToCurrDef (' ', 0) revoie 0
Tout simplement
@+
Cirec
mercredi 1 mars 2006 à 01:35:27 | Re : exception sur une lecture de stringgrid

cirec

Membre Club Administrateur CodeS-SourceS
Correction
il y avais aussi tout simplement la function
StrToCurrDef(const S: stringconst Default: Currency): Currency;
Si S n'est pas une valeur en virgule flottante correcte il renvoie Default

Donc StrToCurrDef (' ', 0) revoie 0
Tout simplement
@+
Cirec




Cette discussion est classée dans : lecture, contenu, stringgrid, exception, cellules


Répondre à ce message

Sujets en rapport avec ce message

Griser les cellules differement d'une StringGrid? [ par bougste ] Bon Voilà mon problème...J'aimerais pouvoir griser certaine cellules de ma stringGrid...mais pas toute....(ou changer de couleur..)...Apparement on ne Fusionner les cellules d'un StringGrid [ par miniil ] Bonjour,j'aimerai savoir si il est possible de fusionner certaines cellules d'un StringGrid.Merci d'avance je sais que ce n'est pas si évident à comprendre et à trouver [ par jobtunisieyasser ] Je travail sur OLE Excel avec delphiMon probléme réside dans :Si je fusionne 4 cellules excel pour donner une seule cellule(je parcourt la fiche)puis changer la taille des cellules des StringGrid [ par alex_lecool85 ] Je n'arrive pas à trouver le code où l'on on peut modifier la taille des cellules des StringGrid?Merci pour vos réponces.Alex Contenu d'un fichier vers un stringgrid ??? [ par tazplan ] Salut à tous !J'aimerai faire passer les enregistrements contenus dans un fichier que j'ai créé vers un stringgrid. j'ai créé un bouton sur lequel je MultiSelect et StringGrid [ par pitango ] Bonjour, Connaissez vous un moyen d'effectuer un MultiSelect sur un StringGrid ? J'ai besoin de récuperer une selection de cellules non continues. Il Adaptation au contenu [ par XgaletteX ] Bonjour, je voulai savoir comment l'on pour adapter la taille d'un bouton a son contenu, c'est à dire au caption qu'il a ( ce caption étant variable)? Lecture d’un fichier [ par e14273 ] Bonjour à tous, Pour lire le contenu d’un fichier j’utilise l’instruction suivante : Readln(ficRom,stg); et ça marche mais ça met dans le string « Griser toutes les cellules de la même ligne d'un stringGrid quand une cellule est sélectionnée [ par MacDaddy91 ] Bonjour à tous pouvez vous m'indiquer comment m'y prendre pourGriser toutes les cellules de la même ligne d'un stringGrid quand une cellule est sélect Comment colorier une ligne de StringGrid quand la veluer d'une de ses cellules depasse un certains nombre [ par Frank_klein ] SALUT, comment faire pour colorier une ligne d'une StringGrid lorsqu'une cellule depasse une certaine valeur, par exemple  si la ligne nr 4 possede


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,624 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales