Avatar billede prodoc Nybegynder
23. januar 2001 - 20:10 Der er 3 kommentarer og
1 løsning

EasterEgg - sådan at der kommer et panel frem når man trykker en slags kode

Det skal være sådan at når man fx. Holder ALT inde og så trykker Secrets så skal der komme et panel frem fx. Panel50 ????
Kan det lade sig gøre?
Avatar billede hatecaps Nybegynder
23. januar 2001 - 23:56 #1
selvfølgelig, det er sådan de fleste laves :-)

du kan ha\' global string-variable, denne fylder du i event formkeypress , og tjekker hvergang om indholdet passer med dit \"kodeord\", hvis længden er større eller lig med længden af dit kodeord, men ikke passer med det, kan du tømme den igen


unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, StdCtrls;

const
  kodeord = \'secrets\';
type
  TForm1 = class(TForm)
    Panel1: TPanel;
    procedure FormCreate(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  ind_kode : string;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
  keypreview := true;
  ind_kode := \'\';
  panel1.visible := false;
end;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if shift = [ssAlt] then
  begin
    if key in [65..90,97..122] then
    begin
      ind_kode := ind_kode + chr(key);
      if uppercase(ind_kode) = uppercase(kodeord) then
      begin
        panel1.visible := true;
      end;
      if length(ind_kode) >= length(kodeord) then
      begin
        ind_kode := \'\';
      end;
    end;
  end;
end;

end.
Avatar billede prodoc Nybegynder
24. januar 2001 - 20:43 #2
Hatecaps> Ømmmm jeg er lidt nybegynder i Delphi... Hvordan gør man præsist med den kode?
Måske evt. sende et project der virker med et panel??? :-) hvis du vil er min e-mail adresse pro_doctor@hotmail.com
Avatar billede hatecaps Nybegynder
24. januar 2001 - 21:02 #3
du kan sagtens selv lave det:

Start med at vælge \"New application\" fra \"File\" menu\'en.

Dernæst dropper du et panel komponent på formen. Nu skulle din kode se sådan ud :

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    Panel1: TPanel;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

end.

Dernæst kopiere du
const
  kodeord = \'secrets\';

og

  ind_kode : string;

ind i din kode så den kommer til at se sådan her ud :

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, StdCtrls;

const
  kodeord = \'secrets\';
type
  TForm1 = class(TForm)
    Panel1: TPanel;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  ind_kode : string;

implementation

{$R *.DFM}

end.

Som det sidste klikker du en gang på formen, dernæst på \"events\" over i object-inspectoren i højre side. Her dobbeltklikker du i onCreate og onKeyDown. Det sætter de to \"events\" ind i din kode. Tilsidst kopiere koden til to events over i din kode, sådan at den kommer til at ligne det jeg postede først.

ha\' det godt
hatecaps :-)
Avatar billede snorga Nybegynder
28. januar 2001 - 11:39 #4
Ville det ikke virke bedre hvis man tømme ind_kode, når man IKKE har trykke ssAlt ned?

Lavet med en else sidste i procedure\'n:

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if shift = [ssAlt] then
  begin
    if key in [65..90,97..122] then
    begin
      ind_kode := ind_kode + chr(key);
      if uppercase(ind_kode) = uppercase(kodeord) then
      begin
        panel1.visible := true;
      end;
      if length(ind_kode) >= length(kodeord) then
      begin
        ind_kode := \'\';
      end;
    end;
  end
  ELSE
    IND_KODE := \'\';
end;

Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester