AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Gespräch simulieren??

Ein Thema von thechus · begonnen am 4. Jun 2012 · letzter Beitrag vom 6. Jun 2012
Antwort Antwort
Seite 1 von 3  1 23   
thechus

Registriert seit: 18. Dez 2011
30 Beiträge
 
#1

Gespräch simulieren??

  Alt 4. Jun 2012, 21:56
Liebes Forum,

ich möchte, dass Gesprächstexte zeitlich versetzt auf verschiedenen Panels erscheinen.
Leider bekomme ich das nicht hin
Mein Ansatz ist folgender:

Code:
procedure TJesusS.Dialog;
var n :integer;
begin
 panel1.visible := true;
 panel2.visible := true;
 n := 0;
 repeat
 sleep(100);
 n := n + 1;
 if n = 1 then panel1.caption := 'HA!';
 if n = 10 then panel2.caption := 'HA!';
 until n = 10;
end;
Leider führt er alle Befehle gleichzeitig aus
Ich hab's auch schon mit einem Timer versucht.
Da kam das selbe bei raus.

Ich hoffe ihr könnte mir helfen...

Danke und Gruß,
thechus
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.275 Beiträge
 
Delphi 12 Athens
 
#2

AW: Gespräch simulieren??

  Alt 4. Jun 2012, 22:09
nun ja... bei Sleep 100ms und 10 Durchläufen ist nach 1s alles fertsch... Für dich sieht es dann nach alles auf einen Blick aus, da innerhalb der Schleife keine Nachrichten abgearbeitet werden und somit erst danach alles gezeichnet wird (Stichwort: ApplicationProcessMessages).

Versuche noch einmal dein Vorhaben detailierter zu beschreiben.
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#3

AW: Gespräch simulieren??

  Alt 4. Jun 2012, 22:17
Es reicht nicht, per "Panel1.Caption := ... " dem Panel zu sagen, welcher Text dort erscheinen soll, man muss dem Panel (bzw. Windows) auch ne Chance geben, das mal zu zeichnen.
Stichwort "Application.ProcessMessages".
  Mit Zitat antworten Zitat
thechus

Registriert seit: 18. Dez 2011
30 Beiträge
 
#4

AW: Gespräch simulieren??

  Alt 4. Jun 2012, 22:18
Hmm okay...

Also.. wenn ich die Zeiten verlängere, taucht die Schrift einfach nur viel später auf. Trotzdem beide gleichzeitig.

Ich habe folgendes vor:
Ich habe einen kleinen Kampf simuliert.
Am ende bleiben 2 Kämpfer übrig und Jesus taucht auf.
Und jetzt möchte ich ein Gespräch zwischen den beiden Kämpfern und Jesus programmieren.
Die Lösung die mir dazu einfiel war, dass ich zu jeder Figur einen Panel habe, auf dem zeitlich versetzt die Gesprächszeilen rechtzeitig ei- und ausgeblendet werden.

Das "zeitlich versetzt" bekomme ich nicht hin.

Ich hoffe, dass das genug Info ist,

danke und Gruß,
thechus
  Mit Zitat antworten Zitat
thechus

Registriert seit: 18. Dez 2011
30 Beiträge
 
#5

AW: Gespräch simulieren??

  Alt 4. Jun 2012, 22:19
Na gut danke.
Ich mach mich da mal schlau.
  Mit Zitat antworten Zitat
thechus

Registriert seit: 18. Dez 2011
30 Beiträge
 
#6

AW: Gespräch simulieren??

  Alt 4. Jun 2012, 22:24
Ahh

Sauber hat geklappt! Danke

Hier der Code für Leute, die das selbe Problem haben:

Code:
procedure TJesusS.Dialog;
var n :integer;
begin
 panel1.visible := true;
 panel2.visible := true;
 n := 0;
 repeat
 sleep(1000);
 n := n + 1;
 Application.ProcessMessages;
 if n = 1 then panel1.caption := 'HA!';
 if n = 10 then panel2.caption := 'HA!';
 until n = 10;
end;
Vielen Dank!
Das ist Hilfe, wie ich mir sie vorstelle.

Gruß,
thechus
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Gespräch simulieren??

  Alt 4. Jun 2012, 22:25
Mach dich auch besser mal über Timer schlau.
Delphi-Referenz durchsuchenTTimer
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 4. Jun 2012 um 22:28 Uhr)
  Mit Zitat antworten Zitat
thechus

Registriert seit: 18. Dez 2011
30 Beiträge
 
#8

AW: Gespräch simulieren??

  Alt 4. Jun 2012, 22:39
Ja Chef!
  Mit Zitat antworten Zitat
Romiox

Registriert seit: 14. Okt 2010
Ort: Ruhrpott
57 Beiträge
 
#9

AW: Gespräch simulieren??

  Alt 5. Jun 2012, 00:04
Ist jetzt vielleicht mehr so ne Kleinigkeit, aber schöner fänd ich ja, wenn du das neuzeichnen veranlassen würest nachdem du neue Captions setzt, und nicht davor. Das juckt in der Schleife vielleicht nicht, aber mich irgendwie
Janis F.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Gespräch simulieren??

  Alt 5. Jun 2012, 08:47
Ist jetzt vielleicht mehr so ne Kleinigkeit, ...
Gut, hier sind die Ausgaben dadurch um 100 1000 Millisekunden verzögerst.

Abgesehn davon, daß weder Schleife noch ProcessMessages nötig sind.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
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 08:40 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