Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Lazarus (IDE) (https://www.delphipraxis.net/81-lazarus-ide/)
-   -   Ausgabe verzögern (https://www.delphipraxis.net/198323-ausgabe-verzoegern.html)

TiGü 24. Okt 2018 19:44

AW: Ausgabe verzögern
 
Plot Twist: Uli ist der Informatiklehrer!:-D

OLDIE1950 24. Okt 2018 20:00

AW: Ausgabe verzögern
 
Liste der Anhänge anzeigen (Anzahl: 1)
Mit DELPHI XE7

Delphi-Quellcode:
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

// https://www.delphipraxis.net/6620-delay.html
procedure Delay(msecs: Longint);
var
  targettime: Longint;
  Msg: TMsg;
begin
  targettime := GetTickCount + msecs;
  while targettime > GetTickCount do
    if PeekMessage(Msg, 0, 0, 0, PM_REMOVE) then
    begin
      if Msg.message = WM_QUIT then
      begin
        PostQuitMessage(Msg.wParam);
        Break;
      end;
      TranslateMessage(Msg);
      DispatchMessage(Msg);
    end;
end;


procedure TForm1.Button1Click(Sender: TObject);
  var a, h, Af, U : Real;
begin
  a:= strtofloat(Edit1.Text);
  h:= a/2*sqrt(3);
  Af := (a*a);
  Af := Af/4;
  Af := Af*sqrt(3);
  U := 3*a;
  Delay(500);
  Edit2.Text := floattostr(Af);
  Delay(500);
  Edit3.Text := floattostr(U);
  Delay(500);
  Edit4.Text := floattostr(h);
end;

end.

DieDolly 24. Okt 2018 20:25

AW: Ausgabe verzögern
 
Eine Frage bleibt. Warum sollte man solche Ausgaben verzögern?
Hat mMn keinen Sinn. Und 8-) -er wird ein Programm auch nicht wenn man große Rechenoperationen vortäuscht.

Luckie 24. Okt 2018 20:41

AW: Ausgabe verzögern
 
Zu Demonstrationszwecken, der angewandten Formeln? Er wird schon seine Gründe haben.

ulrich72 27. Okt 2018 19:05

AW: Ausgabe verzögern
 
Hallo,
da habe ich ja eine Diskussion losgetreten. Aber mal gleich zu den Vermutungen von @Luckie und @TiGü:
es ist keine Schulaufgabe und ich bin auch nicht der Informatiklehrer. Die 72 ist das Geburtsjahr eines meiner Kinder. Da ich blutiger Anfänger bin, muss ich mich schon mal auf einfachste Aufgaben stürzen und versuchen diese dann zu erweitern.
Aber nun gleich noch eine Frage, in der folgenden Prozedur muss ich irgendetwas falsch gemacht haben:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var
  inp1, inp2,inp3, z :integer;
begin
  inp1 := strtoint(edtinput1.Text);
  inp2 := strtoint(edtinput2.Text);
  inp3 := strtoint(edtoutput.Text);
  z := inp1 + inp2;
    if
      z = inp3
    then
      edtRichtig.Visible = true
    else
      edtFalsch.visible = true
end;
Ich bekomme immer die Fehlermeldungen

Zitat:

unit1.pas(61,5) Error: Illegal expression
unit1.pas(63,1) Error: Illegal expression
Wo liegt mein Fehler, ich vermute einen simplen Anfängerfehler. Übt Nachsicht mit einem Wissbegierigen Opa und helft ihm auf die Sprünge!
MfG
Ulrich

Luckie 27. Okt 2018 19:14

AW: Ausgabe verzögern
 
Delphi-Quellcode:
edtRichtig.Visible = true
= ist ein Vergleich in Delphi und := eine Zuweisung. Es muss also heißen:

Delphi-Quellcode:
edtRichtig.Visible := true;

DieDolly 27. Okt 2018 19:16

AW: Ausgabe verzögern
 
wenn du Anfänger bist dann lerne auch gleich eine vernünftige Einrückung. So findet man Fehler später leichter. Außerdem auf Groß- und Kleinschreibung achten.

Delphi-Quellcode:
z := inp1 + inp2;

if z = inp3 then
 edtRichtig.Visible = True
else
 edtFalsch.visible = True

// true => True
// strtoint = StrToInt
// inp1, inp2,inp3, z :integer; => inp1, inp2,inp3, z: Integer;
achja. Und vernünftige Variablennamen.

EWeiss 27. Okt 2018 19:18

AW: Ausgabe verzögern
 
Ein Vergleich in Delphi bedeutet ...
Delphi-Quellcode:
If edtRichtig.Visible = true then


Wobei man nicht auf True hin prüfen sollte sondern einfach.
Delphi-Quellcode:
If edtRichtig.Visible then

Oder
Delphi-Quellcode:
If not edtRichtig.Visible then



Du möchtest es aber zuweisen.
Deshalb ...
Delphi-Quellcode:
edtRichtig.Visible := true;

Man achte auf den Unterschied! "=" und ":="
Zitat:

wenn du Anfänger bist dann lerne auch gleich eine vernünftige Einrückung.
Wenn du ihm schon Vorschläge machst dann bitte auch mit der Korrektur.
Delphi-Quellcode:
edtFalsch.visible = True


ist definitiv falsch!

Das einzige was man bemängeln könnte wäre dieses.
Delphi-Quellcode:
inp2 := strtoint(edtinput2.Text);
inp3 := strtoint(edtoutput.Text);
inp2 = edtinput2 ist verständlich.
inp3 = edtoutput unverständlich.. dann bitte so
outp = edtoutput

Am ende ist es aber deine Entscheidung wie du es machen möchtest da es nichts am Ergebnis ändert. (Nur zur besseren Übersicht)

gruss

Luckie 27. Okt 2018 19:18

AW: Ausgabe verzögern
 
Zitat:

Zitat von DieDolly (Beitrag 1416906)
Außerdem auf Groß- und Kleinschreibung achten.

Da Delphi nicht case-sensitive ist, ist was man wie groß oder klein schreibt reine Geschmackssache.

EWeiss 27. Okt 2018 19:20

AW: Ausgabe verzögern
 
Zitat:

Zitat von Luckie (Beitrag 1416909)
Zitat:

Zitat von DieDolly (Beitrag 1416906)
Außerdem auf Groß- und Kleinschreibung achten.

Da Delphi nicht case-sensitive ist, ist was man wie groß oder klein schreibt reine Geschmackssache.

Dito! ;)

gruss


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:39 Uhr.
Seite 2 von 3     12 3      

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