AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Das große WIE, Chart aktuallisieren, Daten in textfiles
Thema durchsuchen
Ansicht
Themen-Optionen

Das große WIE, Chart aktuallisieren, Daten in textfiles

Ein Thema von Stecky2000 · begonnen am 1. Jun 2008 · letzter Beitrag vom 15. Jul 2008
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    
Stecky2000

Registriert seit: 7. Mai 2008
Ort: Trebur
66 Beiträge
 
Delphi 2010 Professional
 
#1

Das große WIE, Chart aktuallisieren, Daten in textfiles

  Alt 1. Jun 2008, 10:05
Ich hoffe ich poste hier an der richtigen Stelle, ich fand es recht passend.

Nun, ich habe, z. T. auch mit eurer Hilfe, ein Dienstplanprogramm geschrieben.
Ich habe mit MDI-Forms gearbeitet, mit StringGrids, mit import und export über (StringGridx.Rows[i].commatext), dynamische menüs, nachträgliche Bearbeitung von StringGridzellen über ownerdraw etc..

Klar, für Euch ist das peanuts, aber ich bin kein Programmierer, da bin ich schon recht stolz drauf.

Jetzt brauche ich aber einen kleinen Schubs in die richtige Richtung.

Also...

Ich habe in meinem Proggi z. B. 80 verschiedene Dienstpläne. Insgesamt werden damit ca. 2000 MA verplant.
Ich möchte eine Chart aufbauen in der ein Gebirge (Bedarfskurve) dargestellt wird und darüber die von den 80 Dienstplänen generierte Abdeckung in einer weiteren Linie.

Sowas hab ich schon mal gemacht, sollte kein Problem sein.

Das Problem liegt eher darin, dass die Daten für diese Dienstplanabdeckung z. Z. noch in eben der 80 Textfiles mit den Dienstplandaten liegen, mit Kommas getrennt.

Ich benutze keine Datenbanken, sondern nur diese Textfiles. Das soll auch möglichst so bleiben, da in unserem Betrieb kein BDE installiert werden kann (darf).

Jetzt die Große Frage:

Was für ein Aufbau wäre sinnvoll, um die Daten für die Grafik so schnell wie möglich bei Änderung eines einzelnen Dienstplanes neu zu berechnen?

Ich habe schon überlegt eine Routine zu schreiben, die aus z. B. einem Ini-file die Namen aller Dienstpläne nimmt und diese einzeln läd um die dortigen Abdeckungswerte im 5-Minuten-Raster einzulesen und zu addieren bis alle Pläne durch sind.

Nur hab ich den Verdacht, das wird zu langsam sein ( 80 Dienstpläne á 7 Kurven(Tage) mit 288 Zeilen)...

Sonst hätte ich noch die Idee, 7 Textfiles aufzubauen, für jeden Wochentag eins, und aus jedem Plan dort die Werte rein zu schreiben. Da ich eh nur einen Tag in der Grafik anzeige, brauche ich auch nur Daten für einen Tag. Hier weis ich nicht, wie ich damit umgehen kann, für jeden Plan eine Splate zu zuweisen. Wenn ich eine Plan lösche, müsste auch die Spalte eliminiert werden.

Also, ich hoffe Ihr versteht das Problem und könnt mir einige Tipps zur Entscheidungsfindung geben.

Danke schon mal.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Das große WIE, Chart aktuallisieren, Daten in textfiles

  Alt 1. Jun 2008, 10:32
Von der BDE würde ich sowieso abraten. Dein Problem schreit aber nach einer Datenbank.

In einer ordentlichen Datenbankstruktur kann man dann einfach Daten aus verschiedenen Dienstplänen zusammenfassen (pro Tag, pro MA, pro Dienstplan, pro ..)
Markus Kinzler
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: Das große WIE, Chart aktuallisieren, Daten in textfiles

  Alt 1. Jun 2008, 12:32
Moin.

Die Entscheidung zwischen Textdateien und Datenbank ist nicht von der BDE-Installation abhängig. Werden die Daten direkt in den Textdateien bereit gestellt, dann bedeutet die Umstellung auf eine Datenbank, dass ein DB-Client erstellt werden muss, der die Pflege der Daten in der Datenbank möglich macht. Ansonsten gibt es genügend DB-Lösungen, die flexible Auswertungen per SQL zulassen, ohne dass eine Installation notwendig wird.

Auch wenn es weiter Textdateien sein sollen, dürfte es eigentlich kein Performanz-Problem geben. Ich würde die Anzeige nicht im Takt erneuern, sondern nur dann, wenn eine der Eingabedateien verändert wurde. Du könntest das Verzeichnis im Dateisystem über eine Programmfunktion überwachen lassen. Das Betriebssystem benachrichtigt dich sofort, wenn eine Datei verändert wurde.

Lesestoff: Obtaining Directory Change Notifications

Mit den einzelnen Funktionen als Suchworten in der DP findest du Code-Beispiele.

Freundliche Grüße
  Mit Zitat antworten Zitat
bluesbear

Registriert seit: 14. Dez 2005
Ort: Hahnstätten
355 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: Das große WIE, Chart aktuallisieren, Daten in textfiles

  Alt 3. Jun 2008, 20:49
Hallo Stecky2000,
Zitat von Stecky2000:
(...)Klar, für Euch ist das peanuts, aber ich bin kein Programmierer, da bin ich schon recht stolz drauf.(...)
Kein Programmierer zu sein?
Ok ok, sorry.
Das einlesen von Textdateien ist sauschnell. Keine Frage, so kann man das machen.

Ich würde bei der Datenmenge sehr empfehlen, auf eine Datenbank, die Abkömmlinge von TDataSet mit sich bringt, umzusteigen.
Da geht das mit dem Update von daran angeknipperten grafischen Komponenten (meist völlig) automatisch. Du würdest dir eine Menge Arbeit ersparen, sofern ich deine Frage richtig verstanden habe.

Meine persönliche Empfehlung wäre Firebird und FibPlus.
Klaus M. Hoffmann
  Mit Zitat antworten Zitat
Stecky2000

Registriert seit: 7. Mai 2008
Ort: Trebur
66 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Das große WIE, Chart aktuallisieren, Daten in textfiles

  Alt 4. Jun 2008, 08:36
Hallo,


sorry dass ich so lange gebraucht habe um zu antworten.
Ich habe gerade Urlaub und habe mehr Stress als wenn ich arbeiten gehe

Nun, wen marabu meint, es würde keinen Einfluss auf die Performance haben, wenn ich aus Textfiles einlese, dan will ich es so versuchen.

Ich habe schon öfter unter Delphi was mit Datenbanken gemacht, mit Paradox, mit Interbase und auch schon mit Oracle. Natürlich auch mit SQL, aber, ich will ein Programm haben, welches ich ohne BDE oder sonstigen Firlefanz mit samt seiner verzeichnisstruktur irgendwo hin kopiere und es ist alles da und funktioniert.

Ich denke, ich werde dazu bestimmt die Hilfe aus diesem Forum brauchen.

Ich habe mir überlegt, die Textfiles für die Tagesganglinien in Strukturen abzulegen, die es ermöglichen, immer nur Teile der Gesamtkurven bei Veränderung neu einzulesen.

Z.B.:

7 Gesamtkurven (7 Tage)
4 x 7 Teilkurven (4 Abteilungen, 7 Tage)
Pro Abteilung 3 Teilkurven x 7 Tage (Stamm, Fremd und Sonderpersonal)

Jetzt muss ich eine Logik entwickeln, die feststellt in welchem Bercih Änderungen statgefunden haben und welche Kurven neu berechnet werden müssen.

Desweiteren brauche ich vorher ein Logik, wie einzelne Dienstpläne in den Abteilungs-Textfiles gepfelgt werden. Sprich Wie wird dort beim Erstellen eines neuen Dienstplanes eine neu Spalte angelegt und fest mit dem Namen des Dienstplanes verdrahtet und wie wird diese Spalte beim Löschen eines Dienstplanes wieder geleert und freigegeben.

Viel Arbeit.

Über Tipps zu den Abteilungsdatenpfelgen wäre ich dankbar. Zur Zeit denke ich über ini-Files nach.

EDIT: sorry habe den letzten Post nicht gesehen:

Firebird und FBPlus habe ich noch nie gehört. Kann man das ohne zusätzliche Installationen wie BDE betreiben? Ist das Freeware?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Das große WIE, Chart aktuallisieren, Daten in textfiles

  Alt 4. Jun 2008, 08:43
Wie gesagt gibt es andere besseres wie die BDE. Teilweise auch ohne Installation
Markus Kinzler
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#7

Re: Das große WIE, Chart aktuallisieren, Daten in textfiles

  Alt 4. Jun 2008, 09:10
Tip von Bluesbear nicht gesehen ? Die anderen auch nicht ? Statt Textfile Ini-Files ? Ist leider dasselbe.
Gruß
Hansa
  Mit Zitat antworten Zitat
bluesbear

Registriert seit: 14. Dez 2005
Ort: Hahnstätten
355 Beiträge
 
Delphi 2007 Enterprise
 
#8

Re: Das große WIE, Chart aktuallisieren, Daten in textfiles

  Alt 4. Jun 2008, 16:40
Zitat von Stecky2000:
Firebird und FBPlus habe ich noch nie gehört. Kann man das ohne zusätzliche Installationen wie BDE betreiben? Ist das Freeware?
Firebird ist der Open Source Nachfolger von Interbase (Freeware), und kommt in der embedded Variante ohne Installation aus. Da muß nur eine DLL mit ins Programmverzeichnis.
FIBPlus ist eine Komponentensammlung (Querys und so) um darauf zuzugreifen. Leider kostet das was.

Du könntest versuchen, mit den Delphi-Interbase Komponenten auf Firebird zuzugreifen. Mit ein paar Einschränkungen sollte das gehen.
Klaus M. Hoffmann
  Mit Zitat antworten Zitat
Stecky2000

Registriert seit: 7. Mai 2008
Ort: Trebur
66 Beiträge
 
Delphi 2010 Professional
 
#9

Re: Das große WIE, Chart aktuallisieren, Daten in textfiles

  Alt 4. Jun 2008, 16:51
Danke Bluesbear!

Ich versuche das ganze für mich ohne Kosten umzusetzen, ich weis ja gar nicht, ob meine Firma überhaupt gefallen an meinem Proggi findet.

Heut zu Tage träumen alle nur von "Intelligenten" Programmen mit "Optimierungsfunktionen" und mein Tool soll ja bloß einem Fachmann in seinem Bereich, in seiner Firme, in seiner Abteilung, das Erstellen von Dienstplänen und die Beurteilung der Effizienz komfortabel ermöglichen. Die Intelligenz kommt vom User...

Tja, deshalb auch die Textfiles. Ansonsten hätte ich die BDE und Paradox nehmen könne, da gibt es dann die Installationsprobleme (keine Rechte, keine von der Firma abgenommene Software).


Zu meiner Idee mit den Ini-Files...

Ich meinte es so:

- Inhalte der Dienstpläne befinden sich in Textdateien mit Endung .dpl.
- Daten für Kurven befinden sich z. B. in Textfiles wie z. B. Montag.KUR, Dienstag.KUR etc.
- In den Kurvendateien (Montag.KUR) gehört jede Spalte einem Dienstplan, diese werden bei Neuanlage eines Dienstplanes zugewiesen.
- In einem Ini-File steht drin, welchem Dienstplan, welche Spalte im der Kurvendatei gehört.

Liege ich komplett daneben, erfinde ich da völligen Quatsch?
Wenn dem so ist und der Weg definitiv nicht an einer Datenbank vorbei geht...

Gibt es keinen Weg Paradox-.db Dateien ohne BDE zu nutzen?
  Mit Zitat antworten Zitat
bluesbear

Registriert seit: 14. Dez 2005
Ort: Hahnstätten
355 Beiträge
 
Delphi 2007 Enterprise
 
#10

Re: Das große WIE, Chart aktuallisieren, Daten in textfiles

  Alt 4. Jun 2008, 17:39
Es muß ja nicht unbedingt Paradox sein. Ich habe spasseshalber ein wenig gegoogelt, vielleicht hilft dir ja das weiter:
http://www.wlsoft.de/delphi/index_0011.html
Klaus M. Hoffmann
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 5  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 21:07 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