AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Gelöst: Algorithmus zum Ermitteln bestimmter StringGrid-Zellen
Thema durchsuchen
Ansicht
Themen-Optionen

Gelöst: Algorithmus zum Ermitteln bestimmter StringGrid-Zellen

Ein Thema von Perlsau · begonnen am 29. Jul 2012 · letzter Beitrag vom 29. Jul 2012
Antwort Antwort
Perlsau
(Gast)

n/a Beiträge
 
#1

AW: Algorithmus zum Ermitteln bestimmter StringGrid-Zellen

  Alt 29. Jul 2012, 10:20
Auf den ersten Blick sieht es so aus als ob es tatsächlich funktionieren müsste, somit könnte der Fehler bei der erfolglosen Umwandlung des Zellinhaltes in eine Zahl zu finden sein.
Glaube ich nicht. Wenn er die letzten Tage des vorigen Monats findet, dann sollte er auch die ersten Tage des letzten Monats finden. Bei den Tagen des aktuellen Monats steht ja das komplette Datum drin, da liefert TryStrToInt ein FALSE zurück. Und an der vorangestellten 0 bei den ersten Tagen des nächsten Monats kanns auch nicht liegen, die machen bei StrToInt keine Schwierigkeiten.

Abgesehen davon bin ich aber kein Freund davon von einer Dateninterpretation (Feldinhalt des Stringgrids) die Darstellung zu interpretieren. Besser wäre es hier einen Adapter zu schreiben der mit den Termindaten gefüllt wird (oder den Zugriff auf diese Objekte kennt) und der sich auch um die Befüllung des Stringgrids und das Event OnDrawCell kümmert. Dann kann man beim Zeichnen direkt auf die Terminobjekte und dessen Daten zurückgreifen und von den echten Daten die Darstellungsart ableiten. Eine zukünftige Erweiterung wie z.B. spezielle Termine besonders einfärben ist dann ein Klacks.
Keine Ahnung, was du dir unter einem Adapter vorstellst. Ich entwickle zum ersten Mal eine Terminverwaltung mit einem selbstgebastelten Kalender und habe noch etliche Schwierigkeiten damit, für alle anfallenden Problemstellungen Lösungen zu finden. Das ist sozusagen mein Prototyp. Wenn ich das Prinzip erstmal richtig kapiert habe, geht's an die Optimierung.

Beim Befüllen des Stringgrids wird erstmal das Stringgrid mit den reinen Monatsdaten gefüllt. Danach wird mittels SELECT die Datenmenge in der Datenbank nach Datum gefiltert (eben nur Termine mit dem Datum des aktuellen Monats).
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.739 Beiträge
 
Delphi 6 Enterprise
 
#2

AW: Algorithmus zum Ermitteln bestimmter StringGrid-Zellen

  Alt 29. Jul 2012, 16:07
Abgesehen davon bin ich aber kein Freund davon von einer Dateninterpretation (Feldinhalt des Stringgrids) die Darstellung zu interpretieren. Besser wäre es hier einen Adapter zu schreiben der mit den Termindaten gefüllt wird (oder den Zugriff auf diese Objekte kennt) und der sich auch um die Befüllung des Stringgrids und das Event OnDrawCell kümmert. Dann kann man beim Zeichnen direkt auf die Terminobjekte und dessen Daten zurückgreifen und von den echten Daten die Darstellungsart ableiten. Eine zukünftige Erweiterung wie z.B. spezielle Termine besonders einfärben ist dann ein Klacks.
Keine Ahnung, was du dir unter einem Adapter vorstellst. Ich entwickle zum ersten Mal eine Terminverwaltung mit einem selbstgebastelten Kalender und habe noch etliche Schwierigkeiten damit, für alle anfallenden Problemstellungen Lösungen zu finden. Das ist sozusagen mein Prototyp. Wenn ich das Prinzip erstmal richtig kapiert habe, geht's an die Optimierung.
Er meint glaub ich damit, dass du eine Struktur schaffen sollst, in der die Daten gespeichert werden. Das Grid soll nur zur Darstellung dienen. So sollst du dann quasi im OnDraw nicht schauen, was steht in der Grid-Zelle, sondern was steht in der Datenstruktur was für ein Wert in dieser Zelle steht, bzw. noch besser, was sagt mir die Datenstruktur, wie ich diese Zelle färben soll. Das geht dann denk ich in Richtung MVC.
Ralph
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#3

AW: Algorithmus zum Ermitteln bestimmter StringGrid-Zellen

  Alt 29. Jul 2012, 18:31
Er meint glaub ich damit, dass du eine Struktur schaffen sollst, in der die Daten gespeichert werden. Das Grid soll nur zur Darstellung dienen. So sollst du dann quasi im OnDraw nicht schauen, was steht in der Grid-Zelle, sondern was steht in der Datenstruktur was für ein Wert in dieser Zelle steht, bzw. noch besser, was sagt mir die Datenstruktur, wie ich diese Zelle färben soll. Das geht dann denk ich in Richtung MVC.
Ich habe bereits eine Struktur zur Speicherung der Daten: eine Firebird-Datenbank. In dieser ist aber nicht vermerkt, an welchem Wochentag ein bestimmter Termin ist oder in welcher Spalte im StringGrid er steht. Ich möchte ja das Stringgrid je nach aktuellem Status so oder so aussehen lassen. Daher lese ich auch am Stringgrid aus, wie es sich derzeit befindet ... Natürlich könnte ich das auch aus den Daten in der DB ausrechnen. Da ich aber sowieso auf das OnDrawCell-Ereignis reagieren muß und dort auf bestimmte Spalten und Zeilen abfragen muß, ob und wie sie (hinsichtlich aktuellem Monat und Jahr bzw. hinsichtlich ihres Inhalts) manipuliert werden sollen. Ich will ja nicht nur Zellen manipulieren, in denen ein oder mehrere Termine stehen, sondern auch Zellen, in denen keine stehen. Wieso also sollte ich diese Manipulation einmal in einem extra "Adapter" machen und dann nochmal in OnDrawZell? Ich finde das so einfacher ...

Und was ist MVC?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.659 Beiträge
 
Delphi 12 Athens
 
#4

AW: Gelöst: Algorithmus zum Ermitteln bestimmter StringGrid-Zellen

  Alt 29. Jul 2012, 19:54
http://de.wikipedia.org/wiki/Model_View_Controller
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  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 06:57 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