Accueil > > > VML/ASP : GÉNÉRATION D'UNE COURBE DE DROITES
VML/ASP : GÉNÉRATION D'UNE COURBE DE DROITES
Information sur la source
Description
En VML le système trigo fonctionne avec un axe des Y à l'envers, le 0,0 est en haut à gauche. Aussi voici un petit code que j'utilise pour exprimer une progession de Chiffre d'Affaires en inversant l'axe Y.
Source
- <%@ Language=VBScript %>
- <%
- option explicit
-
- dim gris_fonce: gris_fonce="#cccccc"
- dim col: col=50 ' largeur d'une colonne
- dim ratio: ratio=100 ' ration de division pour l'affichage
- dim largeur: largeur=650 ' largeur tab
-
- dim solde_rapproche: solde_rapproche=0 ' affectation d'une valeur de base au démarrage (CA rapporté par exemple)
- dim ca_max: ca_max=solde_rapproche
- dim ca: ca=ca_max ' CA
- dim i_max: i_max=ca_max
-
- dim points,points_solde,i
-
- dim tab_compta: redim tab_compta(12)
- for i=1 to 12 ' remplissage de la table en Euros
- RANDOMIZE
- tab_compta(i)=Int((4999 * Rnd) + 1)
- next
-
- ' définition des mois
- dim tab_mois: redim tab_mois(12)
- tab_mois(1) = "Janv."
- tab_mois(2) = "Fév."
- tab_mois(3) = "Mars"
- tab_mois(4) = "Avr."
- tab_mois(5) = "Mai"
- tab_mois(6) = "Juin"
- tab_mois(7) = "Juil."
- tab_mois(8) = "Août"
- tab_mois(9) = "Sept."
- tab_mois(10)= "Oct."
- tab_mois(11)= "Nov."
- tab_mois(12)= "Déc."
- %>
-
- <HTML xmlns:v="urn:schemas-microsoft-com:vml">
- <HEAD>
- <META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
- <META NAME="Author" Content="RD medias">
- <style>
- v\:* {behavior:url(#default#VML);}
- TD { font-family: Verdana; font-size: 10px; }
- </style>
- </HEAD>
- <BODY>
-
- <%
- ' detection solde max
- for i=1 to 12
- ca = ca + tab_compta(i)
- if Cdbl(ca) > Cdbl(i_max) then i_max = ca
- next
- 'i_max = FormatNumber(i_max,0)
- ca = ca_max
-
- points = col/2 &","& FormatNumber((i_max-solde_rapproche)/ratio,0)
- for i=1 to 12
- ca = ca + tab_compta(i)
- points = points &","& (col*i)+col/2 &","& FormatNumber((i_max-ca)/ratio,0)
- next
- %>
- <br>
-
- <table border=0 align=center cellpadding=0 cellspacing=0>
- <tr align=center>
- <td width=50><%=FormatNumber(solde_rapproche/1000,0)%> K¤</td>
- <% ca = ca_max
- for i=1 to 12
- if tab_compta(i)>0 then
- ca = ca + tab_compta(i) %>
- <td width=50><%=FormatNumber(ca/1000,0)%> K¤</td>
- <% else %>
- <td width=50> </td>
- <% end if
- next %>
- </tr>
- <tr>
- <td colspan=13>
- <!-- axes -->
- <div id=global name=global style="position:relative; visibility:show; left:0px; top:0px; z-index:0; height:<%=FormatNumber((i_max+solde_rapproche)/ratio,0)%>px;">
- <div id=y name=y style="position:absolute; visibility:show; left:0px; top:0px; z-index:6; width:<%=largeur%>; height:<%=FormatNumber((i_max+solde_rapproche)/ratio,0)%>px;">
- <% for i=0 to formatNumber(i_max,0) step ratio*10%>
- <v:line
- from="0,<%=i/ratio%>" to="<%=largeur%>,<%=i/ratio%>"
- strokecolor="<%=gris_fonce%>" style="position:absolute;">
- </v:line>
- <% next %>
- </div>
- <div id=x name=x style="position:absolute; visibility:show; left:0px; top:0px; z-index:5; height:<%=FormatNumber((i_max+solde_rapproche)/ratio,0)%>px;">
- <% for i=0 to 12 %>
- <v:line
- from="<%=(col*i)+col/2%>,0" to="<%=col*i+col/2%>,<%=FormatNumber(i_max/ratio,0)%>"
- strokecolor="<%=gris_fonce%>" style="position:absolute;">
- </v:line>
- <% next %>
- </div>
- <div id=courbes name=courbes style="position:absolute; visibility:show; left:0px; top:0px; z-index:1; height:<%=FormatNumber((i_max+solde_rapproche)/ratio,0)%>px;">
- <v:polyline
- points="<%=points%>"
- strokecolor="red" style="position:absolute;">
- </v:polyline>
- </div>
- </div>
- </td>
- </tr>
- <tr>
- <td width=50 align=center>n0</td>
- <% for i=1 to 12 %>
- <td width=50 align=center><%=tab_mois(i)%></td>
- <% next %>
- </tr>
- </table>
-
- </BODY>
- </HTML>
<%@ Language=VBScript %>
<%
option explicit
dim gris_fonce: gris_fonce="#cccccc"
dim col: col=50 ' largeur d'une colonne
dim ratio: ratio=100 ' ration de division pour l'affichage
dim largeur: largeur=650 ' largeur tab
dim solde_rapproche: solde_rapproche=0 ' affectation d'une valeur de base au démarrage (CA rapporté par exemple)
dim ca_max: ca_max=solde_rapproche
dim ca: ca=ca_max ' CA
dim i_max: i_max=ca_max
dim points,points_solde,i
dim tab_compta: redim tab_compta(12)
for i=1 to 12 ' remplissage de la table en Euros
RANDOMIZE
tab_compta(i)=Int((4999 * Rnd) + 1)
next
' définition des mois
dim tab_mois: redim tab_mois(12)
tab_mois(1) = "Janv."
tab_mois(2) = "Fév."
tab_mois(3) = "Mars"
tab_mois(4) = "Avr."
tab_mois(5) = "Mai"
tab_mois(6) = "Juin"
tab_mois(7) = "Juil."
tab_mois(8) = "Août"
tab_mois(9) = "Sept."
tab_mois(10)= "Oct."
tab_mois(11)= "Nov."
tab_mois(12)= "Déc."
%>
<HTML xmlns:v="urn:schemas-microsoft-com:vml">
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<META NAME="Author" Content="RD medias">
<style>
v\:* {behavior:url(#default#VML);}
TD { font-family: Verdana; font-size: 10px; }
</style>
</HEAD>
<BODY>
<%
' detection solde max
for i=1 to 12
ca = ca + tab_compta(i)
if Cdbl(ca) > Cdbl(i_max) then i_max = ca
next
'i_max = FormatNumber(i_max,0)
ca = ca_max
points = col/2 &","& FormatNumber((i_max-solde_rapproche)/ratio,0)
for i=1 to 12
ca = ca + tab_compta(i)
points = points &","& (col*i)+col/2 &","& FormatNumber((i_max-ca)/ratio,0)
next
%>
<br>
<table border=0 align=center cellpadding=0 cellspacing=0>
<tr align=center>
<td width=50><%=FormatNumber(solde_rapproche/1000,0)%> K¤</td>
<% ca = ca_max
for i=1 to 12
if tab_compta(i)>0 then
ca = ca + tab_compta(i) %>
<td width=50><%=FormatNumber(ca/1000,0)%> K¤</td>
<% else %>
<td width=50> </td>
<% end if
next %>
</tr>
<tr>
<td colspan=13>
<!-- axes -->
<div id=global name=global style="position:relative; visibility:show; left:0px; top:0px; z-index:0; height:<%=FormatNumber((i_max+solde_rapproche)/ratio,0)%>px;">
<div id=y name=y style="position:absolute; visibility:show; left:0px; top:0px; z-index:6; width:<%=largeur%>; height:<%=FormatNumber((i_max+solde_rapproche)/ratio,0)%>px;">
<% for i=0 to formatNumber(i_max,0) step ratio*10%>
<v:line
from="0,<%=i/ratio%>" to="<%=largeur%>,<%=i/ratio%>"
strokecolor="<%=gris_fonce%>" style="position:absolute;">
</v:line>
<% next %>
</div>
<div id=x name=x style="position:absolute; visibility:show; left:0px; top:0px; z-index:5; height:<%=FormatNumber((i_max+solde_rapproche)/ratio,0)%>px;">
<% for i=0 to 12 %>
<v:line
from="<%=(col*i)+col/2%>,0" to="<%=col*i+col/2%>,<%=FormatNumber(i_max/ratio,0)%>"
strokecolor="<%=gris_fonce%>" style="position:absolute;">
</v:line>
<% next %>
</div>
<div id=courbes name=courbes style="position:absolute; visibility:show; left:0px; top:0px; z-index:1; height:<%=FormatNumber((i_max+solde_rapproche)/ratio,0)%>px;">
<v:polyline
points="<%=points%>"
strokecolor="red" style="position:absolute;">
</v:polyline>
</div>
</div>
</td>
</tr>
<tr>
<td width=50 align=center>n0</td>
<% for i=1 to 12 %>
<td width=50 align=center><%=tab_mois(i)%></td>
<% next %>
</tr>
</table>
</BODY>
</HTML>
Conclusion
> Ce code est prévu pour des valeurs POSITIVES, à vous de corriger pour exploiter des valeurs négatives. > Ne pas oublier la déclaration du VML dans la balise HTML et STYLE !
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
[EXCEL]comment peut tracer dans excel une courbe tri-logarithmique? [ par aminagc ]
je veux tracer dans excel une courbe tri-logarithmique . C'est pourquoi je sollicite votre aide pour la réussite de l'exerce
Traitement algorithmique pour un labyrinthe [ par lovemeforaday ]
Bonjour, je dois réaliser la procédure pour écrire un labyrinthe. Problème je n'arrive pas à avancer. Je vous explique mes contraintes. J'ai un lab a
Tracer des courbes et des histogrammes en ASP [ par abdo ]
Bonjour; je serais trés reconnaissant si quelqu'un me donne la meilleure méthode de tracer des courbes et des histogrammes en ASP.et merci d'avance.
::URGENT:: Tracer un trait [ par ctof3552 ]
Slt!est-il possible de dessiner avec l'ASP ? a savoir, tracer un trait entre 2 points A(X1,Y1) et B(X2,Y2) ?thx!A+
question :tracer arbre pour un structure lineaire [ par jhonne2 ]
bonjour a tout je vous un code source qui permet de tracer un arbre pour un structure lineare par exemple P ( GN ( DET (la) N (fille) ) GV ( V (dor
Frames [ par bartez999 ]
(debutant!)Bonjour tout le monde,en fait j'ai une page qui est divisée en deux frames ("droite" et ""gauche")celui de la gauche se compose de deux cha
ASP.NET Double redirection + Authentification [ par cabbry ]
Bonjour,j'ai une application .Net de type Web, avec 2 frames.Le menu a gauche et le contenu a droite.Dans le menu, il y a un lien vers la p
Organigramme hiérarchique (Au secours) [ par TTMan ]
Bonjour,Je cherche un exemple de code source permettant de tracer un organigramme hiérarchique (du type d'un code PHP vu sur phpcs.com).Le but es
Comment tracer un utilisateur ? [ par zigxag ]
Bonjour !Dans mon application ASPNet 2, je voudrais tracer les faits et gestes de l'utilisateur. Je voudrais avoir des infos sur son parcours, sur ce
Tracer dans un fichier ASP.net 2.0 [ par minsou ]
Hello j'essaye de tracer des informations dans un fichier à partir d'une page webforms sans succés :J'utilise pour cela le traceSource. Ni la méthode
|
Derniers Blogs
CSS CONTENT STATE SELECTORS (PERSONNAL DRAFT)CSS CONTENT STATE SELECTORS (PERSONNAL DRAFT) par FREMYCOMPANY
Bonjour à tous, Je viens de publier une proposition comprenant 5 pseudo-classes pour le CSS Working Group ayant trait à l'état de chargement d'un élément (ex: IMG,VIDEO,AUDIO,OBJECT pour l'HTML.). Si le c½ur vous en dit, vous pouvez retrouver cette p...
Cliquez pour lire la suite de l'article par FREMYCOMPANY MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ?MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ? par ROMELARD Fabrice
Formation initiale Durant la formation, le découpage classique est le suivant (je donnerai les équivalences Suisse lorsque je les connaîtrais) : Ecole primaire jusqu'au Collège : Formation générale permettant d'obtenir les méthodes...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice Y'A DES ERREURS QUI PEUVENT RENDRE LE DéVELOPPEUR VIOLENTY'A DES ERREURS QUI PEUVENT RENDRE LE DéVELOPPEUR VIOLENT par Aleks
Quand on a ce genre d'erreur sans log :
Et bas on a juste envie de choper le gas de Microsoft qu'a développé ça et lui foutre des baffes de Coboye ! ...
Cliquez pour lire la suite de l'article par Aleks [HYPER-V 3] PRéSENTATION DES COMMANDLETS POWERSHELL[HYPER-V 3] PRéSENTATION DES COMMANDLETS POWERSHELL par Pierrick CATRO-BROUILLET
Avec la sortie prochaine de la Beta Consumer Preview de Windows 8, j'avais envie de revenir sur une des fonctionnalités que j'attends le plus et que, en bon geek que je suis, j'utilise déjà : Hyper-V 3 ainsi son module PowerShell.
Il y a déjà pléthor...
Cliquez pour lire la suite de l'article par Pierrick CATRO-BROUILLET IIS7 - COMPRESSION GZIPIIS7 - COMPRESSION GZIP par cyril
La compression GZIP permet d'améliorer les performances de navigation en compressant ce qu'envoie le serveur à un client. Pour comprendre comment cela fonctionne, regardons ce qu'il se passe au niveau HTTP lorsqu'un client tente d'accéder à une ress...
Cliquez pour lire la suite de l'article par cyril
Forum
SCRIPTSCRIPT par nadialadypower
Cliquez pour lire la suite par nadialadypower
Logiciels
Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning Academy System (17.1.3.0)ACADEMY SYSTEM (17.1.3.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|