Search
Archives

You are currently browsing the archives for the Pogramação category.

Archive for the ‘Pogramação’ Category

Tratamento de erros em ASP

O ASP não possui um mecanismo de try catch como as linguagens baseadas em C++. No entanto tem um mecanismo simples que podemos utilizar para tornar os nossos scripts robustos. Podemos obrigar, na ocorrência de um erro em runtime, o continuar do fluxo de execução. Basta depois verificar o objecto err para verificar se houve erro e, se sim, qual a respectiva mensagem de erro.

Ex:

function DoSomeThing()
on error resume next
'Código 
.....
  If Err.number <> 0 then
    Response.Write "Erro:" & Err.description
  End If
'Mais código
...
  If Err.number <> 0 then
    Response.Write "Erro:" & Err.description
  End If 
 
end function

Para o programador, basta verificar a existência de erros depois de cada operação crítica, como abertura de ficheiros ou acessos aos servidores de dados, e reagir conforme os códigos de erros obtidos.

APM

Como redireccionar o browser para outra página em PHP?

Redireccionar o browser para outra página em PHP é feito enviando, utilizando o protocolo HTTP, a directiva Location.

<?
  header("Location: <outro url>");
  exit();
?>

Este código deve ser colocando antes de qualquer envio de html pois o PHP, assim que iniciamos a escrita do html, envia os respectivos headers e esta chamada deixa ter utilidade já que é tardia.

APM

SpeedMeter – A velocidade da sua internet


Uma pequena experiência em Flash. Um medidor de velocidade em Flash para verificar as velocidades de upload e download de um computador até os servidores de web hosting da safe-net.

Como navegar para um url em Adobe Flash

No Adobe Flash, botão direito no objecto que pretendemos utilizar (ex: botão) e escolher “Action”. Inserir o código:

var lv_objSender = new LoadVars();
lv_objSender.htmlparam1 = "value1";
lv_objSender.htmlparam2 = "value2";
lv_objSender.htmlparam3 = "value3";
lv_objSender.send("http://www.yourdomain.com/yourscript.php", "", "post");

O send recebe três parâmetros:

  1. URL do script
  2. Frame onde será executado
  3. Método HTTP: GET/POST

 APM

Criar um mecanismo de cache em PHP

Tentar optimizar um script lento nunca é tarefa de 5 minutos. Quando o script não tem formulários, nem os dados são actualizados com muita frequência, podemos usar um mecanismo de cache. Este script assume que existe uma directoria “cache” com permissões de escrita para o PHP.

São criados ficheiros com base nos argumentos do pedido, permitindo uma maior versatibilidades de execução.

<?
//******************************************************************************
//******************************************************************************
 
$lv_strFile = $_SERVER["QUERY_STRING"];
$lv_strFile = str_replace("&","_",$lv_strFile);
$lv_strFile = str_replace("+","_",$lv_strFile);
$lv_strFile = str_replace("/","_",$lv_strFile);
$lv_strFileCached = "cache/".$lv_strFile .".html";
$lv_intUserCache = 0;
$lv_strContents = "";
if (($lv_intUserCache == 1)&&(file_exists($lv_strFileCached)))
{
  $lv_intFileHandle = fopen($lv_strFileCached, "r");
  $lv_strContents = fread($lv_intFileHandle, filesize($lv_strFileCached));
  fclose($lv_intFileHandle);
}
else
{ 
  ob_start();
//******************************************************************************
//******************************************************************************
//código... Muito código
//******************************************************************************
//******************************************************************************
 
  $lv_strContents = ob_get_contents();
  echo $lv_strContents;
  ob_end_clean();
  $lv_intFileHandle = fopen($lv_strFileCached, "w") or die("can’t open file");
  fwrite($lv_intFileHandle, $lv_strContents);
  fclose($lv_intFileHandle);
 
}
//******************************************************************************
//******************************************************************************
?>

Podemos inclusiva acrescentar um validador de tempo para verificar se necessitamos de refrescar o conteudo do ficheiro. Mas isso fica na vossa imaginação.

APM