Wecker
-
Hy,bin neu hier und hoffe ich befinde mich im richtigen Forum.Zu meinem Problem.Ich muss Studiumbedingt C++ erlernen.Ich bin absoluter Anfänger und kann echt fast gar nichts.Ich muss nun als Beleg einen Wecker programmieren.Ich bin so schon recht weit.Er schreibt die Zeit und das Datum in jeweils ein edit Feld. Jetzt möchte ich,das der Benutzer eine Weckzeit eingeben kann.Das Programm soll dann mittels Zeichenkette die aktuelle Uhrzeit mit der eingegebenen vergleichen,und "Aufstehen" in ein Label Feld schreiben. Durch einen button möchte ich den Alarm erst einschalten. Das Programm wird soweit compiliert und die Zeit läuft.Jetzt kann ich eine Weckzeit eingeben,nur erscheint nie "Aufstehen".Wo liegt mein Fehler? Es ist echt dringend!
Vielen dank schon einmal.Habe das mal unten eingefügt.TDateTime jetzt;
unsigned short jahr,monat,tag;
unsigned short stunde,minute,sekunde,msekunde,b=0;
String a;
int h,m,i;
AnsiString tzk;
float Lenght ;
__fastcall TForm2::TForm2(TComponent* Owner)
: TForm(Owner)
{}
//---------------------------------------------------------------------------
void __fastcall TForm2::Timer1Timer(TObject *Sender)
{Application->ProcessMessages();
jetzt=Now();
DecodeDate(jetzt,jahr,monat,tag);
DecodeTime(jetzt,stunde,minute,sekunde,msekunde);Edit1->Text=FormatFloat("00",tag)+"."+FormatFloat("00",monat)+"."+FormatFloat("00",jahr);
Edit2->Text=FormatFloat("00",stunde)+":"+FormatFloat("00",minute)+":"+FormatFloat("00",sekunde);if (b==1)
if (stunde==h&&minute==m)
{
Label2->Caption=("Aufstehen");}}
//---------------------------------------------------------------------------void __fastcall TForm2::Button2Click(TObject *Sender)
{
a=(Edit3->Text);i=0;
do
{
i=i+1;
tzk=MidStr(a,i,1);
}
while(tzk!=":") ;
{tzk=MidStr(a,1,i-1); }
h=StrToInt(tzk);tzk=MidStr(a,i+1,a.Length()-i);
m=StrToInt(tzk);b==1;
}
-
Hallo,
In "Button2Click" ist ein Fehler :
Nicht b==1; sondern b=1;Nash
-
Hallo
- sfds
- Benutze keine globalen Variablen, sonden nur lokale und Klassenmember (Grundlagen OOP)
- Vergib aussagekräftige Variablennamenbis bald
akari
-
Interessant könnte hierzu auch die Funktin SameDateTime() aus den DateUtils sein.
-
Moin.Vielen Dank.Das mit dem b==1 war es.Verstehe zwar nicht ganz warum ich nicht selber darauf gekommen bin,aber egal.Habe das eigentlich schon ausprobiert gehabt
Aber jetzt funktioniert alles wunderbar
Mein Beleg ist gerettet.Wie muss ich das mit dem SameDateTime() verstehen?Wie gesagt habe ich keine Ahnung davon.
-
Gibs doch einfach mal als Suchbegriff in der BCB-Hilfe ein.
