Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Typecast or not? (https://www.delphipraxis.net/127181-typecast-not.html)

alzaimar 8. Jan 2009 21:37


Re: Zufallszahl generieren
 
Ich finde, das wäre eine Diskussion in einem eigenen Thread wert.

Luckie 8. Jan 2009 21:40

Re: Zufallszahl generieren
 
Nein ein Typecast ist, wenn du einen Datentyp mit Gewalt und / oder Compiler Magic in einen anderen umwandelst. Zum Beispiel:
Delphi-Quellcode:
str := PChar(s);
Mit den Funktionen IntToStr, FloatToStr, usw. wird eine "normale" Typumwandlung gemacht.

Zitat:

Zitat von alzaimar
Ich finde, das wäre eine Diskussion in einem eigenen Thread wert.

Könnte man machen. Mach das doch mal. Da kannst du ja gleich mal üben, wie man einen Thread aufteilt. ;)

Meflin 8. Jan 2009 21:42

Re: Zufallszahl generieren
 
Das ist deine Interpretation!

Typecast heißt nichts anderes wie Type Conversion heißt nichts anderes wie Typenumwandlung! ALLES was IRGENDWIE einen Datentyp in einen anderen umwandelt, ist ein Typecast!

Uwe Raabe 8. Jan 2009 21:42

Re: Zufallszahl generieren
 
Zitat:

Zitat von Luckie
Nein ein Typecast ist, wenn du einen Datentyp mit Gewalt und / oder Compiler Magic in einen anderen umwandelst. Zum Beispiel:
Delphi-Quellcode:
str := PChar(s);
Mit den Funktionen IntToStr, FloatToStr, usw. wird eine "normale" Typumwandlung gemacht.

So war das in den letzten 36 Jahren auch mein Verständnis...

mkinzler 8. Jan 2009 21:44

Re: Zufallszahl generieren
 
Ein Cast kann natürlich auch weich sein:
Delphi-Quellcode:
<Float> := <Integer>;

Namenloser 8. Jan 2009 21:45

Re: Zufallszahl generieren
 
Zitat:

Zitat von Uwe Raabe
Zitat:

Zitat von Luckie
Nein ein Typecast ist, wenn du einen Datentyp mit Gewalt und / oder Compiler Magic in einen anderen umwandelst. Zum Beispiel:
Delphi-Quellcode:
str := PChar(s);
Mit den Funktionen IntToStr, FloatToStr, usw. wird eine "normale" Typumwandlung gemacht.

So war das in den letzten 36 Jahren auch mein Verständnis...

Ebenso meins in den letzten 5 oder 6 Jahren :mrgreen:

WInfo 8. Jan 2009 21:46

Re: Zufallszahl generieren
 
Zitat:

Zitat von Uwe Raabe
Sind das dann alles Explizite Type Casts?

var
s: string;
i: Integer;
begin
i := 12345;
s := IntToStr(i); // s = '12345';
s := IntToHex(i, 4); // s = '3039'
s := string(i); // EAccessViolation
end;

Moin Moin,

nein, dies sind implizite Type Casts. Für einen expliziten gibt man den Typ an.

Btw: was hat das ganze mit einer Zufallszahl zu tun? :glaskugel:

Namenloser 8. Jan 2009 21:51

Re: Zufallszahl generieren
 
Zitat:

Zitat von WInfo
Zitat:

Zitat von Uwe Raabe
Sind das dann alles Explizite Type Casts?

var
s: string;
i: Integer;
begin
i := 12345;
s := IntToStr(i); // s = '12345';
s := IntToHex(i, 4); // s = '3039'
s := string(i); // EAccessViolation
end;

Moin Moin,

nein, dies sind implizite Type Casts. Für einen expliziten gibt man den Typ an.

Btw: was hat das ganze mit einer Zufallszahl zu tun? :glaskugel:

Ich dachte ein impliziter Typecast wäre sowas:
Delphi-Quellcode:
var
  myfloat: float;
  myint: integer;
begin
  myint := 3;
  myfloat := myint;
end;

Meflin 8. Jan 2009 21:53

Re: Zufallszahl generieren
 
Zitat:

Zitat von WInfo
nein, dies sind implizite Type Casts. Für einen expliziten gibt man den Typ an.

Ne :mrgreen: Implizit ist alles, was nicht explizit angegeben wird - sprich alles wo du nicht "per Hand" umwandelst, sondern dies der Compiler oder Interpreter für dich macht.

WInfo 8. Jan 2009 21:57

Re: Zufallszahl generieren
 
Moin Moin NamenLozer,

und was möchtest Du damit sagen? :gruebel:

bpsw.
Delphi-Quellcode:
s: string;
i: Integer;
begin
i := 12345;
s := IntToStr(i); // s = '12345';
i ist ein integer,
s ist ein string
inttostr übernimmt einen integer und gibt einen string zurück. Hier werden zwei implizite Casts gemacht (i = integer und s = string) wobei diese jedoch den selben Typ besitzen und daher keine Konvertierungen vorgenommen werden. Bei der Zuweisung i = integer, gilt das oben gesagt, ebenfalls kein expliziter Cast. Wo liegt denn das Verständnisproblem? :gruebel:


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:18 Uhr.
Seite 1 von 4  1 23     Letzte »    

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