AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Delphi Einträge nach Datum/Zeit in eine Tabelle schreiben
Thema durchsuchen
Ansicht
Themen-Optionen

Einträge nach Datum/Zeit in eine Tabelle schreiben

Ein Thema von NoGAD · begonnen am 18. Mai 2022 · letzter Beitrag vom 19. Mai 2022
Antwort Antwort
Benutzerbild von NoGAD
NoGAD

Registriert seit: 31. Jan 2006
Ort: Weimar
345 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: Einträge nach Datum/Zeit in eine Tabelle schreiben

  Alt 18. Mai 2022, 23:17
Danke für eure Geduld, wieder einmal.

Die Idee ist schwer zu erklären. Ich denke, könnte ich sie erklären, hätte ich eine Lösung. Ich versuchte es noch einmal vorn.

1 Programmnutzer (PN) kann für jeden Tag einen Zeitraum festlegen, ebenso den Intervall innerhalb des Zeitraums.
1.1. Mein Projekt erzeugt eine Zeitliste für jeden Tag, in dieser können Termine eingetragen werden. (7:00, 7:15, 7:30 ... 12:00)
2. PN trägt nun in dieses Raster Termine ein.
2.2. Diese Termine werden in einer Tabelle abgelegt. Bisher mache ich das über einen Timestamp, der unique ist, es kann definitiv keine zwei gleichen Termine zu einem Datum+Uhrzeit geben.

... Inzwischen ist ein halbes Jahr Vorlauf entstanden ...

Jetzt möchte der PN den Intervall ändern. Alle Termine müssten angepasst werden. (Zumindest für die Zeit von jetzt bis zum letzten Termin im Vorlauf); (Ob und wie das mit den Personen, die die Termine wahrnehmen werden, abgesprochen wird, ist nicht meine Aufgabe oder die des Programms)

Meine Frage nun:

Wie lässt sich das Problem von Überschneidungen, eventueller Wegfall oder sonstiges vermeiden?

Idee 1: Alle Termine für den Tag werden weiterhin im Original angezeigt (Timestamp) und bei Überschneidungen mit dem neuen Raster werden die Termine z.B. kursiv dargestellt. Das würde so lange passieren, bis alle Termine "durch" sind.

Idee 2: Alle Termine werden auf das neue Raster umgerechnet. Hier kann es aber zu Verlust kommen, wenn der Intervall vergrößert wird.

Habt ihr so etwas schon einmal programmiert?

Anmerkung: Es gibt nur fixe Termine, keine virtuellen.

LG Mathias
Mathias
Ich vergesse einfach zu viel.
  Mit Zitat antworten Zitat
mytbo

Registriert seit: 8. Jan 2007
482 Beiträge
 
#2

AW: Einträge nach Datum/Zeit in eine Tabelle schreiben

  Alt 19. Mai 2022, 13:04
Idee 1: Alle Termine für den Tag werden weiterhin im Original angezeigt (Timestamp) und bei Überschneidungen mit dem neuen Raster werden die Termine z.B. kursiv dargestellt. Das würde so lange passieren, bis alle Termine "durch" sind.
Ja, nur kursiv reicht nicht. Den Hintergrund am besten fett Rot machen.
Idee 2: Alle Termine werden auf das neue Raster umgerechnet. Hier kann es aber zu Verlust kommen, wenn der Intervall vergrößert wird.
Einen Button einbauen, mit dem der Nutzer die regelbasierte Umstellung anstoßen kann. Je nachdem, wie teuer ausgefallene Termine werden können, gegebenenfalls für jeden Tag einzeln. Überschneidungen nach der Umstellung wieder deutlich hervorheben. Einen Gesamtbericht erstellen, bei dem die Überschneidungen gruppiert nach Datum aufgelistet werden. Damit überträgst du die Verantwortung an den Nutzer.

Bis bald...
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
725 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Einträge nach Datum/Zeit in eine Tabelle schreiben

  Alt 19. Mai 2022, 13:45
Hallo,

eventuell habe ich das überlesen. Die Termine bestehen aus zwei Datum+Zeit Werten (Start bis Ende) oder aus Datum+Zeit als Start und eine Laufzeit in Sekunden oder einem anderen Zeit-slot Format?

Zum Verschieben und speichern von Terminen ist es schön nur den Startwert und die Laufzeit zu haben. Lässt sich besser verwalten.
Berechnen von Überschneidungen mat sich mit zwei Zeit Werten besser.

Eigentlich ist egal wie du das Datum bisher gespeichert hast. Zum Umrechnen musst du nur dafür sorgen dass das du einen Zwischenwert hast der feingliedrig genug ist um damit umrechnen zu können. Beide Slotgrößen müssen sich damit eindeutig darstellen lassen. Mit Sekunden zum Beispiel.
Überschneidungen kannst du nicht verhindern wenn nach der Änderung weniger Slots vorhanden sind.
Das solltest du auch dem Anwender überlassen diese Termine dann anzupassen.
Was du machen könntest wäre ein Trockenlauf. Also ermitteln wo es Probleme geben wird und diese dem Anwender vorher anzeigen.

Grüße nach Weimar, oh du ferne Heimat.
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat
Benutzerbild von NoGAD
NoGAD

Registriert seit: 31. Jan 2006
Ort: Weimar
345 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Einträge nach Datum/Zeit in eine Tabelle schreiben

  Alt 19. Mai 2022, 17:46
Vielen Dank für eure Hilfen.

Bin nun erst einmal beim Testen, das Thema ist für mich beantwortet.

LG und schonmal ein schönes Wochenende!

Mathias
Ich vergesse einfach zu viel.
  Mit Zitat antworten Zitat
Antwort Antwort


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 22:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz