[html] Buffer

Fermé
Jeff2deff Messages postés 14 Date d'inscription lundi 19 février 2007 Statut Membre Dernière intervention 7 juin 2010 - 8 déc. 2008 à 12:02
Jeff2deff Messages postés 14 Date d'inscription lundi 19 février 2007 Statut Membre Dernière intervention 7 juin 2010 - 8 déc. 2008 à 12:36
Bonjour,
voila, j'utilise une application fonctionnent sous IE, dedans je récupère des variables, les affichent, etc... tout ça avec des pages html. Je récupère donc une variable (une phrase) que j'affiche, mais cette variable change d'état souvent, donc au lieu qu'elle s'affiche à la suite, j'aimerais savoir s'il est possible de mettre cette variable dans une sorte de buffer de X lignes par exemple, pour pouvoir afficher juste les X lignes. Si oui, comment faire. J'éspère etre clair :)
Merci des réponses...
A voir également:

2 réponses

Jeff2deff Messages postés 14 Date d'inscription lundi 19 février 2007 Statut Membre Dernière intervention 7 juin 2010 1
8 déc. 2008 à 12:25
Merci de ta réponse, je regarde ça de suite.
Je ne sais pas si en php je peux, c'est sur des applications spéciales, avec un navigateur spéciale, etc.
Est-ce que je peux quand même utiliser le php dessus? Comment je peux le savoir?
j'y connais pas grand chose en plus, je dois m'y mettre parce que mon chef me l'a demandé :p mais bon, c'est de toute façon enrichissant d'apprendre de nouvelles choses...

Je viens de regarder ta fonction, elle est intéressante, mais ce n'est pas encore ça, ou alors je peux m'en servir, mais après.
Je met un exemple, c'est une variable avec des numéro d'erreurs:100,200,300,400.
moi j'affiche donc (en boucle)
100
200
300
400
et hop ça repart
100
200
...

c'est affiché en boucle (je précise que ce n'est pas moi qui ai fait la page d'origine, donc je ne sais pas vraiment comment c'est géré, j'aimerais tout reprendre du début).
Vu que la variable a donc là 4 états, mais que c'est affiché en boucle, je voudrais en fait affiché que les 4 états, et que ça ne bouge plus tant que les valeurs sont les mêmes (ici 100, 200, 300 et 400).

En fait c'est pour un truc tout bête, mais c'est compliqué :)
De plus c'est pas pour internet, donc je ne vous facilite pas la tache :p
1
Jeff2deff Messages postés 14 Date d'inscription lundi 19 février 2007 Statut Membre Dernière intervention 7 juin 2010 1
8 déc. 2008 à 12:36
Ou alors un tableau j'viens de penser.... un tableau c'est peut être possible, avec mes variables et des conditions d'écriture dans le tableau, comme là les 4 valeurs de ma variable dans un tableau, et une réécriture du tableau si une des valeurs change....

Je met le code source, c'est gros mais on voit comment c'est fait d'origine:

<html>
<head>
<title>New Document</title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<script src="../User/userobjects.js" type="text/javascript"></script>
<script language="JavaScript" type="text/javascript">
//variable de message d'erreur
var num=0;

var tab = new Array();
var tabmessage= new Array(256);

//initialisation des tableaux
for (u=0;u<8;u++)
{
tab[u]=0.00;
}

function LoadGeneralFunctions()
{
objDGeneralFunctions =new ActiveXObject("APServer.DGeneralFunctions");
}

var objDReadELS = null;
var sinkDReadELS = null;

function LoadReadELS ()
{
objDReadELS =new ActiveXObject("APServer.DReadELS");
objDReadELS.Flag = 1;
sinkDReadELS =objFactory.NewEventSink(objDReadELS);
sinkDReadELS("ValueChanged") = OnReadELSChanged;
}

function OnReadELSChanged ( nHandle, dValue, nErrorCode )
{
//si on a un mesage d'erreur, on l'affiche sinon, on affiche rien
switch(nHandle)
{
case 1: num=dValue; defaut1.innerHTML=num + " " + tabmessage[num][1]; break;
case 2: num=dValue; if (num!=0) {defaut2.innerHTML=num + " " + tabmessage[num][1];} else{ defaut2.innerHTML="";} break;
case 3: num=dValue; if (num!=0) {defaut3.innerHTML=num + " " + tabmessage[num][1];} else{ defaut3.innerHTML="";} break;
case 4: num=dValue; if (num!=0) {defaut4.innerHTML=num + " " + tabmessage[num][1];} else{ defaut4.innerHTML="";} break;
case 5: num=dValue; if (num!=0) {defaut5.innerHTML=num + " " + tabmessage[num][1];} else{ defaut5.innerHTML="";} break;
case 6: num=dValue; if (num!=0) {defaut6.innerHTML=num + " " + tabmessage[num][1];} else{ defaut6.innerHTML="";} break;
case 7: num=dValue; if (num!=0) {defaut7.innerHTML=num + " " + tabmessage[num][1];} else{ defaut7.innerHTML="";} break;
case 8: num=dValue; if (num!=0) {defaut8.innerHTML=num + " " + tabmessage[num][1];} else{ defaut8.innerHTML="";} break;
case 9: num=dValue; if (num!=0) {defaut9.innerHTML=num + " " + tabmessage[num][1];} else{ defaut9.innerHTML="";} break;
case 10: num=dValue; if (num!=0) {defaut10.innerHTML=num + " " + tabmessage[num][1];} else{ defaut10.innerHTML="";} break;
case 11: num=dValue; if (num!=0) {defaut11.innerHTML=num + " " + tabmessage[num][1];} else{ defaut11.innerHTML="";} break;
case 12: num=dValue; if (num!=0) {defaut12.innerHTML=num + " " + tabmessage[num][1];} else{ defaut12.innerHTML="";} break;
case 13: num=dValue; if (num!=0) {defaut13.innerHTML=num + " " + tabmessage[num][1];} else{ defaut13.innerHTML="";} break;
case 14: num=dValue; if (num!=0) {defaut14.innerHTML=num + " " + tabmessage[num][1];} else{ defaut14.innerHTML="";} break;
case 15: num=dValue; if (num!=0) {defaut15.innerHTML=num + " " + tabmessage[num][1];} else{ defaut15.innerHTML="";} break;
case 16: num=dValue; if (num!=0) {defaut16.innerHTML=num + " " + tabmessage[num][1];} else{ defaut16.innerHTML="";} break;

default: break;
}
}

function UnLoading()
{
GetMainFrame().SiteUnloading ();
}

function OnBottomButtonClick (nButton)
{
switch(nButton)
{
case 1: window.navigate("../User/Userhelp-contens_page.htm#pile_de_defaut"); break;
case 2: LoadPage("../User/sf8_page.htm"); break;
case 3: /*LoadPage("../User/pagetest.htm");*/ break;
case 4: LoadPage("../User/sf8_compteurs_page.htm"); break;
case 5: LoadPage("../User/outilbroche.htm"); break;
case 6: /*LoadPage("../User/detectiondefaut.htm"); */ break;
case 7: /*LoadPage("../User/journaldebord.htm"); */ break;
case 8: LoadPage("../User/pile_de_defaut.htm"); break;
case 9: LoadPage("../User/sf8_maintenancestandard_page.htm"); break;
case 10: /*LoadPage("../User/sf8_maintenancemachine_page.htm"); */ break;
case 11: LoadPage("../User/hebdo_page.htm"); break;
default: break;
}
}

function Loading()
{
LoadBottomPage_sFName("sf8_menu.htm");
LoadFactory();

//on charge les données de la classes DReadELS et on initialise la tache pour NCK
LoadReadELS();
objDReadELS.Init(GetGroupManager());

// on charge la classe DGeneralFunctions de APServer et on initialise la tache pour NCK
LoadGeneralFunctions();
objDGeneralFunctions.Init(GetGroupManager());

//on charge la dll APLib utilisant activeX
LoadAPLib();

read();

//on envoie la requete pour lire var

objDReadELS.AddParameter("%v3e0.w",1);
objDReadELS.AddParameter("%v3e2.w",2);
objDReadELS.AddParameter("%v3e4.w",3);
objDReadELS.AddParameter("%v3e6.w",4);
objDReadELS.AddParameter("%v3e8.w",5);
objDReadELS.AddParameter("%v3ea.w",6);
objDReadELS.AddParameter("%v3ec.w",7);
objDReadELS.AddParameter("%v3ee.w",8);
objDReadELS.AddParameter("%v3f0.w",9);
objDReadELS.AddParameter("%v3f2.w",10);
objDReadELS.AddParameter("%v3f4.w",11);
objDReadELS.AddParameter("%v3f6.w",12);
objDReadELS.AddParameter("%v3f8.w",13);
objDReadELS.AddParameter("%v3fa.w",14);
objDReadELS.AddParameter("%v3fc.w",15);
objDReadELS.AddParameter("%v3fe.w",16);

GetMainFrame().SiteLoaded();
}

/////////////////////////////////////////////////////////////////////////////////////
// fonction qui permet de lire les messages d'erreur dans un fichier et de les
// stocker dans un tableau pour permettre une recherche plus rapide par la suite
/////////////////////////////////////////////////////////////////////////////////////

function read()
{ //fonction de lecture d'un fichier
var Object1 = new ActiveXObject('Scripting.FileSystemObject'); //Même formule que dans la fonction précédente, j'ai juste changé le nom de la variable pour ne pas s'embrouiller, même si ce n'est pas indispensable étant donné que l'on change de fonction.
var LirTxt = Object1.GetFile('C:\\Numtool2\\NUMpass\\APBrowser\\NCData\\Forest-Line\\TXTMSG_F.XPI');
// var LirTxt = Object1.GetFile('C:\\Numtool2\\BD_FLA.002\\3379_PLC.MCH\\TXTMSG_F.XPI'); // GetFile() permet d'attribuer à l'objet activeX la valeur d'un fichier existant, ici , celui que l'on a créé précedemment. Seulement getfile() ne le rend pas immédiatement accessible comme le createTextFile, il va falloir utiliser une autre fonction.
var doc1 = LirTxt.OpenAsTextStream(1); //Maintenant que notre fichier .txt est initialisé on va pouvoir le manipuler, le paramètre 8 signifie que l'on va ouvrir le fichier et le compléter , la valeur 1 permet de l'ouvrir en lecture seule, et le 2 l'ouvre et écrit en écrasant les valeurs déjà existantes.

var txt="";
//on saute les lignes de commantaires pour se placer sur la premiere ligne de message d'erreur
txt = doc1.ReadLine();
txt = doc1.ReadLine();
txt = doc1.ReadLine();
txt = doc1.ReadLine();
txt = doc1.ReadLine();
txt = doc1.ReadLine();
txt = doc1.ReadLine();

//on lit un par un les 256 messages et on les stocke dans le tableau
for (e=0;e<256;e++)
{
var txt2;
txt = doc1.ReadLine(); //text reçoit le contenu de la ligne en cours de lecture
txt2= txt; //on copie txt dans txt2 car on a deux modifications à apporter sur la chaine
chaine=txt2.split("N");
txt=chaine[1];
chaine=txt2.split(" ");
num=chaine[0]; //on extrait le numero de l'erreur
chaine=txt2.split("$");
msg=chaine[1]; //on extrait le message correspondant au numero
tabmessage[e]=([num,msg]); //on stocke le numero et le message dans un tableau
}

}
</script>
</head>
<body oncontextmenu="return false" leftmargin="20"
onload="Loading();" onunload="UnLoading();"
onkeydown="GetMainFrame().OnKeyCode(window.event);"
bgcolor="#ffffff">
<table width="100%">
<tbody>
<tr>
<td align="left"><font color="#0000ff"
face="arial" size="4">Pile de défaut</font></td>
<td align="right"><img src="img_src/FLAlogo.jpg"
align="right" width="180"></td>
</tr>
</tbody>
</table>
<br>
<br>
<font face="arial">
<table>
<tbody>
<tr>
<td id="defaut1"> </td>
</tr>
<tr>
<td id="defaut2"> </td>
</tr>
<tr>
<td id="defaut3"> </td>
</tr>
<tr>
<td id="defaut4"> </td>
</tr>
<tr>
<td id="defaut5"> </td>
</tr>
<tr>
<td id="defaut6"> </td>
</tr>
<tr>
<td id="defaut7"> </td>
</tr>
<tr>
<td id="defaut8"> </td>
</tr>
<tr>
<td id="defaut9"> </td>
</tr>
<tr>
<td id="defaut10"> </td>
</tr>
<tr>
<td id="defaut11"> </td>
</tr>
<tr>
<td id="defaut12"> </td>
</tr>
<tr>
<td id="defaut13"> </td>
</tr>
<tr>
<td id="defaut14"> </td>
</tr>
<tr>
<td id="defaut15"> </td>
</tr>
<tr>
<td id="defaut16"> </td>
</tr>
</tbody>
</table>
</font>
</body>
</html>
0