Ir para conteúdo
Fórum Script Brasil

iSoron

Veteranos
  • Total de itens

    1.317
  • Registro em

  • Última visita

Tudo que iSoron postou

  1. iSoron

    Probleminha

    Diz ae Wicker! O erro estava acontecendo por que o update, diferente do select, não retorna nada ao programa. Assim sendo, não ResultSet nenhuma para ser capturada. Então você deve sempre usar o ExecuteUpdate() quando nada for retornado, beleza? Quanto ao uso do PreparedStatement, realmente ajuda um bocado. Dê uma olhada em um exemplo retirado da própria documentação: PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES SET SALARY = ? WHERE ID = ?"); pstmt.setBigDecimal(1, 153833.00) pstmt.setInt(2, 110592) Se não deu pra pegar a lógica da coisa, é assim: primeiro, prepara-se um PreparedStatement com interrogações onde deveriam estar os argumentos. A seguir, você define essas interrogações. E, no fim, você chama o método ExecuteUpdete(), ou o que quer que seja. Dessa forma, se você precisar atualizar novamente, você não precisa mais redigitar "UPDATE EMPLP....". Basta setar os argumentos e realizar nova atualização. Ok?
  2. iSoron

    Forum Em Java

    Encontrar um Forum com código aberto é meio dificil. Se servir um qualquer, vale a pena olhar JForum.net.
  3. iSoron

    Api Documentation

    Dê uma olhada também aqui: J2SDK 1.5.0 Se você rolar a tela para baixo, verá J2SE 1.5.0 Beta 2 Documentation, para o qual há dois links: baixar ou visualizar online. Essa maquina virtual é mais nova que a 1.4.2, porem ainda está na versão beta, ou seja, sua estabilidade não é garantida. Té mais!
  4. iSoron

    Pacote Java.text

    É bom se certificar de que um J2SDK esteja instalado, pois não é o que parece. De qualquer forma, tente se referir à classe digitando seu caminho completo: java.text.DecimalFormat Se der certo, você já sabe que o erro é no "import". falou
  5. iSoron

    For/ Do While / While

    Só um detalhe: O for segue a seguinte ordem: 1. Executa os parametros iniciais. Não precisa ser só "i=2", ou algo assim. Pode ser algo mais complexo, como declaração de variáveis, ou outros calculos, ou até mesmo chamados de funções. Para separar vários parametros iniciais, use virgulas. 2. Testa as condiçõoes. Se forem verdadeiras, o bloco é executado. Senão, acaba o loop. 3. Executa o bloco, se for o caso. 4. Executa os parametros do terceiro grupo. Geralmente é um incremento/decremento, mas pode ser outras coisas tb. 5. Volta para o 2 falou
  6. A maquina virtual da Sun está instalada, ou é a da Microsoft? Tenta checar se o endereço apontado no código HTML realmente aponta para o lugar correto, e se você não errou nada na escrita. Coloque uma figura no mesmo lugar que a classe está e veja se a figura aparece. Espero que isso ajude a diagnosticar o problema.
  7. iSoron

    Fotos

    Sua pergunta se refere a scripts, e não a Java mesmo. De qualquer forma, não existe tal código. Até porque o próprio servidor web disponibiliza as figuras para serem baixadas pelo browser, de forma que, se um script bloquear a ação para determinado browser, um outro poderá baixá-la facilmente. Do contrário, a figura não seria exibivel. falou.
  8. iSoron

    Java E Php

    Na sua pergunta, não ficou bem claro o tipo de interação entre Java e o PHP. Seria uma applet trocando dados com uma página dinâmica? Se for isso, é possivel sim. Basta que a página receba as variáveis através do metodo Post ou Get. Se estiver se referindo a uma pagina dinâmica Java (JSP) se comunicando com uma feita em PHP, é também possível, da mesma forma que na anterior. O que não é possivel é escrever um codigo fonte e este ser interpretado por duas linguagens diferentes. falou.
  9. iSoron

    Para O Moderador

    Não foi excluido. Quando você postou? Tenta pesquisar usando algumas palavras chave. falou.
  10. iSoron

    Download Java

    Não precisa pegar o pequeno. Ele é só um gerenciador de downloads, pra facilitar na hora de atualizar o seu JDK.
  11. Uma solução interessante seria a seguinte: Sua página ASP, ou uma cópia dela, com as mesmas funções, poderia ser totalmente vazia, aparentemente. Ao receber os dados, ela exibiria algo como "Dados atualizados", ou algo assim. O importante é que a cor de fundo dela se confunda com o da Applet, de modo que você possa inseri-la nesta. Para inseri-la, você deve utilizar uma JTextPane, que é um componente Swing capaz de abrir páginas HTML. Utilizando essa solução, você ultrapassa a limitação imposta pela conexão socket, que impede a conexão com servidores de terceiros. Para criar uma JTextPane dessa é bem simples: JTextPane jtp = new JTextPane(); ... URL url = new URL("http://www.omeusite.com/pagina.asp?param1=" + param1 + "&param2=" + param2"); jtp.setPage(url); Novamente, esclareço que a JTextPane deve ficar integrada com a applet, de modo que seja quase indetectivel. See ya!
  12. iSoron

    Como Utilizar?

    Você já criou alguma página JSP antes? Se não, pegue o Apache Tomcat, do projeto Jakarta e dê uma lida sobre como fazê-lo. Ou simplesmente, crie uma conta gratuita em algum servidor q dê suporte a JSP. Tem muitos por aí, é só olhar no Google. http://jakarta.apache.org/tomcat/ falou!
  13. iSoron

    Java.swing

    Saudações! Para importar e utilizar as classes desse pacote, você deve, antes, importá-lo, dessa forma: import javax.swing.*; Qualquer duvida adicional, dá uma olhada na documentação.
  14. iSoron

    Java + Mysql

    Oi Bridda! Seguinte: pra usar um banco de dados com o Java, você precisa: 1. Ter algum conhecimento sobre bancos de dados. Saber como criar tabelas, inserir valores, fazer consultas, etc. Se não souber nada disso, melhor procurar um tutorial na internet só sobre Bancos de Dados. 2. Escolher o Banco a ser utilizado. Como você optou pelo MySql, você deve pegar, no site do fabricante, as classes necessárias para unir o DB ao Java. No site do MySql também há um pequeno exemplo de como a conexao é feita. 3. Só depois de terminar os itens acima, você deve partir para o Java propriamente dito. Há classes que manipulam os dados obtidos de uma consulta. No proprio exemplo do MySql, você já aprende a usar.
  15. iSoron

    Cheguei Por Engano O.o

    Bem vindo ao mundo Java!
  16. iSoron

    Orientação A Objetos

    Kabelera, Eu pretendo, posteriormente, continuar essa parte de Orientação a Objetos. Falar um pouco de herança, polimorfismo, encapsulamente, etc. Quem quiser escrever algum tuto desses, basta fazer, postar e me mandar um msg que eu destaco o tópico, beleza? Podiamos fazer um rodízio disso, tipo um tópico destacado passa um mês e depois sái, pra outro entrar. Aí podiamos ficar com uns 3 simultâneos, pra não encher muito, ou algo assim. falou,
  17. Diz ae gente! Essa semana, um pessoal andou perguntando sobre como criar uma classe, como usar suas funções, entre outras coisas do tipo. Bem, acredito que não são poucas as pessoas que usam Java e nem sabem o que é orientação a objeto, ou não sabem bem o que ela signica. Pensando nessas pessoas, resolvi condensar os princípios da orientação a objetos nesse post. Lets code! Orientação a Objetos Tudo em nossa volta são objetos. Não sei se você parou pra pensar, mas você está olhando para um objeto que chamamos de "Monitor", digitando em um objeto chamado "Teclado", e lendo objetos chamados "Palavras". Tudo em nossa volta são objetos. Então, por que programação seria diferente? Foi pensando assim que se criou a chamada Orientação a Objetos em programação. No começo, ela parece bem complexa, mas, com o tempo, você domina esse poderoso recurso. Classes Como eu disse, tudo em nossas vidas são objetos. Você é um objeto! Porém, objetos diferentes desempenham diferentes funções, como iluminar um ambiente (classe das luzes), ou gravar sons (classe dos microfones). Cada classe é um grupo de diferentes objetos que apresentar propriedades semelhantes. Se fossemos definir a classe Carro, poderiamos dizer que ela possui as seguintes propriedades: 1. Todo Carro tem uma cor 2. Todo Carro tem um modelo 3. Todo Carro tem uma velocidade instantanea. No caso, 0 seria parado. E assim por diante... Como notamos, isso são caracteristicas que todos os carros possuem. Note que dois carros diferentes possuem as caracteristicas "cor" e "modelo", mas isso não significa que os carros tenham mesma cor, ou modelo. A classe só diz que o carro tem uma "cor", mas não a define. A caracteristica "cor" é definida durante a montagem do carro, o que não significa que o dono não possa mudá-la posteriormente, claro. Continuando. Os carros, como a maioria dos objetos, desempenham funções. Por exemplo, um carro pode acelerar, frear, girar, ligar, etc. Sabemos que todos os carros fazem isso, então podemos dizer que essas caracteristicas pertencem à classe dos Carros. Como vimos, então, toda Classe de objetos possui suas propriedades (ou atributos) e suas funções (ou métodos). Tudo bem. Nesse momento você deve estar se perguntando o que esse papo de carros e objetos tem a ver com o seu computador e seus programas, certo? Bem, tem mais em comum do que parece! Vamos implementar a classe dos carros em Java! public class Carro { int vel; int cor; boolean ligado; public Carro(int v, int c, boolean l) { vel = v; cor = c; ligado = l; } public void ligar() { ligado = true; } public void desligar() { vel = 0; ligado = false; } public void acelerar(int deltav) { if(ligado) vel = vel + deltav; } } Se você já tiver criado algum programa em Java, você não deve achar esse daí muito estranho. Vamos ver o que ele representa? Na primeira linha, eu estou definindo a classe "Carro". Depois eu explico o que o "public" representa. Em seguida, vêmos as caracteristicas dos seres pertencentes à classe carro. No caso, os carros possuem uma velocidade, cor e um boleano que diz se ele está ligado ou não. Depois das caracteristicas, vêm os métodos, ou funções dos "Carro"s. O primeiro método, que recebe o nome da própria classe é o "Construtor". O construtor é como a fabrica de automóveis: ele recebe como deve ser o carro (que cor, tipo, etc) e então monta. Observe que, antes do carro ser montado, não podemos usá-lo, obviamente! Então, sempre que se precisa de um carro, é preciso chamar um construtor para criá-lo. Veremos mais tarde como fazer isso. Depois do construtor, vemos alguns métodos, como ligar, desligar, acelerar, etc. Pois bem, geramos nossa classe. Como já disse, não possuímos carro algum, apenas uma caracteristica comum a todos os carros, algo como um manual de instruções, e, com esse manual, podemos fazer quantos carros quisermos, do jeito que quisermos! [...] public static void main(String[] args) { Carro carro1 = new Carro(10, 2, true); Carro carro2 = new Carro(0, 1, false); carro1.acelerar(200); carro2.ligar(); carro2.acelerar(100); carro1.desligar(); System.out.println("Velocidade carro 1: " + carro1.vel); System.out.println("Velocidade carro 2: " + carro2.vel); } [...] Vamos analisar o código acima? A primeira vista, parece um total pleonasmo ficar repetindo "Carro carro1 = new Carro..." etc, mas essa linha tem sentido sim. Primeiro declaramos uma variável chamada carro1 do tipo Carro, assim como fariamos com um inteiro ou uma string. Note que o carro ainda não foi construído, apenas declarado! Para resolver isso, invocamos o contrutor: "carro1 = new Carro(10, 2, true)". Agora sim nós temos um carro montado e pronto para usar! A outra linha cria um segundo carro, chamado "carro2". A ação de gerar um carro a partir da classe é o que chamamos de "Instanciação". Isso porque o "carro1" é uma instância da classe Carro, enquanto o "carro2" é também uma instância da classe Carro, embora sejam diferentes. Note que, para acessar as funções de um dos carros, utilizamos um ponto, bem como se quiséssemos acessas as variáveis: "carro1.ligar()" ou "carro1.vel = 10". Um erro comum de quem está começando é fazer "Carro.ligar()". Se você pensar por um tempinho, verá que isso não tem o menor sentido. Afinal, você está tentando fazer a planta de um carro executar uma função! Lembre-se que ela é só um projeto, não um carro! Falando em termos mais técnicos, uma classe seria uma descrição de um tipo de dados. Essa descrição explica detalhadamente os atributos e funções do objeto a ser instanciado. Durante a instância, o computador aloca na memória um espaço suficiente para guardar todos os campos da classe escolhida. Esse espaço na memória pode ser resgatado utilizando o ponteiro (implícito) com o nome por você declarado. No caso, "carro1". obs.: É uma convenção em Java utilizar inicial maiuscula para representar uma classe e inicial minuscula, para as variáveis. Obviamente, isso não é uma regra e não causa nenhum erro de compilação se contrariada, mas é uma má prática de programação. Enfim, se você for do-contra, não siga! Pacotes Provavelmente, durante seus programas, você já utilizou este comando: "import java.*;" Essa linha diz que as classes do pacote atual podem utilizar as classes públicas de um outro pacote. Podemos definir um pacote como um diretório onde estão um conjunto de classes . Se você criar um diretório "\carros\fiat\" e, lá dentro, colocar um arquivo .java contendo a classe Fiat, você não poderá utilizar, inicialmente, a classe Fiat a partir do diretorio "\", por exemplo. Para indicar onde a classe Fiat se encontra, você pode utilizar o seguinte comando: import carros.fiat.*; Note que os pontos representam as barras. Dentro da classe Fiat, você precisa colocar: package carros.fiat; Isso indica que a classe Fiat está dentro do pacote carros.fiat. Quando você estiver digitando os arquivos .java, pode colocar todos em um mesmo diretório. Na hora da compilação, o javac separa as classes de acordo com os "packages". Direitos de Acesso Muito bem, criamos nossas classes e já as colocamos nos devidos pacotes. Porém, nem todas as classes devem ser acessíveis a todo mundo. Digamos, por exemplo, que você está criando um programa para um banco, e nele há a classe Conta, que possui operações para saques e depositos. No seu programa normal, a pessoa deveria entrar com a senha e, se essa for válida, uma instancia de Conta é criada para manipular a conta. Digamos que a classe que verifica a conta seja a classe Autenticador. Agora pensemos na seguinte situação: a classe Conta é pública, ou seja, qualquer classe, de qualquer pacote, pode instanciá-la, mesmo sem passar pelo Autenticador. Isso poderia gerar uma falha de segurança, pois apenas o autenticador pode dizer se a conta é, ou não, correta. Note, então, que a classe Conta está, de alguma forma, ligada ao autenticador, o que indica que os dois devem estar dentro do mesmo arquivo .java. Assim, a melhor forma de fazer é: (arquivo Autenticador.java) public class Autenticador { [...] } class Conta { [...] } (fim do arquivo) Note que a classe Autenticador recebeu o nome "public", diferente da classe Conta. Por que isso? Porque somente o Autenticador deve ser acessado externamente. Cada arquivo .java só pode ter uma classe pública, e o nome dessa classe deve ser também o nome do arquivo, lembrando que Java é caso-sensitivo! Da mesma forma que podemos dizer que uma classe é publica ou não, podemos dizer se um atributo ou função dessa classe é publico ou privado. private int velocidade; Voltando ao exemplo do carro, se a velocidade fosse declarada como privado, não poderiamos invocar diretamente a velocidade, e sim criar um método que nos dê o valor, ou que altere: private int velocidade; public void setVelocidade(int a) { velocidade = a; } public int getVelocidade() { return a; } Mais tarde, então, veja como usaríamos essa classe: Carro carro1 = new Carro(10,2, true); carro1.velocidade = 10; // Errado! Erro de compilação! int a = carro1.velocidade; // Errado tb! carro1.setVelocidade(10); // Correto! int a = carro1.getVelocidade() // Correto! É bom lembrar que as funções get e set precisam ser publicas, ou a variável ficaria inacessível! Bem, há outros modificadores, como "static", "protected", entre outros. Por serem mais avançados, explicarei em uma outra oportunidade! E isso é o básico de Orientação a Objetos! Depois escreverei outro Post mais avançado, falando de Polimorfismo, Herança, Interface, Encapsulamento ... nossa! Tem tanta coisa pra falar ainda! Mas deixa pra outra hora, to cansado de escrever! Espero que esse texto seja util e não muito complicado. Qualquer dúvida, só postar. falou!
  18. iSoron

    Me Ajudem Por Favor!

    Na verdade, Ramon, não é bem assim. O compilador transforma a linguagem (no caso C++) em algo entendivel ao processador, ou seja Assembly. Esse código Assembly é facilmente recuperado e, se o programador em Assembly tiver um pouco de experiencia, pode alterar o programa sem muitos transtornos. Conheço algumas pessoas que conseguem criar programas inteiros em ASM puro, então isso não é assim impossivel. Engenharia Reversa, entretanto, é considerada crime em alguns casos. falou!
  19. iSoron

    Programa Ou Editor

    Procura no google, ou no próprio site da Sun. http://www.google.com http://www.sun.com
  20. iSoron

    Me Ajudem Por Favor!

    Calma Kabelera! Tyrael, você teria que decompilar o .exe e vasculhar o que você quer. Isso não é tão facil assim e, se o programa for comercial, pode até ser considerado ilegal. Além de cheater, você quer virar cracker é? falou,
  21. iSoron

    Editor

    O Dev-C++ até faz, mas é bem ruinzinho, pra ser sincero. hauha Digita metade da palavra e aperta CTRL+Espaço. falou
  22. iSoron

    Diferença C#

    Acho que C# está muito longe de chegar aos pés do Java, que me desculpe quem for contra minha idéia, mas é isso que penso. Pra começo de história, Java não é simplesmente uma Linguagem de Programação, é toda uma tecnologia, que se extende de páginas dinâmicas a aplicações Stand-Alone, passando por dispositivos móveis e as famosas applets. O C# foi criado pela microsoft, que, convenhamos, só quer saber de lucros. O que atrai muitas empresas ao C# é o suporte técnico oferecido pela micro$oft, principalmente. Além disso, muitas dessas empresas já se aucostumaram às limitações dos ambientes VB. Minha opnião pessoal é que C# se trata de uma cópia fiel do Java, com algumas mudanças que o encaixassem na plataforma .NET. Temos também que lembrar que Java é multiplataforma, diferente da concorrencia! falou.
  23. O problema com a criação de interfaces gráficas é a dependência de APIs externas do proprio sistema operacional. Assim, pra criar uma janela pra Windows, por exemplo, você precisaria conhecer bem a API Win32, o que não é muito simples. Como o Eddie falou, é melhor dominar o C em modo texto mesmo, afinal, para dominar uma api como essas, é necessário conhecer estrutura de ponteiros, funções, utilização de cabeçalhos, ou até mesmo um pouco de orientação a objeto. falou,
  24. iSoron

    Métodos De Ordenação

    Quicksort O quicksort é um dos algoritmos mais complexos de se implementar, porém é mais eficiente que os demais na maioria das vezes. Basicamente, o que ele faz é o seguinte: 1. Escolhe o ultimo elemento do intervalo [p,q] para comparar com os demais. 2. Cria dois grupos de numeros: os não maiores que k, e os maiores que k. (onde k é o elemento escolhido em (1)). 3. Insere k no meio dos dois grupos. Assim, quem está do lado esquerdo de k é menor ou igual a k; e quem está a direta, é maior que k. * A operação Partition diz em que indice "k" se encontra. A seguir, é chamado novamente o quicksort para os segmentos dos lados de k. Dessa forma, o vetor fica completamente ordenado. ex de funcionamento: k 2 8 7 1 3 5 6 4 2 8 7 1 3 5 6 4 - 2 é trocado consigo mesmo 2 ( 8 ) 7 1 3 5 6 4 - 8 é adicionado ao grupo dos maiores 2 ( 8 7 ) 1 3 5 6 4 - 7 é adicionado ao grupo dos maiores 2 1 ( 7 8 ) 3 5 6 4 - 1 é trocado com 8, já que ele é menor. 2 1 3 ( 8 7 ) 5 6 4 - 3 é trocado com 7 2 1 3 ( 8 7 5 ) 6 4 - 5 é adicionado ao grupo dos maiores 2 1 3 ( 8 7 5 6 ) 4 - 6 é adicionado ao grupo dos maiores 2 1 3 [4] (7 5 6 8) - Para finalizar, 8 troca com 4 Eis aqui o algoritmo implementado. Essa versão foi um pouco alterada por mim, para ordenar um vetor bidimensional de altura "depth". #include<stdio.h> #include<stdlib.h> #include<time.h> #ifndef _QUICKSORT_HEADER_ #define _QUICKSORT_HEADER_ void quicksort(int p, int r); int partition(int p, int r); void trocar(int a, int b); #endif int vetor[200][200]; int index = 0, depth = 2; void main() { srand((unsigned)time(NULL)); for(int i=0; i<100; i++) { vetor[0][i] = rand()%200+10; vetor[1][i] = i+1; } quicksort(0, 99); for(int i=0; i<100; i++) printf("%d %d\n", vetor[0][i], vetor[1][i]); scanf("%d", vetor[0][0]); } void quicksort(int p, int r) { if(p<r) { int q = partition(p, r); quicksort(p, q-1); quicksort(q+1, r); } } int partition(int p, int r) { int x = vetor[index][r]; int i = p-1; for(int j=p; j<=r; j++) { if(vetor[index][j] <= x) { i++; trocar(j, i); } } return i; } void trocar(int a, int b) { for(int i=0; i<depth; i++) { int tmp = vetor[i][a]; vetor[i][a] = vetor[i][b]; vetor[i][b] = tmp; } } Ufa, é isso. Acho que deu pra entender. falou gente!
×
×
  • Criar Novo...