Autor Beitrag
Zappt
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 18



BeitragVerfasst: Fr 19.06.09 18:02 
Mein Programm:

ausblenden 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


Zuletzt bearbeitet von Zappt am Sa 20.06.09 11:59, insgesamt 1-mal bearbeitet
Boldar
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1555
Erhaltene Danke: 70

Win7 Enterprise 64bit, Win XP SP2
Turbo Delphi
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1889
Erhaltene Danke: 1

XP home, ubuntu
BDS 2006 Prof
BeitragVerfasst: 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;

_________________
I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
Zappt Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 18



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1655
Erhaltene Danke: 13

WinXP Prof.
Bei Kleinigkeiten D3Pro, bei größeren Sachen D6Pro oder D7
BeitragVerfasst: Fr 19.06.09 18:28 
user profile iconBoldar hat folgendes geschrieben Zum zitierten Posting springen:
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.

ausblenden 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
Popov
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1655
Erhaltene Danke: 13

WinXP Prof.
Bei Kleinigkeiten D3Pro, bei größeren Sachen D6Pro oder D7
BeitragVerfasst: Fr 19.06.09 18:36 
user profile iconZappt hat folgendes geschrieben Zum zitierten Posting springen:
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.

ausblenden 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


ausblenden 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


ausblenden 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.

_________________
Popov
Boldar
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1555
Erhaltene Danke: 70

Win7 Enterprise 64bit, Win XP SP2
Turbo Delphi
BeitragVerfasst: Fr 19.06.09 19:24 
user profile iconPopov hat folgendes geschrieben Zum zitierten Posting springen:
Bei Integer Zahlen ist Int64 die größte Zahl.


Naja, stimmt nicht ganz, es gibt auch noch uint64 und int64...