1

Thema: Delphi 3 - Variablen

Nur so aus neugier... kann mir das jemand erklären:

------------------------------------------------------------------------
var
     i:       integer;
     v: variant;
     s: string;
begin
   i:= 1;
   v:= Null;
   s: 'string';
   v:= s; s:= v;
   v:= i;
   v:= v + s + i;     // Compiler akzeptiert das, wird aber nicht gehen, da es kein + Operator zwischen string und integer typen gibt
   if v = i then v:= i * 20;    // VarEqual( v, i ) ist zu empfehlen, falls v auch mal etwas anders als ein integer sein kann, Alternativ z.B. auch: if VarAsInt( v, 0 ) = i then
------------------------------------------------------------------------
(Bis hier her war das noch logisch nachvollziehbar, ) aber warum geht:
     s:= v + i + s;
aber
     s:= s + i + v;
geht nicht?

kann mir das jemand erklären?

2

Re: Delphi 3 - Variablen

hmm das steht doch oben warum das nicht geht!

[color:red] v:= v + s + i; // Compiler akzeptiert das, wird aber nicht gehen, da es kein + Operator zwischen string und integer typen gibt [/color]

Also man kann keine string werte in integer variablen übergeben, da integer variablen kleiner sind als string werte!
Andersrum geht es natürlich man kann integer werte in string var übergeben, ohne probleme!

gruss schefl