AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wie am elegantesten eine eigene IDE "basteln"

Ein Thema von hedie · begonnen am 11. Apr 2015 · letzter Beitrag vom 13. Apr 2015
Antwort Antwort
hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#1

AW: Wie am elegantesten eine eigene IDE "basteln"

  Alt 12. Apr 2015, 15:42
Anbei findet ihr ein Bild, wie ich mir das virtuelle Display vorstelle.

Ich habe dazu Paint genommen, die Vergösserung auf maximum, damit man die einzelnen "Pixel" sieht.

Dazu seht ihr noch, wie ein Button auf dem Display in etwa aussieht.
Wäre also besser, falls ich solche Buttons zeichnen könnte anstelle jener der VCL.

Ich hätte schon ein, zwei ideen, wie ich sowas Zeichnen und verschieben könnte, aber diese sind vermutlich viiel zu aufwendig.

Ich hätte in einem Bild mit dem Pen die einzelnen Punkte gezeichnet.

Wie würdet ihr hier rangehen?
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Wie am elegantesten eine eigene IDE "basteln"

  Alt 12. Apr 2015, 15:56
Also ich seh hier gar nichts
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#3

AW: Wie am elegantesten eine eigene IDE "basteln"

  Alt 12. Apr 2015, 16:05
Danke ^^ habe ich glatt vergessen
Angehängte Grafiken
Dateityp: png IDE_Exmple.png (97,2 KB, 71x aufgerufen)
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Wie am elegantesten eine eigene IDE "basteln"

  Alt 12. Apr 2015, 16:23
Das ist ja weniger eine IDE, sondern eher ein Malprogramm
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.352 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Wie am elegantesten eine eigene IDE "basteln"

  Alt 12. Apr 2015, 16:38
Ich denke, Du müsstest genauer sagen, wo Dein Problem liegt bzw. wozu Du Tipps brauchst.
Bisher ist das m.E. zu allgemein.

Etwas mit Drag&Drop zu verschieben sollte ja machbar sein...
Es ist natürlich auch davon abhängig, ob Du Controls mit eigenem Handle verschiebst oder nur selbst gezeichnete "Objekte".

Das größere Problem wird sein, die gezeichneten Objekte mit den Ereignisbehandlungen und somit dem Code zu verbinden.

Ich weiß nicht recht, worauf Du raus willst...
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#6

AW: Wie am elegantesten eine eigene IDE "basteln"

  Alt 12. Apr 2015, 18:47
Danke für eure Antworten

Ich sehe, ich habe das noch etwas zu ungenau beschrieben.

Bei mir auf dem Tisch liegt ähnliche Hardware: http://www.cutedigi.com/images/mini_STM32_1.jpg
Auf dem darauf befindlichen Touch-Display, können verschiedene Objekte dargestellt werden.
Diese Objekte (Buttons etc...) werden durch die Firmware des Displays erzeugt. Die Firmware stammt ebenfalls von mir.

Dies funktioniert soweit einwandfrei.
Es gibt eine GUI_Library mit welcher man Buttons ala CreateButton(x,y,height,width,color...); erzeugen kann.

Meine Idee ist nun, eine Software zu schreiben, mit Delphi, mit welcher man ein "VirtuellesDisplay" hat, und darauf nun die Objekte platziert. Damit man dies möglichst genau machen kann, wäre die abbildung der einzelnen Pixel vorteilhaft. Die kleinen Displays haben 320x240 und die grossen 800x480px

In der Display Firmware wird später ein Python Interpreter laufen (falls ihr voschläge für eine "gängigere" Skriptsprache habt, bin ich offen dafür). Dieser Interpreter wird dann das erstellen der Buttons übernehmen.

Wenn nun also in meiner "IDE" ein Button platziert wird, so soll im Codefenster der dazugheörige Pythoncode erstellt werden. Dieser wird wohl ähnlich sein wie jener aus der Firmware:
CreateButton(x,y,.......);

Sinn und Zweck des ganzen soll sein, dass man damit schnell und einfach sein GUI erstellen kann.

Damit es möglichst realistisch aussieht, möchte ich nur ungern auf die Buttons der VCL zurückgreifen.
Auf dem Display sehen die Buttons etwa so aus wie jene auf dem bild aus meinem letzten Post.

Oder in etwa so:
http://blog.lincomatic.com/wp-conten...02/btndemo.jpg

Nebst buttons gibt es aber auch noch Labels, Checkboxen, Radiogroups, Editfelder und Tabs.

Meine konkreten Probelem, wo ich tipps brauche:

1. wie erstelle ich ein gitternetz aus einzelnen "pixels" welche mein Display repräsentieren?

2. Wie erzeuge ich am einfachsten "Objekte" wie buttons, welche sich verschieben lassen, resizen, farbeändern etc... und so aussehen wie jene auf meinem echten display? diese sollten sich dann in mein
Pixelraster integrieren. also pixelgenau sein.

3. In meiner "IDE" wird es auch einen Objektinspektor geben, mit welchem man z.B. die Farbe eines Buttons ändern kann etc. Wie verwalte (zur laufzeit) und wie speichere ich all diese Informationen am besten ab, damit ich diese erneut mit meiner IDE laden kann? Ich hätte da an ein XML File gedacht.
Jemand hat das DFM Format vorgeschlagen. Dieses ist aber wohl nur gültig wenn man die Delphi VCL verwendet oder?


Hoffe es ist nun etwas verständlicher...

Danke schonmal
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: Wie am elegantesten eine eigene IDE "basteln"

  Alt 12. Apr 2015, 19:29
Es ist völlig schnurz wie du es speicherst, solange du es speicherst

Das DFM-Format bekommst du allerdings "frei Haus" mitgeliefert und würde sich aus diesem Grund anbieten. Jedes andere Format ist genauso gut, wenn es alle benötigten Werte speichert.

Die Konvertierung in ein wie auch immer Format für das Device erfolgt eben durch eine Konvertierung.

Jetzt baust du dir einfach alle Controls, die das Device darstellen kann, nach, damit du diese in deiner IDE benutzen kannst. Vermutlich würde da am Besten eine Ableitung von TGraphicControl passen.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.352 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Wie am elegantesten eine eigene IDE "basteln"

  Alt 12. Apr 2015, 19:50
Ok, dann wird das schon verständlicher

Also hast Du alles zur Laufzeit fertig bzw. benötigst Du die IDE nicht zur Laufzeit bzw. zum Debuggen o.ä.
Du willst nur vereinfachen, das Script für das Gerät zu erstellen - richtig?

Ich sehe zwei Möglichkeiten:

1)
Du könntest ein TGraphicControl (oder TPanel) nehmen und Paint überschreiben.
Drag&Drop sollte so kein Problem sein. Auch ein Resize könnte man regeln, wenn sich der Cursor rechts unten befindet.
MouseEnter usw. kannst Du dann ja problemlos abfragen.

Ein Raster oder Gitter könnte man auf eine transparente Paintbox über dem Designer zeichnen - mit einer wählbaren Zoomstufe.
Beim Drag&Drop und Resize müsstest Du auf das Raster runden.
Die Controls würde ich optisch nicht exakt nachbilden sondern abstrahieren. Sonst müsstest Du Schriften ja mit zoomen.
(Wenn Du FMX benutzt könntest Du das Zoomen über FMX lösen und müsstest nicht umrechnen.)

2)
Ein anderer Weg wäre, ein Bitmap zu nehmen und alles selbst dort zu zeichnen. Dann müsstest Du virtuell die Positionen der "Controls" speichern und so eine Art Graphikprogramm bauen. Um ein Control zu verschieben musst Du aus der Mausposition im Designer ermitteln, was sich "virtuell" unter dem Cursor befindet und selbst die Veränderungen berechnen.


Den ersten Weg habe ich in meiner Turniersoftware genutzt, den zweiten in meinem beschriebenen Demoprojekt.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Antwort Antwort


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 09:39 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