![]() |
Das große WIE, Chart aktuallisieren, Daten in textfiles
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. |
Re: Das große WIE, Chart aktuallisieren, Daten in textfiles
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 ..) |
Re: Das große WIE, Chart aktuallisieren, Daten in textfiles
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: ![]() Mit den einzelnen Funktionen als Suchworten in der DP findest du Code-Beispiele. Freundliche Grüße |
Re: Das große WIE, Chart aktuallisieren, Daten in textfiles
Hallo Stecky2000,
Zitat:
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. |
Re: Das große WIE, Chart aktuallisieren, Daten in textfiles
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? |
Re: Das große WIE, Chart aktuallisieren, Daten in textfiles
Wie gesagt gibt es andere besseres wie die BDE. Teilweise auch ohne Installation
|
Re: Das große WIE, Chart aktuallisieren, Daten in textfiles
Tip von Bluesbear nicht gesehen ? Die anderen auch nicht ? Statt Textfile Ini-Files ? Ist leider dasselbe. :mrgreen:
|
Re: Das große WIE, Chart aktuallisieren, Daten in textfiles
Zitat:
![]() ![]() Du könntest versuchen, mit den Delphi-Interbase Komponenten auf Firebird zuzugreifen. Mit ein paar Einschränkungen sollte das gehen. |
Re: Das große WIE, Chart aktuallisieren, Daten in textfiles
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? |
Re: Das große WIE, Chart aktuallisieren, Daten in textfiles
Es muß ja nicht unbedingt Paradox sein. Ich habe spasseshalber ein wenig gegoogelt, vielleicht hilft dir ja das weiter:
![]() |
Re: Das große WIE, Chart aktuallisieren, Daten in textfiles
Zitat:
IBX bei Delphi dabei -> keine Kosten oder Zeos: OS -> Keine Kosten |
Re: Das große WIE, Chart aktuallisieren, Daten in textfiles
Zitat:
|
Re: Das große WIE, Chart aktuallisieren, Daten in textfiles
Zitat:
|
Re: Das große WIE, Chart aktuallisieren, Daten in textfiles
Ist schon klar...
Nur, wenn man das ganze schon ohne DB aufgebaut hat, liegt der Mehraufwand in dem Umschreiben auf DB. Ich glaube, ich werde es so versuchen: Ich speichere weiterhin die Dienstpläne in Textfiles und versuche die Resultate daraus, sprich die Kurvendaten, in eine DB zu speichern.Jetzt muss ich aus Euren vielen Angeboten das beste raussuchen, sprich das wo ich am einfachsten durchblicke. Zur Zeit gefällt mit gut die Lösung aus dem Internet-Link von Bluesbear. Mal schauen, ob ich da durchblicke. Muss mich mal einlesen und ein paar Tests machen. |
Re: Das große WIE, Chart aktuallisieren, Daten in textfiles
Einmal auf DB umgestellet und in Zukunft weniger Ärger, bei höherer Flexibilität.
|
Re: Das große WIE, Chart aktuallisieren, Daten in textfiles
Also bisher sehe ich den Wald vor lauter Bäumen nicht mehr....
Ich bin jetzt doch auf Firebird umgeschwenkt. Habe mir die 2.1 Embeded geladen und in ein Neues Projekt eingefügt, so wie es in der Embedes Anleitung steht, dabei die fbembded.dll in fbclient.dll umbenannt und auch als gds32.dll kopiert. IM Projekt habe ich die Komponenten IBDataBase, IBTable und IBTransaction auf das Formular gelegt und einen Button angefügt mit dem Code: [delphi] IBDatabase1.DatabaseName := 'I:\Delphi_Tests\Firebird_IBX_Test\Test.fdb'); IBDatabase1.Params.Add('USER ''SYSDBA'''); IBDatabase1.Params.Add('PASSWORD ''masterkey'''); IBDatabase1.Params.Add('PAGE_SIZE 4096'); IBDatabase1.Params.Add('DEFAULT CHARACTER SET WIN1250'); IBDatabase1.CreateDatabase; [delphi/] Wenn ich den Button drücke kommt beim CreateDatabase die Fehlermeldun, dass eine Exception der Klasse EIBInterbaseError aufgetreten sei, Meldung: Dynamic SQL Error, AQL Error Code=-104, Token unknown - Line 1, Column 62, user_name. Da ich 'user' definiert habe, kann es sein dass die Firebird 2.1 da nicht mit IBDataBase zusammen passt? |
Re: Das große WIE, Chart aktuallisieren, Daten in textfiles
Lass mal die Quotes "" weg. Diese bedeuten was anderes
|
Re: Das große WIE, Chart aktuallisieren, Daten in textfiles
Du machst mehrere Fehler auf einmal. Du willst hoffentlich kein Programm schreiben, um eine DB anzulegen ? :shock: Das geht mit IBExpert in 2 Sek. Ansonsten gibts nur mehr Ärger. Wenn sie da wäre, dann wird wieder programmiert statt das, was sich nicht dauernd ändert im OI einzustellen oder besser noch aus INI zu lesen. Dann noch die IBX. Sofern ein Projekt größere Anforderungen hat, dann sind die mit Vorsicht zu genießen. IB <> FB. Kein ISO-Zeichensatz ?
|
Re: Das große WIE, Chart aktuallisieren, Daten in textfiles
Mal ganz langsam.. ;-)
Ich wollte mit dem Quelltext eine Datenbank anlegen und danach Tabellen einfügen. IBExpert kenne ich nicht, sonst hätte ich mir den Code sicher gespart. Ich habe Delphi 5 Enterprise oder Client/server. Desweiteren habe ich bereits gelesen, das IBX mit Firebird bei größeren Dingen probleme bereiten könnte. Ich hoffe, meine Sache ist nichts großes, es sei denn Ihr sagt mir was anderes. Letztendlich will ich ja nur Daten in Tabellen eintragen, addieren und lesen. Ich bin ja nun erst am Testen, gar nicht an meinem eigentlichen Programm. Wenn IBX so problematisch ist, wäre Zeos noch eine Alternative. |
Re: Das große WIE, Chart aktuallisieren, Daten in textfiles
Für deinern Fall sollte IBX reichen. IBExpert ist ein Admin-Tool, von welchem es auch eine kostenlose Variante gibt
|
Re: Das große WIE, Chart aktuallisieren, Daten in textfiles
Du sollst ja die gelieferten Stichworte aufgreifen und auswerten. :stupid: Lade dir also IBExpert und die DB steht in 2 Sek. IBX ist momentan nicht so wichtig. Kann es aber werden. Verwende besser FIBplus. Gibt auch noch andere Komponenten, aber die sind nicht so spezialisiert auf IB/FB.
|
Re: Das große WIE, Chart aktuallisieren, Daten in textfiles
So, IBExpert beschafft, als Personal Edition.
Datenbank angelegt. TestTabelle angelegt. Soweit so gut. An sich nichts besonderes. Läuft nahezu wie unter Interbase mit dem SQLExplorer. Das bedeutet, ich werde jetzt noch ein wenig weitertesten, sprich Beispieldaten einpflegen und dann das ganze Progrämmchen auf einen anderen PC kopieren, der kein delphi, BDE, Firebird oder sonst eine Datenbank besitzt. Wenn da alles läuft wie es soll, dann versuche ich mich wieder am Dienstplanprogramm und es wird wahrscheinlich wieder Fragen regnen. Ich hoffe, es ist Euch genehm. Eigentlich will ich gar nicht so viele Sachen zu Quellcoden wissen, sondern eher zu Vorgehensweisen. Da habt Ihr mir ja Jahrhunderte voraus und wisst wie man bestimmte Belange angeht und wie eben nicht und auch warum. Also, ich melde mich wieder. |
Re: Das große WIE, Chart aktuallisieren, Daten in textfiles
Zitat:
|
Re: Das große WIE, Chart aktuallisieren, Daten in textfiles
Ich denke, mit den paar Firebird-Embedde Files und dem Datenbank File im Programm-Ordner soll das gehn?
Dafür mache ich mir doch den Aufwand. Habe ich Euch etwa falsch verstanden? |
Re: Das große WIE, Chart aktuallisieren, Daten in textfiles
Ohne Datenbank (fdb) geht es trotzdem nicht :zwinker:
|
Re: Das große WIE, Chart aktuallisieren, Daten in textfiles
Du meinst ohne Installation der Firebird-embedded-Files usw. ? Also ohne "damit die Änderungen wirksam werden muss der Rechner..." und solchen Firlefanz ? Doch, das geht schon. Lediglich durch kopieren der benötigten Dateien. Aber noch was : mache das nicht in der Entwicklungsphase !! Mit embedded kann nur einer auf die DB-Daten zugreifen. Dazu gehört auch IBExpert, Delphi und auch Dein eigenes Programm !! Das gibt definitiv Ärger so was mit FB embedded zu entwickeln/testen :!:
|
Re: Das große WIE, Chart aktuallisieren, Daten in textfiles
Nee, dann is doch klar.
Ich habe im Programm-Ordner meines Testprgs die Dateien: fbclient.dll gds32.dll ib_util.dll die icuxxx.dlls firebird.msg firebird.conf und natürlich die Testdb.fdb Das mit den Singlezugriff weis ich, dabin ich bereits drüber gestolpert. Was wäre denn der Vorschlag für die Entwicklung? Gibt es die nicht_embedded auch FREE? |
Re: Das große WIE, Chart aktuallisieren, Daten in textfiles
Ja, FireBird ist OS und kann ohne Einschränkung auch kommerziell eingesetzt werden
|
Re: Das große WIE, Chart aktuallisieren, Daten in textfiles
Na dann mach ich mich gleich auf die Reise und besorge in den Weiten des Internets die große Version von Firebird.
|
Re: Das große WIE, Chart aktuallisieren, Daten in textfiles
|
Re: Das große WIE, Chart aktuallisieren, Daten in textfiles
Danke, habs schon geholt und auch schon installiert.
Es funktioniert bereits. Das bedeutet, ich mach jetzt auf dieser Umgebung weiter und kopiere es später mit der embedded auf einen anderen Rechner zum Testen. Ich will ja den Beweis sehen, dass es tatsächlich ohne DB-Installation geht, als Single-User versteht sich. :-D |
Re: Das große WIE, Chart aktuallisieren, Daten in textfiles
Das funktioniert, da im embedded-(Server-)Client ein Server steckt
|
Re: Das große WIE, Chart aktuallisieren, Daten in textfiles
Da bin ich wieder mit einer Frage zu StringGrid, DBGrid und DB.
Was macht am meisten Sinn, unter besonderer Berücksichtigung der Performance? Daten in ein Array bzw. StringGrid berechnen und dann in eine DB (Firebird) zu schieben, oder die Daten direkt in ein BDGrid und somit in die DB zu schieben? Es ist so, ich habe in einem Dienstplan verschiedene Anfangs- und Endzeiten. Nicht alle sind mit Personal belegt. Also fahre ich mit Schleifen über die Belegung, die Uhrzeiten und die Tage und trage entsprechend Daten, derzeit in ein StringGrid ein. Derzeit vergleiche ich die Uhrzeit im StringGrid.Spalte0 (5-Minuten-Raster) mit den den Anfangs- und Endzeiten der belegten Dienstzeit und trage ein oder eben nicht. Ich könnte mir vorstellen, dass das auf DBGrid, sprich DB länger dauert als im StringGrid mit anschliessenden kompletten Schreiben in die DB. Ist das so, oder liege ich falsch und es macht von der Performance nichts aus? EDIT: sollte ich diese Frage in einen Datenbank.Thread verschieben? |
Re: Das große WIE, Chart aktuallisieren, Daten in textfiles
Daten direkt in Datenbank scheiben, das Grid wird dann entsprechend aktualisiert.
|
Re: Das große WIE, Chart aktuallisieren, Daten in textfiles
So, hat lange gedauert, aber nuu....
Hab schon wieder Probleme, wie schon geahnt. Also.... Ich Hab zur Überprüfung und Visualisierung ein StringGrid genommen. Mit einer Schleife lese ich x Textdateien ein in denen für 7 Tage (7 Spalten), in ca. 288 Zeilen Abdeckungswerte und in weiteren 288 Zeilen Bedarfswerte stehen, nacheinander ein und addiere die Werte nach Tag, 5-Minuten-Interval und Bedarf oder Abdeckung. Danach hab ich also meine Ergebnisse von x Dienstplänen in eine StringGrid Dieses ganze Einlesen der Textdateien und die Berechnung mit reinschreiben ins StringGrid dauert (visible := False) unter einer Sekunde. Das ist Toll. Aber, wenn ich die Werte dann Zeile für Zeile, Spalte für Spalte in die Datenbank schreibe, das dauert dann ca. 10 Sekunden und das ist mir definitiv zu lang. Ich mach das so:
Delphi-Quellcode:
Wobei ich noch eine zweite Schleife For i := 1 to 25 verwende, weil ich statt von 00:00 bis 23:55, von 02:00 bis 02:00 des Folgetages verwende.IBTable1.First; For i := 25 to 288 do begin IBTable1.Edit; IBTable1['AGRPMo']:= StrToFloat(StringGrid2.Cells[1, i]); IBTable1['AGRPDi']:= StrToFloat(StringGrid2.Cells[2, i]); IBTable1['AGRPMi']:= StrToFloat(StringGrid2.Cells[3, i]); IBTable1['AGRPDo']:= StrToFloat(StringGrid2.Cells[4, i]); IBTable1['AGRPFr']:= StrToFloat(StringGrid2.Cells[5, i]); IBTable1['AGRPSa']:= StrToFloat(StringGrid2.Cells[6, i]); IBTable1['AGRPSo']:= StrToFloat(StringGrid2.Cells[7, i]); IBTable1['ZGRPMo']:= StrToFloat(StringGrid2.Cells[8, i]); IBTable1['ZGRPDi']:= StrToFloat(StringGrid2.Cells[9, i]); IBTable1['ZGRPMi']:= StrToFloat(StringGrid2.Cells[10, i]); IBTable1['ZGRPDo']:= StrToFloat(StringGrid2.Cells[11, i]); IBTable1['ZGRPFr']:= StrToFloat(StringGrid2.Cells[12, i]); IBTable1['ZGRPSa']:= StrToFloat(StringGrid2.Cells[13, i]); IBTable1['ZGRPSo']:= StrToFloat(StringGrid2.Cells[14, i]); IBTable1.Post; IBTable1.Next; end; Gibts eine schnellere Methode die Daten in die Datenbank zu bekommen? |
Re: Das große WIE, Chart aktuallisieren, Daten in textfiles
Zitat:
P.S.: 200 Datensätze sind fast schon lächerlich. Das wäre in einer kompletten Sek. schon recht langsam. |
Re: Das große WIE, Chart aktuallisieren, Daten in textfiles
Ich glaube, ich habe mich missverständlich ausgedrückt.
Zur Zeit nutze ich das StringGrid zur Kontrolle und quasi als gefaketes Array. Ich kann mittels eines Button die Sichtbarkeit des StringGrids aus und einschalten. Die Berechnungen finden mit "visible := false" statt. Wenn ich die Daten vom StringGrid in die Datenbank kopiere, ist das StringGrid ebenfalls "visible := false". Sprich, die ständigen Aktualisierungen finden nicht statt. Die Datenbank/Tabelle im Firebird hat noch keine Anzeigemöglichkeit. Die Inhalte schaue ich mir mit IBExpress an. Wo ist also der Flaschenhals mit der Sichtbarkeit? M. E. ist es auch nicht die StrinGrig Komponente, den die beschreibe ich unter einer Sekunde bestimmt 10 - 20 mal (so viele Dienstpläne). Der Schreibvorgang in die Tabelle der Datenbank ist langsam. Ich hätte jetzt eigentlich erwartet, wie gesagt ich bin kein Programmiere und schiesse entsprechende Pudel, das mir einer sagt:"so wie Du das da reinschreibst ist es zu aufwendig, langsam etc..." Da das noch nicht fiel, sondern auf die Sichtbarkeit der Komponenten, fange ich an zu glauben, dass a) mein PC/Festplatte zu langsam ist b) die Firebird zu langsam ist c) es kommt doch noch was anderes. Auf jeden Fall danke ich dir (Hansa) für die schnelle Antwort. Ich bin echt suuuper neugierig wie ich das ganze noch beschleunigen kann. Was würde es eigentlich bringen, wenn ich die StrinGrid durch ein Array ersetze? |
Re: Das große WIE, Chart aktuallisieren, Daten in textfiles
Zitat:
|
Re: Das große WIE, Chart aktuallisieren, Daten in textfiles
:-D Wie soll ich Dir das denn beweisen, dass die visable - Option auf False gesetzt ist?
Ich will doch hier niemand veräppeln. Ich habe ein Formular auf das ich rein testweise ein Button gesetzt habe, mit folgendem Inhalt:
Delphi-Quellcode:
procedure TMainForm.Button2Click(Sender: TObject); var i: Integer; begin StringGrid2.Visible := False; IBDatabase1.Connected := True; IBTable1.TableName := 'B1KUR'; IBTable1.Active := True; IBTable1.First; For i := 25 to 288 do begin IBTable1.Edit; IBTable1['AGRPMo']:= StrToFloat(StringGrid2.Cells[1, i]); IBTable1['AGRPDi']:= StrToFloat(StringGrid2.Cells[2, i]); IBTable1['AGRPMi']:= StrToFloat(StringGrid2.Cells[3, i]); IBTable1['AGRPDo']:= StrToFloat(StringGrid2.Cells[4, i]); IBTable1['AGRPFr']:= StrToFloat(StringGrid2.Cells[5, i]); IBTable1['AGRPSa']:= StrToFloat(StringGrid2.Cells[6, i]); IBTable1['AGRPSo']:= StrToFloat(StringGrid2.Cells[7, i]); IBTable1['ZGRPMo']:= StrToFloat(StringGrid2.Cells[8, i]); IBTable1['ZGRPDi']:= StrToFloat(StringGrid2.Cells[9, i]); IBTable1['ZGRPMi']:= StrToFloat(StringGrid2.Cells[10, i]); IBTable1['ZGRPDo']:= StrToFloat(StringGrid2.Cells[11, i]); IBTable1['ZGRPFr']:= StrToFloat(StringGrid2.Cells[12, i]); IBTable1['ZGRPSa']:= StrToFloat(StringGrid2.Cells[13, i]); IBTable1['ZGRPSo']:= StrToFloat(StringGrid2.Cells[14, i]); IBTable1.Post; IBTable1.Next; end; For i := 1 to 25 do begin IBTable1.Edit; IBTable1['AGRPMo']:= StrToFloat(StringGrid2.Cells[2, i]); IBTable1['AGRPDi']:= StrToFloat(StringGrid2.Cells[3, i]); IBTable1['AGRPMi']:= StrToFloat(StringGrid2.Cells[4, i]); IBTable1['AGRPDo']:= StrToFloat(StringGrid2.Cells[5, i]); IBTable1['AGRPFr']:= StrToFloat(StringGrid2.Cells[6, i]); IBTable1['AGRPSa']:= StrToFloat(StringGrid2.Cells[7, i]); IBTable1['AGRPSo']:= StrToFloat(StringGrid2.Cells[1, i]); IBTable1['ZGRPMo']:= StrToFloat(StringGrid2.Cells[9, i]); IBTable1['ZGRPDi']:= StrToFloat(StringGrid2.Cells[10, i]); IBTable1['ZGRPMi']:= StrToFloat(StringGrid2.Cells[11, i]); IBTable1['ZGRPDo']:= StrToFloat(StringGrid2.Cells[12, i]); IBTable1['ZGRPFr']:= StrToFloat(StringGrid2.Cells[13, i]); IBTable1['ZGRPSa']:= StrToFloat(StringGrid2.Cells[14, i]); IBTable1['ZGRPSo']:= StrToFloat(StringGrid2.Cells[15, i]); IBTable1.Post; IBTable1.Next; end; end; Extra da mit Du es glaubst habe ich die Zeile: "StringGrid2.Visible := False;" eingebaut. Es ändert nichts. Ich hatte die Visability bereits im Objektinspektor disabled. Und genau dieser Buttonclick dauert ca. 10 Sekunden. Nichts mehr. |
Re: Das große WIE, Chart aktuallisieren, Daten in textfiles
Edit/Post muss reichen. Das wird am Next liegen. 10 Sek. ist einfach zu viel.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:25 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