Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Variable ansprechen - Ini File Konfigurieren - aber wie? (https://www.delphipraxis.net/177180-variable-ansprechen-ini-file-konfigurieren-aber-wie.html)

matashen 22. Okt 2013 12:30

Delphi-Version: XE2

Variable ansprechen - Ini File Konfigurieren - aber wie?
 
Hallo zusammen,

hab mir schon den Wolf gesucht, aber leider steh ich entweder aufm Schlauch oder ich such falsch.

Problem:
Ich muss eine INI bearbeiten, die aber aus dem Programm mit verschiedenen Werten gefüttert wird. Die INI gehört zu einer Maschine, und es sollen nicht alle Paramter erzeugt sondern nur je nach Ausgangssituation bestimmte Parameter verändert werden.

Jetzt möchte ich in einer Liste festlegen welchen Parameter ich wie verändert haben will.

Z.B:
Ident Wert
================================
Länge Editfeld1.text
Basis Editfeld2.Text*2
schalterein RECORD.SCHALTEREIN

lässt sich sowas einfach realisieren oder muss ich hier sowas wie nen parser bauen?
Irgendwie fehlt mir der Ansatz, das ich Variablen nicht mit Namen ansprechen kann weis ich auch, die Namen existieren ja im Programmcode dann nicht mehr die werden ja aufgelöst.
EDIT: In dem Beispiel hab ich Objekte genommen, ausser dem Record, ja die Objecte könnte ich ansprechen. Records oder einzelne Variablen aber nicht.

Es solchen auch Später immer mehr Parameter geändert werden, also ist das nicht fix. Ich möchte dann das eben nicht im Programmcode machen müssen sondern eben über sowas wie ne config-liste

Bin über jede anregung dankbar.
Gruß Matthias

baumina 22. Okt 2013 12:38

AW: Variable ansprechen - Ini File Konfigurieren - aber wie?
 
Zeig uns mal wie diese INI-Datei genau aussieht und welche "Parameter" man da ändern können soll und welche nicht.

matashen 22. Okt 2013 12:40

AW: Variable ansprechen - Ini File Konfigurieren - aber wie?
 
Glaub ich nicht das das ansehen der Ini was bringt, zumal das insgesamt so ca. 35000 Einträge sind.

Die benötige ich auch nicht alle, sondern nur bestimmte Daten die dann nach verschiedenen Regeln verändert werden.
da ich das nach und nach ausbauen möchte, möchte ich eben das Konfigurierbar machen wo welche Daten genommen und wie berechnet/verändert werden.

baumina 22. Okt 2013 12:43

AW: Variable ansprechen - Ini File Konfigurieren - aber wie?
 
Dann kann ich dir leider nur den Tipp TIniFile anbieten.

matashen 22. Okt 2013 12:45

AW: Variable ansprechen - Ini File Konfigurieren - aber wie?
 
Ja das ist schon klar das ich die Ini mit Inifile anspreche.

Ich denke ich werd das mit einem ValueListEditor machen, kann ich den in Sektionen trennen?

Bjoerk 22. Okt 2013 12:50

AW: Variable ansprechen - Ini File Konfigurieren - aber wie?
 
Hab schon mehrere Inifile parser geschrieben, hab aber leider nicht verstanden was du möchtest (siehe auch baumina)? Kannst du's mal an einem Beispiel erläutern? BTW, es ist auch nicht verboten mal paar Zeilen der ini zu posten.. :wink:

matashen 22. Okt 2013 13:10

AW: Variable ansprechen - Ini File Konfigurieren - aber wie?
 
OK,

ich weis zwar nicht was an der INI an sich so interessant sein soll, aber mal ein kleiner Ausschnitt
Code:
[Edge]
EdgeSchema=1
EdgeSrchWndBottom0=287
EdgeSrchWndBottom1=524
EdgeSrchWndBottom2=524
Wie die Werte GEÄNDERT werden sollen möchte ich NICHT im ProgrammCODE festlegen, sondern über einen Editor variabl gestalten.

Zum Beispiel kommt der Wert EdgeSrchWndBottom0 aus einem Editfeld, und wird nach einem bestimmten Faktor umgerechnet, der Faktor soll variabl sein also sowas wie EDIT1.TEXT*0.13
Ich kann aber schlecht eine MemoFeld machen wo drin steht
EdgeSrchWndBottom0=EDIT1.TEXT*0.13
würd ich gern so machen, dann brauch ich aber einen extrem intelligenten parser für das Memofeld
(ich weis das im Beispiel überall die Typenumwandlung fehlt)

Bjoerk 22. Okt 2013 13:35

AW: Variable ansprechen - Ini File Konfigurieren - aber wie?
 
Also, ich würde folgendes vorschlagen: Du ließt die Ini in ein Treeview o. ä. ein. Der Key des ausgewählten Eintrags wird einem Edit dargestellt. Da du die ini einließt, weiß du, von welchem Typ der Key ist (int, float, string ect.). Um den Werte komfortabel ändern zu können braucht du eher einen Matheparser (also für das Editfeld), damit das Prog den Key selbst ausrechnen kann. Darüber hinasu sollte man m.E. auch neue Einträge anlegen können bzw. Einträge löschen können. Alles keine Hexerei..

matashen 22. Okt 2013 13:43

AW: Variable ansprechen - Ini File Konfigurieren - aber wie?
 
Momentan hab ich zur Darstellung das ganze schön fein in einem Treeview, mit dem Haken das bei 35000 Einträgen (Die INI hab nicht ich verbrochen) das ganz schön dauert bis der Treeview zu potte kommt. Ich möchte auch nicht einzelne Einträge immer per Hand ändern sondern für einzelne Paramter Regel aufstellen mit welchen Daten diese wie gefüttert werden.

Ich such mal nach Matheparser, das kann man evtl verwenden, gute Idee.

Auf alle fälle wirds aufwendig :(

Bjoerk 22. Okt 2013 14:12

AW: Variable ansprechen - Ini File Konfigurieren - aber wie?
 
35000 Sections? Du ließt nur die Section in das Treeview. Die dazugehörigen Idents in z.B. eine Listbox (OnTreeVIewClick).


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:44 Uhr.
Seite 1 von 2  1 2      

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