Einzelnen Beitrag anzeigen

Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#7

Re: ist es möglich schon bei Typdeclaration Werte zuzuweisen

  Alt 28. Jun 2006, 18:42
Zitat von Christian Seehase:
Moin Stoxx,

vielleicht hättest Du noch dazu schreiben sollen, dass es:
  • nicht mit jeder Delphi Version funktioniert (D2006 geht, D7 geht nicht)
  • die Option "zuweisbare typisierte Konstanten" aktiviert sein muss, damit man dann auch etwas zuweisen kann (aber wer aktiviert das )
ich sollte mich berichtigen, das ist nicht das was ich suchte.
Denn dummerweise entspricht "i" einer (Klassen)-Variable ( von Records ).
Der Record hat eine eigene Klassenvariable, die für alle Variablen dieses Types gelten.
Wenn man den Wert "i" ändert, dann ändert man dummerweise jede Variable i von allen Variablen dieses Types TMyRecord. Witzige Geschichte.

Zitat:
(aber wer aktiviert das )
ich aktiviere das !
Alldieweil nur so Statische Variablen in Delphi mögich sind möglich sind. Eine procdure kann ihre eigene statische Variable haben. ( geht auch bei älteren Delphi versionen)

Anwendungsfall: Generierung einer einmaligen ID.

Delphi-Quellcode:
function makeID : longint;
const
  prevID : longint = 0; // static variable
var
  sec : longint;

begin
  sec := trunc( (date - 38000) * 1000000 + (Time * 1000000) );
  if sec <= prevID
    then sec := prevID + 1;

  prevID := sec;
  result:= sec;
end; // function makeid
sorry für die Falsch-Information, aber ich habs auch erst nach langer Fehlersuche gemerkt, dass const bei Records dann eine Klassenvariable darstellt.
Phantasie ist etwas, was sich manche Leute gar nicht vorstellen können.
  Mit Zitat antworten Zitat