Autor Beitrag
HappySonne
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Fr 25.05.07 15:32 
HALLO!


Habe ein Problem. Und zwar bin ich absoluter Delphi-Neuanfänger und nun sollen wir als Hausaufgabe einen Parkscheinautomaten programmieren, der ausrechnet, wie viel man bezahlen muss. Dabei soll die erste Stunde frei sein und jede weitere, angebrochene kostet 0,70 Euro.

Ich hätte ja schon eine Idee, würde aber gerne mal eure Ansätze hören.
Was zu beachten wäre ist, dass die Zeit, die das Auto parkt, durch den Computer selber errechnet werden soll ( also sicher Endzeit minus Anfangszeit?!) und dabei eine der beiden Zeiten (ich denke mal am logischsten ist die Endzeit - also wenn das Auto rausfahren will) der Computer von seiner Zeit erkennen soll. Also die Zeit, die er auch da unten rechts in der Leiste anzeigt... ;)

Ich hoffe, dass das einiger Maßen verständlich ist und mir jemand weiterhelfen kann!

Danke schonmal!
Liebe Grüße Sonne

:dance2:
azubi_20
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 593

WinXP SP2, Ubuntu 8.4
D7 Enterp., D2005 Prof., Java (Eclipse 3.4.0)
BeitragVerfasst: Fr 25.05.07 15:39 
user profile iconHappySonne hat folgendes geschrieben:

Ich hätte ja schon eine Idee, würde aber gerne mal eure Ansätze hören.


Wo ist das Problem?
Das ist eine klar definierte Aufgabe. Den Ansatz hast du schon beschrieben.
Wenn du bei was speziellem Probleme hast, dann frag noch mal nach.
HappySonne Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Fr 25.05.07 15:52 
mein "spezielles" problem ist, dass ich nicht weiß 1. wie man die zeit von einander abzieht und zweitens wie ich das anstellen soll, dass der sich die Endzeit selber holt.. also der computer..

dachte mir das so:


ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
  if e > 60 then begin
  b:= e div 61;
  a1:= b*0.7;
  Memo1.Text:= IntToStr (a1);

  end;

  if e < 61 then begin
  s:= 0.00'€';
  Memo1.Text:= IntToStr(s);
  end;


so aber das hat noch nichts mit der Zeit zu tun.. nur wenns ab 60 Minuten ist usw.. aber wie kommt der auf die Zeit die geparkt wurde?!...

lg sonne

Moderiert von user profile iconChristian S.: Delphi-Tags hinzugefügt
azubi_20
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 593

WinXP SP2, Ubuntu 8.4
D7 Enterp., D2005 Prof., Java (Eclipse 3.4.0)
BeitragVerfasst: Fr 25.05.07 16:04 
Ja, mit Zeiten zu rechnen ist einer der größten Probleme überhaupt...

Fü Variablen, in der Zeiten gespeichert werden sollen gibt es den Typ Date.
Dieser bietet einige interessante Funktionen um mit Datums- und Zeitwerten zu rechnen.
Schau dir am besten mal diesen Thread aus der DP an : Zeitdifferenz berechnen

Also das aktuelle Datum + Uhrzeit steht in der globalen Konstante now. Mit TimeToStr(now); bekommst du die aktuelle Zeit als String.

Und nochwas: für einfache Eingaben solltest du ein TEdit und kein TMemo verwenden.
Calyptus
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 386

Win Xp Prof
D3, D6 Pers, D7 Ent
BeitragVerfasst: Fr 25.05.07 16:06 
vllt bringt dir GetTickCount auch was. Damit bekommst du die Millisekunden die vergangen sind, seit Windows gestartet wurde.

_________________
Luft- und Raumfahrtechnik an der Uni Stuttgart
HappySonne Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Fr 25.05.07 16:15 
na das wärs ja überhaupt...
dass ich beide zeiten von windows nehme die einfahrtszeit die zeit als windows gestartet wurde und die ausfahrtszeit halt zu dem zeitpunkt gerade. daran hab ich noch gar net gedacht da muss man ja gar nichts mehr an zeiten eingeben...

wie benutze ich GetTickCount ?!

danke und lg sonne
Dunkel
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 682

Mac OS X Snow Leopard
Xcode 3.1
BeitragVerfasst: Fr 25.05.07 16:25 
user profile iconHappySonne hat folgendes geschrieben:
wie benutze ich GetTickCount ?

Wie benutzt man die Delphi-Hilfe? :roll:

GetTickCount gibt Dir ein Integer-Wert (oder war's DWORD?) zurück.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
var
  TickCount: integer;
begin
  TickCount:= GetTickCount;
  Caption:= IntToStr(TickCount);
end;


Schreib das mal in die Ereignisbehandlung OnTimer eines TTimers und achte auf die Titellieiste.

_________________
Ich streite einsam mich mit dieser Oberflächenwelt
Gutes sei ein löblich Brot von dem ich zehre - bis zum Tod [Das Ich - Im Ich]
HappySonne Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Fr 25.05.07 16:27 
mhm ok werde das dann einfach mal probieren.. mich aber sicher nochmal melden.. ;)

danke soweit
lg sonne
TheWedler
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Mi 30.05.07 16:06 
Hallo!

Vll hat der eine oder andere schon den Parkscheinbeitrag von Sonne und mir gelesen. Leider konnten wir mit den Antworten nicht viel anfangen da wir wirklich absolute Beginner sind. Sonne, ich und weitere 50 Schüler müssen das Programm morgen abgeben und KEINER hat die verlangte Version. Daher meine Bitte an einen "ders Kann" HILFE!!! so unverschämt wie es klingen mag aber wir bräuchten den kompletten Quelltext für die procedur.

LG verzweifelter Tim