Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Schleife in einseitiger Auswahl (https://www.delphipraxis.net/159087-schleife-einseitiger-auswahl.html)

Bummi 21. Mär 2011 06:37

AW: Schleife in einseitiger Auswahl
 
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;

KiRi 27. Mär 2011 19:00

AW: Schleife in einseitiger Auswahl
 
Vielen lieben Danke für die Mühe die du dir noch gemacht hast!

Ich werde mir das bei Gelegenheit nochmal genauer ansehen. Denn was sich genau hinter Begriffen wie: Boolean und Record verbirgt müsste ich mir nochmal genauer aneignen.

Also nochmal vielen Dank für die Hilfe hier. Das Forum ist gut, ich werde es weiterempfehlen :-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:16 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz