Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Problem mit einem Label (https://www.delphipraxis.net/100518-problem-mit-einem-label.html)

philipp21 29. Sep 2007 14:06


Problem mit einem Label
 
Hallo,
ich bin ein Delphi NEULING.

ich versuche gerade ein Projekt umzusetzen und komme nciht wirklich weiter. Mit einem Button soll 1. ein Zufallsgenerrator eine von 2 möglichen antworten erstellen (Randomize). Ich weiß wie das geht. Aber ich möchte bevor die Antwort erstellt wird einige zeitlang die möglichen Antworten abwechselnd erscheinen und verschwinden lassen. Also ein Knopf der diese 2 Funktionen nacheinander ausführt. Könnt ihr mir da weiter helfen. Wie ich das Mahce das immer abwechseln 2 bestimmte texte erscheinen??


DANKE

yogie 29. Sep 2007 14:20

Re: Problem mit einem Label
 
Hallo Phillip21 ...

also hier ein Vorschlag :
beide Antworten als String erstellen z.B
string1 := 'dies ist Antwort 1';
string2 := 'dies ist Antwort 2';
im Button Click dann in einer Schleife zuweisen
Label1.Caption := string1
sleep(100) // wartet 100 ms
Label1.Caption := string2
sleep(100) // wartet 100 ms

das mit dem sleep ist nicht wirklich elegant aber für einen
ersten Test sollte das gegen. Vefeinern kann man die Sache immer noch.

Viel Spaß
Yogie

scrat1979 29. Sep 2007 14:22

Re: Problem mit einem Label
 
Hallo!!

Egal, was Du auch verwendest (Button zum ändern oder einen Timer zum automatischen ändern des Textes) würde ich folgendes Prinzip anwenden:

Delphi-Quellcode:
 VAR MeineTexte : Array[0..1] of String;
       TextItem : Byte;
[...]
// Initialisieren am PRogrammanfang
MeineTexte[0] := 'TextA';
MeineTexte[1] := 'TextB';
TextItem := 0;
Label1.Caption := MeineTexte[0];

[...]

if TextItem = 0 Then Begin // Bei mehreren mit CASE arbeiten...
    Label1.Caption := MeineTexte[1];
    TextItem := 1;
End Else Begin
    Label1.Caption := MeineTexte[0];
    TextItem := 0;
End;
SCRaT

Namenloser 29. Sep 2007 14:37

Re: Problem mit einem Label
 
Wozu case wenn du schon mit einem Array arbeitest?
Delphi-Quellcode:
var
  meinetexte: array[0..n] of string;
  textitem: integer = 0;
[...]
begin
  textitem := (textitem+1) mod length(meinetexte); // statt length(meinetxte) kann man natürlich auch einen hartkodierten wert nehmen
  label1.caption := texte[textitem];
end;

philipp21 29. Sep 2007 15:30

Re: Problem mit einem Label
 
ja super vielen dank hat mir echt weiter geholfen!!!

philipp21 29. Sep 2007 15:51

Re: Problem mit einem Label
 
ok super danke jetzt klappt alles!!!

Namenloser 29. Sep 2007 16:06

Re: Problem mit einem Label
 
Hallo,
wo genau kommst du denn nicht weiter?

Und benutze bitte zukünftig die Editierfunktion, Doppelposts sind hier eigentlich erst nach 24 Stunden erlaubt.

Blackheart 29. Sep 2007 16:26

Re: Problem mit einem Label
 
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Label1.Caption:= s1;
  Label1.Refresh;
  sleep(500);
  Label1.Caption:= s2;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:41 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 by Thomas Breitkreuz