Jump to content
  1. Re: Angular js

    antseq
    By antseq,

    Viva,

    Está a iniciar em AngularJS por força/obrigação de algum curso que está a fazer ou por iniciativa própria de aprender "Angular"?

    Se é por iniciativa própria... esqueça o AngularJS e aceda ao "Angular" (https://angular.io/) este sim interessa (desde Angular 2) aprender nos dias de hoje (já vai na v11 e já trabalho com ele desde a v6).

    Para aprender Angular recomendo este curso (aproveite as promoções para comprar a 9,99 ou a 14,99) "Angular - The Complete Guide (2021 Edition)" em "https://www.udemy.com/course/the-complete-guide-to-angular-2/"

    Fiz o curso (versão Angular 6)... comprei numa promoção... mas vale até mais do que o valor "real" pedido pelo autor da formação.

    cps,

    • 1 reply
  2. Re: Pesquisa id num ficheiro para retornar nome

    rbsrbs_dev
    By rbsrbs_dev,

    Olá alphasil,

    Secalhar para a próxima será melhor partilhares as estruturas utilizadas e descreveres a estrutura da informação no ficheiro.

    Pelo que percebi o ficheiro contêm em cada linha um id(inteiro), nome(string) e um numero variavel de inteiros. Tudo delimitado por espaços.

    E a partir de um id introduzido pelo utilizador queres procurar por esse id e mostrar o respetivo nome. Caso não encontre mostra erro.


    Caso seja isto o pretendido, os maiores problemas são: 

    • quando fazes fscanf não estás a ler a linha completa do ficheiro, o que vai fazer com que os seguintes ciclos continuem a ler os restantes valores da linha anterior.
    • o else deves passa-lo para o fim do ciclo (fora), porque como contêm um return caso não encontres o item na primeira linha não vais deixar continuar a percorrer a leitura do ficheiro.


    Aqui está uma sugestão:

    while (fscanf(fp, "%d %s %*[^\n]\n", &f.id, f.nomecompleto) == 2)
    {
        if (f.id == id)
        {
            printf("Login efetuado com sucesso.\n");
            printf("None: %s.\n", f.nomecompleto);
            return 1;
        }
    }
    
    printf("erro.\n");
    return 0;


    Mantive o fscanf só para não deviar do original, mas é recomendado utilizares outras formas mais seguras e práticas na leitura do ficheiro como por exemplo fgets/sscanf ou fgets/strtok/strtol.
    O " %*[^\n]\n" serve para ler e ignorar uma quantidade aleatoria de caracteres até chegar ao '\n' e por fim consumi-lo.
    A condição do while é mais correto desta forma porque é possivel falhar muito antes de atingires EOF
    Caso não saibas: o fscanf em caso de sucesso retorna o numero de atribuições bem sucedidas (sem contar com os specifiers ignorados com '*'), é a razão do dois.

    • 1 reply
  3. Re: Angular js

    N3lson
    By N3lson,

    Boas alguém que me possa ajudar nos seguinte

    Estou a iniciar em angular js, e estou com problema no seguinte:

    Estava a usar o sammy's para efectuar o route e depois para efectuar o necessário existia o .then

    this.get('#/ofertas', function(context) {
    
                let $endereco = "./paginas/ofertasV.asp"
    
                this.load($endereco).then(function(conteudo) {
    
                    $pagina.html(conteudo);
                    $("#nomepag").text($txt_contactos);
    
    
    
                   $(".btn-ovpendente").on("click", function() {
    
                        $.ajax({
                            url: "paginas/dtc.asp",
                            method: "get",
                            cache: !1,
                            async: !1,
                            data: { emp: "x", T1: $(this).data("item") },
                            success: function(resp) {
                                $(document).find("#modd").html(resp)
                            }
                        });
                    });
    
                });
    
            });

    Mas agora no angular gostaria de saber como o fazer após ter carregado a view como propagar eventos ou acções

    app.config(function($routeProvider) {
    
        $routeProvider
    
            .when("/", {
    
                templateUrl: "./paginas/inicio.asp"
    
            })
    
            .when("/ofertas", {
    
                templateUrl: "./paginas/ofertasV.asp"
    
            })
    
    });

    Agradeço ajuda ou algum link para poder consultar documentação pois no site do angular é um pouco confuso

     

    • 1 reply
  4. Re: Funções em C

    rbsrbs_dev
    By rbsrbs_dev,
    Quote

    É importante referir que funções sem argumentos devem ter explicitado void. Isto deve-se ao facto do gcc (compilador de C da GNU) ser altamente permissivo (e não sei se este comportamento está devidamente documentado no standard, terei de ler). Ou seja, se não indicarmos o void, podemos fazer pérolas destas sem que o gcc se queixe de nada:

    De facto o gcc é permissivo principalmente pelo facto de por default não conformar com nenhum C standard ISO, mas sim outros como o gnu90 ou gnu11 desde a versão 5.1.0.
    Especificando flags como `-std=c11 -pedantic` já não se verifica tanto essa permissividade.

    Mas neste caso é mesmo o standard que define esta situação como undefined behavior o que por norma os compiladores sem obrigação de reportar nada, compilam com todo o gosto silenciosamente :D

    O problema deve-se dessa definição de função não conter um protótipo válido: aquilo que os compiladores utilizam para verificar a validade dos function calls como quantidade e tipos dos argumentos. 

    Esta situação só advém por ainda ser válido em C11 declarar e definir funções no estilo antigo K&R, embora se encontre como "obsolescent feature". Existem intenções de se remover de vez no próximo C23, mas não punha as mãos no fogo por isto.

    Os pontos relevantes a descrever a situação dos parâmetros no C11 standard draft são:
     

    Quote

    §6.5.2.2 Function calls

    6 If the expression that denotes the called function has a type that does not include a prototype, the integer promotions are performed on each argument, and arguments that have type float are promoted to double. These are called the default argument promotions. If the number of arguments does not equal the number of parameters, the behavior is undefined. [...]

    8 No other conversions are performed implicitly; in particular, the number and types of arguments are not compared with those of the parameters in a function definition that does not include a function prototype declarator.

     

    Quote

    §6.7.6.3 Function declarators (including prototypes)

    3 An identifier list in a function declarator that is not part of a definition of that function shall be empty.

    6 A parameter type list specifies the types of, and may declare identifiers for, the parameters of the function.

    10 The special case of an unnamed parameter of type void as the only item in the list specifies that the function has no parameters.

    14 An identifier list declares only the identifiers of the parameters of the function. An empty list in a function declarator that is part of a definition of that function specifies that the function has no parameters. The empty list in a function declarator that is not part of a definition of that function specifies that no information about the number or types of the parameters is supplied.145)

    145) See ‘‘future language directions’’ (6.11.6).

     

    Quote

    §6.9.1 Function definitions

    5 If the declarator includes a parameter type list, the declaration of each parameter shall include an identifier, except for the special case of a parameter list consisting of a single parameter of type void, in which case there shall not be an identifier. No declaration list shall follow.

    6 If the declarator includes an identifier list, each declaration in the declaration list shall have at least one declarator, those declarators shall declare only identifiers from the identifier list, and every identifier in the identifier list shall be declared. An identifier declared as a typedef name shall not be redeclared as a parameter. The declarations in the declaration list shall contain no storage-class specifier other than register and no initializations.

    7 The declarator in a function definition specifies the name of the function being defined and the identifiers of its parameters. If the declarator includes a parameter type list, the list also specifies the types of all the parameters; such a declarator also serves as a function prototype for later calls to the same function in the same translation unit. If the declarator includes an identifier list,163) the types of the parameters shall be declared in a following declaration list. In either case, the type of each parameter is adjusted as described in 6.7.6.3 for a parameter type list; the resulting type shall be a complete object type.

    163) See ‘‘future language directions’’ (6.11.7).

     

    Quote

    6.11 Future language directions

    §6.11.6 Function declarators

    1 The use of function declarators with empty parentheses (not prototype-format parameter type declarators) is an obsolescent feature.

    §6.11.7 Function definitions

    1 The use of function definitions with separate parameter identifier and declaration lists (not prototype-format parameter type and identifier declarators) is an obsolescent feature.

    Na introdução descrevem o que querem dizer com `obsolescent`:

    Quote

    Introduction

    2 Certain features are obsolescent, which means that they may be considered for withdrawal in future revisions of this International Standard. They are retained because of their widespread use, but their use in new implementations (for implementation features) or new programs (for language [6.11] or library features [7.31]) is discouraged.

     

    TL;RD:

    int
    // Function declaration K&R-style
    // Not a valid prototype
    foo_old();
    
    int
    foo_old(a, b); // Invalid by point 3 in §6.7.6.3
    
    int
    // Function definition K&R-style
    // Not a valid prototype
    foo_old(a, b) // <- identifier list
    int a; int b; // <- parameter type list
    {return a + b;}
    
    
    int
    // Function declaration ANSI/ISO C
    // Valid prototype
    foo_new(int a, int b); // <- parameter type list
    
    int
    // Function declaration ANSI/ISO C
    // Valid prototype
    foo_new(int, int); // <- parameter type list without identifiers
    
    int
    // Function definition ANSI/ISO C
    // Valid prototype
    foo_new(int a, int b)
    {return a + b;}

    Para funções que não recebem parâmetros:

    int
    // Indica que a função pode receber um quantidade não especificado de parâmetros e de tipos não especificados
    // K&R-style
    foo();
    
    int
    // Indica que a função não recebe nenhum parâmetro, mas como não constitui um protótipo válido não faz check
    // K&R-style
    foo()
    {return 42;}
    
    int
    // Indica que a função não recebe nenhum parâmetro
    // New style
    foo(void);
    
    int
    // Indica que a função não recebe nenhum parâmetro
    // New style
    foo(void)
    {return 42;}

     

    • 5 replies
  5. Re: Utilizar Webservices da AT

    Cláudio Moreira
    By Cláudio Moreira,

    Bom dia Caros,

    Estou a implementar, em c# o webservice da AT, para comunicar o Importo Selo https://servicos.portaldasfinancas.gov.pt:721/DmisServiceImplService, já ultrapassei (penso eu) todos os problemas de autenticação, mas agora estou-me a deparar com o seguinte problema:

    Ao invocar o método DmisSubmission, um dos campos é o AlreadyPaidTaxAmount, um campo decimal que está na assinatura do método, ilustrando:

    DmisSubmission(short TaxableEntityTaxOfficeCode, 
    int TaxableEntityTaxID, 
    string TaxPeriod, 
    bool SubstitutionDeclaration, 
    int TaxRepresentativeTaxID, 
    int CertifiedAccountantTaxID, 
    int DeclarationLinesQuantity, 
    int DeclarationLinesBlocksQuantity, 
    DeclarationLinesBlockType DeclarationLinesBlock, 
    decimal AlreadyPaidTaxAmount, 
    out DmisRegistrationDataType DmisRegistrationData)

    A questão é que a AT me obriga a enviar null no campo AlreadyPaidTaxAmount se o campo SubstitutionDeclaration="false".

    Passando qualquer coisa neste campo, quando o SubstitutionDeclaration="false", obtenho o seguinte erro:

    System.ServiceModel.FaultException: simple-type 1: element {http://servicos.portaldasfinancas.gov.pt/dmis/dmisService}AlreadyPaidTaxAmount value '0.0' is not a valid instance of type {http://servicos.portaldasfinancas.gov.pt/dmis/dmisService}PositiveMonetaryType

     

    Alguém já teve este problema e o consegui ultrapassar? 

    • 8,929 replies
  6. Re: WebScraping

    Caiocof
    By Caiocof,

    Boa dia @AshKetshup.

    Estou utilizando Python com o mechanize para executar a requisição através de um POST.

    • 2 replies
  7. Re: AT - questões legais

    karlynhuz
    By karlynhuz,
    15 hours ago, CrominhO said:

    Honestamente, e não é duvidar da tua palavra, mas custa-me a crer que a PHC tenha dito tal coisa lol :D 

    Repara, aqui no fórum, nós analistas e programadores, a falar directamente uns com os outros ás vezes não nos entendemos, quanto mais com cliente pelo meio, ou ainda pior com revendedor :D ... Do género, a PHC diz alguma coisa ao revender, o revendedor diz ao cliente, o cliente diz ao contabilista, e o contabilista pergunta-te a ti :D kkk :D 

    Acresce que o SAFT, como aqui já foi dito várias vezes, na norma PT, é só um, e aí tem de levar tudo sem excepção (Auditoria), o que acontece é que depois usamos esse ficheiro de auditoria para várias coisas, Contabilidade, Facturação, comunicação de documentos à AT, etc... e aí de facto só vai, o que está previsto em cada ponto. 

    Não haverá aí alguma série comunicada por Webservice para RITTI ou extracomunitários, ou mesmo noutro ficheiro à parte uma vez que o Webservice normalmente implica que tudo siga por webservice?  -> não sei, tou a inventar e a desanuviar como propuseste :D ... Uma coisa é certa, especialmente com mais gente pelo meio, custa-me a acreditar que a PHC dissesse uma borrada dessas a um cliente :D  

     

    Concordo em pleno. Quando o meu contabilista me contou isto também não me fez sentido algum e claro que não tomo por garantida nunca informação do tipo "diz que disse". Tenho sérias dúvidas que um software como o PHC tenha sequer a possibilidade de deixar acontecer isto por má configuração de um agente. Mas nem é garantido que o software seja realmente o PHC. Diz que é!

    Mas pronto. Folgo em saber que não sou só eu que achei isto muito estranho. Obrigado pelas vossa opiniões. 

    • 5,785 replies
  8. Re: WebScraping

    AshKetshup
    By AshKetshup,

    Olá @Caiocof.
    Normalmente costuma existir.
    Qual a tecnologia que estás a usar para fazer o webscrapping?
    Talvez te consiga ajudar mais.

    • 2 replies
  1. Load more activity
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.