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
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
comment tracer les utilisateurs [ par mamistitch ]
bonjour. j'utilise sur un serveur iis un accès "anonymous" et une identification par login et mot de passe incluse dans l'application. J'aimerais bien
rafraichissement d'une page [ par tarznag69 ]
Bonjour à tous,Je suis débutant en ASP.net et j'ai bien entendu un petit problème.J'ai une page coupé en deux frames. Sur la frame de gauche ( FrmSpri
|
Derniers Blogs
COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE?COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE? par Matthieu MEZIL
Avec EF, les vues doivent être mappées sur des entity types. Le problème c'est que les entity types doivent avoir une clé. Avec EF, nous avons les complex type qui n'ont pas de clé mais les vues ne peuvent pas être mappées dessus. Avec EF4, il est possibl...
Cliquez pour lire la suite de l'article par Matthieu MEZIL [WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL?[WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL? par JeremyJeanson
Certain d'entre vous on peut être vécu cette situation embarrassante après quelques temps passer avec WF4 : Au début avec mon " ActivityDesigner" , tout allait bien. Et puis un jour j'ai au des problèmes de " Binding" . Alors nous sommes allé sur le site ...
Cliquez pour lire la suite de l'article par JeremyJeanson MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ?MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ? par junarnoalg
La prochaine session de MyTIC aura lieu à Namur, le 23 mars prochain. Pendant presque une heure, nous parlerons de SharePoint 2010. Voici un aperçu du programme.
Accueil : 17h30 Début de la session : 18h00 - Les nouvelles int...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
QUESTIONQUESTION par Engylove
Cliquez pour lire la suite par Engylove
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|