Ergebnis 1 bis 11 von 11

Thema: Vegleich von Datumsangaben

  1. #1

    Vegleich von Datumsangaben

    Na Hoffentlich kann ich einigemassen verständlich machen worums geht ^^
    ------------
    Ich hab ein Programm zum Verwalten von EDV-Geräten..

    Bei der Eingabe eines Gerätes wird auch das Kaufdatum eingegeben.

    Feld 1 - Datumsformat
    ------------------
    Die Einträge kann man später natürlich ändern.
    Zum Beispiel im Falle wenn das Gerät Defekt ist oder Verkauft wird.
    Aus deisem Grunde gibt es im
    -Eintrag Ändern- Formular einen Bereich um sowas einzutragen

    Feld 2 "defekt seit" Datumsformat
    und noch Eingabe Felder warum und was der defekt ist etc..

    Naja jedenfalls ist mein Problem folgendes
    ----
    Ich würde die beiden Datusm angaben gerne vergleichen
    weil es wäre unlogisch ^^ das ein Gerät Defekt ist bevor ichs überhaupt gekauft habe.
    Beispiel

    Montitor gekauft am 10.10.2004
    .. 1 Jahr Später geht er Kaputt und ich
    trag das halt ein
    Monitor Defekt seit 10.10.2005
    ----------------
    Allerdings könnte ich auch eintragen 10.03.1999
    Was von der Logik her allerdings ziemlich Falsch wäre ^^
    ...
    Ich hab nun gegrübelt ohne Ende aber ich hab kein Plan wie ich die beiden Datumsnagaben vergleichen kann
    So in der Art:

    "Wenn Datum des Defektes vor Kaufdatum liegt gib ErrorMessage aus.."
    Das Datum ist ja nicht einefach ne zahl die ich mit einerander auf Größre vergleichen kann

    Das ganze hab ich mir Visual Foro 7.0 Programmiert falls das weiterhilft..

    Für jetwege Tipps,Denkansätze,Codeschnipsel.. egal in Welcher Sprache bin ich sehr dankbar ^^

    mfg RJ

  2. #2
    Zitat Zitat
    Das Datum ist ja nicht einefach ne zahl die ich mit einerander auf Größre vergleichen kann
    Ich gehe davon aus, dass die Daten als Strings gespeichert sind. also Datum1 = "24.06.04". Dann musst du diesen String in die einzelnen Teile zerlegen, dass du aus 24.06.04 also eine Variable 24, eine 06 und eine 04 hast. Das musst du mit beiden Jahreszahlen machen. Dann einfach stück für stück abgfragen. Zuerst das Jahr, welches ja nicht niedriger sein kann, minimal gleich. Wenn das Jahr schon größer ist, brauch man ja nicht mehr vergleichen. Wenn es gleich ist, dann den Monat. Dieser kann auch im Minimum gleich sein, nicht kleiner. Ist er größer, hat sich die Sache wieder gegessen. Ist er gleich, musst du eben noch den Tag vergleichen. Der darf wieder nur größer oder gleich sein. Gleich allerdings nur dann, wenn das Gerät am Kauftag gleich kaputt ist. (Was natürlich möglich wäre, also sollte "gleich" auch gegeben sein).

  3. #3
    Das ginge schon... wenn du gleich noch die Programmiersprache angegeben hättest hätten wir dir sogar noch besser helfen können aber egal...

    @Topic:
    Man könnte doch aber auch ein defektes Gerät kaufen oder?

    edit:
    sorry, hab's net gesehen bin wohl noch etwas müde von gestern nacht... (war bis um 4 auf und hab FF VIII gezockt *gähn*)

    Geändert von Crash-Override (25.06.2004 um 22:22 Uhr)

  4. #4

    Re: Vegleich von Datumsangaben

    Zitat Zitat
    Original geschrieben von Crash-Override
    Das ginge schon... wenn du gleich noch die Programmiersprache angegeben hättest hätten wir dir sogar noch besser helfen können aber egal...


    Zitat Zitat
    Original geschrieben von Rick Jones
    Das ganze hab ich mir Visual Foro 7.0 Programmiert falls das weiterhilft..

    Also lesen musst du schon selber.


    Edit: Ok verziehen FF8 strengt den geist schon genug an XD

    Geändert von Rick Jones (26.06.2004 um 03:01 Uhr)

  5. #5
    @Rick Jones
    Hast du das Problem mit Sunnys Beschreibung schon lösen können?

  6. #6
    Zitat Zitat
    Original geschrieben von nudelsalat
    @Rick Jones
    Hast du das Problem mit Sunnys Beschreibung schon lösen können?
    Lösen nicht aber der Ansatz ist gut werd ich Montag auf Arbeit gleich mal testen
    Ich geb dann bescheid

  7. #7
    Ist Foxpro 7.0 eigentlich .NET-fähig? Wenn ja, gibt es da die nützliche Klasse "DateTime", die eine Funktion "Compare" besitzt, mit der man genau das machen kann hier findest du eine kleine Beschreibung der Funktion.

  8. #8
    Zitat Zitat
    Original geschrieben von MuadDib
    Ist Foxpro 7.0 eigentlich .NET-fähig? Wenn ja, gibt es da die nützliche Klasse "DateTime", die eine Funktion "Compare" besitzt, mit der man genau das machen kann hier findest du eine kleine Beschreibung der Funktion.
    Sie hams zwar aus dem .net Studio rausgenommen, Aber es ist soweit ich weis schon Net fähig ..

    Das mit dem Compare muss ich mal testen danke
    bzw nach sehen obs das gibt ^^

  9. #9
    hab nach gesehen , Diese Funktion gibbet offensichtlich net
    ich werd mal Sunnys methode testen

  10. #10
    Ich kanns mir zwar nicht genau erklären warum ich das annehme, aber ich befürchte das es keine Timestamp-Orientierten Funktionen in einer M$-Programmiersprache gibt (I love PHP!).
    Ich hab mich mal nach eine Online-Funktionsreferenz für VFP umgeschaut, aber Pustekuchen... (I love PHP!)

    Egal, ich geb dir die Info dennoch. Vielleicht regt das ja deine Kreativität an.

    Der Timestamp ist ein Wert in Sekunden die seit dem Beginn der Unix-Epoche vergangen sind. Also ein successiv inkrementierbarer Wert, was es sehr leicht macht mit ihm zu rechnen (I love PHP!).

    Schau dir ggf. mal diese beiden Referenzseiten über diverse Datumsfunktionen:
    http://de3.php.net/date
    und speziell die mktime()-Funktion, welche man benötigt um aus einem konkreten Datum einen Timestamp zu machen,:
    http://de3.php.net/manual/de/function.mktime.php
    an.

    Hinweis: Mithilfe der date()-Funktion lässt sich ein Timestamp sehr komfortabel wieder in ein Datum mit frei einstellbarem Format ausgeben (I love PHP!).

    Der Rest ist dann nurnoch Rechnen mit großen natürlichen (mathematisch) Zahlen.

  11. #11
    Hmm das Datum in einen Rechenbaren Wert Umwandlen is auch ne Idee..

    Jo also Anregungen sind ja shcon mal 2 oder 3 Da wenn ich das so überblicke werd mal kucken ob ich das in den nächsten tagen mal anwende

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •