Autor Beitrag
H2O
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Mi 03.06.09 16:01 
Hallo.

Ich würde gerne eine Funktion erstellen, die so aussieht:

function machdas(arg : String, [Variable Anzahl an Stringargumenten], [Variable Anzahl an Integerargumenten]) : String;


Jetzt habe ich in einem anderen Thread schon gelesen, dass es so irgendwie geht:
function ElementOfConst(aIndex: Integer; aArray: Array Of Const): Variant;
Wie kann ich aber jetzt einen Wert aus aArray ansprechen ohne sofort einen Error zu erhalten, wenn ich ihn weiterverarbeiten will?


Und wie rufe ich die Funktion überhaupt korrekt auf?
ElementOfConst(3,6,2) funktioniert z.B. schon nicht, Error: "Constants cannot be used as open array arguments"

Ich programmiere mit Delphi 7 und bin noch totaler Anfänger.

Danke für Hilfe
Boldar
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1555
Erhaltene Danke: 70

Win7 Enterprise 64bit, Win XP SP2
Turbo Delphi
BeitragVerfasst: Mi 03.06.09 16:18 
H2O Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Mi 03.06.09 16:22 
Hab schon das gelesen.

So ein totaler Anfänger bin ich auch nicht...
Boldar
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1555
Erhaltene Danke: 70

Win7 Enterprise 64bit, Win XP SP2
Turbo Delphi
BeitragVerfasst: Mi 03.06.09 16:23 
Dann muss dir wohl auffallen, dass da eine Konstante übergeben wird. Das sind absolute grundlagen :nixweiss: :nixweiss:
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19314
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 03.06.09 16:35 
Schon so versucht?
ausblenden Delphi-Quelltext
1:
ElementOfConst(5, [32]);					
Denn der zweite Parameter ist ein Array...
H2O Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Mi 03.06.09 17:34 
Ach Mist... Irgendwie hatte ich im Kopf, dass in Delphi ein Array duch runde Klammern gekennzeichnet wird...
Hatte es schon so probiert ElementOfConst(3, (6,2));

Jetzt funktioniert meine Abfrage endlich:
if (arguments[0].VType = vtInteger) then
showmessage(IntToStr(arguments[0].VInteger));


Danke jaenicke. Hat mir weitergeholfen.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19314
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 03.06.09 17:41 
user profile iconH2O hat folgendes geschrieben Zum zitierten Posting springen:
Irgendwie hatte ich im Kopf, dass in Delphi ein Array duch runde Klammern gekennzeichnet wird...
Das stimmt auch an anderer Stelle. ;-)
Nämlich wenn du ein Array als Konstante definieren willst.
ausblenden Delphi-Quelltext
1:
2:
const
  Test: array[0..2of Integer = (122333);
Vielleicht hast du das verwechselt. ;-)
H2O Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Mi 03.06.09 17:59 
Ja. Das habe ich wohl wirklich verwechselt.
Danke für den Hinweis.