Bonjour tout le monde,
Je suis actuellement en train de developper un petit programme de fiscalité.
Il s'execute normalement par contre ce sont les résultats qu'il me sort qui sont éronés...
Je m'explique, le but de l'application est d'effectuer 2 opérations simple :
- Déterminer le résultat d'une cession d'un bien (dans une entreprise)
Il est égal au prix de cession - (prix d'achat - amortissement effectués).
Le résultat est donc soit une plus value soit une moins value.
- Donner une requalification fiscal à la cession ===> la +ou-value est soit à court terme soit à long terme.
NB : un bien peut etre soit amortissable soit non amortissable. L'utilisateur
coche ou non un checkbox"bien non amortissable"
Mon probleme est que qqsoient mes entrées, la requalification me donne toujours du court terme. Je soupsonne mon imprication de de blocs if then else avec les pts virgules.
je sais que la structure c'est :
If condition then
begin
truc
end
else
begin
truc2
end ;
mais quand yen a plusieurs les uns ds les autres je m'enmelle....
Voici le code en question :
Voilà je sais que c'est chiant mais merci d'avance
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
20
21
22
23
24
25
26
27
28
29
30
31
32
33 if per < 730 then // on vérifie la durée de détention par rapport à 2ans begin qualif2 := 'Court Terme' ; end else begin if checkbox1.Checked = false then begin if rc > 0 then begin if rc > a then begin pvalct := a ; pvallt := rc-a ; qualif2 := 'Court terme et à long terme' ; end else begin qualif2 := 'Court Terme' ; end ; end else begin qualif2 := 'Court terme' ; end ; end else begin qualif2 := 'Long Terme' ; end ; end ; edit12.Text := qualif2 ;
Partager