Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 11, 2025 08:35

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Mi Okt 17, 2007 21:18 
Offline
DGL Member

Registriert: Fr Okt 24, 2003 22:26
Beiträge: 120
Wohnort: Mannheim
Programmiersprache: Delphi
Hallo,

Kennt jemand eine Komponente, die Single (Real) oder integer speichert und unter D2007 funktioniert?

Grüße


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Okt 18, 2007 07:57 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Also es gibt so direkt nichts was du benutzen kannst. Allerdings sind sowohl Singles als auch Integer jeweils 32 Bit groß. Was rein zufällig auch der minimalgröße eines Pointers entspricht. Und von daher kannst du die TList dazu missbrauchen. Du musst nur die Werte beim Hinzufügen als Pointer casten. NICHT @ oder Addr benutzen sondern casten. Und beim Auslesen musst du sie wieder als Integer oder Single casten.

Also
Code:
  1. List.Add(Pointer(IntergerVar));
  2. List.Add(Pointer(SingleVar));
  3.  
  4. Integer(List[20]);
  5. Single(List[20]);


Allerdings pass bitte auf, dass du dich peinlich genau daran hältst ansonsten kann es leicht passieren, dass du dir irgendwas zerschießt. Wenn du es aber sauber haben willst ohne solche umwandlungen wirst du nicht umher kommen dir selber etwas zu basteln. Kenne so auch keine externen Units die da was haben.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Okt 18, 2007 15:27 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Und komm nicht auf die Idee, größere Typen als Integer und Single reinzupacken.... Bei Double wirds schon haperig.

Gruß Lord Horazont

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Okt 18, 2007 17:30 
Offline
DGL Member
Benutzeravatar

Registriert: So Okt 26, 2003 20:07
Beiträge: 249
Wie siehts denn unter Delphi mit der Unterstützung von Generics aus? Der neue FreePascal Compiler kanns ja - würde dir auf jeden Fall ne Menge Arbeit abnehmen.

_________________
I'm not the signature, I'm just cleaning the floor...

Derzeitiges Projekt:
FireBlade Particle Engine (Release R2 2009.06.29)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Okt 18, 2007 19:34 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Nein ich wüsste nicht, dass Delphi so etwas kann.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Okt 18, 2007 19:48 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Generics sind aber wohl schon fest eingeplant. In der Hilfedatei sind sie beschrieben (auch für Win32):

http://cc.codegear.com/prodcat.aspx?prodid=1&catid=9

Zitat:
Instantiation timing:

On Win32, instantiation is processed by the compiler. All instantiated objects are emitted into .OBJ files.

On .NET, instantiation is processed by the run time environment.


Ein paar Beispiele:

Code:
  1. type
  2.    TFoo<T> = class
  3.      FData: T;
  4.    end;
  5. var
  6.    F: TFoo<Integer>; // 'Integer' is sthe type argument of TFoo<T>
  7. begin
  8.    ,,,
  9. end.


Code:
  1. type
  2.   TFoo = class
  3.     procedure Proc<T>(A: T);
  4.     procedure Proc(A: String);
  5.     procedure Test;
  6.   end;
  7.  
  8. procedure TFoo.Test;
  9. begin
  10.   Proc('Hello'); // calls Proc(A: String);
  11.   Proc<String>('Hello'); // calls Proc<T>(A: T);
  12. end;


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Okt 19, 2007 01:17 
Offline
Ernährungsberater
Benutzeravatar

Registriert: Sa Jan 01, 2005 17:11
Beiträge: 2068
Programmiersprache: C++
Als Alternative gäbe es diese Möglichkeit um Templates per Includes zu erzeugen.

_________________
Steppity,steppity,step,step,step! :twisted:
❆ ❄ ❄ ❄ ❅ ❄ ❆ ❄ ❅ ❄ ❅ ❄ ❅ ❄ ❄
❄ ❄ ❄ ❅ ❄ ❄ ❄ ❅ ❄ ❄ ❆ ❄ ❄


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Okt 19, 2007 02:36 
Offline
DGL Member
Benutzeravatar

Registriert: So Okt 26, 2003 20:07
Beiträge: 249
i0n0s hat geschrieben:
Als Alternative gäbe es diese Möglichkeit um Templates per Includes zu erzeugen.

Also das ist ja mal interessant! :shock:
Wieder was gelernt :)

_________________
I'm not the signature, I'm just cleaning the floor...

Derzeitiges Projekt:
FireBlade Particle Engine (Release R2 2009.06.29)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Okt 20, 2007 18:07 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Mär 09, 2005 15:54
Beiträge: 372
Wohnort: München
Programmiersprache: Delphi, C#, FPC
Nochmal zurück zum eigentlichen Topic:

http://gp.17slon.com/gp/gplists.htm

_________________
Aktuelles Projekt: Gael - Development Blog
Website: LightBlackSoft.com


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 16 Queries | GZIP : On ]