Ir para conteúdo
Fórum Script Brasil

Ace Stryker™

Membros
  • Total de itens

    10
  • Registro em

  • Última visita

Posts postados por Ace Stryker™

  1. Primeiramente precisamos criar nosso projeto, faça como se pede.

    001kx.png

    002cd.png

    Criará 3 arquivos:

    -Base.asm: Local onde você colocará nossos códigos

    -Base.inc: Local onde será declarado tudo de nosso programa

    -Base.rc:Local onde mexeremos na interfáce gráfica do nosso form

    Agora clique em base.** e verá seu form:

    003iv.png

    Agora clique em Base.inc e verá algo mais ou menos assim:

    include windows.inc
    uselib MACRO libname
    include  libname.inc
    includelib libname.lib
    ENDM
    uselib user32
    uselib kernel32
    DlgProc  PROTO :DWORD,:DWORD,:DWORD,:DWORD
    IDC_OK    equ 1003;LOCAL DE CONSTANTES
    IDC_IDCANCEL  equ 1004
    .data?
    hInstance  dd  ?;dd can be written as dword 
    ;LOCAL DE VARIAVEIS INDEFINIDAS
    e em base.asm
    .486
    .model flat, stdcall
    option casemap :none  ; case sensitive
    include  base.inc
    .code
    start:
    invoke GetModuleHandle, NULL
    mov hInstance, eax
    invoke DialogBoxParam, hInstance, 101, 0, ADDR DlgProc, 0
    invoke ExitProcess, eax
    ; -----------------------------------------------------------------------
    DlgProc proc hWin :DWORD,
      uMsg :DWORD,
      wParam :DWORD,
      lParam :DWORD
    .if uMsg == WM_COMMAND
      .if wParam == IDC_OK
    ; -----------------------------------------------------------------------
    ;   TODO
    ; -----------------------------------------------------------------------
            .elseif wParam == IDC_IDCANCEL
       invoke EndDialog,hWin,0
      .endif
    .elseif uMsg == WM_CLOSE
      invoke EndDialog,hWin,0
    .endif
    xor eax,eax
    ret
    DlgProc endp
    end start
    Você agora não precisa entender muito do que vamos estar fazendo com essa função principal ai não, mas vou mostrar os principais: wParam é o local de nossos eventos, lá em cima, vemos que se nosso wParam é IDC_OK ele executará alguma função(To do), o que vamos fazer é: Ao clicar no botão IDC_OK o programa abrirá uma messagebox com o texto digitado no textbox de cima, com o titulo no de baixo. Após o wParam == IDC_OK digite
    invoke GetDlgItemText, hWin, 1001, offset Buffer, sizeof Buffer;Pegamos o text do textbox com ID 1001 e jogamos para buffer
       invoke GetDlgItemText, hWin, 1002, offset Buffer2, sizeof Buffer2;Pegamos o texto do textbox 1002
       invoke MessageBox,hWin, offset Buffer, offset Buffer2, MB_OK;Chamamos nossa MessageBox
    e adicione na Base.inc isto:
    Buffer db 256 dup(?)
    Buffer2 db 256 dup(?); são nossos retornos de string da função GetDlgItemText

    Clique em Make/Go ALL

    E teremos nosso resultado.

    004iv.png

  2. Bem, qual é o seu problema?Vou passar um código em delphi bem explicado para ver se você entende o que estou fazendo.

    function Pagamento(Tipo : string;preço : double) : Double;
    var
    Desconto : Doublle
    begin //função que você coloca o tipo de pagamento e ela retorna uma Double
    Case Tipo of //um case da string Tipo
    'Cheque': begin //se o tipo for cheque
    Desconto := preço /100 * 40 //pega o preço e pega 40% dele
    Result := preço - Desconto;
    end
    'Cheque pré datado 1' : begin //cheque pré datado de 30 e 60 dias
    Desconto := preço /100 * 10 //pega o preço e pega 10% dele
    Result := preço - Desconto;
    end
    'Cheque pré datado 2' : begin //cheque pré datado de 30 e 60 e 90 dias
    Desconto := preço /100 * 5 //pega o preço e pega 5% dele
    Result := preço - Desconto;
    end
    'Cartao de Credito' : begin /Cartão de Crédito
    Desconto := preço /100 * 30 //pega o preço e pega 30% dele
    Result := preço - Desconto;
    end
    'A Vista' : begin //a vista
    Desconto := preço /100 * 50 //pega o preço e pega 50% dele
    Result := preço - Desconto;
    end

    / significa dividido

    * significa vezes

    Result significa o valor que a função vai retornar

    := significa igual

  3. Sim, é possível, você pode usar o Canvas, onde num timer você coloque para ele desenhar na tela o que você quiser...

    var
             sc: Tcanvas;
    begin
    
            sc := TCanvas.Create;
    try
           sc.Handle:=GetDC(0);
           sc.Brush.Style := bsClear;
           sc.Draw(6,6,Image1.Picture.Graphics);
           ReleaseDC(0, sc.handle);
       finally
         sc.free;
    end;

    Fonte: Planeta Delphi

    Neste exemplo eu uso a imagem que esta na Image, ela se desenhará na tela, não importa se o programa estiver minimizado ou não.

  4. Isto é só um esboço, veja o que você pode fazer:

    var
    Mouse : TPoint;
    begin
    GetCursosPos(Mouse);
    if (Mouse.X = 50) and (Mouse.Y = 60) then //coloque as coordenadas do button
    SpeedButton1.Heigh := SpeedButton1.Heigh + 20
    SpeedButton1.Width := SpeedButton1.Width + 20;
    end;

×
×
  • Criar Novo...