Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.140 Beiträge
 
Delphi 12 Athens
 
#33

AW: Variablen in Stringliteral inlinen

  Alt 7. Feb 2020, 18:31
Jo, leider nicht genug Infos, aber mehr, als man bei sowas wie printf rein bekommt (dort garkeine Typ-Info, außer dem Wert oder einen Zeiger auf die Variable) und noch nichtmal die Anzahl der Parameter ist bekannt.

Hatte mal versucht ein Format zu basteln, wo die Daten wie bei printf übergeben werden.

In Delphi kann man sowas leider auch nicht nativ schreiben, aber jedenfalls man eine Funktion ohne die Parameter schreiben, die als Export deklarieren und in der selben Datei wieder einen Import auf sich selber, der dann in der Definition diese offenen Parameter hat.
Aber leider bekommt man eben keinerlei Infos die übergebenen Werte.
Darum muß man dort auch selber im String das "genaue" Format angeben (nicht nur %d sondern auch ob Byte, Word, LongWord, ShortInt, SmallInt, LongInt usw.)

Also in der Hinsicht ist Format doch recht einfach, auch wenn teilweise echt blöd ist.
Ich kann nicht %p nehmen und dann ein Objekt oder Integer reingeben, der in der aktuellen Pointergröße (32 oder 64) ausgegeben wird.
Oder einen Integer mit Tausenderpunkten, den muß man erst in einen Fließkomma umwandeln (x/1) und kann dann %.0n verwenden. (k.A. warum man nicht direkt einen Integer als Float darstellen darf usw.)


Zitat:
Wie kann ich eine Funktion oder Prozedure schreiben die wie Write eine variable ANzahl Parameter übergeben bekommt
Wie gesagt, man kann soeine Funktion schreiben (besser in eine DLL legen, denn innerhalb einer EXE schreiben und benutzen ist ein grauß), aber die Funktion weiß nicht was ihr übergeben wurde und das müsste man dann zusätzlich noch als Info mit reingeben.

Über die RTTI kann man ansonsten nur noch nativ "beliebige" Funktionen aufrufen. (siehe Invoke in System.RTTI.pas)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 7. Feb 2020 um 18:35 Uhr)
  Mit Zitat antworten Zitat