Autor Beitrag
Chromic
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 31
Erhaltene Danke: 1

Windows 7 64bit
Turbodelphi Explorer, Lazarus, Prism Commandline, C# (VS 2010, #Develop
BeitragVerfasst: Di 29.06.10 22:46 
Hallo EEler!

Für ein Projekt von mir müsste ich in Delphi einen Formular-Designer für HTML-Formulare schreiben. Der Designer soll so funktionieren, wie der von Delphi (also Komponente draufziehen, mit der Maus Größe ändern und verschieben, im Objectinspector weitere Eigenschaften bearbeiten).
Diese Formulare sollen dann als HTML-Datei gespeichert werden.
Um die Position der Buttons und Inputs festzulegen bietet sich ja top, left, width, height an. Das ist mein bisheriges Konzept. Bevor ich jedoch mit der Programmierung beginnen möchte, wollte ich fragen, ob es vielleicht noch andere Wege gibt die Position der Formular-Elemente anzugeben.

mfg Chromic


Moderiert von user profile iconNarses: Topic aus Internet / Netzwerk verschoben am Di 29.06.2010 um 22:48
Magic J
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 66

WinXP Prof., Vista
Delphi6, Delphi 2009, Java(Eclipse), C++, Basic
BeitragVerfasst: Di 29.06.10 23:36 
user profile iconChromic hat folgendes geschrieben Zum zitierten Posting springen:
Um die Position der Buttons und Inputs festzulegen bietet sich ja top, left, width, height an. Das ist mein bisheriges Konzept. Bevor ich jedoch mit der Programmierung beginnen möchte, wollte ich fragen, ob es vielleicht noch andere Wege gibt die Position der Formular-Elemente anzugeben.


mit "top, left, width, height" sollte das schon am bessten gehn!

Alternativen wären
"top, left, right, bottom" also linker oberer und rechter unterer Punkt
oder
"Mx, My, width, height" ähnlich wie deins, nur mit dem Objektmittelpunkt

da du aber mit HTML arbeiten willst, bleib lieber bei deinem Ansatz, der sollte am kompatibelsten sein.

Gruß,
Chromic Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 31
Erhaltene Danke: 1

Windows 7 64bit
Turbodelphi Explorer, Lazarus, Prism Commandline, C# (VS 2010, #Develop
BeitragVerfasst: Di 29.06.10 23:51 
Hallo Magic J!

Danke für die Zustimmung. Dann wäre das Thema mal gelöst :)

mfg Chromic

_________________
Desktop-Anwendungen: Delphi
Web-Anwendungen: XHTML, CSS, PHP, SQLite, jQuery
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19339
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 30.06.10 09:23 
Ich habe einen Designer schonmal gebastelt, erstmal muss ich zur Arbeit, aber ich schau mal was ich davon noch habe. Da gab es irgendwo eine Unit dafür, die die Henkel an die Komponenten angebracht hat.
Chromic Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 31
Erhaltene Danke: 1

Windows 7 64bit
Turbodelphi Explorer, Lazarus, Prism Commandline, C# (VS 2010, #Develop
BeitragVerfasst: Mi 30.06.10 17:25 
Hallo jaenicke!

Programmiert wird der Designer schon in Delphi. Meine Frage betrifft eher, wie ich die Position speichere (Top, Left, Width, Height).

mfg Chromic

_________________
Desktop-Anwendungen: Delphi
Web-Anwendungen: XHTML, CSS, PHP, SQLite, jQuery
Andreas L.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1703
Erhaltene Danke: 25

Windows Vista / Windows 10
Delphi 2009 Pro (JVCL, DragDrop, rmKlever, ICS, EmbeddedWB, DEC, Indy)
BeitragVerfasst: Mi 30.06.10 17:31 
user profile iconChromic hat folgendes geschrieben Zum zitierten Posting springen:
Hallo jaenicke!

Programmiert wird der Designer schon in Delphi. Meine Frage betrifft eher, wie ich die Position speichere (Top, Left, Width, Height).

mfg Chromic


Die Position solltest du als CSS formulieren:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
#button1 {
  position: absolute;
  left: 12px;
  top: 12px;
  width: 100px;
  height: 20px;
}
...
Chromic Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 31
Erhaltene Danke: 1

Windows 7 64bit
Turbodelphi Explorer, Lazarus, Prism Commandline, C# (VS 2010, #Develop
BeitragVerfasst: Mi 30.06.10 17:51 
Hallo Andreas L.!

Ja genau so wollte ich das machen :)

mfg Chromic

_________________
Desktop-Anwendungen: Delphi
Web-Anwendungen: XHTML, CSS, PHP, SQLite, jQuery
Chromic Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 31
Erhaltene Danke: 1

Windows 7 64bit
Turbodelphi Explorer, Lazarus, Prism Commandline, C# (VS 2010, #Develop
BeitragVerfasst: Fr 02.07.10 11:37 
Hallo nochmal!

Auf was würdet ihr den Designer aufbauen? Zuerst dachte ich ja an einen ganz normalen Designer mit den Komponenten von Delphi (TButton, TEdit, etc.). Jetzt hatte ich aber auch die Idee, einfach sofort eine HTML zu generieren und diese mit TWebBrowser oder ähnlichem anzuzeigen. Dann hätte der Benutzer die Möglichkeit, die Änderungen am Style sofort zu sehen.

Wie denkt ihr darüber?

mfg Chromic

_________________
Desktop-Anwendungen: Delphi
Web-Anwendungen: XHTML, CSS, PHP, SQLite, jQuery
glotzer
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 393
Erhaltene Danke: 49

Win 7
Lazarus
BeitragVerfasst: Fr 02.07.10 13:42 
also Vorschau wär auf jedenfall gut.
aber BITTE sorg dafür das dein programm ordentlichen html/css code macht... ich kenn da ein paar mit dem code den die machen kann man jemanden erschlagen...

ansonsten tolle idee
Chromic Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 31
Erhaltene Danke: 1

Windows 7 64bit
Turbodelphi Explorer, Lazarus, Prism Commandline, C# (VS 2010, #Develop
BeitragVerfasst: Fr 02.07.10 13:46 
Hallo glotzer!

user profile iconglotzer hat folgendes geschrieben Zum zitierten Posting springen:
also Vorschau wär auf jedenfall gut.
aber BITTE sorg dafür das dein programm ordentlichen html/css code macht... ich kenn da ein paar mit dem code den die machen kann man jemanden erschlagen...

Ja, daran werd ich mich auf jeden Fall halten. HTML + CSS wie der validator.w3c es mag ist mein ziel :)

user profile iconglotzer hat folgendes geschrieben Zum zitierten Posting springen:
ansonsten tolle idee

Danke

mfg Chromic

_________________
Desktop-Anwendungen: Delphi
Web-Anwendungen: XHTML, CSS, PHP, SQLite, jQuery
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19339
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 02.07.10 19:34 
Es gibt die Möglichkeit den TWebBrowser in den Designermodus umzuschalten, dann kann der schon komplett als solcher fungieren. Allerdings hat man dann noch jede Menge Arbeit daraus guten Code zu machen.

Dafür bekommst du so relativ einfach auch kompliziertere Schachtelungen und eingebettete Videos usw. hin. Während mit einem an Delphis Designer angelehnten Designer kaum sinnvoll mehr als absolute Positionierungen hinzubekommen sind.

Ja, und dann ginge natürlich auch noch selber zeichnen, aber das ist ziemlich sicher eine zu umfangreiche Aufgabe. ;-)

Ideen könntest du dir zum Beispiel bei Microsoft Expression Web holen, das generiert guten standardkonformen Code (mit Hinweisen bei Standardverletzungen) und ist gut aufgebaut. Auch die CSS-Verwaltung usw. ist super.
Chromic Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 31
Erhaltene Danke: 1

Windows 7 64bit
Turbodelphi Explorer, Lazarus, Prism Commandline, C# (VS 2010, #Develop
BeitragVerfasst: Fr 02.07.10 19:40 
Hallo jaenicke!

Danke für den Tipp mit MS Expression Web, jedoch kostet das Tool 120€ ;)
Ich hab im Internet eine HTML-Darstellungskomponente gefunden. Jetzt muss ich mir nur noch überlegen, wie ich das mache. Eine Idee wäre, auf einem Reiter den Designer und auf einem anderen die Vorschau. Also den Designer mit den Delphi-Komponenten und die Vorschau in HTML. Aber vielleicht finde ich ja noch eine bessere Lösung, bei der Designer und Vorschau zusammenfallen. :)

mfg Chromic

_________________
Desktop-Anwendungen: Delphi
Web-Anwendungen: XHTML, CSS, PHP, SQLite, jQuery
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19339
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 02.07.10 20:36 
user profile iconChromic hat folgendes geschrieben Zum zitierten Posting springen:
Danke für den Tipp mit MS Expression Web, jedoch kostet das Tool 120€ ;)
Ich weiß, ich habe ne Lizenz. ;-)
Zum Anschauen reicht aber auch die Trial. Und die Anordnung usw. ist schon sehr clever und zeitsparend gemacht.

user profile iconChromic hat folgendes geschrieben Zum zitierten Posting springen:
Aber vielleicht finde ich ja noch eine bessere Lösung, bei der Designer und Vorschau zusammenfallen. :)
Üblich sind hier bei den heutigen Tools 3 Reiter. Nur Code, nur Design und beides zusammen.

Wie du das dann mit der Vorschau machst, musst du schauen. Ich glaube das sinnvollste ist, dass du das selbst definierbar machst. Dann kann man sich immer ein oder zwei Module auf einen Reiter packen, ganz wie man das möchte, denn dieses Konzept passt finde ich auch dabei sehr gut. Wenn du das gut kapselst, ist die Umsetzung davon kein Problem (jetzt nur auf diesen Aspekt bezogen :mrgreen:).
Chromic Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 31
Erhaltene Danke: 1

Windows 7 64bit
Turbodelphi Explorer, Lazarus, Prism Commandline, C# (VS 2010, #Develop
BeitragVerfasst: Sa 03.07.10 02:37 
Wenn ich dich jetzt richtig verstanden habe hab ich dann n PageControl mit 3 TabSheets:

  • Designer mit VCL-Komponenten
  • Stylesheet
  • Vorschau des HTML-Formulars im TWebBrowser


Da dieser Editor Teil eines größeren Projektes werden soll muss ich mir überlegen, wie ich diesen am besten integriere.
Delphi macht das ja so, dass man entweder das Formular als Vorschau hat, oder die dfm als Textversion ansehen kann.
Naja, ich werd mir in den kommenden Tagen mal ein paar Gedanken zu dem Thema machen. Über Vorschläge wäre ich sehr dankbar.

mfg Chromic

_________________
Desktop-Anwendungen: Delphi
Web-Anwendungen: XHTML, CSS, PHP, SQLite, jQuery
platzwart
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1054
Erhaltene Danke: 78

Win 7, Ubuntu 9.10
Delphi 2007 Pro, C++, Qt
BeitragVerfasst: Sa 03.07.10 10:43 
user profile iconChromic hat folgendes geschrieben Zum zitierten Posting springen:

Delphi macht das ja so, dass man entweder das Formular als Vorschau hat, oder die dfm als Textversion ansehen kann.


Stimmt so nicht ganz. Da ich mit mehreren Bildschirmen arbeite (4), habe ich mir das Formular auf einen und den Quelltext auf einen anderen gelegt. Nach und nach unterstützen dies immer mehr Programme und auch Spiele.

_________________
Wissenschaft schafft Wissenschaft, denn Wissenschaft ist Wissenschaft, die mit Wissen und Schaffen Wissen schafft. (myself)
Chromic Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 31
Erhaltene Danke: 1

Windows 7 64bit
Turbodelphi Explorer, Lazarus, Prism Commandline, C# (VS 2010, #Develop
BeitragVerfasst: Fr 09.07.10 13:28 
Hallo Platzwart!

Also wären eigene Fenster sinnvoll, die man aber auch leicht auf einem Monitor betreiben kann.
Falls jemand eine Idee hat, wie man das geschickt umsetzen kann, immer her damit. Ich werd mir die kommenden Tage auch mal Gedanken dazu machen.

mfg Chromic

_________________
Desktop-Anwendungen: Delphi
Web-Anwendungen: XHTML, CSS, PHP, SQLite, jQuery
Chromic Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 31
Erhaltene Danke: 1

Windows 7 64bit
Turbodelphi Explorer, Lazarus, Prism Commandline, C# (VS 2010, #Develop
BeitragVerfasst: Di 03.08.10 22:23 
Hallo Sebastian und alle anderen!

Morgen werde ich mir mal Expression Web Trial herunterladen und installieren (Hab jetzt endlich den neuen PC zusammengestellt und ab morgen wird er mit meinen Apps gefüllt).

In der Zwischenzeit hab ich mir Gedanken darüber gemacht, wie man es machen könnte, dass der Designer alles gleich so anzeigt wie es dann im Browser aussieht. Momentan ist es ja so, dass auf einem Reiter normale Delphi-Komponenten zum Designen verwendet werden und auf einem anderen Reiter erst die Vorschau zu sehen ist. Das gefällt mir noch nicht so ganz. Mir wäre es lieber wenn beides auf einmal gehen würde. Also Designen und Vorschau zugleich. Dazu müsste ich den Designer aber wohl in JavaScript schreiben, was ich auch nicht will.

Hat jemand eine Idee wie ich dieses Manko beseitigen könnte?

mfg Chromic

_________________
Desktop-Anwendungen: Delphi
Web-Anwendungen: XHTML, CSS, PHP, SQLite, jQuery
Jakob_Ullmann
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1747
Erhaltene Danke: 15

Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
BeitragVerfasst: Mi 04.08.10 17:46 
Wie machst du es denn jetzt? Komponenten dynamisch erzeugen? Dann sollte's doch fast so aussehen wie im Browser.

Du könntest aber auch den THtmlViewer (pbear.com/htmlviewers.html) verwenden (oder hast du den schon?). Da kannst du dann auf Click-Ereignisse reagieren.

Da gibt es sogar eine Methode, um die Position im Quelltext zu bestimmen, wo das Element definiert ist, auf das der Caret zeigt. Brauchst du also nicht einmal JavaScript (was übrigens auch nicht unterstützt wird :P ).
Chromic Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 31
Erhaltene Danke: 1

Windows 7 64bit
Turbodelphi Explorer, Lazarus, Prism Commandline, C# (VS 2010, #Develop
BeitragVerfasst: Mi 04.08.10 18:26 
Derzeit hab ich 3 Reiter eines TPageControls:
1) Designer (VCL-Komponenten)
2) Vorschau im TWebBrowser
3) Code-Editor

1) und 2) hätte ich jetzt eben gerne zusammengefasst. Werd mir THTMLViewer mal ansehen. Danke für den Tipp.

mfg Chromic

_________________
Desktop-Anwendungen: Delphi
Web-Anwendungen: XHTML, CSS, PHP, SQLite, jQuery