sexta-feira, 28 de setembro de 2007

Simplificando o If em ASP com Operador Ternário

Boa tarde povo! Bem, essa função que segue abaixo nasceu de uma idéia "invejosa" minha. Como na faculdade utilizo C e Java, e no trabalho uso e abuso de Javascript, acabei sentindo a falta de, no ASP, existir "aquele" if no estilo:

var==1?true:false;
(cujo nome no cartório é Operador Ternário)

As linguagens que seguem o padrão ECMAScript possuem este recurso, e só vi isto no ASP no tempo em que eu utilizava aquela aba "Application" (que neeeeem polui o código né?), onde existia um "MM_Iif". Daí o nome da função que idealizei: "iif".
Pois bem, está aí a dita cuja:

function iif(comparacao, verdadeiro, falso)
   if(comparacao) Then
      iif = verdadeiro
   else
      iif = falso
   end if
end function


Modo de uso:
comparacao - qualquer comparação que retorne um booleano (true ou false)
verdadeiro - bloco de código a ser executado caso a comparacao retorne true
falso - bloco de código a ser executado caso a comparacao retorne false
Exemplo: <%=iif(acao="","Vazio","Não vazio")%>

Antes que me perguntem "Porque function e não sub?", vou ser sincero: Nem eu sei, comecei com function e desde então nunca mais toquei nisso. Talvez eu mude, talvez não... só o tempo dirá!

Espero ter ajudado, bom fim de semana a todos e...
[]'s do MX...

quinta-feira, 27 de setembro de 2007

Validando uma string como hora válida (agora em ASP!)

Antes de mais nada, o Ministério da Saúde adverte: montar uma função usando uma linguagem que segue o padrão sintático ECMAScript, e depois tentar (leia-se "logo em seguida") adaptá-la para uma linguagem que segue a sintaxe do Basic provoca um nível leve de stress e alguns risos com ar de ódio...
Sigamos com nossa programação normal. Lembram daquela função de ontem? Então, está aí a versão ASP dela! Divirtam-se crianças (e quem sabe eu ainda não desenvolvo uma versão desta função em ColdFusion... é um caso a se pensar...)

function eHora(str)
   bool = true
   if isEmpty(str) then
      eHora = false
   end if
   
   if not isNumeric(Replace(str,":","")) then
      eHora = false
   end if
      
   tmp = Split(str,":")
   if UBound(tmp) <> 2 then
      eHora = false
   end if
   
   For i = 0 to Ubound(tmp)
      if len(tmp(i)) = 1 or len(tmp(i)) = 2 then
         if i = 0 then
            if CInt(tmp(i)) > 23 then
               bool = false
            end if   
         else
            if CInt(tmp(i)) > 59 then
               bool = false
            end if
         end if
      else
         bool = false
      end if
   Next
   eHora = bool
end function

[]'s do MX...

quarta-feira, 26 de setembro de 2007

Validando uma string como hora válida

Conforme prometido, segue aí uma função que retorna um boolean para validar uma string como hora (nos formatos HH:mm:ss ou HH:mm). Esta com certeza parecerá mais interessante que o post anterior em relação a produtividade... ledo engano, ambas são de igual importância! (e se o código não ficar identado corretamente é porque perdi a paciência com o Blogger em ter que ficar reorganizando o que já estava organizado).

function eHora(str){
   bool = true;
   var i;
   
   if(eVazio(str))
      return false;
   
   if(isNaN(replaceAll(str,":","")))
      return false;
      
   tmp = str.split(":");
   if(tmp.length<2>3)
      return false;
      
   for(i=0;i<tmp.length;i++){
      if(tmp[i].length==1 || tmp[i].length==2){
         if(i==0){
            if(eval(tmp[i])>23)
             bool = false;
         }
         else{
            if(eval(tmp[i])>59)
             bool = false;
         }
      }
      else{
         bool = false;
      }
   }   return bool;
}

Obs. 1: A função "replaceAll()" que utilizo nesta função acima foi extaída deste post do ótimo blog do Rogério Lino.
Obs. 2: Se você usa alguma versão do Dreamweaver para montar seus js's, segue um conselho de amigo, utilize o Aptana, Eu uso ele há alguns meses e não pretendo trocar de IDE para javascript tão cedo.

[]'s do MX...

Update #1: Estamos abertos a críticas. Se alguém viu ou fez esta tarefa de maneira mais simples basta compartilhar conosco! xD
Update #2: Antes que seja tarde... a função "eVazio()" usada acima está no post anterior a este.

Verificando se a string está vazia

"Bem amigos" estamos de volta, e antes que pensem o seguinte sobre este post:
  • "Ah, fala sério, isso é moleza!"
  • "Pra quê usar isso se eu posso só comparar se ele é vazio."
Acreditem seres, eu já pensei isso, e hoje em dia só tenho uma resposta para estas perguntar: PRODUTIVIDADE!

Quando você cria uma funçãozinha, por mais "besta" que seja, você adapta seu código a algo mais próximo do seu entendimento, tornando-o "personalitée".Quanto mais afinidade existir entre você e seu código (está até parecendo um namoro ou casamento não é?), mais produtivo você será.Enfim, postarei algumas funções que provém de tarefas simples, mas com estas funções já prontas sua produtividade tende a crescer.

A função de hoje é para verificar se uma string é vazia. Mais tarde postarei outra função que pareça (aos olhos dos que se oponham a este post) mais útil.

function eVazio(str){
   return str == "";
}

[]'s do MX...

segunda-feira, 24 de setembro de 2007

In memoriam

Eu estava devendo um post citando o excelente artigo do Okano na WebInsider - "Padaria Digital"...
Mas enfim, chegou a hora, leiam (principalmente você que está fazendo um curso da área de web e sonha entrar em uma média/grande empresa do ramo, seja ela do interior ou da capital):
WebInsider - Uma análise do excesso de trabalho nas agências de internet

E pra quem pensa que não é bem assim, acredite... já passei por isso!
Dedicado a meus "amigos-bozo" (deixo bem claro que eles é que se entitulam assim) que ainda sofrem com isso...

[]'s do MX (e ótima semana)

quinta-feira, 20 de setembro de 2007

Verificando se um objeto existe via Javascript

Bem, "pra não dizer que não falei das flores", deixo abaixo um código que vira e mexe tem alguém me perguntando...
Ele retorna um boolean dizendo se o objeto existe ou não na página. Coisa boba, eu sei, mas dá uma adiantada no desenvolvimento e muita gente não tem noção de que a coisa é simples assim.

function objExiste(obj){
   return (document.getElementById(obj)!=null)
}

Obs.: O Parâmetro obj deverá ser uma string ok?
Quaisquer problemas, me avisem xD

[]'s do MX

quarta-feira, 19 de setembro de 2007

Na falta de um browser decente...

Certas coisas acontecem sem explicação nesse "infomundo" sabe... Se você tem o Microsoft SQL Server 2005 Express Edition instalado em sua máquina e seu teclado tem o botão de acesso rápido ao browser padrão (geralmente marcado por um "WWW" ou, erroneamente, por um logo do IE[ca] ), faça o seguinte:
  • Abra o Microsoft SQL Server Management Studio Express (minha versão é a 9.00.3042.00);
  • Pressione o botão de acesso rápido ao browser em seu teclado;
  • e...















"Tem coisas que só a Micro$oft faz por você..."

Update #1: Segundo meu colega João Felipe (Jotaefe), só funciona quando o browser padrão é o IE[ca]. O dele é o "Mozicca", e não aconteceu o que era previsto... enfim... coisas específicas da Micro$oft...
Update #2:
[]'s do MX...