27. maj 2000 - 23:06Der er
2 kommentarer og 1 løsning
Fjern Form ved Klik
Hej!
Jeg ville høre om nogle af jer ka hjælpe mig .. Mit spøgsmål er : Jeg har en form som jeg gerne vil have skal vises når man starter programmet.. Det har jeg så også fundet ud af hvordan man gør, meeen! Det er en advarsel om nogle ting, og jeg har lavet sådan et "hak" man ka trykke i hvis man ikke vil se den form næste gang man går ind i programmet .. Altså at den går direkte videre til en anden form. Bruger sætter hak, også vises formen ikke næste gang han går ind i programmet. Håber i vil hjælpe! Tak!
i det tilfælde vil jeg registere det i windows registry eller i en fil.... så der hvor din form bliver kaldt fra.. checker om hvilken form der skal køres....(hak eller ikke hak, i en fil eller i win registry)
Tjaa, det forstod jeg ikke særlig meget af ... Og ja det er Don't show this again .. JEg er temlig nybegynder i Delpi, så hvis du vil hjælpe mig bedre så ville det være kanon :)
Her er et eksempel vedr. brugen af registry. Du skal i dit program starte med at "læse" en registry indstilling (en boolean) og hvis den findes, og har en værdi (true) skal du ikke vise formen. Hvis den ikke findes eller er false viser du formen.
Når brugeren sætter et hak i boksen, skriver du registry indstillingen og når han fjerner det (hvis han kan fjerne det) skriver du igen indstillingen, men denne gang med false (eller fjerner indstillingen).
NB! Du skal bruge Min. D4 eller D5 til dette og du skal have "registry" nævnt som en unit i din "uses" i starten af programmet:
i formshow:
procedure tform1.formshow(... var vis_form : boolean; reg : Tregistry; sec : string; begin Reg := TRegistry.Create; Reg.RootKey := HKEY_LOCAL_MACHINE; sec := '\software\mitprog\'; vis_form := false; try if reg.openkey(sec,false) then begin if reg.valueexists('Visform') then vis_form := reg.readbool('VisForm'); // vis_form bliver true hvis den findes reg.closekey; end; finally reg.free; end; if not vis_form then Vis_formen; // vis kun formen hvis vis_form er false end;
og i den form hvor brugeren checker boksen kan du lave en OnClick event med:
Procedure Tform1.onclick(... var vis_form : boolean; reg : Tregistry; sec : string; begin vis_form := checkbox1.checked; // true eller false afhængigt om der er hak i boksen eller ej
Reg := TRegistry.Create; Reg.RootKey := HKEY_LOCAL_MACHINE; sec := '\software\mitprog\'; try if reg.openkey(sec,true) then begin if vis_form then // værdien er sat til true så vi skriver den begin reg.writebool('VisForm',vis_form); end else begin // sat til false så vi sletter den igen if reg.valueexists('Visform') then reg.deletebool('VisForm'); end; reg.closekey; end; finally reg.free; end; end;
Synes godt om
Ny brugerNybegynder
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.