Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Jumpy,
16. Sep 2014
Das war aber mal anders, Zitat aus #1:
Ich bin daher davon ausgegangen, dass wie bei Excel üblich die erste Spalte, die Spaltennummer 1 hat und dann würde obiges schief gehen.
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Jumpy,
16. Sep 2014
Das dürfte doch auch bei n=26 (und vielfachen davon) schief gehen.
Schreibtischtest:
für aIndex=26:
Result := chr(65 + aIndex mod 26) => chr(65 + 26 mod 26) => chr(65 + 0) => chr(65) => A
aIndex := aIndex div 26 => 26 div 26 => 1
if aIndex > 0 then => if 1>0 then => Wahr
Result := chr(64 + aIndex) + Result => chr(64+1)+CHR(65) => AA
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Jumpy,
15. Sep 2014
Wobei es, wenn ich mich gerade nicht verdenke, glaub ich heißen müsste:
result := chr(65+nummer mod 26) + result;
und man muss an den Grenzfällen aufpassen, z.B. n=26.
Das geht dann in die Hose.
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Jumpy,
15. Sep 2014
Wenn's in Delphi berechnet werden soll, vllt. so ungefähr:
- Wenn n<=26 dann CHR(64+n)
- Wenn n<=26*26 dann CHR(64+(n div 26))+CHR(64+(n mod 26))