AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Formular (Dialog) zur Laufzeit designen.

Ein Thema von stekohl · begonnen am 22. Mai 2010 · letzter Beitrag vom 3. Jun 2010
Antwort Antwort
stekohl

Registriert seit: 12. Jun 2008
9 Beiträge
 
#1

Formular (Dialog) zur Laufzeit designen.

  Alt 22. Mai 2010, 10:29
Hallo Leute,

ich habe da mal eine Frage.

Ich möchte gerne ein Anwendung für meine Firma schreiben.

Folgende Funktionen:

a.) Stammdaten (Kunden,Geräte,Prüfungen..etc) bekomme ich selber in den Griff. Datenbank wird Postgresql oder Firebird. Datenbankstruktur ist schon soweit fertig. Replizierung wird aller wahrscheinlichkeit manuell von der Software bewerkstelligt. Ansonsten wäre nur die neuer Beta von Postgre von sich aus Replizierbar. Allerdings ist Firbird, evtl. ja auch SQL Lite aufgrund der Nutzbarkeit als embedded Datenbank sehr Atraktiv. Evtl. mal ein paar empfehlungen von Euch. Sollte auf jeden Fall erstmal ein freie Datenbank sein.

b.) Datenübernahme von Geräten per XML. Ist soweit auch schon ok. Prüfdatenübernahme vom Prüfgerät per RS-232. Auchf fertig

c.) Dokumentation zu den einzelnen Geräten. Auch fertig.

d.) Individueller Entwurf von Prüf- und Wartungsberichten. Zur Laufzeit. Soll heißen: Bestimmte User haben die Möglichkeit Berichte zu erstellen.
Die sollen wie folgt aussehen:
Freier Entwurf der Datenstruktur, basierend auf bestehenden Stammdaten.
Freier Entwurf von Eingabedialogen, basierend auf die vorher entworfene Datenstruktur.
Freier Entwurf von Reporten, basierend auf die Engabedialoge.
Hier liegt mein Problem: Das mit der offenen Datenstruktur möchte ich mit 5 festen Felder (Geräte,user..etc) und ??. Ja entwerfe ich zur Laufzeit Datenbanktabellen ?? Halte ich für sehr kritisch. Möchte da lieber etwas Universales haben. Evtl. ja eine Datenbank mit beschriebenen festen Feldern mit einem großen Textfeld in dem die Prüfdaten als XML geschrieben werden. Ist das sinnvoll?
Dialoge zur Laufzeit zu erzeugen, dass der User die vorhandenen vorher definierten Felder frei auf einem Workplace positionieren kann, halte ich bis jetzt für mein größtes Problem. Wie soll ich das machen? Kann man den Dialogstream einfach als Stream in einer Datenbank speichern. (Idealerweise für jeden entworfenen Bericht als Dialog und Report. Oder muß ich alle verwendeten Dialog und Reportelemente mit den entsprechenden Daten in einer Datenbank definieren. Was natürlich weitaus komplexer wäre.

e.) Terminkalender, TODO --> habe ich mit TMS Komponenten berwerkstelligt, die ich seit Jahren nutze und immer wieder upgrade. Extrem flexibel und wandlungsfähig. Da bin ich einfach zu faul für, etwas neu zu entwickeln was andere schon besser gemacht haben.


Lösungsvorschläge könnten natürlich auch schon bestehende VCL's sein. Bitte aber keine mit 5 stelligen Anschaffungspreis.

Gruß,

Stephan
  Mit Zitat antworten Zitat
olaf

Registriert seit: 4. Mai 2009
Ort: Iserlohn
82 Beiträge
 
RAD-Studio 2009 Pro
 
#2

Re: Formular (Dialog) zur Laufzeit designen.

  Alt 23. Mai 2010, 08:29
Hallo,

Postgre und Firebird sind sehr gute kostenlose Multiuserdatenbanken. SQL Lite ist extrem langsam beim schreiben. Bei 10000 inserts kannst du dir fast eine rauchen gehen.

Olaf
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Formular (Dialog) zur Laufzeit designen.

  Alt 23. Mai 2010, 08:47
Zudem eignet sich SQLite eher für lokale Singleuser- oder read-only Config-Datenbanken
Von FireBird gibt s auch eine embedded Variante, welche parallel zur Serverversion eingesetzt werden kann (Skalierbarkeit)
Markus Kinzler
  Mit Zitat antworten Zitat
Neumann

Registriert seit: 6. Feb 2006
Ort: Moers
529 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Formular (Dialog) zur Laufzeit designen.

  Alt 23. Mai 2010, 11:38
Hallo,

wir entwickeln zur Zeit etwas derartiges; dabei werden von einer Applikation Daten erzeugt und z. B. in einer Firebird - Datenbank (kein Muß) zunächst zwischengespeichert. Eine weitere Applikation schickt die Daten an einen Webserver, wo sie in einer MySQL-Datenbank landen.
Die Kommunikation mit dem Webserver geht in beide Richtungen, das Verbindungstool kann auch Daten vom Webserver holen oder von diesem explizit gesendete Nachrichten empfangen und in die lokale Datenbank eintragen.
Die beiden Programme sind mit Delphi programmiert.

Das Interface für den User des Backoffice wird mit Flash und PHP programmiert; wobei wir die Flash-Applikation frei designen können, mit Dialogen, Eingabefeldern, Listen und Anbindung an Datenbankfeldern usw. Auch die Generierung von Reports ist möglich. Das ist komplett ohne Ahnung von Flash machbar. Entsprechende Tools haben wir auch dazu entwickelt.

Das Ganze ist zur Zeit noch im Betastatus; aber die Entwicklung geht schnell voran. Bei Interesse bitte melden, ich kann dann noch mehr Infos liefern.

Gruß

Ralf (rs(at)es-kassen.de
Ralf
Gruß vom Niederrhein
  Mit Zitat antworten Zitat
stekohl

Registriert seit: 12. Jun 2008
9 Beiträge
 
#5

Re: Formular (Dialog) zur Laufzeit designen.

  Alt 31. Mai 2010, 16:33
Danke Leute für die ersten Tipps.

Die Info von Ralf ist natürlich sehr interessant, da meine PHP Fähigkeiten stark gegen null gehen, halte ich das erst einmal für nicht meinen Ansatz. Trotzdem danke, komme ich nicht weiter werde ich dich fragen.

Ich hatte das so vor:
Feste Anzahl Datenbanken (Kunden,Geräte,Protokolle,Protokol-daten) so in etwa.
Ganz einfach referenziel indexiert. Kunde-->Geräte-->Protokolle-Daten per seperater Indexdatenbanken.

Kunden und Geräte enthalten einfach nur die entsprechenden Daten. Unter Protokolle werden die entworfenen Protokolle hinterlegt. Sowie die Beziehungen zu den Gerätetypen. Der eigentliche Entwurf soll in Memofeldern als XML gespeichert werden oder als Formularstream gespeichert werden. Ich denke so bin ich am flexibelsten. Das gefüllte Protokoll wird dann auch in der Datei Protokol-Daten mit Kunden und Gerätedaten als XML gespeichert.

Meinen jetzigen Entwicklungsstatus Alpha zu nennen wäre gestrunzt. Bis jetzt lote ich noch aus, inwieweit ich zur Laufzeit Formulare und Reporte gestalten kann. Wenn ich merke, dass das Projekt in Richtung Traumschloß und Elfenland geht, naja ich bin Realist. Werde mir nicht Monate für Nüße um die Ohren schlagen, wenn es danach eh nix bring.

Wer Ideen zu dem Thema hat, auch gerne Komponenten die ich verwenden kann, bitte was schreiben.
Ich weiß für viele ist es ein Sakrileg auf vertige Komponenten zurück zugreifen, dass müsse man alles selber schreiben.

Ich bin da eher pragmatisch (oder auch zu faul) ich schreibe nicht die 200'te RS-232 Komponente wenn die 199 anderen es schon besser gelöst haben. Dafür ist das Leben zu kurz und für das fertige Produkt (respektive dem Kunden) auch egal.

Gruß,

Stephan
Gruß,
Stephan
  Mit Zitat antworten Zitat
ak-ac

Registriert seit: 10. Apr 2009
26 Beiträge
 
#6

Re: Formular (Dialog) zur Laufzeit designen.

  Alt 31. Mai 2010, 19:15
Faul ist nicht schlecht, in den Komponenten steckt schon eine Menge Arbeit wenn Sie gut gemacht sind.

Habe gute Erfahrung mit einer Layout-Komponente von DevExpress gemacht, damit geht auch die Umstellung zur Laufzeit. Und wenn du dann noch neue Felder dynamisch hinzufügst klappt das schon.

Ansonsten DBExpress mit MySQL ist einfach und gut...
  Mit Zitat antworten Zitat
stekohl

Registriert seit: 12. Jun 2008
9 Beiträge
 
#7

Re: Formular (Dialog) zur Laufzeit designen.

  Alt 31. Mai 2010, 23:22
Zitat von ak-ac:
Faul ist nicht schlecht, in den Komponenten steckt schon eine Menge Arbeit wenn Sie gut gemacht sind.

Habe gute Erfahrung mit einer Layout-Komponente von DevExpress gemacht, damit geht auch die Umstellung zur Laufzeit. Und wenn du dann noch neue Felder dynamisch hinzufügst klappt das schon.

Ansonsten DBExpress mit MySQL ist einfach und gut...
Das meinte ich ja. Mit faul meine ich ja nicht das die Programmierer dieser VCL's faul sind. Die sollen schon den Lohn für ihre Arbeit bekommen. Die TMS Componenten habe ich ja auch nicht geschenkt bekommen.

Die VCL die Du da angesprochen hast ist evtl. genau das richtige. Leider ist die DEMO wirklich nur eine DEMO. Wäre da glücklicher, wenn die Komponente zur Laufzeit Hinweise zum Demomode ausgeben würde. Da kann ich besser Testen ob ich das so in mein Programm bekomme. Der Preis ist ok. Nur wie gesagt, ist ein wenig "Katze im Sack".
Ich weiß zum Beispiel nicht, inweiweit ich die erstellten Formulare in einer Datenbank speichern kann und ob sich daraus auch brauchbare Reporte generieren lassen.

Aber erstmal danke für den Tipp

Gruß,

Stephan
Gruß,
Stephan
  Mit Zitat antworten Zitat
ak-ac

Registriert seit: 10. Apr 2009
26 Beiträge
 
#8

Re: Formular (Dialog) zur Laufzeit designen.

  Alt 1. Jun 2010, 08:13
klar, mut zur faulheit ;o))

Die Komponente kann das in Dateien/Registry speichern und das passt ja auch in die DB rein.

Der einzige Punkt ist dann wohl, dass du die Felder, die später hinzukommen, manuell auf das Formular packen musst, aber das ist eigentlich easy.
  Mit Zitat antworten Zitat
stekohl

Registriert seit: 12. Jun 2008
9 Beiträge
 
#9

Re: Formular (Dialog) zur Laufzeit designen.

  Alt 3. Jun 2010, 09:22
Zitat von ak-ac:
klar, mut zur faulheit ;o))

Die Komponente kann das in Dateien/Registry speichern und das passt ja auch in die DB rein.

Der einzige Punkt ist dann wohl, dass du die Felder, die später hinzukommen, manuell auf das Formular packen musst, aber das ist eigentlich easy.
Jau, habe mir ExpressLayout gekauft, tolle VCL. Genau das was ich gesucht habe. Jetzt muß ich aus diesem frei gestallteten Dialog nur noch entsprechend frei gestaltbare Reporte erstellen können.
Gruß,
Stephan
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 18:51 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