Ir para conteúdo
Fórum Script Brasil

iSoron

Veteranos
  • Total de itens

    1.317
  • Registro em

  • Última visita

Posts postados por iSoron

  1. Antes de mais nada, você deve entender que um vetor é, na verdade, um ponteiro. Então, fica fácil retorná-lo. Mas aí aparecem dois problemas:

    Primeiro, as variáveis declaradas dentro de uma função só existem no escopo da função. Assim que a função termina, tudo o que existe dentro dela vai para o espaço, inclusive o valor que você acabou de retornar. Para evitar isso, use o malloc. Nos tópicos fixos há alguns textos sobre alocação dinâmica e ponteiros, se você tiver dúvidas.

    Além desse problema, há outro: por não passarem de ponteiros, os vetores não guardam qualquer informação sobre a quantidade de elementos armazenados. Então é bem fácil extrapolar o vetor, e conseguir um lindo Segmentation Fault. Para resolver isso, você vai precisar criar uma estrutura, e retorná-la.

    Resumindo, dá um pouco de trabalho. Eu utilizaria outro método para fazer isso, como, por exemplo, passar o vetor a ser preenchido como argumento da função. Que tal?

    []'s

  2. Aqui tem um tutorial com alguns exemplos:

    http://beej.us/guide/bgnet/output/html/index.html

    E programação socket para windows não tem mistério, qualquer programa pra unix funciona.

    Basta trocar os headers por winsock.h e colocar esse código no inicio:

        WSADATA wsaData;
    
        if (WSAStartup(MAKEWORD(1, 1), &wsaData) != 0) {
            fprintf(stderr, "WSAStartup failed.\n");
            exit(1);
        }
    
    

    Só lembrando que, quando for compilar no Dev-C++, você deve criar um projeto e, em Project / Project Options / Parameters, você deve adicionar o arquivo C:\Dev-C++\lib\libwsock32.a usando o botão "Add Library or Object".

    Depois é só compilar. wink.gif

    []'s

  3. Olha, nunca usei muito JBuilder não, até porque não gosto da ênfase que ele dá ao "arrasta e solta", mas se é isso que você gosta, dá uma olhada nesse plugin pro Eclipse, e testa aí você mesmo.

    http://www.eclipse.org/vep/WebContent/main.php

    Algumas telas dele:

    http://www.eclipse.org/vep/WebContent/docs...news-final.html

    http://www.eclipse.org/vep/WebContent/docs...eworthy/1.1-M2/

    E sim, ele é software livre, enquadrado sob a Eclipse Public License.

    []'s

  4. Tem, e se chama eclipse.

    Além de completar automaticamente, ele também corrige identação, renomeia métodos e atributos, gera getters e setters, e mais um monte de coisas úteis. Isso sem falar no depurador, que é uma obra de arte. Ainda tem também um monte de plugins, que vão desde programação "visual" (arrasta e solta) até deploy automático em servidores. biggrin.gif

    Ah, funciona com diversas linguagens, como c++ e perl também.

    []'s

  5. Só tenho mais uma alguma pergunta sobre Bit Shift:

    1. Pra que uso isso? Qual é a utilidade? Parece que isso não resolve nenhum problema...

    Quando se está programando aplicativos que exijam alta performance (como a engine física de um jogo), qualquer economia de instruções no processador é vantagem. Um exemplo bem simples é multiplicar um número por potências de dois. Compare o código assembly tradicional com o que utiliza bit shifts. É um diferença significativa. Outra aplicação comum também é mover os dados para outra ordem, dentro de um registrador da cpu. Por exemplo, do AL para o AH.

    Mas enfim, isso tudo é pra programação baixo nível.

    Para programas tipo controle de estoque, você nunca vai usar mesmo.. biggrin.gif

    []'s

  6. É, ele não tem versão online..

    São dois volumes: o primeiro tem tópicos mais básicos da linguagem mesmo, e cobre quase tudo do tiger. No segundo, tem uns tópicos avançados de Internacionalização, JavaBeans, Segurança, Multithreading, JNI, RMI, XML e a parte do tiger que faltou no outro volume: annotations.

    Eu aconselho ler os dois volumes, mas se você só estiver interessado nas novidades do tiger, então é melhor pesquisar no google mesmo. Tem alguns artigos bons por aí.

    Todas as mudanças do Java SE 5.0:

    http://java.sun.com/developer/technicalArt...eleases/j2se15/

    []'s

  7. Samya, separei o seu post, para ficar mais visível. wink.gif

    Eu, particularmente, nunca utilizei esse Servlet, então não sei como ele funciona.

    Talvez alguém aqui já tenha utilizado e possa te ajudar melhor.

    De qualquer forma, acho que se você quer apenas um formulário rápido pra emails, PHP é a melhor opção, não?

    Qualquer servidor gratuito funciona com PHP. Já Java server-side, fica mais complicado.

    []'s

  8. É assim mesmo que funciona. Caso os valores não sejam válidos (no caso de sql injection), o PreparedStatement nem fica pronto para ser executado, e você vai ter que tratar as exceções.

    Só uma dúvida: você está fazendo pesquisas/atualizações no BD direto da página jsp?

    Se sim, seria interessante você estudar a arquitetura MVC e alguns outros padrões de software. wink.gif

  9. Existem ao todo quatro combinação de tipagem:

    Tipagem Forte × Tipagem Fraca

    Em uma linguagem fracamente tipada, as variáveis podem ser interpretadas de forma diferente, dependendo do contexto. Em C, por exemplo, é possível somar duas letras (chars) e atribuir a um float! Em uma linguagem fortemente tipada, como Java, cada variável é sempre interpretada de uma única forma, a menos que o novo comportamento seja explicitamente definido, através de um cast. Caso o comportamento seja incompatível com o tipo selecionado, é acusado um erro durante a compilação.

    Exemplo em C:

    char a, b;
    float c;
    
    c = a + b;
    Exemplo em Java:
    int i = 2.5; // Erro!
    int j = (int) 2.5; // Ok.
    Tipagem Estática × Tipagem Dinâmica Algumas linguagens, como Java e C, forçam os usuários a declarar as variáveis antes de serem utilizadas. Outras, como PHP e Ruby, não exigem declarações, e são capazes de escolher que tipo utilizar dinamicamente. É interessante notar que, quase sempre, as linguagens fracamente tipadas são estáticas (como C), e as linguagens fortemente tipadas são dinâmicas (como Ruby). Há, claro as outras combinações: linguagens fracamente tipadas e dinâmicas (como PHP) e as fortemente tipadas e estáticas (como Java). Vamos analizar Ruby, por exemplo:
    i = 2000
    i = i * i * i
    j = "Ola mundo" + i ## Erro! Uma string não pode se misturar a um inteiro. 

    Se, por um lado, a tipagem dinâmica pode parecer confusa, ela é também extremamente útil. No exemplo citado, veja que i³ é grande demais para uma variável do tipo int. A linguagem, então, em tempo de execução, converte a variável para um tipo que suporte valores maiores.

    A principal crítica quanto à tipagem dinâmica é que você não sabe exatamente o que uma variável é. A qualquer momento, ela pode mudar de tipo, e assumir um comportamento totalmente diferente. Mas enfim, nada que uma boa documentação não resolva.

    Concluindo, é complicado dizer quem ganha essa disputa. Cada vantagem pode ser vista como uma desvantagem terrível por outra pessoa. Geralmente quem programa scripts gosta mais de tipagem fraca/dinâmica. Já pra quem quer fazer um sistema operacional, tipagem estática é quase essencial. O ideal é você testar diversas linguagens e ver a que prefere. Não vá usar um estilo só porque alguém disse que era melhor. wink.gif

    Mais comparações:

    http://rubygarden.org/ruby/ruby%3Faction%3...cVsStaticTyping

    http://www.loudthinking.com/arc/000074.html

    []'s

  10. O sistema terá que ser MUITO leve! Vai rodar em rede e em computadores antigos!

    Há pelo menos uma máquina boa? Se sim, acredito que server side + web browser seja a melhor opção. Caso a máquina central seja boa, você pode tentar Java, ou Ruby on Rails. Senão, procure outras alternativas, como PHP, Python, etc. Acho que C complicaria muito as coisas...

    - Precisa suportar banco de dados grande

    Se a tal máquina boa não existir, você está com problemas. DB grande requer não só máquina grande, mas também uma boa rede. Sem isso, nem adianta começar o projeto.

    - Precisa de uma interface gráfica (não me importo ser algo azul e branco, ou preto e verde....)

    Como os clientes serão browsers, esse não é um problema.

    Se não achar browser interativos o suficiente, estude Ajax.

    Os outros requerimentos não entendi bem. Acesso à internet? Quer dizer acesso externo? Se sim, então é quase certeza que a melhor alternativa é server-side. Quanto ao modem, sei não.. Quem ainda usa isso? Não pode ser por rede convencional?

    De qualquer forma, acho que já passou da hora de chamar um consultor. wink.gif

    []'s

  11. Não entendi bem qual a dificuldade.. Ao invés de colocar o "Struts" ou o "Hibernate" no diagrama, coloque as classes que utilizam esses frameworks.

    Por exemplo, CadastrarAction --> Instancia Empresa, CadastroAction --> DAO.gravar(empresa).

    O problema só surgiria se as responsabilidades não estivessem bem divididas, e o próprio Command estivesse acessando o layer de persistência. Não é o caso, certo? biggrin.gif

    []'s

  12. Java EE (antigamente conhecido por J2EE) é uma plataforma para aplicações corporativas distribuidas baseadas em componentes, feita pra funcionar bem com sistemas legado. Muito complicado? Isso não é nem o começo. Aqui você vai achar coisas como Web Services, Corba, RPC, JNDI, JMS, e mais um punhado de siglas estranhas.

    Mas não tema. Na prática, o pessoal usa o termo "Java EE" como se fosse "Java Web", embora não seja tão correto, e utiliza, simplesmente, Servlets + JSP + algum framework pra facilitar o serviço. Comparando muito por cima, seria como um PHP mais poderoso e mais organizado.

    Se quiser estudar Java EE, domine bem Java SE antes.

    PS.: Cara, tua assinatura tá muito grande. Aqui, ocupa quase a tela toda.

    Se for pra manter tantas frases assim, coloque pelo menos em uma linha só. wink.gif

    []'s

  13. qd você inicia o WinXP e ele pede para você selecionar o usuário e digitar a senha. é possível quebrar a senha d qualquer usuário e entrar como admin.

    [...]

    >> escolha Modo de Segurança e tecle [Enter]

    >> agora vai ao Painel de Controle e acesse "Contas de usuário"

    Com que usuário você logou? Administrador?

    É possível desativá-lo com o seguinte comando:

    net user Administrador /active:no

    As senhas não são quebradas, são apenas trocadas. De qualquer forma, os dados no HD são visíveis se acessados por outro sistema operacional (dessa, nem o linux escapa), mesmo que você bloqueie o acesso a todo mundo. Pra se proteger totalmente, só criptografando.

    []'s

×
×
  • Criar Novo...