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

lele2

Silver Member
  • Total de Posts

    306
  • Registro em

  • Última visita

  • WCoins

    0

Posts postados por lele2

  1. Cálculos de porcentagens estão presentes em boa parte das aplicações que desenvolvemos. Porém, há momentos em que a mente trava e não conseguimos lembrar com clareza como estes cálculos são feitos, principalmente em Delphi.

     

    img187imageshackusimg18.png

     

    Esta anotação tem o objetivo de ser uma fonte de pesquisa para os momentos em que suas habilidades matemáticas insistirem em continuar ocultas.

     

    img187imageshackusimg18.png

     

    Ex: 1 - Suponhamos que um produto que custe R$ 178,00 sofra um acréscimo de 15%. Qual o valor final do produto? Veja o código em Delphi:

     

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

     

    img187imageshackusimg18.png

     

    Ex: 2 - Um produto, cujo valor original era de R$ 250,00, teve um desconto de 8%. Qual foi seu valor final? Veja o código em Delphi:

     

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

     

    img187imageshackusimg18.png

     

    Ex: 3 - Em um concurso de perguntas e respostas, um jovem acertou 72 das 90 perguntas apresentadas. Qual foi a porcentagem de acertos? E a porcentagem de erros? Veja o código em Delphi:

     

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

     

    img187imageshackusimg18.png

     

    Ex: 4 - Um aparelho de CD foi adquirido por R$ 300,00 e revendido por R$ 240,00. Qual foi a porcentagem de lucro na transação? Veja o código em Delphi:

     

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

     

    img187imageshackusimg18.png

     

    Ex: 5 - Uma loja repassa 5% do lucro a seus vendedores. Se um produto custa R$ 70,00, qual o valor em reais repassado a um determinado vendedor? Veja o código em Delphi:

     

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

     

    img187imageshackusimg18.png

     

    Creditos:

     

    Lele2

    Osmar J. silva

  2. Em programação de computadores, um array, também conhecido como vector (para arrays uni-dimensionais) ou matriz (para arrays bi-dimensionais), é uma das mais simples estruturas de dados. Os arrays mantêm uma série de elementos de dados, geralmente do mesmo tamanho e tipo de dados. Elementos individuais são acessados por sua posição no array. A posição é dada por um índice, também chamado de subscrição. O índice geralmente utiliza uma seqüência de números inteiros, (ao contrário de um array associativo) mas o índex pode ter qualquer valor ordinal. Alguns arrays são multi-dimensionais, significando que eles são indexados por um número fixo de números inteiros, por exemplo, por um seqüência (ou sucessão) finita de quatro números inteiros. Geralmente, arrays uni- e bi-dimensionais são os mais comuns.

     

    img187imageshackusimg18.png

     

    Os arrays podem ser considerados como as estruturas de dado mais simples que é possível imaginar. Têm a vantagem de que os seus elementos são acessíveis de forma rápida, mas têm uma notável limitação: são de tamanho fixo, mas podem ser incrementados ou diminuídos com determinados algoritmos, geralmente envolvendo a cópia de elementos de um array para outro e reinicializando o original com a nova dimensão. Os vetores podem ser implementados desta forma.

     

    img187imageshackusimg18.png

     

    Em Delphi um array é declarado da seguinte forma:

     

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

     

    Aqui nós temos um array chamado valores que contém 10 elementos do tipo Integer. Estes elementos podem ser acessados por índices que variarão de 1 a 10, ou seja, podemos acessar o 5º elemento da seguinte forma:

     

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

     

    Este tipo de array que ora criamos é chamado de array estático, em contraposição aos arrays dinâmicos, os quais podem ter seus tamanhos redimensionados durante a execução do programa.

     

    img187imageshackusimg18.png

     

    A forma mais prática de se trabalhar com arrays em Delphi é usando laços. Veja:

     

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

     

    Aqui nós declaramos um array de 5 elementos do tipo Integer e inicializamos seus elementos com os valores de 1 a 5. Em seguida percorremos todo o array novamente para obter a soma dos valores dos elementos.

     

    img187imageshackusimg18.png

     

    É possível também declarar e já inicializar um array. Veja:

     

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

     

    Note que aqui eu declarei o array como uma constante. Isso aconteceu porque o Delphi não permite que inicializemos variáveis locais ([DCC Error] Unit1.pas(32): E2195 Cannot initialize local variables). Caso você realmente precise do array como variável e não constante, e deseje inicializá-lo juntamente com a declaração, mova-o para a seção interface do formulário ou classe.

     

    img187imageshackusimg18.png

     

    Para finalizar, veja que é possível criar arrays de todos os tipos em Delphi. Veja no trecho de código abaixo como usamos um array de Char para guardar uma palavra e exibí-la normal e depois invertida:

     

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

     

    img187imageshackusimg18.png

     

    Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.

     

    Creditos:

     

    Lele2

    Osmar J. silva

  3. 1 - Código Completo

     

    Saber como ligar ou desligar o Caps Lock é uma técnica que pode ser muito útil durante o desenvolvimento de um projeto. Por exemplo, suponhamos que você queira que o usuário use somente letras maiúsculas durante o preechimento de alguns campos de um formulário. Você pode forçar o Caps Lock a ficar ligado durante todo o tempo que o formulário estiver ativo.

     

    Neste tutorial eu mostrarei como fazer isso mas, com um diferencial. Você aprenderá passo-a-passo o que está sendo feito. Desta forma, você poderá modificar o código para melhor adaptá-lo às suas necessidades.

     

    Vamos começar vendo o funcionamento do código. Coloque um botão em um formulário, dê duplo-clique no botão e insira o código abaixo em seu evento OnClick:

     

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

     

    img187imageshackusimg18.png

     

    Execute o aplicativo e clique no botão. Você verá que a cada clique no botão, a "luzinha" do Caps Lock é acesa ou apagada. Vamos ver como isso aconteceu?

     

    img187imageshackusimg18.png

     

    2 - Entendendo o tipo TKeyboardState

     

    Logo no início do código nós definimos uma variável chamada KeyState do tipo TKeyboardState:

     

    KeyState: TKeyboardState;

     

    O tipo TKeyboardState está na unit Windows. Ao abrirmos o arquivo Windows.pas, (geralmente localizado em "C:\Arquivo de programas\Borland\Delphi#\Source\Rtl\Win\Windos.pas"), vemos que este tipo é definido como:

     

    TKeyboardState = array[0..255] of Byte;

     

    Ou seja, o tipo TKeyboardState não é nada mais que uma matriz unidimensional de 256 elementos do tipo Byte.

     

    img187imageshackusimg18.png

     

    3 - Entendendo a função GetKeyboardState

     

    Logo após o begin temos uma chamada à função GetKeyboardState:

     

    GetKeyboardState(KeyState);

     

    Veja que está função recebe como argumento a variável KeyState declarada anteriormente. Ainda no arquivo Windows.pas encontramos o protótipo desta função:

     

    function GetKeyboardState(var KeyState: TKeyboardState): BOOL; stdcall;

     

    O protótipo nos indica que esta função pede uma variável do tipo TKeyboardState (que deverá ser passada por referência) e retorna um valor boolean. Na prática este valor nunca é testado. Mas você pode experimentar. Como você deve se lembrar, stdcall especifica que os parâmetros para a função serão passados da direita para a esquerda.

     

    img187imageshackusimg18.png

     

    Vejamos agora o corpo desta função. Rolamos o arquivo Window.pas um pouco e encontramos:

     

    function GetKeyboardState; external user32 name 'GetKeyboardState';

     

    Ah! Então esta função é uma chamada na API do Windows? Sim, isso mesmo. Hora de abrir os arquivos de ajuda da API do Windows e pesquisar a função GetKeyboardState. Encontramos:

     

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

     

    img187imageshackusimg18.png

     

    Embora este trecho de código esteja em C/C++, você não terá dificuldades em entender. Veja que a função recebe um ponteiro PBYTE para uma matriz contendo 256 elementos do tipo byte. O tipo de dados BOOL é identico ao boolean do Delphi.

     

    O arquivo de ajuda nos diz que esta função copia o status das 256 teclas virtuais para o buffer especificado. Então, ao final da chamada:

     

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

     

    img187imageshackusimg18.png

     

    A variável KeyState (que é na verdade uma matriz unidimensional de 256 elementos do tipo Byte) conterá 256 elementos. Cada um destes elementos terá o valor 0 ou 1.

     

    Muito bem! Tudo que temos que fazer agora é acessar o elemento da matriz que corresponde à tecla Caps Lock e verificar seu valor. Se o valor for 0, a tecla está desativada, do contrário ela está ativada. Olhando na tabela de códigos de teclas virtuais vemos que a constante VK_CAPITAL serve a este propósito. O valor inteiro desta constante é 20. Assim, o elemento da matriz correspondente a esta tecla pode ser acessado de duas formas:

     

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

     

    Ou:

     

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

     

    img187imageshackusimg18.png

     

    Depois de testarmos se a tecla Caps Lock está ou não ativada, podemos prosseguir com nosso exemplo. Nossa intenção é ligar a tecla se ela estiver desligada e ligá-la se esta estiver desligada. Vamos ao próximo tópico.

     

    Entendendo a função Keybd_Event

     

    Agora que já sabemos como testar se a tecla Caps Lock está ativada ou desativada, chegou a hora de aprendermos como ligá-la ou desligá-la via código. Isso é feito por meio da função keybd_event.

     

    Esta função permite simular o pressionamento de uma tecla. Isso quer dizer que você consegue simular os eventos OnKeyUP e OnKeyDown apenas usando esta função. Vamos investigá-la.

     

    img187imageshackusimg18.png

     

    O primeiro passo é consultar o Help do Delphi. Nada! Mais uns minutos de pesquisa e descobrimos que esta função está definida no arquivo Windows.pas. Eis o protótipo:

     

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

     

    img187imageshackusimg18.png

     

    Rolamos o arquivo Windows.pas um pouquinho mais e encontramos a definição:

     

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

     

    img187imageshackusimg18.png

     

    Hum! Outra chamada à API do Windows. Vamos aos arquivos da API então. Veja o que encontramos:

     

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

     

    img187imageshackusimg18.png

     

    Aqui vemos que a função não retorna nada (VOID). O primeiro parâmetro é código da tecla virtual a ser simulada. O segundo parâmetro não é usado, ou seja, em nosso exemplo fornecemos 1 apenas para indicar que a tecla seria ligada e 0 para indicar que a tecla seria desligada. O terceiro parâmetro são as opções da função. Os dois valores que podem ser fornecidos são KEYEVENTF_EXTENDEDKEY e KEYEVENTF_KEYUP. KEYEVENTF_KEYUP é usado para especificar o evento OnKeyUP. Se omitido, o evento será OnKeyDown. O quarto parâmetro pode ser definido como 0.

     

    img187imageshackusimg18.png

     

    Muito cuidado! Para simular o pressionamento de uma tecla é preciso chamar keybd_event duas vezes. Primeiro simulamos OnKeyDown e depois OnKeyUp. Assim, a tecla Caps Lock pode ser ligada ou desligada com o seguinte trecho de código:

     

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

     

    img187imageshackusimg18.png

     

    Veja que agora definimos o valor 0 para o segundo parâmetro. Isso não importa. Poderia ser 1 ou qualquer valor entre 0 e 255. Apenas estas duas linhas de código são suficientes para ligar ou desligar a tecla.

     

    img187imageshackusimg18.png

     

    Então escrevemos código em excesso? Na verdade não. Começamos com um código mais longo e um pouco repetitivo para mostrar-lhe os possíveis usos da função GetKeyboardState. Pode lhe ser útil algum dia.

     

    Creditos:

     

    Lele2

    Osmar J. silva

  4. Pega o kernel abre pega os códigos e poe, mais nao posta na WC ou qualquer forum pois isso seria plagio a nao ser que mudase o design e um monte de coisa mais dexa pra la

     

    Explicações racionais e serias :

    1º ache os Address do GC

    2º ponhas as gemas e bata ate... ops depois ponha os codigos no seu arquivo

    3º acrescente uma pitada de abrir ele com kernel ou unloacker a gosto :rs:

  5. Voce vai precisar disto:

     

    2 Label's

    2 Edit's

    1 Botão

     

    Arrume + ou - Desta Maneira:

     

    imagem3uyb.png

     

    img187imageshackusimg18.png

     

    Eu Alterei os CAPTIONS:

     

    label1 = Processo

    label2 = DLL

    Button1 = Injetar

     

    img187imageshackusimg18.png

     

    Codigos

     

    img187imageshackusimg18.png

     

    Nas uses coloque:

     

    Tlhelp32

     

    Adicione as funçoes dando 2 cliques no form e de um enter e cole:

     

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

     

    De um enter e cole:

     

    img187imageshackusimg18.png

     

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

     

     

     

    Agora de 2 cliques no button e adicione:

     

    img187imageshackusimg18.png

     

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

     

    img187imageshackusimg18.png

     

    Creditos

     

     

    Lele2

    Mrs.romanha

  6. Para que seria útil um gerador de senhas ?

    Eu já fiz alguns programas bestas só para passar o tempo, para Professores poderia ser assim:

    • Um programa que salva as anotações, tipo as avaliações.
    • Salvar os conteudos que a professora vai dar na aula
    • Uma Tabela de todos os horarios que ele vai dar a aula
    • e outras, é só pensar no que o professor faz e fazer isto em programa para facilitar ^^

    Para alunos:

    • Anotações de trabalhos, provas, tarefas
    • Despertador para lembrar que tem tarefa e etc
    • Agendamento de horario
    • como já disse, só pensar em o que um aluno faz e facilitar o modo de estudar ^^.

     

    E realmente mais eu nao entendi muito bem que ele quis dizer eu penso que ele tivesse que mostrar uma coisa em delphi que ele fez e uma dica o professor fazer uma tabela com o desempenho dos alunos e assim descobrir a duvida de tal aluno

  7. x integer[/color][/b] seria melhor colocar um edit e o usuario escolheria o valor a ser adicionado, como é string teria que converter, ficando assim:

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

    *E no lugar de um checkbox, é melhor um button ^^

    Coloque os códigos em tags de code [noparse]

    É necessário se cadastrar para acessar o conteúdo.
    • Curtir 1
  8. O seu termo e muito generalizado mais depois de 50 anos tentando decifrar o que você tentou dizer, cheguei a conclusão de que o que você quis dizer seja : Um programa que facilite a vida dos professores ou um programa qualquer para uma apresentação para os meus superiores? tente explicar melhor

     

    E uma dica de algum programa seria

    um gerador de senha aleatório

    link para tutorial

  9. Um trainer e um programa que edita valores na memoria de um jogo(pode se ate programas),tais como life,mp,ataque;

    Primeiramente tente entender os codigos,leia com calma nao de apenas ctrl c + ctrl v.

    Abra seu delphi.

     

    Declaremos as variaveis globais.

     

    img187imageshackusimg18.png

     

    H,PH:THandle;

    PID, THandleID, R : DWORD;

     

    img187imageshackusimg18.png

     

    Pra quem não sabe você declara-as debaixo de

     

    var

    Form1: TForm1;

     

    //Agora coloque um timer que vai verificar se a janela do nosso jogo esta ativa,se estiver ele vai pegar o PID pela api GetWindowThreadProcessId(); que nada menos apenas pega o PID apartir da janela.Depois disso o OpenProcess();Abre para nos o processo com privilegio total.

     

    img187imageshackusimg18.png

     

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

     

    Depois disso colocaremos o botao de editar,ou pode ser uma checkbox com o caption "Guild Hack";

    Neste botao editaremos o local da memoria,usando o writeprocessmemory.

     

    Ou invés da "checkbox" adicione um "button" (seguindo a mesma regra)

     

    img187imageshackusimg18.png

     

    Clique 2x na checkbox (ou button) que vc adicionou ou button e siga.

    Declare a variavel "escrever" como dword,e x como integer;

    coloque o codigo

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

     

    Ou coloque

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

     

    img187imageshackusimg18.png

     

    //Onde x e o valor a ser editado caso ai e 1 mesmo(1 = ativo 0 =desativado,grande semelhança aos numeros binários

    //$083A944C e o address que vai se editado,utilizando o indicador de hex $

    //PH e o processo.

     

    Creditos

     

    Lele2

    Leo

    • Curtir 1
  10. Aqui estão algumas coisas a respeito das interfaces

     

    img187imageshackusimg18.png

     

    Neste contexto, interface não tem nada a ver com telas de um programa ou partes do hardware mas sim com um recurso que algumas linguagens de programação - como Java e, mais recentemente, o Delphi - disponibilizam para tornar mais limpo o código do programa, que de outra forma teria que ser escrito usando heranças múltiplas (uma classe herdando de mais de uma classe base). Além do mais, Delphi e Java não suportam herança múltipla.

     

    img187imageshackusimg18.png

     

    Uma interface pode ser encarada como um contrato que tem que ser respeitado. Esse contrato é descrito em termos de métodos e/ou funções que devem ser esperados. Então, ao criar uma nova Classe você pode declará-la como implementadora de uma (ou mais) interface. Isto obriga a nova classe a respeitar fielmente o contrato, ou seja, ela terá obrigatoriamente que providenciar codificação para todas as funções e métodos declarados na interface, inclusive respeitando suas assinaturas - isto é, a quantidade e os tipo dos parâmetros e, no caso de funções, o tipo de dado retornado. Em outras palavras, as Interfaces definem comportamento e as Classes implementam esse comportamento.

     

    img187imageshackusimg18.png

     

    E, qual a utilidade disso ? Você poderá criar classes genéricas que façam uso das funções declaradas por uma interface e, então, qualquer classe que implementar a tal interface poderá se beneficiar da classe que a manipula. Um exemplo clássico desse conceito é a criação de uma classe genérica para ordenação. Tudo que é preciso fazer é declarar uma interface com uma função para comparar 2 valores; a classe de ordenação deve manter uma lista com os objetos a serem ordenados e usar a função de comparação para determinar a ordem correta de todos os elementos. Com isso, é possível ordenar listas de objetos de qualquer classe que implemente a interface de ordenação.

     

    img187imageshackusimg18.png

     

    Em termos da linguagem de programação, a declaração de uma interface é muito parecida com a declaração de classes. Basicamente, é composto por um nome, a palavra chave interface, uma lista de métodos e/ou funções e end para encerrar. Segue como exemplo a declaração de uma interface para ordenação:

    IWSortable = interface

    function CompareTo (Elemen: TInterfacedObject):

    Integer;

    end;

     

    img187imageshackusimg18.png

     

    Para uma classe dizer que implementa uma determinada interface, usa-se sintaxe semelhante à da herança. No exemplo abaixo, a classe TWPessoa declara que faz uma implementação da interface IWSortable:

    TWPessoa = class(TInterfacedObject, IWSortable)

    public

    Nome : String;

    Idade : Integer;

    function CompareTo (AElemen: TInterfacedObject) :

    Integer;

    end;

     

    img187imageshackusimg18.png

     

    Em Delphi, todas as interfaces são herança de uma mesma interface base chamada IUnknown, o que exige a implementação de alguns métodos. A classe TInterfacedObject do Delphi já faz essa implementação e é por isso que a utilizo como base para TWPessoa. Se fosse necessário incluir outras interfaces na classe TWPessoa, elas deveriam vir separadas por vírgula após o nome da classe pai.

     

    img187imageshackusimg18.png

     

    Alguns fatos sobre as interfaces:

     

    Todos os métodos e funções declarados numa interface tem visibilidade public. Por isso, não é permitido incluir nenhuma das declarações de visibilidade e informá-las ocasionará um erro de compilação.

     

    Os métodos e funções de uma interface são sempre abstract e virtual. Portanto, ambas as diretivas são dispensáveis na declaração da interface. Informá-las ocasionará um erro de compilação.

     

    Não é permitido incluir campos numa interface. Propriedadades, no entanto, são admitidas desde que as cláusulas read e write façam referência a funções e métodos.

     

    Uma classe pode implementar quantas interfaces forem necessárias.

    É permitido criar heranças de interfaces.

     

    Credito

     

     

    Lele2

    Luís Gustavo

  11. esse 3d ficou mau posicionado mais a iluminaçao, render, back ground estao maravilhosos

    Ou então deixe o efeito 3d um pouco mais fraco mais esta boa ^^

×
×
  • 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.