Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

silas_i

esta em delphi preciso em Javascript

Recommended Posts

veja este código abaixo:

 

function Valida_CMC7(Entrada:String) : Boolean;var campo1, campo2, campo3 : String;begin Entrada := SoNumero(Entrada); campo1 := Copy(entrada,1,7); campo2 := Copy(entrada,9,10); campo3 := Copy(entrada,20,10); Result := True; if Modulo10(campo1) <> Copy(Entrada,19,1) then    Result := False Else if Modulo10(campo2) <> Copy(Entrada,8,1) then    Result := False Else if Modulo10(campo3) <> Copy(Entrada,30,1) then    Result := False;end;

preciso passar ele para Javascript para verificação do CMC7 (validação de cheque)

 

Alguém pode me ajudar !?

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara eh preciso saber o que algumas funções fazemtipo SoNumero: deduzo que seja uma função pra retirar todo e qualquer caracter não numericocopy: o que isso faz, sera uma especie de substring do JS, já que ele poe dois numeros como parametros poderia muito bem ser inicio e tamnho, mas não sei...modulo10: que diabo é isso será que é parecido com o mod do ASP quevolve o resto, ai seria numero mod 10, o resto do numero dividido por 10...bem é preciso saber isso pra não fazer nada errado pra você silas...se encontrar estas funções poe aqui que olho a parada...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Xi vai ficar difícil pq eu tb não sei e de onde eu peguei não fala nada só tem essa função e pronto.Bom vou continuar procurando, qualquer coisa posto aqui.Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mario,

 

Achei em SQL será que ajuda !?

 

veja...

 

CREATE OR REPLACE FUNCTION FuncVeriCmc7 (xCmc7 IN VARCHAR) RETURN NUMBER IS  vRetorno NUMBER := 0;  vCalculo NUMBER := 0;  vTotal   NUMBER := 0;  pCmc7    CHAR(34) := trim(xcmc7);  vPos2    NUMBER := 0; vPos3  NUMBER := 0; vPos4  NUMBER := 0;  vPos5    NUMBER := 0; vPos6  NUMBER := 0; vPos7  NUMBER := 0;  vPos8    NUMBER := 0; vPos9  NUMBER := 0; vPos11 NUMBER := 0;  vPos12   NUMBER := 0; vPos13 NUMBER := 0; vPos14 NUMBER := 0;  vPos15   NUMBER := 0; vPos16 NUMBER := 0; vPos17 NUMBER := 0;  vPos18   NUMBER := 0; vPos19 NUMBER := 0; vPos20 NUMBER := 0;  vPos22   NUMBER := 0; vPos23 NUMBER := 0; vPos24 NUMBER := 0;  vPos25   NUMBER := 0; vPos26 NUMBER := 0; vPos27 NUMBER := 0;  vPos28   NUMBER := 0; vPos29 NUMBER := 0; vPos30 NUMBER := 0;  vPos31   NUMBER := 0; vPos32 NUMBER := 0; vPos33 NUMBER := 0;  /* Função para verificação do CMC7 capturado para inclusão de cheques.    Caso esteja OK retorna 1, se houver qualquer problema retorna 0. */BEGIN  IF length(pcmc7)=34 THEN     IF instr('0123456789',substr(pcmc7,2,1))>0 AND instr('0123456789',substr(pcmc7,3,1))>0 AND        instr('0123456789',substr(pcmc7,4,1))>0 AND instr('0123456789',substr(pcmc7,5,1))>0 AND        instr('0123456789',substr(pcmc7,6,1))>0 AND instr('0123456789',substr(pcmc7,7,1))>0 AND        instr('0123456789',substr(pcmc7,8,1))>0 AND instr('0123456789',substr(pcmc7,9,1))>0 AND        instr('0123456789',substr(pcmc7,11,1))>0 AND instr('0123456789',substr(pcmc7,12,1))>0 AND        instr('0123456789',substr(pcmc7,13,1))>0 AND instr('0123456789',substr(pcmc7,14,1))>0 AND        instr('0123456789',substr(pcmc7,15,1))>0 AND instr('0123456789',substr(pcmc7,16,1))>0 AND        instr('0123456789',substr(pcmc7,17,1))>0 AND instr('0123456789',substr(pcmc7,18,1))>0 AND        instr('0123456789',substr(pcmc7,19,1))>0 AND instr('0123456789',substr(pcmc7,20,1))>0 AND        instr('0123456789',substr(pcmc7,22,1))>0 AND instr('0123456789',substr(pcmc7,23,1))>0 AND        instr('0123456789',substr(pcmc7,24,1))>0 AND instr('0123456789',substr(pcmc7,25,1))>0 AND        instr('0123456789',substr(pcmc7,25,1))>0 AND instr('0123456789',substr(pcmc7,26,1))>0 AND        instr('0123456789',substr(pcmc7,27,1))>0 AND instr('0123456789',substr(pcmc7,28,1))>0 AND        instr('0123456789',substr(pcmc7,29,1))>0 AND instr('0123456789',substr(pcmc7,30,1))>0 AND        instr('0123456789',substr(pcmc7,31,1))>0 AND instr('0123456789',substr(pcmc7,32,1))>0 AND        instr('0123456789',substr(pcmc7,33,1))>0 THEN        vPos2 := to_number(substr(pcmc7,2,1)); vPos3 := to_number(substr(pcmc7,3,1)); vPos4 := to_number(substr(pcmc7,4,1));        vPos5 := to_number(substr(pcmc7,5,1)); vPos6 := to_number(substr(pcmc7,6,1)); vPos7 := to_number(substr(pcmc7,7,1));        vPos8 := to_number(substr(pcmc7,8,1)); vPos9 := to_number(substr(pcmc7,9,1)); vPos11 := to_number(substr(pcmc7,11,1));        vPos12 := to_number(substr(pcmc7,12,1)); vPos13 := to_number(substr(pcmc7,13,1)); vPos14 := to_number(substr(pcmc7,14,1));        vPos15 := to_number(substr(pcmc7,15,1)); vPos16 := to_number(substr(pcmc7,16,1)); vPos17 := to_number(substr(pcmc7,17,1));        vPos18 := to_number(substr(pcmc7,18,1)); vPos19 := to_number(substr(pcmc7,19,1)); vPos20 := to_number(substr(pcmc7,20,1));        vPos22 := to_number(substr(pcmc7,22,1)); vPos23 := to_number(substr(pcmc7,23,1)); vPos24 := to_number(substr(pcmc7,24,1));        vPos25 := to_number(substr(pcmc7,25,1)); vPos26 := to_number(substr(pcmc7,26,1)); vPos27 := to_number(substr(pcmc7,27,1));        vPos28 := to_number(substr(pcmc7,28,1)); vPos29 := to_number(substr(pcmc7,29,1)); vPos30 := to_number(substr(pcmc7,30,1));        vPos31 := to_number(substr(pcmc7,31,1)); vPos32 := to_number(substr(pcmc7,32,1)); vPos33 := to_number(substr(pcmc7,33,1));        /* Calculo da primeira parte */        vTotal   := 0;        vCalculo := 2*vPos2;        IF vCalculo>9 THEN vCalculo := to_number(substr(trim(to_char(vCalculo,'00')),1,1))+to_number(substr(trim(to_char(vCalculo,'00')),2,1)); END IF;        vTotal := vTotal + vCalculo;        vCalculo := 1*vPos3;        IF vCalculo>9 THEN vCalculo := to_number(substr(trim(to_char(vCalculo,'00')),1,1))+to_number(substr(trim(to_char(vCalculo,'00')),2,1)); END IF;        vTotal := vTotal + vCalculo;        vCalculo := 2*vPos4;        IF vCalculo>9 THEN vCalculo := to_number(substr(trim(to_char(vCalculo,'00')),1,1))+to_number(substr(trim(to_char(vCalculo,'00')),2,1)); END IF;        vTotal := vTotal + vCalculo;        vCalculo := 1*vPos5;        IF vCalculo>9 THEN vCalculo := to_number(substr(trim(to_char(vCalculo,'00')),1,1))+to_number(substr(trim(to_char(vCalculo,'00')),2,1)); END IF;        vTotal := vTotal + vCalculo;        vCalculo := 2*vPos6;        IF vCalculo>9 THEN vCalculo := to_number(substr(trim(to_char(vCalculo,'00')),1,1))+to_number(substr(trim(to_char(vCalculo,'00')),2,1)); END IF;        vTotal := vTotal + vCalculo;        vCalculo := 1*vPos7;        IF vCalculo>9 THEN vCalculo := to_number(substr(trim(to_char(vCalculo,'00')),1,1))+to_number(substr(trim(to_char(vCalculo,'00')),2,1)); END IF;        vTotal := vTotal + vCalculo;        vCalculo := 2*vPos8;        IF vCalculo>9 THEN vCalculo := to_number(substr(trim(to_char(vCalculo,'00')),1,1))+to_number(substr(trim(to_char(vCalculo,'00')),2,1)); END IF;        vTotal := vTotal + vCalculo;        IF vPos22 = to_number(substr(trim(to_char((10-to_number(substr(trim(to_char(vTotal,'00')),2,1))),'00')),2,1)) THEN          /* Calculo da segunda parte */          vTotal   := 0;          vCalculo := 1*vPos11;          IF vCalculo>9 THEN vCalculo := to_number(substr(trim(to_char(vCalculo,'00')),1,1))+to_number(substr(trim(to_char(vCalculo,'00')),2,1)); END IF;          vTotal := vTotal + vCalculo;          vCalculo := 2*vPos12;          IF vCalculo>9 THEN vCalculo := to_number(substr(trim(to_char(vCalculo,'00')),1,1))+to_number(substr(trim(to_char(vCalculo,'00')),2,1)); END IF;          vTotal := vTotal + vCalculo;          vCalculo := 1*vPos13;          IF vCalculo>9 THEN vCalculo := to_number(substr(trim(to_char(vCalculo,'00')),1,1))+to_number(substr(trim(to_char(vCalculo,'00')),2,1)); END IF;          vTotal := vTotal + vCalculo;          vCalculo := 2*vPos14;          IF vCalculo>9 THEN vCalculo := to_number(substr(trim(to_char(vCalculo,'00')),1,1))+to_number(substr(trim(to_char(vCalculo,'00')),2,1)); END IF;          vTotal := vTotal + vCalculo;          vCalculo := 1*vPos15;          IF vCalculo>9 THEN vCalculo := to_number(substr(trim(to_char(vCalculo,'00')),1,1))+to_number(substr(trim(to_char(vCalculo,'00')),2,1)); END IF;          vTotal := vTotal + vCalculo;          vCalculo := 2*vPos16;          IF vCalculo>9 THEN vCalculo := to_number(substr(trim(to_char(vCalculo,'00')),1,1))+to_number(substr(trim(to_char(vCalculo,'00')),2,1)); END IF;          vTotal := vTotal + vCalculo;          vCalculo := 1*vPos17;          IF vCalculo>9 THEN vCalculo := to_number(substr(trim(to_char(vCalculo,'00')),1,1))+to_number(substr(trim(to_char(vCalculo,'00')),2,1)); END IF;          vTotal := vTotal + vCalculo;          vCalculo := 2*vPos18;          IF vCalculo>9 THEN vCalculo := to_number(substr(trim(to_char(vCalculo,'00')),1,1))+to_number(substr(trim(to_char(vCalculo,'00')),2,1)); END IF;          vTotal := vTotal + vCalculo;          vCalculo := 1*vPos19;          IF vCalculo>9 THEN vCalculo := to_number(substr(trim(to_char(vCalculo,'00')),1,1))+to_number(substr(trim(to_char(vCalculo,'00')),2,1)); END IF;          vTotal := vTotal + vCalculo;          vCalculo := 2*vPos20;          IF vCalculo>9 THEN vCalculo := to_number(substr(trim(to_char(vCalculo,'00')),1,1))+to_number(substr(trim(to_char(vCalculo,'00')),2,1)); END IF;          vTotal := vTotal + vCalculo;          IF vPos9 = to_number(substr(trim(to_char((10-to_number(substr(trim(to_char(vTotal,'00')),2,1))),'00')),2,1)) THEN            /* Calculo da terceira parte */            vTotal   := 0;            vCalculo := 1*vPos23;            IF vCalculo>9 THEN vCalculo := to_number(substr(trim(to_char(vCalculo,'00')),1,1))+to_number(substr(trim(to_char(vCalculo,'00')),2,1)); END IF;            vTotal := vTotal + vCalculo;            vCalculo := 2*vPos24;            IF vCalculo>9 THEN vCalculo := to_number(substr(trim(to_char(vCalculo,'00')),1,1))+to_number(substr(trim(to_char(vCalculo,'00')),2,1)); END IF;            vTotal := vTotal + vCalculo;            vCalculo := 1*vPos25;            IF vCalculo>9 THEN vCalculo := to_number(substr(trim(to_char(vCalculo,'00')),1,1))+to_number(substr(trim(to_char(vCalculo,'00')),2,1)); END IF;            vTotal := vTotal + vCalculo;            vCalculo := 2*vPos26;            IF vCalculo>9 THEN vCalculo := to_number(substr(trim(to_char(vCalculo,'00')),1,1))+to_number(substr(trim(to_char(vCalculo,'00')),2,1)); END IF;            vTotal := vTotal + vCalculo;            vCalculo := 1*vPos27;            IF vCalculo>9 THEN vCalculo := to_number(substr(trim(to_char(vCalculo,'00')),1,1))+to_number(substr(trim(to_char(vCalculo,'00')),2,1)); END IF;            vTotal := vTotal + vCalculo;            vCalculo := 2*vPos28;            IF vCalculo>9 THEN vCalculo := to_number(substr(trim(to_char(vCalculo,'00')),1,1))+to_number(substr(trim(to_char(vCalculo,'00')),2,1)); END IF;            vTotal := vTotal + vCalculo;            vCalculo := 1*vPos29;            IF vCalculo>9 THEN vCalculo := to_number(substr(trim(to_char(vCalculo,'00')),1,1))+to_number(substr(trim(to_char(vCalculo,'00')),2,1)); END IF;            vTotal := vTotal + vCalculo;            vCalculo := 2*vPos30;            IF vCalculo>9 THEN vCalculo := to_number(substr(trim(to_char(vCalculo,'00')),1,1))+to_number(substr(trim(to_char(vCalculo,'00')),2,1)); END IF;            vTotal := vTotal + vCalculo;            vCalculo := 1*vPos31;            IF vCalculo>9 THEN vCalculo := to_number(substr(trim(to_char(vCalculo,'00')),1,1))+to_number(substr(trim(to_char(vCalculo,'00')),2,1)); END IF;            vTotal := vTotal + vCalculo;            vCalculo := 2*vPos32;            IF vCalculo>9 THEN vCalculo := to_number(substr(trim(to_char(vCalculo,'00')),1,1))+to_number(substr(trim(to_char(vCalculo,'00')),2,1)); END IF;            vTotal := vTotal + vCalculo;            IF vPos33 = to_number(substr(trim(to_char((10-to_number(substr(trim(to_char(vTotal,'00')),2,1))),'00')),2,1)) THEN              vRetorno := 1;            END IF;          END IF;        END IF;     END IF;  END IF;  RETURN vRetorno;END;/show errors;select funcvericmc7('>27500300>0090108845>500087055182>') from dual;/

Compartilhar este post


Link para o post
Compartilhar em outros sites

tambem cara, olha esse cacete de codigo q você posta... vai ser f*** alguem te ajudar... nen você mesmo sabe o q é essa parada...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.