Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×

lcsmail

Steel Member
  • Total de Posts

    94
  • Registro em

  • Última visita

  • WCoins

    0

Posts postados por lcsmail

  1. Zaphey, bota meu tópico no teu quick list? Acho que meu tópico pode ajudar mais gente se estiver na quick list, tou desesperado chamando sua atenção. (Obs: Não sei se isso é flood, tou em dúvida...)

     

    Edit: Se eu tivesse floodando eu já teria sido punido, mas como é apenas pra adicionar meu post pra quick list ninguém liga...

    postpunido.png

  2. Objetivo:

     

    Depois de tanto vir aqui para pedir ajuda, me deu vontade de contribuir. O objetivo desse tópico é elevar um pouco o nível de nossa programação(Falo da galerinha que tá começando). Mas não pensem que no tutorial vai ser utilizado algum IDE que ofereça suporte gráfico(botões prontos). Esqueçam o Visual C++ Express, esqueçam o C++ Builder, ou qualquer coisa do tipo. Simplesmente iremos utilizar o DevC++, que é gratuito. Vamos criar nossos botões na base do código.

     

    Requisitos:

     

    O DevC++ que pode ser encontrado em seu

    É necessário se cadastrar para acessar o conteúdo.
    ou:

    [DOWN]https://rapidshare.com/files/2950296202/devcpp-4.9.9.2_setup.exe[/DOWN]

    [sCAN]

    É necessário se cadastrar para acessar o conteúdo.
    [/sCAN]

    Entender Programação Orientada a Objetos(Pelo menos o básico.)

    Conhecimentos básicos dos Componentes do Windows(Button, Label, Edit, ...)

    Conhecimentos básicos de C++(Óbvio)

    Tempo pra aprender(Não falei decorar, falei aprender.)

    Vontade e Curiosidade de saber o que faz cada componente(Pois não vou explicar o que significa tudo.)

     

    Programa que iremos criar:

     

    Nós iremos utilizar um programa bem básico, para que todos entendam, afinal todo mundo sabe como funciona uma Calculadora. Se você espera que nossa Calculadora saia igual ao do Windows, suma desse tópico, afinal como eu falei, é pra ajudar os iniciantes. Iremos utilizar apenas um arquivo .cpp e nada mais.

    Preparação:

     

    1 - Instale o DevC++

    2 - Clique em New -> Project-> Windows Application (Deixe marcado C++, e dê um nome se quiser.)

    3 - Vai aparecer um monte de código, então apague tudo.

     

    Parte 1 - Janela:

     

    Copie esse código e Aperte F9(Compile e Run), escolha um local para salvar a calculadora e veja o resultado.

     

    É necessário se cadastrar para acessar o conteúdo.

    Depois de dar o F9, vai perceber que ela está vazia, vou agora explicar como que fazemos para criar um janela vazia assim, para abrigar nossos futuros botões.

    Iremos usar 2 diretivas #include, para incluir o windows.h e o stdlib.h. O windows.h está aí para que possamos utilizar a janela com Interface Gráfica do Windows. O stdlib está aí porque iremos utilizar as funções atoi() e itoa() que serão explicadas mais tarde.

    Para criar uma janela do windows é preciso basicamente de duas funções; WinMain e WindowProcedure.

     

    A função WinMain é o inicio, é néla que se cria a estrutura WNDCLASS, preenche-se com dados e se regista RegisterClassEx (&wincl).

    Nós aprenderemos apenas o que cada componente faz, sem alterá-los, por enquanto.

    O que precisamos saber é que a função WinMain vai criar uma janela de Windows com os botões padrões(Minimizar, Maximizar e Fechar), vai também tornar a janela visivel e quando o usuário do programa interagir com essa janela ela vai executar a função WindowProcedure.

     

    Por sua vez, a função WindowProcedure é a nossa função de trabalho, é lá que vamos definir as ações que serão executadas quando o usuário do programa clicou no botão A ou B, quando ele maximiza, minimiza ou clica no fechar. Tudo isto com apenas 4 variáveis que a função nos dá, hwnd, message, wParam e lParam.

     

    hwnd é o manipulador, a nossa janela principal.

     

    message é o espaço onde você vai definir as ações de cada botão, apenas te interessam três:

    Usaremos WM_CREATE - Para confirmar que a janela principal foi criada, não confudir “janela criada” com “janela visivel”

    Usaremos WM_COMMAND - Para especificar as ações que os botões farão quando alguém interagir com um objeto dentro da janela.

    Usaremos WM_DESTROY - Aqui fica o comando a ser executado quando a janela for fechada. No nosso caso, PostQuitMessage (0);, caso você retire essa linha o programa fecha a interface gráfica, mas continua sendo executado no seu computador, te obrigando a fechar o processo com o gerenciador de tarefas.

    wParam divide-se em duas partes, sendo de 32bits, divide-se em duas words de 16bits, e assim conseguimos extrair duas informações:

    A parte alta “HIWORD(wParam)” te dá uma submensagem do WM_COMMAND (ex: BN_CLICKED quando alguem clicar num botão)

    A parte baixa “LOWORD(wParam)” identifica o objeto a ser processado com um numero. (ex. 2400 quando alguem clicar no botão com id=2400)

     

    lParam é usada juntamente com o GetLParam() e não a vamos útilizar.

     

    A linha “return DefWindowProc (hwnd, message, wParam, lParam);” que está em default é algo que temos sempre de fazer. Não vamos modificar.

     

    Parte 2 - Desenhando Objetos:

     

    Copie esse código onde tem /* Parte 2 do Tut */, localizado acima da função WindowProcedure e NÃO APERTE F9 AINDA.

     

    É necessário se cadastrar para acessar o conteúdo.

    Vamos retirar as duas barras "//" da função "DesenharObjectos(hwnd,message,wParam,lParam); " na função WindowProcedure dentro do “case WM_CREATE:” para que ela possa ser executada. Agora sim Aperte F9(Compile e Run).

    Ao executar o programa você vai notar que agora temos 3 Edits, 1 Label, e 4 Button, apesar de não funcionarem.

     

    A janela principal foi criada pela função WinMain, esta executou a função WindowProcedure e enviou-nos a “message” de WM_CREATE que significa que a janela acabou de ser criada, tal como seria de esperar.

    Fizemos com que um switch filtraste o momento de quando ela foi criada “case WM_CREATE:” então vamos aproveitar esse local de criação para desenhar os botões, edits etc.

    Como a parte de desenhar objectos é algo extenso onde 90% do código é repetido, eu decidi criar uma outra função para não bagunçar a nossa função de trabalho que é a WindowProcedure.

    A técnica que usei foi criar uma função sem retorno. A função vai-se chamar DesenharObjectos() e é dentro dela que vais desenhar tudo, se prestar atenção, a função transporta as 4 variáveis que já expliquei na Parte 1 do Tutorial, ela faz esse transporte porque convém carregar conosco as ferramentas já que vamos trabalhar em outro local..

    Então a função “DesenharObjectos(hwnd,message,wParam,lParam) ;” apenas te transporta para outra parte do código ("lá pra cima" neste caso).

     

    Antes da função DesenharObjectos() terá sempre que declarar as variáveis, neste caso vou declarar os objectos com que vou trabalhar:

    Aqui estão os nomes dos teus 3 edits e dos 4 butoes

    HWND EditNum1,EditNum2,EditTotal,ButtonMais,ButtonMenos ,ButtonVezes,ButtonDividir;

     

    Vamos passar agora para dentro da função DesenharObjectos()(saltei a instrução “HINSTANCE g_inst;” de prepósito).

     

    É necessário se cadastrar para acessar o conteúdo.

    Logo no início da função temos isso:

     

    É necessário se cadastrar para acessar o conteúdo.

    Este pequeno código vai criar uma editbox, o processo de criação é igual para quase todos os objetos.

     

    É necessário se cadastrar para acessar o conteúdo.

    Esta linha diz que EditNum1 vai ser igual a um objeto criado pela função CreateWindowEx().

    A função CreateWindowEx para ser executada precisa sempre de 12 parametros(no 5º parâmetro eu resumi os 4 seguintes) que são os seguintes (por ordem).

     

    1º - Aparência do Objeto: Neste caso é “WS_EX_CLIENTEDGE” que dá o efeito 3d ao edit, experimente colocar um 0 em vez do “WS_EX_CLIENTEDGE” e corre o programa, ficou flat nao foi? (depois deixe do jeito que deveria ser.)

     

    2º - Classe do objeto: Neste caso é “EDIT” porque queremos uma editbox, se quizessemos um botão teriamos que por “BUTTON", experimenta colocar “BUTTON”. Vai transformar num botão. (Não esqueça de desfazer.)

     

    3º - Texto Default do Objeto: Neste caso o default é “5” experimenta por algo do tipo “rotfl”. (Não esqueça de desfazer.)

     

    4º - Aparencia Específica do Objeto: Neste caso usamos 3 constantes: WS_VISIBLE|WS_CHILD|WS_BORDER. O WS_VISIBLE faz com que o objecto seja visivel, WS_BORDER faz que tenha uma borda/moldura neste caso 3d, WS_CHILD informa que o objecto está dentro de uma janela. Todas estas constantes são separadas por uma barra “|” para poder funcionar. Experimente adicionar ES_RIGHT e vai ver que ele alinhou o texto à direita. Lembre-se que pode adicionar o que quiser, 2, 5 ou 10 aparências malucas, apenas não esqueça da barra pra separar.

     

    5º - Distancia da esquerda: Esquerda ou direita, se tiveres habituado a programação por objetos, fazes isto com alguma facilidade. Distancia do topo, essas coordenadas são sempre em pixels, se alterar os valores vais fazer com que o edit se mova pra cima ou para baixo. Logo depois vem a Largura e Altura que são autoexplicativos.

     

    6º - Janela em que vai ser criado o objeto: Na Parte 1 do tutorial já te mostrei que hwnd era o ponteiro da nossa janela, como vamos querer colocar o objeto dentro da nossa janela mãe, só temos que indicar o apontador aqui “hwnd”.

     

    7º - Numero de identificação: Neste caso é NULL, ou seja, não foi atribuído nenhum número ID a esta edit, isto porque não é necessário. Fica assim.

     

    8º - Instância: Lembra que saltamos o “HINSTANCE g_inst;” na seção das variaveis? É aqui que devemos por o “g_inst” que é o manipulador da instância associada à nossa janela.

     

    9º - lparam É sempre NULL.

     

    Os objetos EditNum2 e EditTotal são editboxs iguais a esta que acabamos de criar, só muda o nome e as coordenadas onde vão ser desenhadas (porque senão ficavam todas umas em cima das outras, também muda o texto default, 3º parametro)

    O aspecto diferente do código é porque eu compactei vários parâmetros na mesma linha note também que todos os 12 parametros são separados por virgulas ",".

     

    Seguiremos o código até encontrarmos “ButtonMais = CreateWindowEx (

     

    É necessário se cadastrar para acessar o conteúdo.

    As anteriores eram “EDIT”, estes agora são “BUTTON”, o processo de criação é igual, mas neste caso o botão não precisa de WS_BORDER no 4º parametro, nem "WS_EX_CLIENTEDGE" no 1º como as editboxs, MAS tem um Número de Identificação no 10º!

    Vou-te explicar o que é o Número de Identificação (ID).

    O ID é um número que se atribui a um objeto, a atribuição é feita da seguinte maneira “(HMENU) NumeroAqui” neste caso defini que seria 1001. (se notar, no inicio do programa defini que “ID_BUTTONmais” seria igual a 1001;“#define ID_BUTTONmais 1001”)

    Costuma-se usar “#define QualquerCoisa ID” porque é mais facil para programar com nomes do que com números. Este é um programa pequeno, sei que há 4 botões com os IDs: 1001 para o ButtonMais, 1002 para o ButtonMenos etc,etc, mas num programa grande convém sempre usar o #define para facilitar.

    Quando o botão ButtonMais é clicado o Windows recebe as informações BN_CLICKED na variavel HIWORD(wParam) e o ID na LOWORD(wParam), BN_CLICKED é quando o user clica num botão, e se ele receber também 1001 é porque o ButtonMais foi clicado, 1002 foi o ButtonMenos, 1003 foi o ButtonVezes etc.

    Resumindo: se ((HIWORD(wParam) == BN_CLICKED) && (LOWORD(wParam) == 1001)) é porque alguém clicou no botão de mais.

     

    Seguimos o código até encontrar:

     

    É necessário se cadastrar para acessar o conteúdo.

    Sabemos que “BUTTON” faz botões, que “EDIT” faz editboxs, mas “STATIC” é novo!

    “STATIC” é conhecido por Label, na nossa calculadora esta label é o sinal de igual “=”, é um objeto que não serve para nada, apenas aparece para fazer sentido na interface da nossa calculadora. Como este “STATIC” não vai fazer nada, não temos que atribuir variável nenhuma, nem tanto um ID.

     

    Mais a frente teremos:

     

    É necessário se cadastrar para acessar o conteúdo.

    Antes de saber para que serve este pequeno código temos que ter a noção que:

    o Windows se comunica com o nosso programa basicamente através de mensagens, envia mensagens, recebe mensagens, a função SendMessage() é composto por 4 parametros:

     

    1º - Objeto destino: Este é o objeto a que é destinado a mensagem, no código a cima podemos ver que é o EditNum1.

     

    2º - Mensagem enviada: Conforme a mensagem enviada, faz o objecto reagir de formas diferentes, no nosso caso a mensagem é WM_SETFONT, ou seja

    o objecto vai trocar o seu tipo de letra, e o novo tipo de letra será enviado atravez do 3º parametro (wParam).

     

    3º - wParam: Estamos no 3º parametro, e tu deves tar a perguntar “Como é que sabemos que o tipo de letra tem de ir como 3º parametro e como sabes que WM_SETFONT muda de letra? Minha Resposta: Simplesmente não sabemos decorado, para saber só tem uma solução: PESQUISA, isso mesmo, pesquisando durante a criação do programa.”

     

    4º - lParam: Esse não se mexe.

     

    Pois é, esta SendMessage() faz mudar o tipo de letra da caixa de texto EditNum1, a nova letra que vais usar é o tipo de letra DEFAULT_GUI_FONT (tipo default do windows).

    Sim, é preciso dizer ao Windows que o tipo de letra que queremos é o default do Windows, experimenta tirar o “(WPARAM) GetStockObject(DEFAULT_GUI_FONT),” e colocar “(WPARAM) 0,”.

    O resto do código até ao terminar da função DesenharObjector() apenas muda os tipos de letras aos restantes objectos da nossa janela, não deves ter dificuldades em decifrar.

     

    Parte 3 - Fazendo os Objetos Funcionarem:

     

    Vamos copiar a última parte do código, onde tem /* Parte 3 do Tut */" dentro do "case WM_COMMAND:" na WindowProcedure().

     

    É necessário se cadastrar para acessar o conteúdo.

    Tire as barras de comentários "/* */" nas variáveis antes da WindowProcedure() para que possam ser executadas. E é tudo!

    Podes agora Compilar & Run para ver se está tudo OK. Calculadora terminada e a fazer funcionando.

     

    Antes de analizar o código vamos analisar umas coisas.

    O user ao clicar num dos quatro botões, o nosso programa vai executar a tua função de trabalho WindowProcedure() e ao executar essa função vai informar do seguinte:

    Se a variável “message” for WM_COMMANDé porque o user fez qualquer coisa a um dos objetos dentro da tua janela mãe.

    Se a HIWORD(wParam) for igual a BN_CLICKEDé porque essa “qualquer coisa” que o user fez, foi clicar num dos botões.

    Se a LOWORD(wParam) for igual a 1002 é porque o botão clicado foi o ButtonMenos.

    Agora vais atacar o problema comigo, seguindo o código dentro da função WindowProcedure()

    Vais parar já nesse “switch (message)”, aqui só te interessa quando a “message” é igual a WM_COMMAND, por isso passa já para dentro da “case: WM_COMMAND” e começa a analisar as novas linhas de código que te dei nesta Parte 3 do Tutorial.

     

    Neste momento já sabemos que o user fez “qualquer coisa” a um dos objeto dentro da tua janelinha, agora só temos que identificar o que é que ouser fez a esse objecto, e a variável HIWORD(wParam) informa-te isso.

    HIWORD(wParam)pode ser muita coisa! HIWORD(wParam) pode ser igual aBN_PUSHED, BN_PAINT, BN_UNPUSHED, e BN_CLICKED, mas o que te interessa é quando ela é igual a “BN_CLICKED” ou seja, quando o user clica num objecto.

    Então: if ((HIWORD(wParam) == BN_CLICKED)) vai filtrar todos os cliques.

     

    Mais uma etapa concluida, todo o código que escreveres dentro deste “if” só vai ser executado se o user clicar (HIWORD(wParam)==BN_CLICKED) num objeto dentro da tua janela mãe (message==WM_COMMAND).

    Ainda não sabe qual dos objetos (qual dos botões) foi clicado, mas já podes fazer uma coisa, que é guardar o que está dentro do EditNum1 e do EditNum2 para dentro de variáveis.

    Então vamos a isso.

    Todo o texto que está dentro de uma EditBox é considerado pelo Windows como uma string mesmo que sejam números é sempre uma string, por isso tens que criar uma variável string para guardar o texto da EditNum1 (primeiro valor), essa variável vai-se chamar s_valor1 do tipo string.

    Já que está com a mão na massa, e como são duas EditBoxs pode criar já duas variáveis do tipo string.

     

    Vais agora guardar o que está dentro das EditBoxs para as variáveis.

    O que vais fazer é enviar uma mensagem ao Windows atravez do SendMessage() com os seguintes parametros (lembra que são preciso 4 parametros, como já te expliquei na Parte 2 do Tutorial, ao enviar um novo tipo de letra para os objetos)

     

    Objecto destino: Esta é facil, o objecto que queremos é a EditNum1, então o primeiro parametro é “(HWND) EditNum1,”.

     

    Mensagem enviada: Como queremos receber o texto dentro dessa EditBox, se pesquisar encontrará que a mensagem tem de ser EM_GETLINE. Então que “(UINT) EM_GETLINE,”.

     

    Linha a ser enviada: Aqui temos que especificar qual linha é que queremos. Uma EditBox só tem uma linha, mas nem sempre, as EditBoxs podem ser também multiline. Sendo a tua EditBox monoline a linha é sempre igual a 1. Por isso, o 3º parametro é “(WPARAM) 1,

     

    Ponteiro para a variável: Aqui oferecemos o ponteiro para a nossa variável onde quer que seja guardado o texto, s_valor1, como é ponteiro convem por o “&” antes. O que ele vai fazer é guardar o texto da linha nº 1, do objecto EditNum1 para a variável s_valor1. Então, 4º parametro é “(LPARAM) &s_valor1

     

    O SendMessage()seguinte faz o mesmo que este, mas guardar o que está dentro do EditNum2 para a variável s_valor2 também do tipo string.

     

    Já está! O que estava dentro das EditBoxs estão agora dentro das tuas variáveis s_valor1 e s_valor2.

    Agora só tens que identificar qual dos botões foi clicado e fazer a respectiva operação logica “+” “-“ “*” ou “/”.

    Podemos fazer uma coisa antes! Que é converter as strings em integers para que o compilador nos deixe somar, subtrair, multiplicar ou dividir.

    Criei duas variáveis do tipo integer para guardar este novos integers.

    Isto é algo básico de C, mas aqui vai: o include “stdlib.h” te oferece a função atoi() que converte strings em integers.

     

    É necessário se cadastrar para acessar o conteúdo.

    Ok, valor1 e valor2 sao agora variáveis com os valores numéricos correspondentes aos que o user introduziu na EditNum1 e na EditNum2.

    Vamos finalmente identificar qual dos objetos o user clicou e efetuar a operação lógica usando as variáveis valor1 e valor2.

    A parte baixa do wParam “LOWORD(wParam)” dá-te o ID do objecto usado, então se o ID for 1001 foi clicado o ButtonMais, se for 1002 foi o ButtonMenos etc.

    Vais fazer um switch para isso.

     

    É necessário se cadastrar para acessar o conteúdo.

    Por fim, só temos que enviar o total para o EditNum3 que é este.

    Antes disso, ainda temos que converter a variável total do tipo integer para uma do tipo String, para que o compilador te deixe enviar o resultado.

    Mais uma vez, recorres a uma função da include “stdlib.h”, a função é a itoa ().

     

    É necessário se cadastrar para acessar o conteúdo.

    Crie mais uma variável chamada s_total do tipo string, para guardar o total da operação.

    É esta que vai mostrar o resultado! Tem de ser atravez de outra SendMessage() para o Windows.

     

    É necessário se cadastrar para acessar o conteúdo.

    1º a SendMessage() tem como destino a EditTotal que é a EditBox de resultado.

     

    2º a mensagem é WM_SETTEXT, que faz com que um objeto troque o seu texto, no caso de uma EditBox ela muda o texto dentro da caixa.

     

    3º O wParam não é usado, por isso pode ser o que quiser (eu coloquei 0)

     

    4º O lParam é um ponteiro para uma variável string, que neste caso é a nossa variável s_total, que é onde está o resultado que o utilizador quer.

     

    FIM

     

    Nesse ponto a calculadora está "perfeita".

    Espero ter ajudado muita gente.

  3. Mais uma vez aqui, eu queria saber pra que serve uma classe e seus objetos.

    Eu sei criar uma classe, sei criar um objeto, já li orientação a objetos completo(inclusive algumas definições: tipo, encapsulamento, hereditariedade...), mas não consigo entender para que serve ou para que eu preciso disso.

    Se alguém puder me esclarecer sem enrolação o que é isso por favor me explique.

    Se puder ainda, bolem tipo um problema que só pode ser resolvido a partir da orientação a objetos.

    Estou morrendo de estudar orientação de objetos e não entendo muita coisa por causa dessas definições, pra mim é muito confusa a definição que eu li.

    Desde já obrigado.

  4. Qual a diferença entre Pascal e Object Pascal?

    Quero aprender a programar em delphi, e preciso saber se tem alguma diferença entre os dois...

    Object Pascal, é Pascal orientado o objetos? ou é uma linguagem totalmente diferente?

    Quero aprender delphi, repondam rápido por favor... :o

    Obs: se alguem tiver alguma dica pra começar, eu agradeço. ;)

  5. 1 - Preciso de ajuda com uma apostila pra eu aprender Delphi, já procurei mas nunca acho, só acho apostilas que falam da interface do programa, quero aprender como fazer o código.

    OBS: Já procurei no Quicklist, o tuto pra iniciante lá não tem nada.

     

    2 - Alguém que já tenha usado o C++ Builder 6, pode me ajudar com a parte de GUI, tipo como eu relaciono botões com variáveis, como eu faço as conexões entre edits, buttons, e tudo mais. (Obs: Já sei um pouco como programar GUI na base do código, mas não consigo em programas que já dão o botão pronto. O.o)

     

    Desde já obrigado.

  6. Eu ja tentei aprender Java, foi a primeira coisa que eu tentei aprender, faz uns 2 anos que eu tentei, e naum entendi nada. Ai mudei de linguagem, se for sua primeira linguagem, recomendo que mude pra uma mais fácil, só pra pegar o jeito... ^^

  7. Não, mas basicamente é quase a mesma coisa, apenas o C++ tem suas melhorias, é como se o C tivesse evoluido se tornando o C++.

     

    Exemplo:

     

    No C, isso emite uma mensagem na tela: printf("Oi");

    No C++, isso emite uma mensagem na tela: cout<<"Oi";

    Mas no C++, printf("Oi");, também pode ser usado para mostrar uma mensagem na tela.

     

    Caso você esteja com pressa, aprenda C++, dá pra entender.

    Caso esteja com muita disposição, aprenda o C, é altamente recomendado pela maioria.

  8. Sempre vi a galerinha postando programas e coisas que alteram outros programas como crackers, trainers de jogos, keyloggers, e outros tipos de coisas que basicamente fazem grande diferença e que faziam meus olhos brilharem e ficar me incentivando a ser hacker.

    Calma, termine de ler antes de me xingar.

    Ai, sempre frequentei a WebCheats como primeiro e único fórum, e então desenvolvi mais e mais aquela antiga vontade que eu tinha e tendo desde criança de "dominar os computadores"(pelo menos o começo).

    Então, resolvi iniciar meu caminho na programação(Estou terminando C++ pra começar Delphi). E agora sempre tem gente querendo me botar pra baixo.

    Então, antes de eu sair por aí, falando besteira, quero primeiro humildemente saber o que é ser um hacker.

    Porque a noção que eu tenho parece ser extremamente errada, e a galera adora usar isso pra me mandar mensagens rindo da minha cara e dizendo que eu não tenho futuro.

    Indo direto ao ponto: "O que é ser um hacker e o que ele faz?"

    E obrigado a ~EvilCode e AceStryker pelas dicas que vocês me deram.

  9. Eu já aprendi um pouco de C++ e já estou terminando uma apostila.

    Agora preciso de ajuda com uma apostila que me mostre como criar interface gráfica.

    E quero saber do que eu preciso pra criar hackers, trainers, crackers, keyloggers e coisas do tipo...

    O próximo passo agora que eu falei é, o que eu preciso pra iniciar como eu hackerzinho...(simplesmente um hackerzinho, se eu falo hacker o povo começa a falar que eu nunca vou ser um...)

  10. Sempre quis ser hacker, e sempre que eu pesquisava ou perguntava:

    Eu: "Como eu posso ser hacker?"

    Resposta: "Estude alguma linguagem de programação..."

    Eu Hoje: "Pronto, estudei C++, e agora? Eu acho que não sou hacker ainda..."

    Me ajudem, como eu posso ser hacker???

    Li uma apostila completa de C++ mas ainda assim me sinto inseguro sobre meu conhecimento, me ajudem por favor, tou me sentindo um burro.

    A apostila não tinha nem orientação a objetos, e o conteúdo dela parava em Métodos Virtuais.

  11. Closed Akie Postando Sobre Outro Che'''''***

    :chingando::chingando::chingando::chingando::chingando::chingando::chingando::chingando::chingando::chingando::chingando::chingando::chingando::chingando::chingando::chingando::chingando::chingando::chingando::chingando::chingando::chingando::chingando::chingando::chingando::chingando::chingando::chingando::chingando::chingando::chingando:[/size][/font]

     

    Quando você encontrar um tópico que você quer dar closed, você clica em reportar que um moderador vem e analisa o caso, podendo dar closed. Não fique continuando o tópico inútil apenas floodando, ou você leva advertência(experiência própria).

  12. MEU DEUS! cara de pau!

    ainda pede pra não copiarem...

    Esse cara copiou meu tópico praticamente, mesmo método, só muda porque ele mudou os exemplos...

    Quem quiser ver o tópico original pode ver, link: http://www.webcheats.com.br/forum/grand-chase-dicas-tutoriais/385599-fortalencedo-colar-ou-runa-ate-9-apenas-usando-logica.html

     

    Vou falar com um moderador, se quiserem ver a data do tópico pode ver(fica acima do primeiro post)...

  13. Eu prefiro dessa maneira:comprar 10 colares e fortalecer 1 por 1 até q uma hora um vai ficar +9,mas tem q ter bastante gp

     

    Cara, é isso que eu acabei de explicar... mas a diferença é que você usa mais colares...

     

    CARA pdoe ter funfado com voce mais aqui nao e nao vejo pq PURA LOGICA nao vi logico nenhuma fazendo asim sem ofença

     

    A lógica está justamente em, como você não pode aumentar a chance de conseguir um +9 com um colar.... aumente a chance de vir colares +9, quando todos chegarem a +8, todos terão a mesma chance de chegar a +9, é assim, HÁ MAIS CHANCE DE CHEGAR A DERRUBAR UMA MAÇÃ DE UMA MACIEIRA ALTÍSSIMA COM UMA PEDRA, OU COM MAIS DE UMA?

  14. cara eu sempre usei a sorte mesmo ( e umas 2000 gemas tambeem. hsuahsuahuse) mais eu tenho 3 colares de cash +9 arme (gelo) amy(gelo) e lass (luz) e outros 2 +8 jin (fogo) e e lire (gelo presente da lug) [/color][/size][/font]

     

    Ei, EU NÃO TÔ DIZENDO QUE NÃO USA SORTE!

    CLARO QUE USA SORTE!

    O negócio é que esse é apenas um método pra que AUMENTE as chances de você obter por meio da SORTE um +9 mais rápido....porque você usa mais colares no mesmo status para chegar ao próximo status, o que é mais fácil do que ter só um, arriscando quebra o colar ou sumir a runa, e você ficar chupando dedo...

     

    Desculpe qualquer coisa...;)

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.