AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Pascal Project Manager & Editor

Pascal Project Manager & Editor

Ein Thema von Harry Stahl · begonnen am 13. Mär 2016 · letzter Beitrag vom 17. Mai 2020
Antwort Antwort
Seite 2 von 14     12 3412     Letzte » 
Benutzerbild von Harry Stahl
Harry Stahl
Registriert seit: 2. Apr 2004
Der Pascal Project Manager & Editor dient dazu, seine eigenen Delphi- oder Lazarus-Programme zu verwalten, zu analysieren, Informationen und Source-Code zu finden und auch zu bearbeiten.

Es existiert eine Projekt-, Dokumentations- und Internetlink-Liste, wo man alle relevante Informationen zum Projekt oder zur Entwicklung von Pascal-Projekten insgesamt bündeln kann.

Von der Projekt-Seite aus kann das Projekt in der entsprechenden "richtigen" Delphi-Version geöffnet werden oder auch im eigenen Editor-Programm-Teil, wo man ähnliche Möglichkeiten wie in Delphi hat, um zu entsprechenden Units zu springen und relevante Informationen zu ermitteln, die man vielleicht bei der Entwicklung in einem anderen Projekt gerade braucht.

Dabei geht das viel schneller, als in Delphi das andere Projekt zu öffnen und wieder zurück zu kehren. Auch benötigt das Programm nur einen Bruchteil an Arbeitsspeicher im Vergleich zu Delphi (je nach Version nur 10%), um das entsprechende Projekt zu öffnen und zu durchsuchen.

Das Programm erkennt automatisch die für das Projekt verwendete Delphi-Version. Vom Editor aus kann die kompilierte Exe-Datei direkt gestartet werden bzw. in einigen Fällen bei Bedarf sogar direkt eine Kompilation über die DCC32.exe angestoßen werden.

Wozu ist das ganze gut:
  • Projekte, die oft über verschiedene Orte im System verstreut sind, können zentral und in einer durchdachten Gliederung erfasst werden.
  • Auch die Dokumentation zum den Projekten oder zu verwendeten Dritt-Komponenten kann logisch strukturiert erfasst werden, so dass man mit wenigen Klicks die benötigte Information hat.
  • Sehr hilfreich ist dabei auch, dass in allen Listen durch die Textfilterung es i.d.R. reicht nur wenige Buchstaben einzutippen und man sofort die gewünschte Information erhält (das gesuchte Projekt oder ein Dokument).
  • Man kann schnell in einem anderen Delphi-Projekt was nachsehen, ohne das aktuelle Projekt im geöffneten Delphi verlassen zu müssen
  • Anwender können Projektdateien und Formulare der neuesten Delphi-Version betrachten, auch wenn sie noch nicht die aktuellste Delphi-Version haben (nützlich für alle Forenmitglieder, die sich mal ein hochgeladenes aktuelles Beispielprojekt ansehen wollen!!!)
  • Anwender können sich Delphi-Projekte auch ansehen, wenn Sie gar kein Delphi auf dem gerade verwendeten PC/Notebook haben
  • Von den einzelnen Formularen können ganz einfach Screenshots erstellt werden
  • Programm erkennt automatisch, mit welcher Delphi-Version ein Projekt erstellt wurde
  • Projekte können somit nicht mit einer "falschen" Delphi-Version geöffnet werden, was ansonsten zu einer Reihe von Fehlermeldungen oder unterwünschten Veränderungen des Projekts führen könnte
  • Es können VCL- und FMX Projekte geöffnet werden
  • In vielen Fällen können VCL,FMX und LCL-Formulare angezeigt werden (bezogen auf Standard-Komponenten - Erweiterungen für die Anzeige von Drittkomponenten-Herstellern sind aber auch möglich über Plug-in-DLLs)
  • Bei FMX-Formularen können auch MAC, IOS oder Android-Stile der Formulare betrachtet werden (soweit der Entwickler solche erstellt hat)
  • der Text-Editor ist ein brauchbarer Source-Code-Editor, der Code-Folding, Auswahl von Sprungzielen über Prozedur-Dropdownlisten (ähnlich wie in Delphi selber), etc. verfügt

Vielleicht hat ja jemand mal Lust da rein zu schauen, wäre an einer Rückmeldung interessiert auch hinsichtlich Euren persönlichen Einschätzung hinsichtlich der Nützlichkeit eines solchen Programms (das ich je nach Zuspruch und Wünschen dann gerne auch erweitern würde).

Hier kann das Programm (uneingeschränkte Demo-Version) geladen werden:

http://www.hastasoft.de/Setup_PPME.exe

Nach dem Motto: "Ein Bild sagt mehr als tausend Worte" anliegend einige Screenshots und ein weiterer Link zu einem kurzen Video:

https://youtu.be/4Uhe5Nm65JE
Miniaturansicht angehängter Grafiken
ppme1.jpg   ppme2.jpg   ppme3.jpg  

Geändert von Harry Stahl ( 4. Apr 2016 um 00:20 Uhr) Grund: Grundlegende Änderungen hinsichtlich Programm-Name und Inhalt
 
Benutzerbild von Harry Stahl
Harry Stahl

 
Delphi 10.4 Sydney
 
#11
  Alt 4. Apr 2016, 18:29
Ich fand das interessant (Ordnungsmaßnahmen sind immer gut für mich ), also hab ich etwas mit einem Lazarus Projekt getestet. Das Programm macht einen sehr guten Eindruck! Die Interaktion mit dem DFM Teil habe ich allerdings nicht wirklich verfolgt, ist ja wohl für Lazarus noch ganz frisch.

Einfach mal so runtergetippt, was mir auffiel beim 1. Rundflug...
Vielen Dank fürs ausprobieren und die hilfreichen Hinweise. Die MDI-Problematik hatte ich weiter oben (Beitrag 6) in der Antwort zu Jaenickes Hinweisen angesprochen. Das eine "leere" Editor-Fenster steht auch in diesem Zusammenhang...

Den anderen Hinweisen werde ich nachgehen und schnell beheben (1.0 ist ja immer noch ein wenig Beta).

Bei DD musst Du den Umweg über die Taskleiste gehen, dort einmal mit der Maus über das PPME-Programmsymbol halten, dann wird das Fenster in den Vordergrund geholt und Du kannst das Drop-Objekt an der richtigen Stelle fallen lassen.

Das mit der PDF-Anzeige wär in einer später geplanten Erweiterung machbar (die beinhaltet eine automatische PDF-Dokumentations-Erstellung des Projekts, incl. automatisch generierter Screenshots der Forms und Einbindung als Grafik in die PDF-Datei, die natürlich ein gegliedertes Inhaltsverzeichnis vom Projekt und der Forms mit Sprungzielen hat (habe ja auch ein PDF-Manager-Programm und ein Textverarbeitungsprogramm in meinem Programm-Angebot, ist also alles vorhanden, um das Ding nützlich erweitern zu können). Aber das kommt erst in einigen Wochen.
Harry Stahl
  Mit Zitat antworten Zitat
jobo

 
Delphi 2010 Enterprise
 
#12
  Alt 4. Apr 2016, 18:51
Vielen Dank fürs ausprobieren und die hilfreichen Hinweise. Die MDI-Problematik hatte ich weiter oben (Beitrag 6) in der Antwort zu Jaenickes Hinweisen angesprochen. Das eine "leere" Editor-Fenster steht auch in diesem Zusammenhang...

Bei DD musst Du den Umweg über die Taskleiste gehen, dort einmal mit der Maus über das PPME-Programmsymbol halten, dann wird das Fenster in den Vordergrund geholt und Du kannst das Drop-Objekt an der richtigen Stelle fallen lassen.
Ja, die MDI Probleme hatte ich überflogen. Hab's einfach mitgeschrieben, weil man ja nie weiß, was kommt beim Testen.

DD, das grundsätzliche Verfahren ist schon klar, aber wenn das Programm im Vordergrund ist und darin das Manager Fenster nicht im Vordergrund, hab ich schlechte Karten oder?
Es macht ja auch wenig Sinn, das PDF in ein PAS File droppen zu dürfen.

Im Gesamteindruck passt irgendwie das Handling der eigentlichen Managerfunktion nicht zu dem Fenstercharakter des Managerfensters, vielleicht kann man den anders darstellen. Die "Struktur" Darstellung ist ebenfalls etwas "stiefmütterlich" eingebettet. Sie macht nur Sinn, wenn wirklich ein PAS oder DFM aktiv ist. Vielleicht einfach ausblenden bei anderen Fenstertypen?

Ach und der/die Filter im Manager könnte alternativ auch simultan in allen 3 Bereichen filtern.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

 
Delphi 10.4 Sydney
 
#13
  Alt 4. Apr 2016, 22:35
Nein, eigentlich nicht. Verstehe ich jetzt den Hinweis richtig, dass in Deiner Multimonitor-Konfiguration etwas nicht richtig positioniert wird? Habe hier auch 3 Monitore, da funktioniert alles so, wie es soll.
Welches ist denn der primäre? Bei mir ist das der rechte.
Wechsle ich zur Formularansicht, erscheint das Fenster kurz auf dem linken Monitor bevor es eingedockt wird.

Aber MDI gilt ja nicht umsonst als veraltet... vielleicht ist das da einfach ein Bug.
Sebastian Jänicke
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

 
Delphi 10.4 Sydney
 
#14
  Alt 5. Apr 2016, 00:08
Danke für die weiteren Hinweise.

Das Lesezeichen-Problem ist behoben und gleichzeitig erweitert worden (Anzeige der Nr. auch in der Zeile im Editor, Sprung nun auch über Dropdownliste (löschen eines einzelnen per rechtem Mausklick auf das LZ), siehe anlg. Screenshot.

Bookmark-Bug war übrigens ein blöder Seiteneffekt, da ich den Gesetzt-Zustand der Bookmark an Hand der Farbe des Schalters-Textes abgefragt hatte (Blau ist gesetzt, Schwarz nicht), bei der Verwendung eines Styles hat der Text aber unter Umständen eine ganz andere Farbe...

Das Problem mit den noch Inhalte habenden Stringlisten (Objekteigenschaften) bei Wechsel der Datei ist auch behoben. Morgen werde ich die weiteren Punkte angehen.

Aktualisierte Version habe ich gerade noch mal hochgeladen.
Miniaturansicht angehängter Grafiken
bookmarks.jpg  
Harry Stahl
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

 
Delphi 10.4 Sydney
 
#15
  Alt 5. Apr 2016, 23:50
DD, das grundsätzliche Verfahren ist schon klar, aber wenn das Programm im Vordergrund ist und darin das Manager Fenster nicht im Vordergrund, hab ich schlechte Karten oder?
Es macht ja auch wenig Sinn, das PDF in ein PAS File droppen zu dürfen.
OK, habe nun die Annahme von Drag& Drop-Files im Editor unterbunden, macht da eh nicht viel Sinn.

Ach und der/die Filter im Manager könnte alternativ auch simultan in allen 3 Bereichen filtern.
Das find ich ne gute Idee. Werde ich in Kürze aufnehmen.

Habe gerade noch mal eine aktualisierte Version hochgeladen. Lasse nun bei Strg+K, bzw. Strg+Q das Lesezeichen-PopUp-Menü anzeigen, so dass man zum einen wie gewohnt die Werte setzen kann, aber gleichzeitig die Übersicht hat, was womit schon belegt ist.

Inzwischen gibt es auch eine offizielle Download-Seite:

http://www.hastasoft.de/PPME-Download.htm

und die allgemeine Seite mit weiteren Informationen:

http://www.hastasoft.de/PPME.htm
Harry Stahl
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

 
Delphi 10.4 Sydney
 
#16
  Alt 17. Apr 2016, 22:17
Ich habe hier jetzt noch zwei nützliche Konvertierungserweiterungen eingebaut, die hilfreich sein können für Anwender, die ein VCL- in ein FMX-Projekt überführen wollen oder einfach nur in einem FMX-Projekt Ressourcen aus einem VCL-Projekt nutzen wollen.

Und zwar kann aus einem VCL-Projekt eine Imagelist ausgewählt werden, die in eine FMX-TImageList umgewandelt wird und dann einfach über die Zwischenablage in das FMX-Projekt eingefügt werden kann.

Interessant ist dabei, dass der Weg auch umgekehrt möglich ist: Also eine FMX-TImageList in eine VCL-ImageList umzuwandeln.

Eine entsprechende Möglichkeit steht auch für die TreeView-Komponente zur Verfügung.
Da diese Funktionalität nur in der registrierten Vollversion nutzbar ist, habe ich zur Veranschaulichung hierfür mal ein kurzes Video gedreht:

https://youtu.be/RQuv2OjvfO0
Harry Stahl
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

 
Delphi 10.4 Sydney
 
#17
  Alt 18. Apr 2016, 03:56
Das hätte ich schon für beliebige Komponenten brauchen können. Wie wäre es denn, wenn man eine Liste konfigurieren könnte, welche Komponenten in der VCL welchen in Firemonkey entsprechen und welche Eigenschaften übernommen werden sollen?
Standardkomponenten sollten natürlich möglichst schon drin sein.

Hintergrund ist, dass ich die Positionierung und Benennung bisher in VCL und Firemonkey jedes Mal erneut machen muss. Diese ließe sich aber in der Regel problemlos konvertieren, zumindest in Richtung Firemonkey. Selbst wenn keine weiteren Eigenschaften übernommen würden, wäre das schon eine Erleichterung.
Sebastian Jänicke
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

 
Delphi 10.4 Sydney
 
#18
  Alt 18. Apr 2016, 17:16
Das hätte ich schon für beliebige Komponenten brauchen können. Wie wäre es denn, wenn man eine Liste konfigurieren könnte, welche Komponenten in der VCL welchen in Firemonkey entsprechen und welche Eigenschaften übernommen werden sollen?
Standardkomponenten sollten natürlich möglichst schon drin sein.

Hintergrund ist, dass ich die Positionierung und Benennung bisher in VCL und Firemonkey jedes Mal erneut machen muss. Diese ließe sich aber in der Regel problemlos konvertieren, zumindest in Richtung Firemonkey. Selbst wenn keine weiteren Eigenschaften übernommen würden, wäre das schon eine Erleichterung.
Das wäre dann so etwas wie der Mida-Converter Light, aber eben nur für die Zwischenablage.

Jedenfalls interessante Idee, will ich mal näher prüfen und berichte dann.

Hatte aus meiner Sicht schon das Stringgrid als weiteres Konvertierungs-Objekt im Auge, da auch hier der Mida-Converter keine Spalten übernimmt (jedenfalls bis Version 5.01), außerdem wäre auch der Wunsch, statt StringGrid in das Grid umzuwandeln, weil man damit sehr viel mehr Möglichkeiten als mit dem Stringrid hat.
Harry Stahl
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

 
Delphi 10.4 Sydney
 
#19
  Alt 18. Apr 2016, 23:00
So, habe jetzt mal Deinen Vorschlag aufgegriffen und eine erste Umsetzung gemacht (noch nicht ganz fertig, das gezeigte Beispiel funktioniert aber schon).

Der anliegende Screenshot verdeutlicht die Situation:

Ein TLabel aus einem im Pascal Project Manager-Editor geöffneten VCL-Programm ausgewählt, aus Menü "Aktion" den Befehl "Kopieren und zu FMX konvertieren gewählt" (Objekt und Text in Grün).

Dann erscheint der gezeigte Dialog, der das VCL-Objekt mit den "Eigenschaften" und "Werten" repräsentiert und gleichzeitig für die Umwandlung die angepassten Daten für eben "Eigenschaften" und ggfls. auch "Werte" enthält.

Die nicht im FMX-Framework enthaltenen Eigenschaften sind deaktiviert. Bei Bedarf kann man selber noch editieren oder Werte aktivieren oder deaktivieren.

Man kann dann das Ergebnis direkt in die Zwischenablage übernehmen und in das FMX-Formular einfügen (an der originalen Position). Oder man lässt mit dem Schalter "Testen" kurz ein Testprogramm für die entsprechende Plattform starten, welches die Komponente enthält und zur Laufzeit anzeigt (wenn alles OK ist, oder man eben ansonsten eine Fehlermeldung erhält).

Das praktische daran ist, dass man auch ein FMX-Objekt in ein VCL-Objekt umwandeln kann.
Miniaturansicht angehängter Grafiken
convert_vcl_to_fmx.jpg  
Harry Stahl
  Mit Zitat antworten Zitat
mensch72
 
#20
  Alt 19. Apr 2016, 01:07
das Konzept Komponentenweise StepByStep per manueller Aktion sowas über die Zwischenablage wieder zusammenzusetzen incl. deiner Funktionalität die Erstellungsreihenfolge später nochmal zu verändern... das hat etwas

Aber du würdest dir viel Fleißarbeit sparen, wenn du nicht selbst alle Zuordnungen für die dir bekannten Komponenten fix im Code vordefinierst, sondern diese nachladbar und extern editierbar gestalten würdest.

Dann könnte ich mir z.B. die Arbeit machen um die Zuordnungsdefinition für TMS-VCL-Grid<->TMS-FXM-Grid samt aller zugehörigen untergeordneten "TMS üblichen Listenobjekte&Typen".
Dein Programm würde dann wie beim TLabel-Object nur schauen, ob es für ein TAdv???-Object schon ein passendes "Mapping" zum Nachladen gibt... es muss&würde ja nicht beim Grid bleiben.

Um die Erstellung einer Mappingdefinition zu erleichtern, würde man für VCL&FMX manuell je einen Strukturexport (also Objectpropertys mit Typ, aber ohne Daten) machen, wo im Prinzip das gleiche drin ist... das wären die ersten 2 "Blöcke" einer MappingDefinition... der dritte Block enthält dann die manuellen Zuordnungen und Typ basierten Werteumwandlungsregeln von VCL.XXX(Typ->Value) auf FMX.YYY(Typ->ValueRule)
  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 11:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2020 by Daniel R. Wolf