Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi integer initialisieren? (https://www.delphipraxis.net/7371-integer-initialisieren.html)

Stephan 10. Aug 2003 18:12


integer initialisieren?
 
Hi,

mal eine dumme Frage, wie kann ich eine integer Variable initialisieren?

Ich hab folgendes:

procedure TForm1.Button1Click(Sender: TObject);
var
count: integer;
begin
count := tinteger.create;
showmessage(inttostr(count));
end;

Allerdings wird eben nur ein komischer Wert ausgegeben. Was muss ich tun damit 0 ausgegeben wird?

viele Grüße

Stephan

CalganX 10. Aug 2003 18:33

Re: integer initialisieren?
 
Hi,
einen Integer kannst du nicht erstellen, weil es kein Objekt ist. Du musst einer Integer-Variable einen direkten Wert zuweisen. Sonst bekommst du Müll.
Der Grund ist, dass jede Variable eine Stelle im Speicher ist und wenn du was ausgibst, dann wird die Zahl ausgegeben, die gerade an der Stelle der Variable steht. Und wenn du nichts zugewiesen hast, dann steht da nichts oder - meistens so - Müll.

Du musst also explizit sagen
Delphi-Quellcode:
count := 0;
!

Chris

jbg 10. Aug 2003 18:43

Re: integer initialisieren?
 
Zitat:

Zitat von Chakotay1308
einen Integer kannst du nicht erstellen, weil es kein Objekt ist.

Wenn man es genau nimmt, dann ist ein Integer sehrwohl ein Objekt. Aber es gibt keine Integer Klasse (was du meintest). In C++ wird lauf Borland Handbuch jede Variable als "Objekt" bezeichnet.

CalganX 10. Aug 2003 18:46

Re: integer initialisieren?
 
Okay, okay. :roll:
Dann eben eine Klasse. ;)

Chris

woki 10. Aug 2003 20:18

Re: integer initialisieren?
 
Hallo Chakotay,

laß Dich mal nicht verunsichern. Es ist nicht sinnvoll, jetzt plötzlich alles als Objekt zu bezeichnen. Vielmehr gibt es da schon allgemein akzeptierte Definitionen, und danach hat sich bei den Integern seit TurboPascal nicht wirklich etwas geändert, Integerwerte sind weder Klassen noch Objekte.

1. Objekte sind in Object Pascal Instanzen von Klassen, wo keine Klasse, da kein Objekt.

2. In Java gibt es eine Klasse Integer, in Objectpascal nicht. In Objectpascal haben alle Klassen TObject als Vorfahr, ein Blick in den (Object) Browser offenbart, keine Klasse (T)Integer zu finden.

cu
Woki

JoelH 10. Aug 2003 20:27

hmm,
 
Zitat:

Zitat von woki
1. Objekte sind in Object Pascal Instanzen von Klassen, wo keine Klasse

was eigentlich schade ist, denn es gibt eigentlich nix besseres also sachen wie 3.String oder so Kram wo man mit Integern itereiert direkt aus dem zusammenhang heraus. Die sist wirklich eine gute Sache. Ich mag auch nicht immer OOP aber hier find es superideal (zB. in meiner Lieblingssprache Ruby, da ist alles ein Objekt) da kann man oft sehr einfach Sachen noch einfach tun als ohne OOP.

Hansa 10. Aug 2003 20:29

Re: integer initialisieren?
 
Manchmal sind solche Foren wie hier auch etwas verwirrend. Chakotay hat hier eindeutig Recht. Weise den integer einfach mit z.B.
Delphi-Quellcode:
i := 0;
zu und fertig. Das hat mit Klassen, Objekten und mit C wirklich nichts zu tun. 8)


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:32 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