AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Objekte wie bei .NET

Ein Thema von bekrause · begonnen am 23. Jun 2011 · letzter Beitrag vom 23. Jun 2011
Antwort Antwort
bekrause

Registriert seit: 31. Mär 2003
Ort: Essen
24 Beiträge
 
Delphi XE Professional
 
#1

Objekte wie bei .NET

  Alt 23. Jun 2011, 12:15
Delphi-Version: XE
Hallo,

ich hoffe ich kann meine Frage verständlich formulieren.

Es gibt bei .NET z.B. Strings,die zusätzliche Funktionen habe. Beispielsweise würde die Variable s1 vom Typ string eine Zeichenkette zurückgeben. Die Funktion s1.ToInt würde den String dann zum Beispiel den String in einen Intergerwert umwandeln und diesen dann zurückgeben.

So etwas in der Art würde ich auch gerne definieren. Ich könnte natürlich ein Objekt definieren, welches (um bei obigen Beispiel zu bleiben) die Funktionen GetString und ToInt hat und dann mit string := s1.GetString und integer := s1.ToInt aufgerufen wird. Aber ich würde gerne wissen, ob das auch wie bei .NET geht.

Ich scheibe mal ein wenig Phantasiecode, in der ich ein HashwertObjekt benutze.

Delphi-Quellcode:
procedure xyz;
var s1, s2: string;
    obj: TSHA1HashObjekt;
begin
  obj := TSHA1HashObjekt.create;
  obj := '17FA58DAA075C';
  if obj.valide then
  begin
    write obj;
    write obj.FormatierteAusgabe;
  end;
end;

obj würde dann z.B '17FA58DAA075C' zurückgeben und write obj.FormatierteAusgabe '17FA - 58DA - A075 - C'


Falls das so nicht geht reicht mir auch ein einfaches "das geht so nicht".

Gruß Benno
Lernen, ohne zu denken, ist eitel; denken, ohne zu lernen, ist gefährlich. Konfuzius
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.820 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Objekte wie bei .NET

  Alt 23. Jun 2011, 12:20
Bei .Net sind alle Typen Klassen.
Markus Kinzler
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#3

AW: Objekte wie bei .NET

  Alt 23. Jun 2011, 12:23
Das wird nur gehen, wenn du jeden Zugriff über Methoden realisierst...
Delphi-Quellcode:
procedure xyz;
var s1, s2: string;
    obj: TSHA1HashObjekt;
begin
  obj := TSHA1HashObjekt.create('17FA58DAA075C');
  obj.append('17FA58DAA075C');
  obj.insert('17FA58DAA075C', 3);
  obj.delete(1, 3);
  if obj.valide then
  begin
    write obj.value;
    write obj.FormatierteAusgabe;
  end;
end;
  Mit Zitat antworten Zitat
bekrause

Registriert seit: 31. Mär 2003
Ort: Essen
24 Beiträge
 
Delphi XE Professional
 
#4

AW: Objekte wie bei .NET

  Alt 23. Jun 2011, 12:38
@omata: Das habe ich mir schon fast gedacht. Danke.
Schade.

Gruß Benno
Lernen, ohne zu denken, ist eitel; denken, ohne zu lernen, ist gefährlich. Konfuzius
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.268 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Objekte wie bei .NET

  Alt 23. Jun 2011, 12:59
U.U. kann man die Anforderungen mit class/record helpern nachbilden.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
3.888 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#6

AW: Objekte wie bei .NET

  Alt 23. Jun 2011, 15:10
Sowas würde mit records und class operator gehen. Dabei muss aber beachtet werden, dass es sich dann nicht mehr um Referenz- sondern Wertetypen handelt (beim Übergeben an Methoden oder als Rückgabe wert einer Funktion wird eine Kopie erzeugt, außer natürlich du übergibst sie dann als Pointer, wobei du dann wieder die class operator Funktionalität verlierst)
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf