Ver Mensaje Individual
  #3 (permalink)  
Antiguo 02/02/2008, 08:57
Avatar de Panino5001
Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 6 meses
Puntos: 834
Re: Refrescar porcentaje de barra de progreso

Bueno, te pongo un ejemplo:
Este es el archivo php que lee el estado desde un txt llamado contador.txt (en este caso, para probarlo, además actualiza el porcentaje, vos sólo lo leerás, ya que según entiendo lo actualizás con c++, así que tendrás que modificarlo para solamente leer el resultado y colocar la salida como para que la reciba javascript):
archivo: progreso.php
Código PHP:
<?php
$fp
=fopen('contador.txt','r');
$actual=intval(fread($fp,1024));
if(
strlen($actual)>|| strlen($actual)<1)$actual=0;
fclose($fp);
$fp=fopen('contador.txt','w+');
if(
$actual<100)
    
fwrite($fp,++$actual);
fclose($fp);
echo 
'porciento='.++$actual.';';
?>
Este es el archivo html que se comunica con progreso.php y dibuja la barra:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<
title>test</title>
<
style>
#marco{
width:300px;
border:1px solid #000;
}
#barra{
width:0background-color:#F00;
}
</
style>
<
script>
function 
rpc(url){
    
oldsc=document.getElementById("old_sc");
       if(
oldsc)
            
document.getElementsByTagName('body')[0].removeChild(oldsc);
    
sc=document.createElement('script');
    
sc.id="old_sc";
    
sc.src=url+'&'+Math.random();
    
document.getElementsByTagName('body')[0].appendChild(sc);
}

function 
progress(porcentaje){
document.getElementById('barra').style.width=porcentaje+'%';
}
var 
porciento;
window.onload=function(){

var 
pp=setInterval(function(){progress(porciento);if(porciento>99){clearInterval(pp);};rpc('progreso.php?');},50);
}
</script>
</head>

<body>
<div id="marco"><div id="barra">&nbsp;</div></div>
</body>
</html> 

Última edición por Panino5001; 02/02/2008 a las 09:14