Verschiedene Datumsformate portieren

Alle Fragen um die Programmierung, die sich sonst nicht kategorisieren lassen. Von Makro bis Codeblock, von IF bis ENDIF

Moderator: Moderatoren

Antworten
xdragon2009
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 49
Registriert: So, 02. Mär 2014 16:36

Verschiedene Datumsformate portieren

Beitrag von xdragon2009 »

Hallo allerseits,

ich versuche gerade eine bestehende Datenbank nach Xbase++ zu portieren. Dabei ist mir aufgefallen, dass in dem bestehenden "Datumsfeld" verschiedene Datumsformate existieren.

z. B.:
14.04.2020
04.14.2020

Hat jemand eine Idee, wie ich die elegant portieren kann? Ich möchte ja schließlich in der neuen Datenbank keinen mischmasch haben.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Verschiedene Datumsformate portieren

Beitrag von brandelh »

wenn du in der Zeile keinen Hinweis auf die Herkunft hast, dann hast du echt ein Problem.
04.14.2020 ist ja eindeutig, wobei eigentlich keine Punkte da sein sollten sondern /, aber 03.05.2020 nicht !

DBF speichert intern daher das Datum immer JJJJMMTT ... wenn du nur Text hast und dort gemischt TT.MM.JJJJ und MM.TT.JJJJ dann gute Nacht.
Gruß
Hubert
xdragon2009
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 49
Registriert: So, 02. Mär 2014 16:36

Re: Verschiedene Datumsformate portieren

Beitrag von xdragon2009 »

Genau das ist das Problem, es ist kein Datumsfeld, sondern ein Textfeld und die Einträge bunt gemischt :(.
Benutzeravatar
Rolf Ramacher
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1930
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Verschiedene Datumsformate portieren

Beitrag von Rolf Ramacher »

da hast du wohl kaum eine Chance. Wenn Müll drinsteht, kann auch nur Müll rauskommen. ich würde das Datumsfeld dabei komplett weglassen und das dem Auftraggeber auch so mitteilen, das dies nur Chaos verursachen kann. wenn er dennoch darauf besteht, ist das sein Problem und er muss die Daten händisch korrekt bereinigen - aber immer schriftlich festhalten.
Gruß Rolf

Mitglied der Gruppe XUG-Cologne
www.xug-cologne.de
Benutzeravatar
Bertram Hansen
Foren-Moderator
Foren-Moderator
Beiträge: 1015
Registriert: Di, 27. Sep 2005 8:55
Wohnort: 51379 Leverkusen
Hat sich bedankt: 28 Mal
Danksagung erhalten: 20 Mal
Kontaktdaten:

Re: Verschiedene Datumsformate portieren

Beitrag von Bertram Hansen »

Hallo xdragon2009,

wie wird den aktuell vom Programm her dieses Feld angesprochen / ausgewertet? Vielleicht kannst du da irgendwelche Rückschlüsse draus ziehen.
:wave:
Gruß Bertram
http://www.tobax.de
Mitglied der XUG Cologne
Mitglied der XUG Osnabrück
Beisitzer des Deutschsprachige Xbase-Entwickler e.V.

Solange Kakaobohnen an Bäumen wachsen ist Schokolade Obst!
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Verschiedene Datumsformate portieren

Beitrag von Manfred »

naja, die Frage ist um wieviel Sätze geht es? Evtl. erleichtert es die spätere Arbeit, wenn Du alles was in der Mitte einen höheren Wert als 12 hat, schonmal auf jeden Fall als falsch ansiehst und dann die ersten beiden Stellen gegen die 2.Stellen vertauschst und somit ein gültiges Datum bekommst. Muß aber letztendlich der entscheiden, der mit den Daten weiter arbeiten muß. Und wenn die ersten beiden Ziffern über 12 sind, stehen die auch schon mal richtig
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Verschiedene Datumsformate portieren

Beitrag von Tom »

Wir importieren immer so viel wie möglich und weisen die Kunden darauf hin, dass die Daten unbedingt kontrolliert werden müssen. Also wenn CtoD() etwas Vernünftiges liefert, dann nimmt man es, und wenn nicht, dann eben nicht - das Ziel-Datumsfeld bleibt dann leer. Möglicherweise gibt es für die verkehrte Notation (eigentlich verwendet niemand MM.TT.JJJJ, sondern MM/TT/JJJJ!) Hinweise, etwa ein Feld mit dem Herkunftsland des Kontakts o.ä.. Wenn es nur Typos sind, hat der Versuch, das plausibel zu korrigieren, keinen Sinn, denn es gibt ja, wie hier schon angemerkt wurde, Fälle, in denen beide Notationen sinnvolle Ergebnisse liefern (01.02.2020).
Herzlich,
Tom
Benutzeravatar
BJelinek
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 218
Registriert: Sa, 02. Jun 2012 20:57
Wohnort: 73257 Köngen
Hat sich bedankt: 9 Mal
Danksagung erhalten: 3 Mal

Re: Verschiedene Datumsformate portieren

Beitrag von BJelinek »

Hallo xdragon2009,

vielleicht gibt ja ein anderes Feld in der Datenbank einen Hinweis ,
ob das Datum Deutsch oder Englisch ist.

z.B. Sprache = e ist mm.tt.jjjj
Sprache = d ist tt.mm.jjjj
Grüße
Bernd

Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Verschiedene Datumsformate portieren

Beitrag von Tom »

Das gleiche hatte ich vorher auch schon geschrieben, Bernd. ;)
Herzlich,
Tom
Benutzeravatar
BJelinek
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 218
Registriert: Sa, 02. Jun 2012 20:57
Wohnort: 73257 Köngen
Hat sich bedankt: 9 Mal
Danksagung erhalten: 3 Mal

Re: Verschiedene Datumsformate portieren

Beitrag von BJelinek »

Hallo Tom,
du warst schneller.
habe auf Manfreds Post geschrieben
und Deinen nicht gesehen beim schreiben.
Grüße
Bernd

Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Verschiedene Datumsformate portieren

Beitrag von Manfred »

ich heiße doch gar nicht xdragon2009
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Verschiedene Datumsformate portieren

Beitrag von AUGE_OHR »

hi,

wenn man "unterschiedliche" DBF Dateien hat sollte man die Codepage überprüfen und eine entsprechende Konvertierung starten.
gruss by OHR
Jimmy
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Verschiedene Datumsformate portieren

Beitrag von Tom »

Und sich dabei Salz auf die Schulter streuen. :lol:
Was soll die falsche Eingabe von Datumsinformationen mit der Codepage zu tun haben, Jimmy?
Herzlich,
Tom
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Verschiedene Datumsformate portieren

Beitrag von AUGE_OHR »

und Corona ohne Maske ... [-X


arbeitest du mit DBF Dateien die "nicht Deutsch" sind :?:
da das "Datum" in einem Text Feld steht wird die Tastatur Belegung des OS verwendet und der User gibt es so ein "wie gewohnt"
an Hand der Codepage "könnte" man darauf schliessen "wie" das Datum Format sein "soll".
gruss by OHR
Jimmy
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Verschiedene Datumsformate portieren

Beitrag von brandelh »

wenn die Quelldatei eine DBF wäre, dann hätte er kein Problem, kein normal denkender Anwender hat in einer DBF jemals ein Textfeld statt einem Datumsfeld verwendet (auch seit dBase nicht) ... warum dann ein Entwickler ;-)
Gruß
Hubert
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Verschiedene Datumsformate portieren

Beitrag von AUGE_OHR »

brandelh hat geschrieben: Di, 14. Apr 2020 21:08 wenn die Quelldatei eine DBF wäre, dann hätte er kein Problem, kein normal denkender Anwender hat in einer DBF jemals ein Textfeld statt einem Datumsfeld verwendet (auch seit dBase nicht) ... warum dann ein Entwickler ;-)
unter dBase ][ gab es kein Type "D" in der "7-Bit" DBF
erst mit dbase III kam die "8-Bit" DBF und man musste die dBase ][ DBF "konvertieren" damit die unter dBase III liefen.

damit kam dann neue Feld Type wie "D", "L" ... aber wie sollte man die "sortieren" ( Index )
da es "vorher" per String funktionierte hat man es gelassen ... funktioniert doch ... :badgrin:

die Lage hat sich dann mit dem Y2K Problem geändert da nun auch die EPOCH eine Rolle spielte also nun auf Type "D" und CENTURY ON

---

wenn man nun so "komische" DBF Dateien in die Hand bekommt "könnte" es sein das die verwendete Codepage einem dabei hilft eine Lösung zu finden. ob Xbase++ dann damit klar kommt ist einen andere Sache.
gruss by OHR
Jimmy
xdragon2009
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 49
Registriert: So, 02. Mär 2014 16:36

Re: Verschiedene Datumsformate portieren

Beitrag von xdragon2009 »

Hallo und vielen Dank für eure Anregungen und Tipps.

Der Programmierer hat ein Textfeld verwendet, um das Datum und sonstige Zusätze darin zu speichern. Welchen Sinn das hat, kann man leider nicht erkennen und den Programmier auch leider nicht mehr fragen.

Ich werde jetzt die Werte so weit möglich übertragen mit dem Hinweis an den Auftraggeber, dass dies nicht korrekt sein muss. Da es sich um über 50.000 Datensätze handelt, ist eine manuelle Prüfung natürlich nicht möglich.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Verschiedene Datumsformate portieren

Beitrag von brandelh »

AUGE_OHR hat geschrieben: Di, 14. Apr 2020 22:33
brandelh hat geschrieben: Di, 14. Apr 2020 21:08 wenn die Quelldatei eine DBF wäre, dann hätte er kein Problem, kein normal denkender Anwender hat in einer DBF jemals ein Textfeld statt einem Datumsfeld verwendet (auch seit dBase nicht) ... warum dann ein Entwickler ;-)
unter dBase ][ gab es kein Type "D" in der "7-Bit" DBF
erst mit dbase III kam die "8-Bit" DBF und man musste die dBase ][ DBF "konvertieren" damit die unter dBase III liefen.

damit kam dann neue Feld Type wie "D", "L" ... aber wie sollte man die "sortieren" ( Index )
da es "vorher" per String funktionierte hat man es gelassen ... funktioniert doch ... :badgrin:
dBase II hab ich nie gesehen, ich kam mit Clipper s87 gleich zu den richtigen DBF.
Wer den alten "Sch..." (falscher Datentyp) immer noch macht gehört eh gefeuert ...
Gruß
Hubert
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Verschiedene Datumsformate portieren

Beitrag von AUGE_OHR »

brandelh hat geschrieben: Mi, 15. Apr 2020 15:10 dBase II hab ich nie gesehen, ich kam mit Clipper s87 gleich zu den richtigen DBF.
Wer den alten "Sch..." (falscher Datentyp) immer noch macht gehört eh gefeuert ...
das ist wohl überflüssig
und den Programmier auch leider nicht mehr fragen.
das zeigt aber auch "wie" alt die App wohl war und die Erklärung liefert die Zeit
gruss by OHR
Jimmy
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Verschiedene Datumsformate portieren

Beitrag von ramses »

brandelh hat geschrieben: Mi, 15. Apr 2020 15:10 dBase II hab ich nie gesehen, ich kam mit Clipper s87 gleich zu den richtigen DBF.
Wer den alten "Sch..." (falscher Datentyp) immer noch macht gehört eh gefeuert ...
dBaseII kam zuerst auf dem Betriebssystem CP/M auf den Markt. Das nutzte damals einen 7-Bit Zeichensatz.
Damals war beim entwicklen noch "Kampf" um jedes Byte angesagt. Reste von diesen "Kämpfen" finden sich noch heute an vielen Stellen.....
Später wurde dBase von Aston Tate auf den PC gebracht was damals mit dBase III ungeheueren Luxus und Komfort auf den PC brachte.
Valar Morghulis

Gruss Carlo
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Verschiedene Datumsformate portieren

Beitrag von Tom »

Reste von diesen "Kämpfen" finden sich noch heute an vielen Stellen.....
Aber hallo.

Ich glaube, das ist vielen nicht eben leichtgefallen, sich von solchen Paradigmen zu lösen. Sparsamkeit, Geschwindigkeitsoptimierung und Schlankheit waren vor noch zwei, drei Jahrzehnten oberste Maxime beim Programmieren. Und Leute, die das so gelernt haben, dampfen auch heute noch Variablennamen auf kryptische Abkürzungen ein, beispielsweise. :wink:
Herzlich,
Tom
Benutzeravatar
HaPe
1000 working lines a day
1000 working lines a day
Beiträge: 995
Registriert: So, 15. Nov 2015 17:44
Wohnort: 71665 Vaihingen-Enz
Hat sich bedankt: 17 Mal
Danksagung erhalten: 15 Mal

Re: Verschiedene Datumsformate portieren

Beitrag von HaPe »

Ich habe mit dBaseII 1986 auf einem 4,7 Mhz XT mit zwei 360 kb Laufwerken angefangen.
Und Leute, die das so gelernt haben, dampfen auch heute noch Variablennamen auf kryptische Abkürzungen ein, beispielsweise.
Ich bin zwar lange dabei, aber spätestens mit dBaseIII+ waren meine Variablennamen 10 Zeichen lang 8)
1-stellige Variablen habe ich nie benutzt.
--
Hans-Peter
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Verschiedene Datumsformate portieren

Beitrag von Tom »

Von einstelligen Variablennamen habe ich auch nicht gesprochen, HaPe. 8)
Herzlich,
Tom
Antworten