AGB  ·  Datenschutz  ·  Impressum  







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

Bilderschleife

Ein Thema von Bellla · begonnen am 14. Dez 2010 · letzter Beitrag vom 14. Dez 2010
Antwort Antwort
Seite 1 von 2  1 2      
Bellla

Registriert seit: 14. Dez 2010
36 Beiträge
 
#1

AW: Bilderschleife

  Alt 14. Dez 2010, 19:47
das was ich machen will also man hat ein anfangsbild sagen wir image1
ich habe jetzt da 5 buttons drauf.
auf jeden button möchte ich ungefähr 3 bilder unterbringen. wenn ich button1 drücke kommen die ersten 3 bilder, wenn ich jetzt den button2 drücke verschwinden die 3 bilder und es kommen 3 neue.



bitte hilf mir es ist so wichtig. ich kann das nicht
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Bilderschleife

  Alt 14. Dez 2010, 19:58
Ich würde Case satt der verschachtelten Ifs nehmen.
Delphi-Quellcode:
var
  Form1: TForm1;
  status:integer;
  i:integer;

implementation

{$R *.dfm}

procedure TForm1.B1Click(Sender: TObject);
begin
    case status of
        0:
        begin
            sleep ( 500); //Halbe Sekunde
            image2.visible:=true;
            //if image2.Visible then -> überflüssig, weil du dies ja gerde explizit gemacht hast
            image1.visible:=false;
            status:=1;
        end;
        2:
        begin
            sleep(500);
            image2.visible:=false:
            status:=2;
        end;
        ...
    end;
end;

end.
Markus Kinzler
  Mit Zitat antworten Zitat
Bellla

Registriert seit: 14. Dez 2010
36 Beiträge
 
#3

AW: Bilderschleife

  Alt 14. Dez 2010, 20:00
ich versuchs mal danke
  Mit Zitat antworten Zitat
Bellla

Registriert seit: 14. Dez 2010
36 Beiträge
 
#4

AW: Bilderschleife

  Alt 14. Dez 2010, 20:07
ich hab jetzt
Code:
var
  Form1: TForm1;
  status:integer;
  i:integer;

implementation

{$R *.dfm}

procedure TForm1.B1Click(Sender: TObject);
begin
 case status of
        0:
begin
sleep ( 500);
image2.visible:=true;
image1.visible:=false;
status:=1;
end;

2:
begin
sleep(500);
image2.visible:=false;
image3.visible:=true;
status:=2;
end;

3:
begin
sleep(500);
image3.visible:=false;
image4.visible:=true;
status:=3;

end;

end;
end;
end.
aber nach wenn das 2. bild erscheint und man nochmal drückt passiert nichts warum?
  Mit Zitat antworten Zitat
Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#5

AW: Bilderschleife

  Alt 14. Dez 2010, 20:10
Dann passiert doch was. Allerdings das gleiche wie beim ersten Drücken, weil der Status gleich ist.
  Mit Zitat antworten Zitat
Bellla

Registriert seit: 14. Dez 2010
36 Beiträge
 
#6

AW: Bilderschleife

  Alt 14. Dez 2010, 20:11
nein es bleibt beim 2.bild was soll ich machen
  Mit Zitat antworten Zitat
Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#7

AW: Bilderschleife

  Alt 14. Dez 2010, 20:12
status:=1; Dir diese Zeile anschauen.
Überlege: Was bewirkt sie?
Was passiert bei Status 1?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Bilderschleife

  Alt 14. Dez 2010, 20:24
Du änderst den Status auch nicht mehr!

Btw. Ich hatte den Code so schön eingerückt. Aber scjeinbar scheint es dich zu stören, wenn man auf einen Blick sieht, was zusammen gehört.
Auch die Verwendung von passenden Tags (Delphi-Tag) würde die Lesbarkeit verbessern.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#9

AW: Bilderschleife

  Alt 14. Dez 2010, 20:34
@mkinzler
er hat den Fehler in Deinem Beispiel weiter ausgebaut.
Delphi-Quellcode:
        2:
        begin
            sleep(500);
            image2.visible:=false:
            //status:=2; falsch
            Status:=3;
        end;
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.233 Beiträge
 
Delphi 12 Athens
 
#10

AW: Bilderschleife

  Alt 14. Dez 2010, 20:47
Delphi-Quellcode:
if status = 0 then
begin
  image2.visible := true;
  if image2.visible then
  begin;
    image1.visible := false;
    status := 1;
  end;
end

else if status = 2 then
begin
  if image3.visible then
  begin;
    image2.visible := false;
    status := 2;
  end;
end

else if status = 3 then
begin
  if image4.visible then
  begin;
    image3.visible := false;
    status := 4;
  end;
end;
hab mal alles Unwichtige weggelassen

und dann nochmal alles gekürzt
Delphi-Quellcode:
if status = 0 then
begin
  image2.visible := true;
  image1.visible := false;
  status := 1;
end

else if (status = 2) and image3.visible then
begin
  image2.visible := false;
  status := 2;
end

else if (status = 3) and image4.visible then
begin
  image3.visible := false;
  status := 4;
end;
Es wurde nicht grundlos auf eine ordentliche Codeformatierung hingewiesen.
Was soll denn bei Status 1 passieren?
Wozu sollen die For-Schleifen gut sein?
Du setzt vieles nur auf False (visible), aber fragst es denoch auf True ab, was ja nie eintritt.

Case oder If, macht hierbei keinen Unterschied, da dieses nur die Befehle, aber nicht die fehlerhafte Logik verändert.

Lösung:
Überleg die nochmal, was du genau machen willst
und vergleiche dieses mit deinem Code.

[edit]
OK, nun gab's zwischendrin doch schon ein paar neue Antworten
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 19:14 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