AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Windows 7: bei manchen Systemen falsches Datumsformat?
Thema durchsuchen
Ansicht
Themen-Optionen

Windows 7: bei manchen Systemen falsches Datumsformat?

Ein Thema von holliesoft · begonnen am 8. Mär 2010 · letzter Beitrag vom 30. Jul 2010
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
Benutzerbild von holliesoft
holliesoft

Registriert seit: 4. Apr 2005
Ort: Gau-Algesheim
250 Beiträge
 
FreePascal / Lazarus
 
#1

Windows 7: bei manchen Systemen falsches Datumsformat?

  Alt 8. Mär 2010, 10:50
Hallo zusammen,

ich bin gerade bei der Suche über diesen Fred gestolpert.

Irgendwie habe ich die Vermutung, dass da bei einigen Windows 7-Systemen was nicht ganz sauber läuft.

Wir supporten hier auf der Arbeit einen von einem Dienstleister produzierten USB-Stick. Ich vermute, dass dort auch Delphi eingesetzt wird, denn ein kleines Testtool zur Ermittlung des Datumsformats trägt das Delphi-Icon

Die Software auf dem Stick arbeitet mit einer Kopierschutzroutine, welche das Systemdatum ermittelt und bei überschreiten eines bestimmten Datums die Lizenz ungültig macht und den Content auf dem Stick löscht.

Diese Löschroutine hatte nun auf mehreren Windows7-Rechnern unserer Mitarbeiter zugeschlagen. Bei Kontrolle mit einem Testtool hatte sich dann herausgestellt, das trotz korrekter Ländereinstellungen ("Deutsch(Deutschland)") das falsche Datumsformat (nämlich mm/dd/yyyy) verwendet wurde. Erst nach Änderung auf ein anderes Land und erneutes ändern auf "Deutsch (Deutschland)" wurde das Datumsformat von der Delphi-Testapplikation (und von dem Kopierschutz) korrekt ermittelt.

Ich vermute ganz stark, dass hier bei einigen Windows 7 Konstellationen der Wurm drin ist. Hat das außer mir schon jemand irgendwo erlebt? Es wäre auch schön, wenn jemand Zugriff zu 0815-Windows 7-Komplett-PCs (aus Saturn, MM etc.) hat, und dort einfach mal eine kleine Testanwendung ausführen könnte, die einfach das Ergebnis von DateToStr ausgibt, nur um zu schauen, ob der Fehler dort auch auftritt.

Viele Grüße
ein derzeit ratloser Patrick
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Windows 7: bei manchen Systemen falsches Datumsformat?

  Alt 8. Mär 2010, 10:53
Im Forum von Codegear waren schon mal darüber einige Diskussionen über dieses Problem.
Schau mal dort ob dabei was rausgekommen ist.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von holliesoft
holliesoft

Registriert seit: 4. Apr 2005
Ort: Gau-Algesheim
250 Beiträge
 
FreePascal / Lazarus
 
#3

Re: Windows 7: bei manchen Systemen falsches Datumsformat?

  Alt 8. Mär 2010, 10:57
Hi Bernhard,

danke für den Hinweis, werde mal dort schauen...
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.062 Beiträge
 
Delphi 12 Athens
 
#4

Re: Windows 7: bei manchen Systemen falsches Datumsformat?

  Alt 8. Mär 2010, 11:04
Was nimmt man auch solche veränderlichen Formate für eine "genau" Auswertung?

Lösung: Man nutze einfach keinen formatierten String (weder Datum noch Sonstwas) für derartige Prüfungen.
(oder man gibt das Format selber vor, aber das ist doch umständlicher, als direkt mit TDateTime oder einem anderem gleichwertigem Datumsformat zu prüfen)


Was macht man denn, wenn jemand das Programm auf einem anderssprachigem System einsetzen will
oder wenn jemand zwar ein deutsches Windows besitzt, aber seine eigene/persönliche Einstellung bei sowas nutzt?
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von holliesoft
holliesoft

Registriert seit: 4. Apr 2005
Ort: Gau-Algesheim
250 Beiträge
 
FreePascal / Lazarus
 
#5

Re: Windows 7: bei manchen Systemen falsches Datumsformat?

  Alt 8. Mär 2010, 11:28
Zitat von himitsu:
Was nimmt man auch solche veränderlichen Formate für eine "genau" Auswertung?

Lösung: Man nutze einfach keinen formatierten String (weder Datum noch Sonstwas) für derartige Prüfungen.
(oder man gibt das Format selber vor, aber das ist doch umständlicher, als direkt mit TDateTime oder einem anderem gleichwertigem Datumsformat zu prüfen)

Was macht man denn, wenn jemand das Programm auf einem anderssprachigem System einsetzen will
oder wenn jemand zwar ein deutsches Windows besitzt, aber seine eigene/persönliche Einstellung bei sowas nutzt?
Tja, das selbe habe ich meinen Chef auch gesagt... Ist wie gesagt keine Anwendung von mir oder meinem Arbeitgeber, sondern was gekauftes. Mir ist schleierhaft, wieso überhaupt hier eine Konvertierung DateToStr bzw. StrToDate durchgeführt wird, um ein Datum zu vergleichen. Wenn ich ein Datum in einer Konfigurationsdatei ablege, die nur von der Anwendung selbst gelesen werden soll, dann mache ich das grundsätzlich als Integer, und nicht als String.

Aber egal, was ich in diesem Betrieb sage, es interessiert eh keinen von der Führungsebene
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.798 Beiträge
 
Delphi 12 Athens
 
#6

Re: Windows 7: bei manchen Systemen falsches Datumsformat?

  Alt 8. Mär 2010, 11:58
Zitat von holliesoft:
Aber egal, was ich in diesem Betrieb sage, es interessiert eh keinen von der Führungsebene
Du sollst das ja auch nicht Deinem Chef sagen, sondern dem Anbieter dieser fehlerhaften Software.



Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Benutzerbild von holliesoft
holliesoft

Registriert seit: 4. Apr 2005
Ort: Gau-Algesheim
250 Beiträge
 
FreePascal / Lazarus
 
#7

Re: Windows 7: bei manchen Systemen falsches Datumsformat?

  Alt 8. Mär 2010, 12:02
Zitat von Sherlock:
Zitat von holliesoft:
Aber egal, was ich in diesem Betrieb sage, es interessiert eh keinen von der Führungsebene
Du sollst das ja auch nicht Deinem Chef sagen, sondern dem Anbieter dieser fehlerhaften Software.



Sherlock
Tja, dumm nur, dass die Kommunikation mit dem Anbieter hier über mehrere Ebenen läuft und ich bin am unteren Ende. Aber das ist hier schon immer so gewesen *seufz*

Zurück zum Problem: Es scheint so, als würde das Problem Systeme betreffen, bei denen Windows 7 in der US-Sprach-Version installiert wurde und dann das deutsche Language Pack darüber installiert wurde... hmmm.

Bei Codegear finde ich auf die Schnelle diesen Thread zu dem Thema...
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.798 Beiträge
 
Delphi 12 Athens
 
#8

Re: Windows 7: bei manchen Systemen falsches Datumsformat?

  Alt 8. Mär 2010, 12:05
Language Pack <> Deutsches Datumsformat.
Software, die nicht korrekt das Datum ausliest ist fehlerhaft, sofern nicht in der Anleitung oder sonstwo steht, daß das Datum auf eine bestimmte Art zu formatieren ist. Das soltle doch ganz leicht zu verklickern sein. Zumal man den Fehler auf jemand anderen abwälzen kann, sowas lieben BWLer aka Entscheidungsträger. Verkauf das alles als Bug in der Fremdsoftware und alle sind glücklich, da es Null-Aufwand (=Null-Kosten) für Deine Firma bedeuetet.

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17
Online

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.643 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Windows 7: bei manchen Systemen falsches Datumsformat?

  Alt 9. Mär 2010, 08:48
Also wir kennen das Problem. Trat bis jetzt nur bei Windows 7 64bit auf. Trotz deutscher Ländereinstellung werden die globalen Variablen zur Datums-Formatierung in Delphi mit den englischen Variante belegt. Zumindest bei unserem Delphi 6. Wer jetzt nun der Schuldige ist (das alte Delphi 6 oder Windows 7), das herauszufinden hatte wir jetzt keine Lust. Man setzt nach Programmstart einfach die Variablen noch mal von Hand:

Delphi-Quellcode:
  CurrencyFormat := 3;
  NegCurrFormat := 8;
  ThousandSeparator := '.';
  DecimalSeparator := ',';
  CurrencyDecimals := 2;
  DateSeparator := '.';
  ShortDateFormat := 'dd.MM.yyyy';
  LongDateFormat := 'dddd, d. MMMM yyyy';
  TimeSeparator := ':';
  TimeAMString := '';
  TimePMString := '';
  ShortTimeFormat := 'hh:mm';
  LongTimeFormat := 'hh:mm:ss';
Und schon klappt das ganze.

Ebenso sollte man bei FOrmatanweisunge auf %m und ähnliches verzichten. Bei %m wird einem z.B. das Dollar-Zeichen anstatt des Euro untergejubelt.

//Edit
um das ganze zu verhindern sollte man DateToStr sowieso nicht verwenden, sonst lieber auf FormatDateTime setzen und alles selbst machen.

Sven
Sven Harazim
--
  Mit Zitat antworten Zitat
Alter Mann

Registriert seit: 15. Nov 2003
Ort: Berlin
946 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#10

Re: Windows 7: bei manchen Systemen falsches Datumsformat?

  Alt 9. Mär 2010, 18:44
Hi,

hatte das Problem auch, aber in anderer Art und Weise.

Windows 7/64 Ultimate US + deutsches Language Pack, trozdem war die Anzeige von Uhrzeit und Datum immer noch US.

In diesem Fall muss jeder Benutzer für sich die Einstellungen für Datum, Uhrzeit oder das Zahlenformat ändern.

Viele Grüße
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz