Ir para conteúdo
Fórum Script Brasil

Jonathan Queiroz

Membros
  • Total de itens

    3.718
  • Registro em

  • Última visita

Posts postados por Jonathan Queiroz

  1. Na minha opinião o melhor é passar o próprio elemento ao invés de seu id, até porque alguns elementos podem não ter id.

    Mas pessoalmente prefiro passar o this não como parâmetro, mas como escopo da função:

    <input type="button" onclick="funcao.call(this)" />
    Dessa forma a função fica semelhante tanto utilizando código inline quanto setando o atributo onclick via Javascript. Exemplo:
    function funcao()
    {
        this.style.backgroundColor="blue"
    }
    onload=function()
    {
        var element = ...
        element.onclick=function()
        {
            this.style.backgroundColor="red"
        } //isso funciona
        elemento.onclick=funcao //isso também
    }
    Do contrário seria necessário fazer algo assim:
    function funcao(obj)
    {
        obj.backgroundColor="blue"
    }
    onload=function()
    {
        ....
        element.onclick=function()
        {
            funcao(this) //passamos o "this" como parâmetro
        }
    }

  2. Alguém me ajude!!1

    Como é que fazo este projecto?

    Peço que evite a postagem de up's conforme a regra 3.8 (ver regras)

    3.8 Não é permitida a postagem de mensagens com a finalidade de manter o tópico no início da lista (up), nem de mensagens que não se refiram ao assunto do tópico (flood). Caso isso ocorra, as mensagens serão excluídas e os autores, advertidos.

    De qualquer maneira, procure por Directory.GetFiles. Em C# ficaria mais ou menos assim:

    string[] files = Directory.GetFiles(System.Environment.CurrentDirectory, "*.mdb");
    Quando a listar as tabelas, veja se isso lhe ajuda: listar tabelas do access em .net. Em C# ficou algo assim:
    OleDbConnection conn = ...
    conn.Open();
    object[] restrictions = { null, null, null, "TABLE" };
    DataTable tables = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, restrictions);
    for (int i = 0; i < tables.Rows.Count; i++)
    {
        Console.WriteLine(tables.Rows[i]["TABLE_NAME"]);
    }
    conn.Close();

  3. Não se deve utilizar ponto-e-vírgula ao definir uma função, apenas quando ao declarar (explico a diferença) ou chamar.

    Exemplo:

    int quadrado(int numero); //declaro o protótipo da função quadrado
    int main(); //declaro o protótipo da função main
    
    //Defino a função main
    int main() /*sem ponto-e-vírgula aqui*/
    {
        //...
        int quadradoDeCinco = quadrado(5); //chamo a função passado o valor 5 como parâmetro
        //...
        return 0;
    }
    //Defino a função quadrado
    int quadrado(int numero) /*novamente sem ponto-e-vírgula aqui*/
    {
        return numero*numero;
    }
    A declaração de funções é necessária para que o compilador saiba que exista uma função com aquele nome. Da maneira como a compilação é feita, seria necessário que as funções chamadas pela função main estivessem antes dela:
    int quadrado(int numero)
    {
        return numero*numero;
    }
    int main()
    {
        ...
    }
    Isso pode ser facilmente resolvido declarando a função antes. Dessa forma, o compilador sabe de antemão que a função existe. Notas:
    • Tudo o que está entre /* e */ (tanto em C como C++) ou entre // e a próxima quebra de linha (apenas C++, que é a linguagem que está utilizando) é considerado comentário, isto é, não altera em nada o código.
    • Ao declarar protótipos para funções não é necessário nomear os parâmetros. Por exemplo, poderíamos simplesmente escrever:
      int quadrado(int);

    Edit:

    Não tinha visto o post do vini_loock. Basicamente você utiliza o ponto-e-vírgula para separar instruções ou declarar protótipos de funções e classes, mas não ao definir uma função.

  4. Para que a função seja passado no escopo correto você teria que remover os parênteses:

    onclick="mostrar"
    Mas, além de não funcionar no Firefox (pelo menos na versão que uso), você não teria como passar o parâmetro. O que você pode fazer é utilizar o método call da função:
    onclick="mostrar.call(this,argumento1,argumento2,argumento3,...)"
    Basicamente, o primeiro argumento é o escopo da função (isto é, o objeto a que a função tem acesso quando chama o this) e os demais são os parâmetros que devem ser passados. Segue um exemplo:
    <html>
    <head>
        <title>Test</title>
        <script type="text/javascript">
            function funcao1()
            {
                alert(this.innerHTML)
            }
            onload = function () {
                funcao1.call(document.body) //mostra o conteúdo do elemento <body>
                funcao1.call(document.getElementById("elemento1")) //mostra o conteúdo do elemento cujo id é "elemento1"
            }
        </script>
    </head>
    <body>
        <div id="elemento1">
            Elemento 1    
        </div>
        <div id="elemento2">
            Elemento 2
        </div>
    </body>
    </html>

  5. Ao invés de salvar mês/dia/ano como float seria melhor salvar como int, já que não existe dia 30.5 por exemplo. Para ler os dados você teria que utilizar %d ao invés de %f.

    Já para obter o resto da divisão você pode utilizar o operador %. Por exemplo:

    5 % 3 //2
    10 % 5 //0
    9 % 4 //1
    Ficaria algo assim:
    int var_passo1 = (dia*100 + mes) + ano;
    int var_passo2 = (var_passo1 / 100) + (var_passo1 % 100);
    int var_passo3 = var_passo2 % 5;
    Nota: como você está trabalhando com variáveis inteiras, a divisão entre dois números retorna sempre um número inteiro (por exemplo, 6/5 =1 e 20/7=2). Dessa forma, 1234/100 retorna 12 e 1234%100 retorna 34. Edit: Olhe isso:
    scanf("%f",&float);
    Acho que seu objetivo era escrever algo assim:
    scanf("%f",&mes);

×
×
  • Criar Novo...