Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi FastReport Alter berechnen (https://www.delphipraxis.net/168687-fastreport-alter-berechnen.html)

climbophil 4. Jun 2012 14:02

FastReport Alter berechnen
 
Hallo,

ich möchte mit Fast Reports einen Report erstellen, der das Alter einer Person mir ausgibt. Aus der Datenbank lese ich das Geburtsdatum aus. Die Berechnung würde ich gerne in dem Code-Fenster von Fast Reports machen mittels PascalScript.

Nun die Frage ob mir hier jemand weiterhelfen kann?
In Google habe ich auch schon gesucht, aber nichts hilfreiches gefunden.

Vielen Dank und schöne Grüße. 8-)

Lemmy 4. Jun 2012 14:12

AW: FastReport Alter berechnen
 
Hi,

was spricht dagegen:

Delphi-Quellcode:
 Memo1.Text:=FloatToStr( (now-<DeinDatenfeld>)/365);
und anstelle <DeinDatenfeld> eben das entsprechende DB-Feld verwenden?

Oder solls genauer werden? Oder was ist eigentlich dein Problem? Hast Du überhaupt Zugriff auf das Scripting oder hast DU nur die Embarcadero-Edition von FastReport?

GRüße

DeddyH 4. Jun 2012 14:17

AW: FastReport Alter berechnen
 
Delphi-Quellcode:
function Age(BirthDate: TDate): integer;
var
  y1, m1, d1, y2, m2, d2: word;
begin
  DecodeDate(BirthDate, y1, m1, d1);
  DecodeDate(Now, y2, m2, d2);
  Result := y2 - y1;
  if (m2 < m1) or ((m2 = m1) and (d2 < d1)) then
    dec(Result);
end;
Oder soll es mathematisch korrekter/genauer sein?

climbophil 4. Jun 2012 14:22

AW: FastReport Alter berechnen
 
Nein, ich habe eine Demoversion zum testen und nicht die Embarcadero-Edition.

Ich möchte genau wie in deinem Codeausschnitt das Alter berechnen. Danke schonmal dafür. Aber jetzt bekomme ich einen Fehler bei folgendem Code:

Code:
begin
  Memo1.Text:=FloatToStr( (now-frxDBDataset2.Geburtstag)/365);
end.
Das ist auch der ganze Code.

Edit: Hat sich soeben erledigt. Der Fehler geht auf meine Kappe. ;-)

p80286 4. Jun 2012 14:25

AW: FastReport Alter berechnen
 
Und welchen Fehler bekommst Du?

Gruß
K-H

climbophil 4. Jun 2012 14:30

AW: FastReport Alter berechnen
 
Hat sich soeben erledigt. Der Fehler geht auf meine Kappe. ;-)

p80286 4. Jun 2012 14:45

AW: FastReport Alter berechnen
 
Es wäre trotzdem schön, wenn Du schreiben würdest woran es gehakt hat, dann könnten vllt. auch andere daraus lernen.

Gruß
K-H

climbophil 4. Jun 2012 14:49

AW: FastReport Alter berechnen
 
Das DB Fled konnte nicht gefunden werden, da ich mich vertippt hatte ;-)

Jetzt habe ich aber ein erneutes Problem, überall steht die selbe Zahl drin. Kann man das irgendwie in einer Schleife durchlaufen lassen?

Lemmy 4. Jun 2012 15:23

AW: FastReport Alter berechnen
 
hm.. sind vermutlich alle gleich alt?

Und weil Du heute deinen ersten Tag hier hast, vielleicht noch die Info: Wenn wir dir jede kleine Information aus der Nase ziehen müssen, dann bekommst Du irgend wann immer weniger Antworten :-)

Woran es liegen kann:
1. bei allen Datensätzen kommt das selbe Datum (a. weil es halt so ist; b. fehlerhafte SQL; c. fehlerhafte Daten)
2. Dein Report ist nicht korrekt,
3. deine Einbindung des Codes in den Report ist an der falschen Stelle
.....

jetzt die Frage an dich: Woher sollen wir wissen woran es bei dir klemmt, wenn Du nicht mehr Material lieferst?

Grüße

climbophil 4. Jun 2012 15:30

AW: FastReport Alter berechnen
 
Also es sind NICHT alle gleich alt.

Dann stimmt wohl was an meinem Report nicht, da ich die Abfrage schon getestet hab und es ist alles soweit korrekt.

Der FastReport Code:
Code:
begin
  Memo1.Text:=FloatToStr( (now-frxDBDataset2.Geburtstag)/365);
end.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:31 Uhr.
Seite 1 von 2  1 2      

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