Ir para conteúdo
Fórum Script Brasil

fabianocouto

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre fabianocouto

fabianocouto's Achievements

0

Reputação

  1. Olá a todos, Sou novo por aqui e estou começando a aprender a linguagem. Estou iniciando meus estudos migrando algumas bibliotecas que tenho feito em VB, mas estou tendo algumas dificuldades. Abaixo segue parte o código que é de uma DLL para quem possa ajudar. // cpf_cnpj.cpp : Defines the entry point for the DLL application. // #include <windows.h> // Standard Windows Include #include <iostream.h> #include <conio.h> #include <stdio.h> #include <stdlib.h> #include "StdAfx.h" bool __stdcall CheckCPF(LPCSTR Number); LPCSTR pRemoverFormato(LPCSTR szNumber); BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ) { switch (ul_reason_for_call) { case DLL_PROCESS_ATTACH: case DLL_THREAD_ATTACH: case DLL_THREAD_DETACH: case DLL_PROCESS_DETACH: break; } return TRUE; } bool _stdcall CheckCPF(LPCSTR Number) { int nd[2], sd[2]; double acum; int resto; int idx, nctr, nloop, coef; int tam; LPCSTR sNum; // Aqui na compilação diz que a função ou variável não foi declarada // Se eu apago ou comento a linha tudo funciona sNum = pRemoverFormato(Number); // tam = strlen(sNum); if (tam != 11) { ::MessageBox(NULL, "O número do CPF deve conter 11 dígitos.", "Biblioteca de validação de CPF/CNPJ", 0); return false; } nd[0] = sNum[9]; nd[1] = sNum[10]; for (nctr = 0; nctr <= 1; nctr++) { coef = 2; acum = 0; resto = 0; idx = nctr + 9; for (nloop = idx; nloop >= 1; nloop--) { acum += sNum[nloop] * coef; coef++; } resto = (int) acum % 11; resto = ((resto = 0) || (resto = 1)) ? 0 : (11 - resto); nd[nctr] = resto; } return ((nd[0] == sd[0]) && (nd[1] == sd[1])); } /* Como não consigui trabalhar direito com string, char etc, porque não consigo um entendimento claro isso foi o máximo que consegui através de exemplos, se puder melhor e dizer aonde está os erros, agradeço */ LPCSTR pRemoverFormato(LPCSTR szNumber) { int i, n, l; char AscChar[1]; //char newString[] = "", argString[] = ""; LPCSTR newString = "", str_ret; n = strlen(szNumber); //strcpy(argString, szNumber); for (i; i <= n; i++) { l = szNumber[i]; AscChar[1] = szNumber[i]; if ((l >= 48) && (l <= 57)) { //strcat(newString, AscChar); newString += szNumber[i]; } } str_ret = newString; return str_ret; } Aqui o erro do compilador D:\projetos.C++\cpf_cnpj\cpf_cnpj.cpp(47) : error C2065: 'pRemoverFormato' : undeclared identifier Obrigado a quem puder ajudar.
×
×
  • Criar Novo...