Einzelnen Beitrag anzeigen

wschrabi

Registriert seit: 16. Jan 2005
437 Beiträge
 
#1

Wie bekomme ich den EXCEL SPaltenINDEX von einer INteger?

  Alt 11. Mai 2017, 07:57
Hallo,
ich habe genau das Problem, das ich mit Mathematica schon gelöst bekommen habe.
https://mathematica.stackexchange.co...l-from-integer
Doch jetzt brauche ich es in Delphi.
Wer kann mir bitte helfen?


Ich habe ein Problem im Nachmachen der Mathematica Funktion IntegerDigits[n,b,len].
es convertiert n in base b wie hier beschrieben:
http://delphi-kb.blogspot.co.at/2009...to-base-n.html

(Siehe unter: https://reference.wolfram.com/langua...gerDigits.html)

Mein Ansatz ist:

Delphi-Quellcode:
(* Lösung von: Jacob Akkerboom siehe link oben

chR = CharacterRange["A", "Z"];

n = 26*26 + 26 + 1;
base = 26

numberOfIntegerDigits = Ceiling[Log[base, base - n (1 - base)] - 1];

numberInTuples = n - (base - base^numberOfIntegerDigits)/(1 - base)


charReps =
  1 + IntegerDigits[numberInTuples - 1, base, numberOfIntegerDigits];

StringJoin@Part[chR, charReps]
*)


function Tform1.createexcelindex(col: integer):string;
var
   n: integer;
   base: integer;
   numberOfIntegerDigits,numberInTuples,charReps: integer;

begin
n := 26*26 + 26 + 1;
base := 26;
numberOfIntegerDigits := system.Math.ceil(system.Math.LogN(base, base - n *(1 - base)) - 1);
numberInTuples := n - (base - POwer(base,numberOfIntegerDigits))/(1 - base);
charReps = 1 + IntegerDigits[numberInTuples - 1, base, numberOfIntegerDigits];


end ;
Wer kann mir bitte einen Rat geben?
DANKE
mfg
Walter

Geändert von wschrabi (11. Mai 2017 um 07:59 Uhr)
  Mit Zitat antworten Zitat