Einzelnen Beitrag anzeigen

Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#11

AW: Schleife in einseitiger Auswahl

  Alt 21. Mär 2011, 06:37
Da ist tatsächlich ungefähr das 12 fache an Code drin, von dem was gebraucht würde.
Darf ich Dir bei den Blockern helfen?

1. Nur darstellen wenn etwas gültiges da ist...
Delphi-Quellcode:
Function tagesumrechnung(tag:string; var da:integer):Boolean;
begin
  Result := TryStrToInt(tag,da)
end;
wird dann so verwendet:
Delphi-Quellcode:
  if tagesumrechnung(tag,da) then
  SgAnzeige.Cells[1,(da)] := Form3.JanuarZweiDimArray[da][2];
bitte auch den Unterschied im Zugriff auf JanuarZweiDimArray beachten [da] statt [1]

beim Schreiben ist der gleiche Bug drin, ich hab einfach mal 1 durch tagnr ersetzt
Delphi-Quellcode:
  if mo = 3 then
  begin
  Form3.MärzZweiDimArray[tagnr][1] := (tag);
  Form3.MärzZweiDimArray[tagnr][2] := (notiz);
  Form3.MärzZweiDimArray[tagnr][3] := (farbe);
  end;
Der Rest nur wenn es Dich interessiert....

Allgemein könntest Du den Code auf eine Minimum reduzieren wenn Du nicht für jeden Monat eine eigenes Array verwenden würdest.

es könnte so aussehen, nur als Vorschlag:
Delphi-Quellcode:
Type
TTagesRecord=Record
  Text:String;
  Farbe:TColor;
end;

TKalenderArray=Array[1..12,1..31] of TTagesRecord;

TJahrRecord=Record
  Jahr:Integer;
  KalenderArray:TKalenderArray;
end;

TMehrJahresKalender=Array of TJahrRecord;
Die Auswahlcomboboxen würde ich im Style csDropDownList gestalten und vorbelegen.

Nach Übernehmen sollte der Kalender neu "gemalt" werden.

Ein noch einfacherer(speicherschonenderer) Ansatz wäre, nur die erfassten Daten vorzuhalten, das Array bei Bedarf zu vergrößern und bei der Darstellung die passenden Daten herauszufischen.
Delphi-Quellcode:
type
 TEintrag=Record
  Jahr:Integer;
  Monat:Integer;
  Tag:Integer;
  Text:String;
  Farbe:TColor;
end;
TEintraegeArray=Array of TEintrag;
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)

Geändert von Bummi (21. Mär 2011 um 06:47 Uhr)
  Mit Zitat antworten Zitat