Entwickler-Ecke
Sonstiges (Delphi) - Live stand?
Zappt - Fr 19.06.09 18:02
Titel: Live stand?
Mein Programm:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure TForm1.Button1Click(Sender: TObject); Var a :real; begin a:=2; Repeat a:=a+1; edit1.text:=floattostr(a); Until a=10000;
end; |
Ich verstehe jetzt nicht warum ich im feld edit1.text jetzt nicht sehe wie weit der Zählstand ist?
Ich sehe es erst wenn ich bei 10K angekommen bin? Aber keine Zwischenstände? ;(
Thx
Zappt
Boldar - Fr 19.06.09 18:13
1.: Warum ist a nicht integer, das wäre doch besser geeignet.
2.: Rufe so etwa alle 10 Schleifendurchläufe aplication.processmessages auf, dann wird es aktualisiert
jakobwenzel - Fr 19.06.09 18:13
Um was zu sehen muss das ganze neu gezeichnet werden - und das kann erst passieren wenn das Programm "Zeit" dazu hat. Wenn du während dem Zählen was anzeigen willst musst du ihm das explizit sagen: Application.ProcessMessages;
Zappt - Fr 19.06.09 18:24
Dankööö perfekt!
Ich suche noch einen sehr großen Zahlenbereich? Größer als real? Kennt jemand vlt. einen?
Was ist der größte?
Popov - Fr 19.06.09 18:28
Boldar hat folgendes geschrieben : |
2.: Rufe so etwa alle 10 Schleifendurchläufe aplication.processmessages auf, dann wird es aktualisiert |
Du kannst auch bei jeden Durchlauf Aplication.ProcessMessages aufrufen, ist für einen Anfänger vielleicht auch einfacher als alle zehn Durchläufe. Allerdings kosten jeder Aplication.ProcessMessages etwas Zeit, aber auch nicht viel.
Delphi-Quelltext
1:
| 1.: Warum ist a nicht integer, das wäre doch besser geeignet. |
Integer ist für diese Aufgabe viel besser, denn Rechnen mit Nachkommastellen kostet Zeit. Aber auch wenn es egal wäre, Real ist ein ganz schlechter Variablentyp, und eigentlich auch veraltet. Er existiert nur noch aus Kompatibilitätsgründen. Für einfachen reellen Typ ist Double besser.
Popov - Fr 19.06.09 18:36
Zappt hat folgendes geschrieben : |
Dankööö perfekt!
Ich suche noch einen sehr großen Zahlenbereich? Größer als real? Kennt jemand vlt. einen?
Was ist der größte? |
Für was? Das ist hier die Frage.
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| Generische Integer-Typen für 32-Bit-Implementationen von Delphi Typ Bereich Format Integer -2147483648..2147483647 32 Bit, mit Vorzeichen Cardinal 0..4294967295 32 Bit, ohne Vorzeichen
Fundamentale Integer-Typen Typ Bereich Format Shortint -128..127 8 Bit, mit Vorzeichen Smallint -32768..32767 16 Bit, mit Vorzeichen Longint -2147483648..2147483647 32 Bit, mit Vorzeichen Int64 -2^63..2^63-1 64 Bit, mit Vorzeichen Byte 0..255 8 Bit, ohne Vorzeichen Word 0..65535 16 Bit, ohne Vorzeichen Longword 0..4294967295 32 Bit, ohne Vorzeichen |
Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| Fundamentale reelle Typen Typ Bereich Signifikante Stellen Größe in Byte Real48 2.9 x 10^-39 .. 1.7 x 10^38 11-12 6 Single 1.5 x 10^-45 .. 3.4 x 10^38 7-8 4 Double 5.0 x 10^-324 .. 1.7 x 10^308 15-16 8 Extended 3.6 x 10^-4951 .. 1.1 x 10^4932 19-20 10 Comp -2^63+1 .. 2^63 -1 19-20 8 Currency -922337203685477.5808.. 922337203685477.5807 19-20 8 |
Quelltext
1: 2: 3:
| Generische reelle Typen Typ Bereich Signifikante Stellen Größe in Byte Real 5.0 x 10^-324 .. 1.7 x 10^308 15-16 8 |
Bedenke, daß reelle Typen nicht verlustfrei sind, d.h ab einer bestimmten Größe wird getrixt. Real geht zwar bis 1.7 x 10^308, aber hinter 1.7 folgen nur noch Nullen. Die Zahl ist also groß, aber stimmt nicht mehr ganz. Die einzige reelle Zahl die verlustfrei ist, ist Currency. Currency wird für Währungsrechnungen benutzt. Wenn aber Verluste keine Rolle spielen, dann nimm Extended. Bei Integer Zahlen ist Int64 die größte Zahl.
Boldar - Fr 19.06.09 19:24
Popov hat folgendes geschrieben : |
Bei Integer Zahlen ist Int64 die größte Zahl. |
Naja, stimmt nicht ganz, es gibt auch noch uint64 und int64...
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!