sexta-feira, 29 de agosto de 2008

Animação

Ja ouviram falar em animação gráfica né? Mas isso sacanagem, é a melhor animação que eu já vi, produzida pela Institute for Creative Technologies e baseada na atriz Emily O’Brien fazendo uma animação surpriendente.


quarta-feira, 13 de agosto de 2008

isAlfabeto()

Aceitar alfabeto maiúsculo e minúsculo com acentos, espaço, ponto...

function isAlfabeto(caractere)
{
----var strValidos = "ABCDEFGHIJKLMNOPQRSTUVWXYZÃÁÉÍÓÜÊÔabcdefghijklmnopqrstuvwxyzáéíóãêôü-/.";
----if (strValidos.indexOf(caractere) == -1)
----{
--------return false;
----}
----return true;
}

quarta-feira, 2 de julho de 2008

Funções da Linguagem ASP

Abs()
Devolve o valor absoluto de um número
Ex.: Abs(-3) devolve 3

Array()
Define um conjunto de valores idênticos. O 1º índice tem o valor 0 (zero)
Ex.: lista = Array(12, 22, 32), se depois chamar lista(2) devolve 22

Asc()
Devolve e valor ASCII de um caractere
Ex.: código = Asc(“A”) devolve 65

Atn()
Devolve o arco-tangente de um número

CBool()
Devolve True ou False de uma expressão

CByte()
Devolve o valor Byte de um número

CCur()
Devolve o valor na moeda corrente

CDate()
Devolve o valor da data corrente

CDbl()
Devolve um valor em tipo DOULBLE

Chr()
Devolve o caractere de um valor ASCII

CInt()
Devolve um valor INTEIRO

CLong()
Devolve um valor LONGO

Cos()
Devolve o coseno de um angulo

CreateObject()
Cria uma referencia a um objeto externo

Csng()
Devolve um valor tipo SINGLE

Date()
Devolve a data do servidor

DateAdd()
Devolve a data + N dias

DateDiff()
Devolve a diferença entre duas datas

DatePart()
Devolve, a partir de certa data, a altura do ano

DateSerial()
Devolve uma data para determinado Dia, Mês, Ano

DateValue()
Devolve uma data válida

Day()
Devolve o dia de uma data

Exp()
Devolve o exponencial de um valor

Filter()
Devolve o valor de uma determinada pesquisa num Array

Fix()
Devolve o inteiro de um numero

FormatCurrency()
Devolve um valor na moeda corrente

FormatDateTime()
Devolve um valor na data corrente

FormatNumber()
Devolve um numero em determinado formato

FormatPercent()
Devolve a percentagem de um quociente

GetObject()
Devolve e referencia de um objeto

Hex()
Devolve o valor hexadecimal

InStr()
Devolve a posição de uma string dentro de outra a contar do inicio

InStrRev()
Devolve a posição de uma string dentro de outra a contar do fim

IsArray()
Devolve True ou False sobre uma variável array (Tabela)

IsDate()
Devolve True ou False sobre se uma variável é uma data valida ou não

IsEmpty()
Devolve True ou False se uma variável está vazia ou não

IsNull()
Devolve True ou False se uma variável é nula ou não

IsNumeric()
Devolve True ou False se uma variável é numérica ou não

IsObject()
Devolve True ou False se é um objeto válido ou não

Join()
Devolve uma variável concatenando uma variável array

LBound()
Devolve o menor valor da dimensão de um array

LCase()
Devolve uma strig em minúsculas

Left()
Devolve certo numero de caracteres á esquerda de uma string

Len()
Devolve o comprimento de uma string

Log()
Devolve o logaritmo de um numero

LTrim()
Devolve uma string eliminando os espaços á esquerda

Mid()
Devolve um numero de caracteres a partir de uma dada posição

Minute()
Devolve o minuto de uma dada hora

Month()
Devolve o mês de uma data

Monthdate()
Devolve o nome do mês correspondente a uma data

Now()
Devolve a data e à hora corrente

Oct()
Devolve o valor octal de um numero

Replace()
Devolve uma string alterada por outra

RGB()
Devolve o valor de uma cor (R)=Red/Vermelho (G)=Green/Verde (B)=Blue/Azul

Right()
Devolve um numero de caracteres á direita de uma string

Round()
Devolve valores numéricos arredondados

Second()
Devolve os segundos da hora corrente

Sgn()
Devolve o sinal de um valor (1=positivo) (0=zero) (-1=negativo)

Sin()
Devolve o seno de um angulo

Space()
Devolve / introduz um numero de espaços entre dois strings

Split()
Devolve um array através de uma string

Sqr()
Devolve a raiz quadrada de um numero

StrComp()
Devolve 1 ou -1 conforme as strings são iguais ou diferentes

StrReverse()
Devolve uma string invertendo os caracteres

String()
Devolve um caractere repetido N vezes

Tan()
Devolve a tangente de um numero

Time()
Devolve a hora do sistema

Timevalue()
Devolve uma hora válida

TypeName()
Devolve o tipo de variável

UBound()
Devolve o maior valor da dimensão de um array

Ucase()
Devolve uma string em maiúsculas

VarType()
Devolve um numero correspondente ao tipo de variável
0-Vazia; 1-Nula; 2-Integer; 3-Long; 4-Single; 5-Double; 6-Currency
7-Data; 8-String; 9-Object; 10-Error; 11-Booleano; 12-Variant; 13-DAO
17-Byte; 8192-Array

Weekday()
Devolve o dia da semana, um numero (1=Domingo), etc.

WeekDayName()
Devolve por extenso o dia da semana

Year()
Devolve o ano da data

segunda-feira, 9 de junho de 2008

ajaxInit()

Função que retorna um objeto XMLHttpRequest usado para páginas que usam Ajax.

function ajaxInit()
{
var xmlhttp;

try
{
xmlhttp = new XMLHttpRequest();
}
catch(ee)
{
try
{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
xmlhttp = newActiveXObject("Microsoft.XMLHTTP");
}
catch(E)
{
xmlhttp = false;
}
}
}

return xmlhttp;
}

segunda-feira, 26 de maio de 2008

Será a liga extraordinária atual?

É eu seu, eu sei que não é o conteúdo desse blog, mas não pude deixar de postar isso, revirando o youtube esse feriadão descobri esse vídeo muito bem feito envolvendo Ironman, Hilk e Spiderman. Será a liga nova extraordinária? Bom, não sei, mas que ficou bom, ficou.

segunda-feira, 28 de abril de 2008

comandos do IIS

Há uma ferramenta da Microsoft, que é instalado quando instalar o IIS, chamado IISReset que está localizado no %windir%\system32\pasta. Ele pode ser executado a partir da linha de comando, e tem parâmetros.
Utilização: iisreset [nomecomputador] / parâmetros










































/RESTART Para e em seguida, reinicia todos os serviços de Internet.
/START Comeca todos os serviços de Internet.
/STOP Para todos os serviços de Internet.
/REBOOT Reinicia o computador.
/REBOOTONERROR Reinicia o computador se ocorrer um erro ao iniciar, parar ou reiniciar serviços Internet.
/TIMEOUT:val Especifique o valor de timeout (em segundos) de espera para o sucesso de uma paragem de serviços na Internet. A expiração deste tempo o computador pode ser reiniciado se os / REBOOTONERROR parâmetro é especificado. O valor padrão é para reiniciar 20s, 60s para parar, e 0s para reiniciar.
/STATUS Exibe o status de todos os serviços de Internet.
/ENABLE Ativa o reinicio dos Serviços de Internet sobre o sistema local.
/DISABLE Desativa o reinicio dos Serviços de Internet sobre o sistema local.

terça-feira, 22 de abril de 2008

Google é a marca mais valiosa

O Google foi eleito a marca mais valiosa do mundo pelo segundo ano consecutivo, segundo o ranking Brandz publicado na segunda-feira, 21, pelo Financial Times.

O valor estimado da empresa é de US$ 86 bilhões, 30% a mais que no ano passado.

Nenhuma empresa brasileira faz parte da lista que é apurada pela empresa de consultoria britânica Millward Brown a partir de uma pesquisa de opinião com um milhão de consumidores no mundo todo e com base em diversos dados financeiros sobre 50 mil marcas internacionais.

As dez mais poderosas do mundo:
1 Google
2 GE
3 Microsoft
4 Coca-Cola
5 China Mobile
6 IBM
7 Apple
8 McDonald's
9 Nokia
10 Marlboro

Fonte: baguete

quarta-feira, 16 de abril de 2008

SP1 do Vista agora em português

A Microsoft liberou versão em português para brasileiros do Service Pack 1 para Windows Vista.

Os usuários que desejarem instalar a atualização do Vista podem baixar o pacote no Download Center da Microsoft ou por meio do MSDN e TechNet. Outra alternativa é dizer sim à atualização quando o Windows Update oferecer o pacote.

Segundo a Microsoft, o download via atualizações automáticas acontecerá a partir de maio. A data vale para todas as versões do Vista em português. A Microsoft informou ainda que começa esta semana a fornecer o Vista com SP1 em caixas no varejo e também para integradores que vendem PCs com o Vista já instalado.

A versão em português fica disponível pouco menos de um mês após estrear em inglês, no dia 18 de março. Na ocasião, a Microsoft estabeleceu prazo até o final do primeiro semestre deste ano para oferecer a localização em português do SP1.

De acordo com Ricardo Wagner, gerente de produto Windows no Brasil, o Service Pack 1 reúne esforços da Microsoft e da indústria de software e hardware para ampliar a compatibilidade do sistema operacional com maior número de aplicativos e dispositivos físicos.

Quando estreou em inglês, alguns usuários do Vista registraram queixas de que o pacote tornou incompatível alguns aplicativos que antes funcionavam no Vista.

Fonte: INFO Online

terça-feira, 15 de abril de 2008

IsBlank()

Função para verificar se uma variável está vazia ou não.

Function IsBlank(ByRef TempVar)
    IsBlank = False

    Select Case VarType(TempVar)    
        'Vazia & Nula
        Case 0, 1
            IsBlank = True
        
        'String
        Case 8
            If Len(TempVar) = 0 Then
                IsBlank = True
            End If
            
        'Objeto
        Case 9
            tmpType = TypeName(TempVar)
            If (tmpType = "Nothing") Or (tmpType = "Empty") Then
                IsBlank = True
            End If
        
        'Array
        Case 8192, 8204, 8209
            'Ele tem, pelo menos, um elemento?
            If UBound(TempVar) = -1 Then
                IsBlank = True
            End If
    End Select
End Function

quarta-feira, 9 de abril de 2008

Versão prévia do Google App Engine está na web

A Google disponibilizou uma prévia de seu recém-lançado Google App Engine, um mecanismo para criação de aplicações web que dará aos programadores a chance de criar boas ferramentas online com suporte a um grande número de usuários simultâneos.
De acordo com o blog oficial do Google App Engine, os mesmos blocos usados pela companhia para suas próprias criações serão partilhados com os desenvolvedores, entre eles sistema de autenticação de usuários através de Google APIs, ambiente de desenvolvimento local e armazenamento de dados em banco.

A princípio a Google oferecerá o benefício a um número limitado de 10 mil programadores de acordo com ordem de cadastro no endereço http://appengine.google.com/, que garantirá um espaço de 500 MB de armazenamento e 10 GB de banda ao dia, algo que a empresa acredita ser suficiente para prover cerca de 5 milhões de pageviews por mês.

O serviço deve ser expandido para um número maior de usuários em breve, e a companhia espera que, no futuro, cotas limitadas sejam oferecidas gratuitamente, com a possibilidade de compra de recursos adicionais caso necessários.

O mecanismo está disponível para usuários de Windows, Mac OS X e Linux, e possui aproximadamente 2,5 MB, podendo ser baixado no endereço http://code.google.com/appengine/.

Fonte: iParaiba

terça-feira, 8 de abril de 2008

Identificando o Tipo de Dados

Como o VBScritp consegue identificar uma série de subtipos de variáveis, será necessário, às vezes, que você saiba qual o subtipo com o qual você está trabalhando no seu script. Para isso, usaremos a função VarType que identifica o subtipo por um valor numérico. A tabela abaixo descreve os valores retornados pela função:

SubTipo = Valor Retornado
Empty = 0
Null = 1
Integer = 2
Long = 3
Single = 4
Double = 5
Currency = 6
Date(Time) = 7
String = 8
Automation Object = 9
Error = 10
Boolean = 11
Variant = 12
Non-Automation Object = 13
Byte = 17
Array = 8192

Microsoft faz concurso para desenvolvedores

Para participar do concurso do blog Ócio 2007, da Microsoft, usuário deve criar um aplicativo inusitado com o Office.

O blog Ócio 2007 (www.ocio2007.com.br), iniciativa da divisão de negócios Office da Microsoft Brasil, lançou o concurso Ócio Aplicado, voltado para os que usam os softwares do pacote Office.

Para participar é preciso preencher uma ficha de inscrição e encaminhá-la até o final de abril para o e-mail concurso@ocio2007.com.br, com um aplicativo desenvolvido com um dos programas do Office (Word, Excel, PowerPoint, OneNote, Visio, Access, Publisher ou Outlook). Os aplicativos devem ser inusitados e divertidos.

O vencedor ganhará um kit Microsoft com Windows Vista Ultimate, Microsoft Office Professional 2007, Microsoft LifeCam NX-3000, além de um mouse e um teclado.

Para avaliar os trabalhos, foi criada uma comissão julgadora formada pela equipe do Ócio e especialistas.

Fonte: Info CORPORATE

sexta-feira, 4 de abril de 2008

Americano vende endereço 'pizza.com' e ganha US$ 2,6 milhões

O nova-iorquino Chris Clark vendeu por US$ 2,6 milhões, em um leilão, o domínio de internet "pizza.com", que havia comprado em 1994 por US$ 20, informou nesta sexta-feira (4) o "New York Post".

Clark e sua família comemoraram da maneira que consideraram mais adequada para a ocasião: comendo pizza. O jornal calcula que, com o dinheiro obtido, o vendedor poderia comprar 1,3 milhões de pedaços de pizzas, a um preço de US$ 2,00 cada um.

Clark, que tem uma empresa de consultoria para páginas web, havia comprado esse domínio com a intenção de convencer uma pizzaria de tornar sua sócia, mas como não conseguiu o acordo, manteve o domínio.

O leilão recebeu um total de 24 ofertas, que fizeram com que o preço subisse dos US$ 100 iniciais para os US$ 2,6 milhões, segundo dados da Sedo, a plataforma virtual de compra-venda de nomes de domínio e páginas web na internet.

fonte: G1

quinta-feira, 3 de abril de 2008

Google vai demitir 300 na DoubleClick

Informações publicadas no New York Times desta quinta-feira, 03, afirmam que o Google deverá demitir 300 funcionários da recém-adquirida DoubleClick. A empresa não confirmou a informação, porém o jornal afirma que sua fonte é "alguém que tem conhecimento direto sobre os planos do Google".

O corte já era esperado por analistas e representa um quarto da força de trabalho da DoubleClick. O buscador também planeja vender a unidade Performics Search Marketing, da empresa, responsável pelo melhor posicionamento de clientes em sites como Yahoo! e Microsoft.

Em 2007, o Google contratou mais de 6.100 funcionários e fechou o ano com 16.805 profissionais em todo o mundo.

Fonte: baguete

quinta-feira, 27 de março de 2008

Idade()

Calculo da idade

Function Idade(ByVal datanascimento)
    Dim n1, n2, dataatual
    dataatual = Now()
    If Month(dataatual) >= Month(datanascimento) Then
        If Day(dataatual) >= Day(datanascimento) Then
            n1 = Year(dataatual)
            n2 = Year(datanascimento)
            idade = n1-n2
        Else
            n1 = Year(dataatual)
            n2 = Year(datanascimento)
            idade = n1-n2-1
        End If
    Else
        n1 = Year(dataatual)
        n2 = Year(datanascimento)
        idade = n1-n2-1
    End If
End Function

terça-feira, 18 de março de 2008

limpalogin()

Função para previnir sql injection

Function limpalogin(str)
    str = trim(str)
    str = lcase(str)
    str = replace(str,"=","")
    str = replace(str,"'","")
    str = replace(str,"""""","")
    str = replace(str," or ","")
    str = replace(str," and ","")
    str = replace(str,"(","")
    str = replace(str,")","")
    str = replace(str,"<","[")
    str = replace(str,">","]")
    str = replace(str,"update","")
    str = replace(str,"-shutdown","")
    str = replace(str,"--","")
    str = replace(str,"'","")
    str = replace(str,"#","")
    str = replace(str,"$","")
    str = replace(str,"%","")
    str = replace(str,"¨","")
    str = replace(str,"&","")
    str = replace(str,"'or'1'='1'","")
    str = replace(str,"--","")
    str = replace(str,"insert","")
    str = replace(str,"drop","")
    str = replace(str,"delet","")
    str = replace(str,"xp_","")
    str = replace(str,"select","")
    str = replace(str,"*","")
    limpalogin = str
End Function

segunda-feira, 10 de março de 2008

Maiuscula()

Função que deixa somente as iniciais da string em maiúsculo.

Function maiuscula(str)
    MeuArray = Split(str," ")
    For i = LBound(MeuArray) To UBound(MeuArray)
        resultado = resultado & UCase(LEFT(MeuArray(i),1)) & LCase(RIGHT(MeuArray(i),Len(MeuArray(i))-1)) & " "
    Next
    maiuscula = resultado
End Function

quinta-feira, 6 de março de 2008

ValidarMail()

Validar email com expressões regulares.

Function ValidarMail(myEmail)
    dim isValidE
    dim regEx

    isValidE = True
    set regEx = New RegExp

    regEx.IgnoreCase = False

    regEx.Pattern = "^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$"
    isValidE = regEx.Test(myEmail)

    ValidarMail = isValidE
End Function

terça-feira, 4 de março de 2008

WriteFile()

Salva uma string em um arquivo, sobrescrevendo o arquivo se ele existir.
O FileName pode ser um caminho absoluto ou relativo.

Function WriteFile(ByVal FileName, ByRef Varn)      
    On Error Resume Next
      
    If Mid(FileName, 2, 1) <> ":" Then
        FileName = Server.MapPath(FileName)
    End If
    If Err Then Err.Clear
      
    On Error GoTo 0
       
    Dim F
    Set F = OpenFile(FileName, 2, True)
        
    If F Is Nothing Then
        WriteFile = False
        Exit Function
    End If
        
    On Error Resume Next
        
    F.Write Varn
    If Err Then
        Err.Clear
        F.Close
        On Error GoTo 0
        WriteFile = False
        Exit Function
    End If
        
    On Error GoTo 0
        
    F.Close
    Set F = Nothing
    WriteFile = True        
End Function

quinta-feira, 28 de fevereiro de 2008

UnEscape()

Decodifica uma string de URL

Function UnEscape(ByVal Str)    
    Dim i, Nova, h, j, c, ln    
    For i = 1 To 255
        h = Hex(i)
        If Len(h) = 1 Then h = "0" & h
        h = "%" & h
        Str = eregi_replace(h, Chr(i), Str)
    Next    
    UnEscape = Str    
End Function

quarta-feira, 27 de fevereiro de 2008

TrimChop()

Remove seqüências de caracteres brancos de dentro da string

Function TrimChop(ByVal Str)
    Dim i, rm, c, nw, a
    Str = Trim(Str)
    nw = ""
    rm = False
    For i = 1 To Len(Str)
        c = Mid(Str, i, 1)
        a = Asc(c)
        If a < 33 Or a = 160 Then
            If Not rm Then
            rm = True
            nw = nw & c
            End If
        Else
            rm = False
            nw = nw & c
        End If
    Next
    TrimChop = nw
End Function

quinta-feira, 21 de fevereiro de 2008

StripTags

Função que remove todas as tags HTML

Function StripTags(ByRef Str)

Str = Str & ""
If Str = "" Then
StripTags = ""
Exit Function
End If

Dim nw, i, j, c, k, x

i = 1
x = 1
k = Len(Str)
nw = ""

Do While i > 0
i = InStr(i, Str, "<")
If i = 0 Then Exit Do

j = InStr(i, Str, ">")
If j < i Then Exit Do

c = Mid(Str, i + 1, 1)
If ereg("^[a-zA-Z/!]$", c) Then
nw = nw & Mid(Str, x, i - x)
i = j + 1
x = i
Else
i = i + 1
End If

If i >= k Then Exit Do
Loop

nw = nw & Mid(Str, x, k - x + 1)
StripTags = nw

End Function

quarta-feira, 30 de janeiro de 2008

capitalizeMe()

Função para capitalizar a primeira letra de cada palavra entrou num campo de formulário.

<
SCRIPT LANGUAGE="JAVASCRIPT">
<!--
function capitalizeMe(obj) {

val = obj.value;

newVal = '';

val = val.split(' ');

for(var c=0; c < val.length; c++) {

newVal += val[c].substring(0,1).toUpperCase() +
val[c].substring(1,val[c].length) + ' ';
}

obj.value = newVal;

}


// -->

</SCRIPT>


Exemplo de uso.:

<FORM NAME="TEST">

<INPUT TYPE="TEXT" NAME="TESTER" onChange="capitalizeMe(this)">
</FORM>

sexta-feira, 25 de janeiro de 2008

ReadFile()

Lê um arquivo no modo texto.
O FileName pode ser um caminho absoluto ou relativo.

Function ReadFile(ByVal FileName)

On Error Resume Next

If Mid(FileName, 2, 1) <> ":" Then
FileName = Server.MapPath(FileName)
End If
If Err Then Err.Clear

On Error GoTo 0

Dim F
Set F = OpenFile(FileName, 1, False)

If F Is Nothing Then
ReadFile = ""
Exit Function
End If

If Not F.AtEndOfStream Then
ReadFile = F.ReadAll
Else
ReadFile = ""
End If

F.Close
Set F = Nothing

End Function

quarta-feira, 16 de janeiro de 2008

ReadDir()

Lê o conteúdo de uma pasta e retorna uma array de arrays.
A array retornada tem essa estrutura:
Arr(...)(0) => Nome do objeto
Arr(...)(1) => Caminho físico completo do objeto
Arr(...)(2) => Tipo de objeto (1 = arquivo, 2 = pasta)
Retorna Null se ocorrer erro.
O DirName pode ser um caminho absoluto ou relativo.

Function ReadDir(ByVal DirName)

On Error Resume Next

If Mid(DirName, 2, 1) <> ":" Then
DirName = Server.MapPath(DirName)
End If
If Err Then Err.Clear

On Error GoTo 0

Dim FSO, D
Dim Arr, i, El, Aux(2)

Arr = Array()
i = -1

Set FSO = Server.CreateObject("Scripting.FileSystemObject")

On Error Resume Next

Set D = FSO.GetFolder(DirName)
If Err Then
Set FSO = Nothing
ReadDir = Null
Exit Function
End If

On Error GoTo 0

For Each El In D.SubFolders
Aux(0) = El.Name
Aux(1) = El.Path
Aux(2) = 2
i = i + 1
ReDim Preserve Arr(i)
Arr(i) = Aux
Next

For Each El In D.Files
Aux(0) = El.Name
Aux(1) = El.Path
Aux(2) = 1
i = i + 1
ReDim Preserve Arr(i)
Arr(i) = Aux
Next

Set D = Nothing
Set FSO = Nothing
ReadDir = Arr

End Function

quarta-feira, 9 de janeiro de 2008

ReadBinary()

Lê um arquivo no modo binário.
O FileName pode ser um caminho absoluto ou relativo.

Function ReadBinary(ByVal FileName)

On Error Resume Next

If Mid(FileName, 2, 1) <> ":" Then
FileName = Server.MapPath(FileName)
End If
If Err Then Err.Clear

On Error GoTo 0

Dim Strm
Set Strm = Server.CreateObject("Adodb.Stream")
Strm.Type = 1 'Binary
Strm.Open

On Error Resume Next

Strm.LoadFromFile FileName

If Err Then
Err.Clear
Set Strm = Nothing
ReadBinary = Null
On Error GoTo 0
Exit Function
End If

On Error GoTo 0

ReadBinary = Strm.Read
Strm.Close
Set Strm = Nothing

End Function

sexta-feira, 4 de janeiro de 2008

ValidaCPF()

Função em C# para validar um número de CPF.

public bool ValidaCPF(string cpf)
{
int[] multiplicador1 = new int[9] { 10, 9, 8, 7, 6, 5, 4, 3, 2 };
int[] multiplicador2 = new int[10] { 11, 10, 9, 8, 7, 6, 5, 4, 3, 2 };
string tempCpf;
string digito;
int soma;
int resto;

cpf = cpf.Trim();
cpf = cpf.Replace(".", "").Replace("-", "");

if (cpf.Length != 11)
return false;

tempCpf = cpf.Substring(0, 9);
soma = 0;
for(int i=0; i<9; style="font-family:courier new;"> soma += int.Parse(tempCpf[i].ToString()) * multiplicador1[i];

resto = soma % 11;
if (resto < face="courier new"> resto = 0;
else
resto = 11 - resto;

digito = resto.ToString();

tempCpf = tempCpf + digito;

soma = 0;
for(int i=0; i<10; style="font-family:courier new;"> soma += int.Parse(tempCpf[i].ToString()) * multiplicador2[i];

resto = soma % 11;
if (resto < face="courier new"> resto = 0;
else
resto = 11 - resto;

digito = digito + resto.ToString();

return cpf.EndsWith(digito);
}

quinta-feira, 3 de janeiro de 2008

OpenFile()

Abre um arquivo e retorna um objeto TextStream.
O FileName pode ser um caminho absoluto ou relativo.

Function OpenFile(ByVal FileName, ByVal oMode, ByVal Create)

Dim FSO, F
Set FSO = Server.CreateObject("Scripting.FileSystemObject")

On Error Resume Next

If Mid(FileName, 2, 1) <> ":" Then
FileName = Server.MapPath(FileName)
End If
If Err Then Err.Clear

Set F = FSO.OpenTextFile(FileName, oMode, Create)

If Err Then
Err.Clear
On Error GoTo 0
Set FSO = Nothing
Set OpenFile = Nothing
Exit Function
End If

On Error GoTo 0

Set OpenFile = F
Set FSO = Nothing

End Function