Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Hübsche Zuordnungs-Mechanik? (https://www.delphipraxis.net/215113-huebsche-zuordnungs-mechanik.html)

wurzelsepp1 11. Mai 2024 19:12

Delphi-Version: 5

Hübsche Zuordnungs-Mechanik?
 
Tach Gemeinde,

ich würde gern eine Zuordnungs-GUI bauen, die dem Anwender die Zuordnung von Feldern in einer Textdatei zu Feldern in einer Datebank erlaubt.

Hat sowas mal jemand gebaut und hat einen Tipp, wie man das für den Anwender einfach / gutaussehend macht?

Bei meiner Frage geht es nur um die Benutzeroberfläche. Die Mechanik im Hintergrund ist kein Problem für mich ..

Danke & einen schönen Abend :)

TurboMagic 11. Mai 2024 21:10

AW: Hübsche Zuordnungs-Mechanik?
 
Wie darf ich das verstehen?
Die Textdatei enthält zeilenweise einen Record?

Oder ist die Textdatei eine Art CSV und enthält mehrere
Records (einen pro Zeile)

Benmik 12. Mai 2024 22:14

AW: Hübsche Zuordnungs-Mechanik?
 
Um wieviele Felder geht es da?

peterbelow 13. Mai 2024 11:20

AW: Hübsche Zuordnungs-Mechanik?
 
Zitat:

Zitat von wurzelsepp1 (Beitrag 1536590)
Tach Gemeinde,

ich würde gern eine Zuordnungs-GUI bauen, die dem Anwender die Zuordnung von Feldern in einer Textdatei zu Feldern in einer Datebank erlaubt.

Hat sowas mal jemand gebaut und hat einen Tipp, wie man das für den Anwender einfach / gutaussehend macht?

Bei meiner Frage geht es nur um die Benutzeroberfläche. Die Mechanik im Hintergrund ist kein Problem für mich ..

Danke & einen schönen Abend :)

Ich habe sowas mal für eine Anwendung gemacht. Die Zuordnung geschah in einem modalen Dialog, der links und rechts jeweils eine TListbox hatte (links für die Quellfelder, rechts für die Zielfelder) und dazwischen eine TPaintbox, alles gleiche Höhe. Der Benutzer konnte dann aus der linken Liste einen Eintrag auf einen Eintrag der rechten Liste ziehen und dort loslassen. Als Ergebnis wurde dann in der Paintbox ein Pfeil vom linken an den rechten Eintrag gezeichnet. Um eine erstellte Verknüpfung wieder zu löschen konnte man einen der beiden verbundenen Einträge auswählen und dann einen entsprechenden Button oder den äquivalenten Menupunkt aus dem Kontextmenu der Listboxen anklicken.
Die Verknüpfung per Tastatur lief ähnlich: Je einen Eintrag in den beiden Listboxen auswählen und Verknüpfung per Button oder Kontextmenueintrag anlegen.

Sinspin 13. Mai 2024 12:30

AW: Hübsche Zuordnungs-Mechanik?
 
Das ist schön wenn man nur 1:1 braucht. Ich habe das ganze mal für 1:N und N:1 gemacht. Sicherlich nicht schön was die visuelle Zuordnung angeht, aber es funktioniert.
Sowas muss eigentlich auch nicht schön sein. Ich will die Daten in der DB und kein Gemälde.

Ancaron 13. Mai 2024 13:51

AW: Hübsche Zuordnungs-Mechanik?
 
Ich hatte das Ganze mal mit 3 Listboxen gelöst.
Links................Mitte........................ .Rechts

Felder.......Zugeordnete DB Felder.........Verfügbare DB felder


Die Felder konnte man dann per Doppelklick in der rechten Listbox "zuordnen" und mit Doppelklick in der Mitte aus der Zuordnung entfernen.
Einziger Nachteil an der Geschichte ist, dass man nicht auf einen Blick sieht, was jedem zugeordnet ist.
Bei mir war damals nur wichtig , dass etwas zugeordnet war, also wurde dies durch farbliche Markierung(rot=noch nicht bearbeitet, grün=mind. 1 zugeordnet) in der ersten Listbox links angezeigt

bcvs 13. Mai 2024 14:51

AW: Hübsche Zuordnungs-Mechanik?
 
Ich habe so etwas mal in einem StringGrid gelöst, in dem man Comboboxen einfügen kann.

Stringgrid mit zwei Spalten: Links alle DB-Felder, rechts erscheint beim Reinklicken in ein Feld die Combobox mit den zuzuordnenden Feldern.

wurzelsepp1 13. Mai 2024 19:26

AW: Hübsche Zuordnungs-Mechanik?
 
Zitat:

Zitat von TurboMagic (Beitrag 1536593)
Oder ist die Textdatei eine Art CSV

Genau, CSV

wurzelsepp1 13. Mai 2024 19:28

AW: Hübsche Zuordnungs-Mechanik?
 
Zitat:

Zitat von Benmik (Beitrag 1536615)
Um wieviele Felder geht es da?

Gar nicht so wenige. Es können - je nach Anwendungsfall - auch einige x-zig werden. Mindestens aber rund 20.

Benmik 13. Mai 2024 20:33

AW: Hübsche Zuordnungs-Mechanik?
 
Zitat:

Zitat von wurzelsepp1 (Beitrag 1536651)
Es können - je nach Anwendungsfall - auch einige x-zig werden. Mindestens aber rund 20.

Das ist dann aber nicht ohne, wenn der Anwender erstmal 50 Felder bestimmen muss.

Ich persönlich würde das über zwei Felder von Panels lösen, bei denen der CSV-Name von links auf den DB-Feldnamen rechts gezogen wird, dabei links das Panel verschwindet, rechts die Farbe wechselt und der CSV- und DB-Name untereinander gezeigt werden. Das geht dann auch umso schneller, je weniger Namen noch übrig sind. Gut wäre eine Mehrfachauswahl von Panels, falls die Reihenfolge CSV und DB über eine Strecke lang gleich ist. Natürlich muss das auch wieder zurück gehen, falls man sich vertan hat.

wurzelsepp1 21. Mai 2024 20:41

AW: Hübsche Zuordnungs-Mechanik?
 
Danke euch für die Vorschläge. Ich habe das nun mit einem Grid gemacht: Auf der einen Seite sind die CSV-Feler, auf der anderen Seite Dropdowns mit den Zielfeldern.
Ist erstmal etwas Arbeit für den Anwender, da es aber nur einmal zugeordnet wird und dann 100 jahre läuft, ist das wohl auszuhalten ..

Hobbycoder 22. Mai 2024 10:08

AW: Hübsche Zuordnungs-Mechanik?
 
Ich habe in meiner Software auch so eine Universal-Import-Schnittstelle für CSV aus verschiedenen DMS.
Dabei Umfass das ganze "nur" so ca. 40-50 Felder. Die erste Version hatte ich auch mit Dropdowns.
Hab das aber später auf Drag and Drop umgestellt, weil es deutlich angenehmer abzuarbeiten ist.

Allein die viele Klickerei: Dropdown selektieren, Dropdown ausführen, möglichweise noch scrollen um Feld zu finden und wieder klicken.
War mir zuviel.

Ich habe dann einfach zwei TListbox nebeneinander, einmal mit meinen Feldern und dann mit CSV Feldern.
Beim Öffnen des Dialogs habe ich dann schon mal namensgleiche Felder automatisch verbunden (Vorname, Name, Strasse, etc) und
nur noch die Restlichen per Hand machen müssen. Man kann das in der GUI ja auch schon farblich anhübschen, damit es für den
Anwender komfortabel ist.

Auch bei mir wurde diese Einstellung eigentlich nur bei der Ersteinrichtung getroffen. Dann aber leider auch wieder von
mir, und nicht vom Anwender, weil viele von denen schon Probleme mit dem Begriff CSV hatten :-D
Von daher hab ich mir damit das Leben selbst vereinfacht.

Blup 22. Mai 2024 10:30

AW: Hübsche Zuordnungs-Mechanik?
 
Liste der Anhänge anzeigen (Anzahl: 1)
In unserer Anwendung habe ich einen Formelparser eingesetzt, der den Feldinhalt auch aus dem Inhalt mehrerer Spalten zusammenbauen und Währungs- oder Datumsformate konvertieren kann.

Anhang 56852

Ergebnis ist ein SQL-Skript oder wird direkt Zeile für Zeile in die DB übernommen (fehlerhafte Zeilen werden Rot markiert).
Drag und Drop ist geplant.

wurzelsepp1 22. Mai 2024 10:53

AW: Hübsche Zuordnungs-Mechanik?
 
Zitat:

Zitat von Hobbycoder (Beitrag 1536979)
Ich habe in meiner Software auch so eine Universal-Import-Schnittstelle für CSV aus verschiedenen DMS.
Dabei Umfass das ganze "nur" so ca. 40-50 Felder. Die erste Version hatte ich auch mit Dropdowns.
Hab das aber später auf Drag and Drop umgestellt, weil es deutlich angenehmer abzuarbeiten ist.

Ich nehme gern ein Foto .. ;)

wurzelsepp1 22. Mai 2024 10:55

AW: Hübsche Zuordnungs-Mechanik?
 
Zitat:

Zitat von Blup (Beitrag 1536984)
In unserer Anwendung habe ich einen Formelparser eingesetzt, der den Feldinhalt auch aus dem Inhalt mehrerer Spalten zusammenbauen und Währungs- oder Datumsformate konvertieren kann.

Danke für das Bild. Da kann man sich das besser vorstellen.

Das sieht aber recht kompliziert aus. Verstehen die Kunden das?

Blup 22. Mai 2024 12:25

AW: Hübsche Zuordnungs-Mechanik?
 
Einfache Auswahl der Spalten aus der ComboBox bekommen manche Anwender hin.
An Formeln scheitern auch die meisten Kundenbetreuer.
In der Regel muss man das aber nur einmal einrichten.
Aber dafür sind wir im Dienstleistungsgewerbe, der Aufwand wird dem Anwender in Rechnung gestellt.
Ist auf jeden Fall günstiger als eine Schulung und kostet mich weniger Nerven.
Insbesondere wenn man vom Anwender erwartet, seinen Daten z.B. im Excel vorher sebst passend aufzubereiten.

Regulär unterstützt Standard-Schnittstellen sind schon vorkonfiguriert.

Hobbycoder 22. Mai 2024 15:25

AW: Hübsche Zuordnungs-Mechanik?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von wurzelsepp1 (Beitrag 1536992)
Zitat:

Zitat von Hobbycoder (Beitrag 1536979)
Ich habe in meiner Software auch so eine Universal-Import-Schnittstelle für CSV aus verschiedenen DMS.
Dabei Umfass das ganze "nur" so ca. 40-50 Felder. Die erste Version hatte ich auch mit Dropdowns.
Hab das aber später auf Drag and Drop umgestellt, weil es deutlich angenehmer abzuarbeiten ist.

Ich nehme gern ein Foto .. ;)

Kein Foto, aber mal kurz ein Beispiel.
Das Prizip sollte damit klar sein. Ist aber nur schnell zusammengeklöppelt.
In meiner Software sind da mehr Felder bzw. noch Button für die, die lieber klicken.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05: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