AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

5 mal klicken

Ein Thema von citybreaker · begonnen am 18. Feb 2003 · letzter Beitrag vom 18. Feb 2003
Antwort Antwort
citybreaker
(Gast)

n/a Beiträge
 
#1

5 mal klicken

  Alt 18. Feb 2003, 16:13
Hallo!

Ich will ein Bild machen, auf
das man 5 mal klicken muss,
damit es verschwindet.
Wie kann man das machen?

cYa Citybreaker
  Mit Zitat antworten Zitat
Benutzerbild von NeoDeluxe
NeoDeluxe

Registriert seit: 4. Dez 2002
Ort: Behind the Firewall
240 Beiträge
 
Delphi 7 Personal
 
#2
  Alt 18. Feb 2003, 16:22
So ganz genau, weiss ich das nicht. Aber du kannst eine Variabele reinschweissen, und bei jedem klick abzählen z.
Code:
procedure Image1.Click...
var
  i:integer
begin
  i:=0
  i:=i+1;
  if i=5 then
    //muss du schreiben was passieren wird wenn man das Bild 5 Mal angeklickt hast
da gibt es bestimmt eine andere methode, ich kenne diese hab auch schon öfter benutzt.
Alex
  Mit Zitat antworten Zitat
Benutzerbild von NeoDeluxe
NeoDeluxe

Registriert seit: 4. Dez 2002
Ort: Behind the Firewall
240 Beiträge
 
Delphi 7 Personal
 
#3
  Alt 18. Feb 2003, 16:24
Mist wie konnte ich nur , hab ganz vergessen die Semikoliume.
Bitte um Vergebung.........
Alex
  Mit Zitat antworten Zitat
janjan

Registriert seit: 16. Jan 2003
Ort: Bonn ("links über Königswinter ")
240 Beiträge
 
Delphi 4 Standard
 
#4
  Alt 18. Feb 2003, 16:30
das wir so in der form nicht klappen, du musst i global definieren und im ImageKlick hochzählen:

Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Image1: TImage;
    procedure Image1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  i:Integer=0;
implementation

{$R *.dfm}

procedure TForm1.Image1Click(Sender: TObject);
begin
  i:=i+1;
  form1.Caption:=inttostr(i);
  if i = 5 then image1.Visible:=false;
end;

end.
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#5
  Alt 18. Feb 2003, 16:31
Hallo,


NeoDeluxe hat prinzipiell Recht, aber seine lokale variable wird bei jedem Aufruf des OnClick-Ereignisses neu initialisiert!

I muß global definiert werden! Etwa so
Delphi-Quellcode:
TMyObject = class(TObject)
private
  FCount : Integer

.
.
.

 procedure Image1.Click...
begin
  Inc(FCount);
  if FCount=5 then
    //muss du schreiben was passieren wird wenn man das Bild 5 Mal angeklickt hast
  FCount := 0;
Eventuell in der OnCreate-Methode FCount := 0; aufnehmen, aber eigentlich werden die Property's durch das Objekt automatisch instanziiert (Zeiger = nil, Integer = 0 usw.)

Gruß oki
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#6
  Alt 18. Feb 2003, 16:33
Und wieder mal nachträglich korrigiert:

Delphi-Quellcode:
  if FCount=5 then begin
    //muss du schreiben was passieren wird wenn man das Bild 5 Mal angeklickt hast
    FCount := 0;
  end;
Gruß oki
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#7
  Alt 18. Feb 2003, 16:33
@NeoDeluxe: lokale Variablen sind dafür nicht brauchbar

Eine Möglichkeit wäre auch den TagWert zu nutzen.
Delphi-Quellcode:
procedure TForm1.ImageOnClick(Sender: TObject);
begin
  if Sender is TImage then
    with TImage(Sender) do
    begin
      Tag := Tag + 1;
      if Tag = 5 then
      begin
        Tag := 0;
        Visible := False;
      end;
    end;
end;
end;
......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von NeoDeluxe
NeoDeluxe

Registriert seit: 4. Dez 2002
Ort: Behind the Firewall
240 Beiträge
 
Delphi 7 Personal
 
#8
  Alt 18. Feb 2003, 16:33
jup , Sorry jetzt weiss ich warum das bei mir manchmal nicht ging!
Alex
  Mit Zitat antworten Zitat
citybreaker
(Gast)

n/a Beiträge
 
#9
  Alt 18. Feb 2003, 16:59
Okay!
Danke für die schnellen Antworten.

cYa Citybreaker
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#10
  Alt 18. Feb 2003, 17:27
man kann aber auch Tag einfach immer mod 5/6 (je nach dem) nehmen
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz