AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Bilderschleife

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

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

AW: Bilderschleife

  Alt 14. Dez 2010, 19:44
Wie geht was?
Markus Kinzler
  Mit Zitat antworten Zitat
Bellla

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

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.874 Beiträge
 
Delphi 11 Alexandria
 
#3

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
 
#4

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
 
#5

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
 
#6

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
 
#7

AW: Bilderschleife

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

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

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
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Bellla

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

AW: Bilderschleife

  Alt 14. Dez 2010, 20:57
also das wa ich grad habe ist das selbe wie deins nur ist deins leichter.


nächstes problem
so jetzt habe ich einen button. wenn ich drücke kommen immer verschiedene bilder.nach dem 4 bild möchte ich wieder das auge also immage1. wo sich dann die anderen buttons befinden. jetzt kann ich das nächste button drücken.
wenn ich jetzt button 2 drücke soll man aber die restlichen 4 buttons nicht sehen.
könnt ihr mir auch hier helfen.

ich hoffe ich habe mich gut ausgedrückt aber ich habe einfach keine ahnung. lerne informatik also delphi erst seit 3 monaten
  Mit Zitat antworten Zitat
Benutzerbild von implementation
implementation

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

AW: Bilderschleife

  Alt 14. Dez 2010, 21:03
lerne informatik also delphi erst seit 3 monaten
Aber scheinbar nicht sehr intensiv. Das ist eine Aufgabe, die man nach 3 Monaten eigentlich stellen kann
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 01:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz