![]() |
Mit Delphi Alter berechnen
Hallo,
ich habe hier eine Aufgabe, komme aber nicht richitg damit zurecht: -In einem Formular soll man das Alter in einer Edit-Komponente angeben können. Anschließend wird das Alter in Tage,Stunden,Minuten und Sekunden umgerechnet und auf dem Formular ausgegeben. Kann mit vielleicht jemand dabei helfen wie man das am besten macht? Ich habe schon mal angefangen, komme aber nicht weiter...in dem Abteil "begin" ist etwas falsch..aber was? was soll ich da anderst machen udn warum? so sieht es bei mir aus:
Delphi-Quellcode:
[edit=mkinzler]Delphi-Tag eingefügt Mfg, mkinzler[/edit]
unit uAlter;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TFrmAlter = class(TForm) Label1: TLabel; EdtAlter: TEdit; Label2: TLabel; EdtTage: TEdit; EdtStunden: TEdit; EdtMinuten: TEdit; EdtSekunden: TEdit; LblTage: TLabel; LblStunden: TLabel; LblMinuten: TLabel; LblSekunden: TLabel; BtnAlter: TButton; procedure BtnAlterClick(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var FrmAlter: TFrmAlter; implementation {$R *.dfm} procedure TFrmAlter.BtnAlterClick(Sender: TObject); var tag,stu,min,sek:integer; begin Tage:=StrToInt(EdtTage.Text)*365; Stunden:=StrToInt(EdtStunden.Text)*8760; Minuten:=StrToInt(EdtMinuten.Text)*525600; Sekunden:=StrToInt(EdtSekunden.Text)*31536000; Tage:=IntToStr(EdtTage.Text); Stunden:=IntToStr(EdtStunden.Text); Minuten:=IntToStr(EdtMinuten.Text); Sekunden:=IntToStr(EdtSekunden.Text); end; end. |
Re: Mit Delphi Alter berechnen
Schau dir mal
DateUtils.YearsBetween() an |
Re: Mit Delphi Alter berechnen
ok hab ich, aber mit den beiträgen der anderen kann ich kaum was anfangen, weil die iwie anders aufgebaut sind als meins.
|
Re: Mit Delphi Alter berechnen
Du meinst wahrscheinlich
Delphi-Quellcode:
EdtTage.Text:=IntToStr(Tage;
EdtStunden.Text):=IntToStr(Stunden; EdtMinuten.Text:=IntToStr(Minuten); EdtSekunden.Text:=IntToStr(Sekunden); Gruß K-H |
Re: Mit Delphi Alter berechnen
[quote="Funnygirly"]
Delphi-Quellcode:
Versucht du hier nicht irgendwie eine Stringvariable auf eine Integer zu packen?
Tage:=IntToStr(EdtTage.Text);
Stunden:=IntToStr(EdtStunden.Text); Minuten:=IntToStr(EdtMinuten.Text); Sekunden:=IntToStr(EdtSekunden.Text); Wenn ich das richtig verstanden habe, dann gibst du ja das Alter in einem Edit in Jahren ein und möchtest dann das Ergebnis in Tagen, Stunden, Minuten, ... in anderen Edits auf Knopfdruck erzeugen. versuchmal Folgendes:
Delphi-Quellcode:
Die Umrechnungsfaktoren beziehen sich nämlich immer auf das Jahr.
procedure TFrmAlter.BtnAlterClick(Sender: TObject);
var tag,stu,min,sek:integer; begin {Tage:=StrToInt(EdtTage.Text)*365; Stunden:=StrToInt(EdtStunden.Text)*8760; Minuten:=StrToInt(EdtMinuten.Text)*525600; Sekunden:=StrToInt(EdtSekunden.Text)*31536000;} EdtTage.Text := inttostr(strtoint(EdtJahre.text)*365))); EdtStunden.Text := inttostr(strtoint(EdtJahre.text)*8760))); EdtMinuten.Text := inttostr(strtoint(EdtJahre.text)*525600))); ... end; end. MfG BAMatze [Edit] Bedenke auch, dass du Schaltjahre IMO noch nicht bedacht hast [/Edit] |
Re: Mit Delphi Alter berechnen
Ich glaube mkinzler meinte, du sollst dir das mal in der Delphi-Hilfe angucken (in Delphi oben auf Hilfe -> Delphi-Hilfe und dann nach YearsBetween suchen).
Aber ich glaube, dass bringt dir nicht wirklich viel (jedenfalls wenn ich die Aufgabe richtig verstanden habe...). Ziel ist doch, dass du dein Alter (zb 20 Jahre) in das Feld eingibst und dir das Programm das dann jeweils in die anderen Einheiten (Tage, Stunden usw.) umrechnet oder? Edit: War wohl einer schneller und der rote Kasten hat Urlaub :roll: |
Re: Mit Delphi Alter berechnen
@funnygirly
Weitere nützliche Informationen gibt es in der OH unter Dateutils oder ![]() Gruß Wolfgang |
Re: Mit Delphi Alter berechnen
ok danke...ich habe es jetzt so umgeändert (die erste zeile):
Delphi-Quellcode:
Jetzt gibt er diesen Fehler an: [Fehler] uAlter.pas(41): Inkompatible Typen: 'TEdit' und 'Integer'
EdtTage:=StrToInt(EdtAlter.Text)*365;
@ ToFaceTeKilla: Ja stimmt. |
Re: Mit Delphi Alter berechnen
Zitat:
Delphi-Quellcode:
MfG
EdtTage.Text := inttostr(strtoint(EdtAlter.text)*365)));
[Edit] EdtJahre -> EdtAlter[/Edit] |
Re: Mit Delphi Alter berechnen
Zitat:
Delphi-Quellcode:
und die Schaltjahre nicht vergessen.
EdtTage.text:=IntToStr(StrToInt(EdtAlter.Text)*365);
Grüße Klaus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:12 Uhr. |
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 by Thomas Breitkreuz