AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Das 2038-Problem: wie würdet ihr euch vorbereiten?
Thema durchsuchen
Ansicht
Themen-Optionen

Das 2038-Problem: wie würdet ihr euch vorbereiten?

Ein Thema von Glados · begonnen am 30. Aug 2017 · letzter Beitrag vom 31. Aug 2017
Antwort Antwort
Seite 2 von 2     12   
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.081 Beiträge
 
Delphi 2009 Professional
 
#11

AW: Das 2038-Problem: wie würdet ihr euch vorbereiten?

  Alt 30. Aug 2017, 12:04
Zitat:
Ich wandle, anders als du, Int64 nicht unnötigerweise in Integer um und lese Compilermeldungen.
Ich möchte hier gerne eine friedliche Diskussion führen. Was du hier machst, ist genau das Gegenteil.
Wer bitte sagt denn, dass ich keine Compilermeldungen lese? Wer bitte sagt, dass ich Int64 in Integer umwandle?
Du selbst:
Delphi-Quellcode:
function ChangeTime(DateTime: TDateTime; const NewTime: Integer): Integer;
var
 aNewTime: TDateTime;
begin
 if (NewTime >= 86400) or (NewTime <= 0) then // Sicherheitshalber denn sonst gäbe es gar keine Zeitangabe!
  aNewTime := StrToTime('00:00:00')
 else
  aNewTime := SecondsToDateTime(NewTime);

 // bis hier hin ist es noch 23:59:59

 DateTime := RecodeTime(DateTime, System.DateUtils.HourOf(aNewTime), System.DateUtils.MinuteOf(aNewTime), System.DateUtils.SecondOf(aNewTime), 000);
 Result := DateTimeToUnix(DateTime);

 ShowMessage(DateTimeToStr(UnixToDateTime(Result)) + sLineBreak + NewTime.ToString); // Resultat 23:59:58
end;
Der Compiler wird sich darüber beschweren, dass hier eine implizierte Typumwandlung mit Datenverlust auftritt, weil du grundlos Int64 in Integer umwandelst.

Jetzt bitte etwas zum Thema Mister Neunmalklug oder raus hier.
Das war zum Thema. Ich habe nur erzählt, wie ich Timestamps in meiner Software verwende, nämlich als Int64, die ich nicht in Integer umwandle. Das wolltest du doch.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Das 2038-Problem: wie würdet ihr euch vorbereiten?

  Alt 30. Aug 2017, 12:20
NativeInt statt integer, da wo Integer-Pointer gecastet werden (oder besser IntPtr),
und wo es unter 64 Bit auch 64 Bit sein darf/kann.

Wobei Pointer nicht negativ sind, also UIntPtr/NativeUInt statt Cardinal.

Bei SendMessage/PostMessage wird nicht Integer verwendet, sondern L_PARAM, W_PARAM und L_RESULT.
Also nicht das verwenden, was die Codevervollständigung anzeigt, sondern die "korrekten" Typen, welche oftmals ein Alias sind, aber die Codevervollständigung zeigt immer nur den "aktuellen" Typen an.
$2B or not $2B
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.381 Beiträge
 
Delphi 10.4 Sydney
 
#13

AW: Das 2038-Problem: wie würdet ihr euch vorbereiten?

  Alt 30. Aug 2017, 12:23
Himitsu war schneller und sein Text ist besser daher schmeiß ich mein Zeug wieder weg

Also nicht das verwenden, was die Codevervollständigung anzeigt, sondern die "korrekten" Typen


falls jemand den Ursprungsthread nicht kennt: http://www.delphipraxis.net/193692-e...-sekunden.html
  Mit Zitat antworten Zitat
Glados
(Gast)

n/a Beiträge
 
#14

AW: Das 2038-Problem: wie würdet ihr euch vorbereiten?

  Alt 30. Aug 2017, 12:46
Ich würde gerne beim Thema bleiben.
Der Ursprungsthread hat nichts mit diesem hier zu tun.

Dieser Thread hat sich für mich jedenfalls erledigt, wenn man nicht beim Thema bleiben kann.
Ich bin raus.
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#15

AW: Das 2038-Problem: wie würdet ihr euch vorbereiten?

  Alt 30. Aug 2017, 12:48
Wir sind bei Deinem Thema. Der Schlüssel liegt in den 64 Bit Datentypen.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.381 Beiträge
 
Delphi 10.4 Sydney
 
#16

AW: Das 2038-Problem: wie würdet ihr euch vorbereiten?

  Alt 30. Aug 2017, 13:06
Ich würde gerne beim Thema bleiben.
Der Ursprungsthread hat nichts mit diesem hier zu tun.
doch, denn Redeemer hat daraus zitiert. Und damit da nicht jeder, der sich informieren will selbst suchen muss, habe ich den Link hier eingefügt, das sollte man bei Zitaten eigentlich machen....
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.081 Beiträge
 
Delphi 2009 Professional
 
#17

AW: Das 2038-Problem: wie würdet ihr euch vorbereiten?

  Alt 30. Aug 2017, 18:19
Man kann auf "Zitat von ..." klicken.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Das 2038-Problem: wie würdet ihr euch vorbereiten?

  Alt 30. Aug 2017, 18:27
Zitat von Redeemer:
Man kann auf "Zitat von ..." klicken.
Nicht immer.
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.027 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#19

AW: Das 2038-Problem: wie würdet ihr euch vorbereiten?

  Alt 31. Aug 2017, 01:40
Also nicht das verwenden, was die Codevervollständigung anzeigt, sondern die "korrekten" Typen, welche oftmals ein Alias sind, aber die Codevervollständigung zeigt immer nur den "aktuellen" Typen an.
FWIW: RSP-17110
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
samso

Registriert seit: 29. Mär 2009
439 Beiträge
 
#20

AW: Das 2038-Problem: wie würdet ihr euch vorbereiten?

  Alt 31. Aug 2017, 08:58
Bei mir gibt es zwei Gründe weshalb ich überhaupt das Unixdatumsformat verwende:
  1. das extern verwendete Datumsformat ist das Unixformat
  2. ich möchte ein kompaktes Format für Datum+Uhrzeit verwenden (d.h. Speicherplatz sparen)
Bei dem ersten Punkt bereite ich mich nicht vor, sondern passe mich dann an, wenn sich das externe Format ändert.
Bei dem zweiten Punkt hängt es davon ab, ob ich den Aspekt der Speicherersparnis noch zeitgemäß finde. Wenn das nicht der Fall ist, wähle ich bei dem Wechsel auf 64 Bit ein anderes Datenformat (z.B TDateTime, TTimestamp oder TFiletime).
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 23:00 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