Moin,
das ist doch nicht weiter schwer. Durchlaufe als erstes die linke Spalte und suche das größte und kleinste Datum.
Ich hekel das mal so zusammen, ohne es zu testen:
Delphi-Quellcode:
var lRow : Integer;
lMax,
lMin,
lTmp : TDate;
begin
lMax := 0;
lMin := 0;
for lRow := 0 to SG1.RowCount - 1 do
begin
if SG1.Cells[0,lRow] > '' then
begin
try
lTmp := StrToDate(SG1.Cells[0,lRow]);
if lMax < lTmp then
lMax := lTmp;
if (lMin = 0) or (lMin > lTmp) then
lMin := lTmp;
except
end;
end;
end;
SG2.RowCount := Trunc(lMax - lMin + 2);
SG2.Cells[0,0] := 'Datum';
for lRow := 1 to SG2.RowCount - 1 do
SG2.Cells[0,lRow] := DateToStr(lMin + lRow - 1);
So, in die erste Schleife baust du noch eine Abfrage ein, wo du minimale und maximale Uhrzeit ermittelst. Damit dann die Zellen [1,0] - [n,0] füllen. Zum Schluss musst du noch einmal SG1 von oben nach unten durchlaufen, mit dem Wert die Position für Datum und Uhrzeit suchen und den Wert dort eintragen.
Krist scho hin. Ich habe noch 150 Objekte und Objektaufrufe zu überarbeiten