AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit BoldDays von MonthCalendar

Ein Thema von netgnom · begonnen am 16. Jan 2007 · letzter Beitrag vom 17. Jan 2007
Antwort Antwort
netgnom

Registriert seit: 16. Jan 2007
Ort: Berlin
2 Beiträge
 
Delphi 7 Enterprise
 
#1

Problem mit BoldDays von MonthCalendar

  Alt 16. Jan 2007, 22:25
Hallo an alle,

(bin ein newbie aus der Perlecke und insofern nicht sehr vertraut mit Datentypen )
ich schlage mich hier mit einem kleinem Problem des MonthCalendar herum: ich möchte bestimmte Tage im Monat fett markieren. Die Tage stehen in einer Db und sind von Monat zu Monat unterschiedlich (auch in der Anzahl).

Also habe ich mir ein dyn. Array aus Integern gebaut:
Delphi-Quellcode:
while not DB_Module.QueryTermin.Eof do
        begin
         Termins := DB_Module.QueryTermin.FieldbyName('Termine').Value;
         setLength(TerminsImMonat,i+1);
         TerminsImMonat[i] := Termins;
         i:=i+1;
         DB_Module.QueryTermin.Next;
        end;
um sie dann mit MonthCalendar1.BoldDays(TerminsImMonat), MonthBoldInfo); aufzurufen.

MonthCalendar erwartet aber die Daten als statisches "array of cardinals" und gibt die Meldung "incompatible Typen 'array' und 'dynamic array'" heraus. Egal, was ich an Umwandlung probiert habe, nix geht Maximum, was ich über eine Schleife geschafft habe, war, daß immer der letzte Termin des Monats fett dargestellt wurde...

Wie bekomme ich nun das "Array of Integer" in ein "statisches Array" umgewandelt?

Gruß
Netgnom
  Mit Zitat antworten Zitat
Benutzerbild von ste_ett
ste_ett

Registriert seit: 10. Sep 2004
Ort: Dülmen
464 Beiträge
 
Delphi 7 Professional
 
#2

Re: Problem mit BoldDays von MonthCalendar

  Alt 16. Jan 2007, 23:07
Laut Funktiondeklaration wird für den ersten Parameter
procedure TCommonCalendar.BoldDays(Days: array of LongWord; var MonthBoldInfo: LongWord); ein dynamischer LongWord-Array und kein dynamischer Integer-Array verlangt.
Stefan
"Geht nicht!" ist keine Fehlerbeschreibung und "Hab ich schon versucht!" keine Antwort!

Hey, it compiles! Ship it!
  Mit Zitat antworten Zitat
netgnom

Registriert seit: 16. Jan 2007
Ort: Berlin
2 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Problem mit BoldDays von MonthCalendar

  Alt 16. Jan 2007, 23:24
Ah ja..... Also müßte der Code in etwa so hier lauten

Delphi-Quellcode:
  TerminsImMonat: array of integer;
        //snip
 

while not DB_Module.QueryTermin.Eof do
        begin
         Termins := IntToXXX(DB_Module.QueryTermin.FieldbyName('Termine').Value);
       //snip
        end;
Aber wie wandle ich die Zahl, die als Integer aus meiner DB-Query kommt, in einen "longWord" um? IntTo*Was*?

Gruß
Netgnom
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Problem mit BoldDays von MonthCalendar

  Alt 17. Jan 2007, 07:28
Herzlich willkommen in der Delphi-PRAXiS, netgnom.

Du hast da etwas missverstanden. Angenommen dein Datenbank-Feld "Termine" ist vom Typ Integer:

Delphi-Quellcode:
var
  Days: array of LongWord; // nicht Integer
begin
  // ...
  SetLength(Days, 0);
  while not DB_Module.QueryTermin.Eof do
  begin
    SetLength(Days, Succ(Length(Days)));
    Days[High(Days)] := DB_Module.QueryTermin.FieldbyName('Termine').AsInteger;
    DB_Module.QueryTermin.Next;
  end;
  // ...
end;
Freundliche Grüße vom marabu
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:46 Uhr.
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