Forum: Object-Pascal / Delphi-Language
Delphi
by sirius,
7. Jan 2007
Ja, ich muss immer erstmal gucken, wie das genau war. Der erste Post, war das erste was mir einfiel und als Idee gedacht, in welche Richtung man suchen könnte.
Übrigens:
Manchmal musst du schauen welchen Typ du überhaupt übergibst. Grade bei strings gibt es ja für vtype mehrere Varianten. Dann lass dir einfach mal testweise vtype ausgeben und schau, welchen Typ du übergeben hast.
Forum: Object-Pascal / Delphi-Language
Delphi
by sirius,
7. Jan 2007
Du nimmst statt TVardata TVarRec.
etwa so:
for i:=0 to high(a) do begin
if (TVarRec(a).VType = vtinteger)
then memo1.lines.Add(inttostr(TVarRec(a).VInteger))
end;
Forum: Object-Pascal / Delphi-Language
Delphi
by sirius,
7. Jan 2007
function fstr(z:variant):string;
begin
if (TVarData(z).VType = varinteger)
or(TVarData(z).VType = varbyte)
or(TVarData(z).VType = varword)
or(TVarData(z).VType = varint64)
then str(z:0:0,result)
else str(z,result);
end;
(Ausschnitt aus einer Funktion (die wahrscheinlich in diesem Ausscheitt recht sinnlos geworden ist))