AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Pascal Project Manager & Editor
Thema durchsuchen
Ansicht
Themen-Optionen

Pascal Project Manager & Editor

Ein Thema von Harry Stahl · begonnen am 13. Mär 2016 · letzter Beitrag vom 13. Nov 2023
Antwort Antwort
Seite 24 von 25   « Erste     14222324 25      
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
 
omnibrain

 
Delphi 11 Alexandria
 
#231
  Alt 12. Mär 2023, 21:25
...(Harry beschreibt wie es geht)...
Das probier ich morgen gleich mal aus!

Geändert von omnibrain (13. Mär 2023 um 09:41 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

 
Delphi 11 Alexandria
 
#232
  Alt 12. Mär 2023, 22:18
Achtung: Hatte die Vorgehensweise ursprünglich falsch beschrieben, dann aber noch korrigiert, Du zitierst noch die alte Fassung, sieh also bitte noch mal nach, wie es richtig geht.
Harry Stahl
  Mit Zitat antworten Zitat
omnibrain

 
Delphi 11 Alexandria
 
#233
  Alt 13. Mär 2023, 09:53
Achtung: Hatte die Vorgehensweise ursprünglich falsch beschrieben, dann aber noch korrigiert, Du zitierst noch die alte Fassung, sieh also bitte noch mal nach, wie es richtig geht.
Ich mache das grad. Der erwähnte Dialog fühlt sich für mich nicht gut an. Die Bedienelemente bleiben nach gestartetem Import aktiv. Was passiert beispielsweise wenn ich bei laufendem Import einen Haken irgendwo rausnehme?

Als Entwickler weiß ich natürlich wie schwierig nicht lügende Fortschrittsbalken sind. Es wäre deshalb vielleicht eine nette Idee, wen im Fortschrittsbalken noch angzeigt wird bei welchem Projekt der Import gerade ist, bzw irgendwas wie 7/55, dann 8/55, etc.

Edit: Ich habe die Projekte jetzt importiert, aber in der IDE-Liste links steht in der Klammer immer noch eine 0. Das ist vermutlich noch ein kleiner Bug, oder?

Aber: Entweder bin ich ein wenig doof und finde die Option nicht, oder ich bin noch ein wenig doofer und hab das vollkommen falsch im Kopf, aber ich vermisse die Option die Projekte zu gruppieren. Mir war so, als hätte ich letzte Woche beim Ausprobieren sowas gesehen. Oder es war ein ganz anderes Tool, vielleicht gar nicht für Delphi. (Ich hab ein kleines Kind, das setzt der Aufmerksamkeit und dem Gedächtnis zu...)
Insgesamt glaube ich aber, dass für meinen Use-Case das Tool doch nicht so nützlich ist, da wir Issues, etc. über unser Gitlab abhandeln.

Geändert von omnibrain (13. Mär 2023 um 12:05 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

 
Delphi 11 Alexandria
 
#234
  Alt 13. Mär 2023, 18:22
@omnibrain:

Ja danke für den Hinweis mit dem Dialog, habe die Schalter nun dementsprechend enabled / disabled (Haken setzen wirkt sich nach Start des Vorgangs nicht mehr aus).

Fortschrittbalken: Es werden hier immer die Anzahl der Dateien angezeigt, die zum importieren verwendet werden. Ich weiß aber letztlich nicht wie viele Projekte dass dann sind, denn wenn Projektgruppen dabei sind, dann werden die einzelnen Projekte hinzugefügt. Aber ich denke, das ist hier kein großer Punkt, ob man die Anzahl nun exakt sieht oder nicht.

Das mit der fehlenden Aktualisierung der Projekt-Anzahlen für die jeweiligen IDE habe ich angepasst.

Zur Gruppierung: Wenn Projekte aus Projekt-Gruppen importiert werden, dann wird im Feld "ProjectGroup" der Dateilink zu dieser Gruppe erfasst. Nach diesem Feld kannst Du filtern, dann werden alle Projekte aus der Projektgruppe angezeigt. Zusätzlich habe ich in der eben aktualisierten Fassung noch die direkte Filterung nach dem Feld "ProjectGroup" eingebaut, so dass man es im Zweifel ganz exakt ausfiltern kann. Siehe auch anliegenden Screenshot "Filtergroup.png'.

Man kann das Feld aber quasi auch für eine Art "virtuelle" Projektgruppe verwenden. Wie aus dem erwähnten Screenshot sichtbar ist, filtere ich da auch nach der ProjektGruppe, die einfach "FileIO" heißt. Das ermöglicht es mir Projekte in diese virtuelle Projektgruppe hineinzunehmen, die Beispielsweise mit unterschiedlichen Delphi-Versionen erzeugt worden sind.

Bezüglich der Projekt-Gruppe habe ich auch jetzt noch die Möglichkeit eingebaut, statt das einzelne Projekt zu öffnen, auch die Projektgruppe zu öffnen (also Datei mit Endung ".groupproj"), die dem Projekt zugeordnet ist, siehe den weiteren anliegenden Screenshot "OpenGroup.png'.

Auch wenn Du meinst, das Tool nicht verwenden zu wollen, jeden Fall vielen Dank für Dein Feedback. Ich finde es auch wichtig zu hören, wo es nicht passt, denn ich habe ja in der Hauptsache meistens nur meine eigene Nutzersicht. Und unter Umständen lässt sich ja auch das eine oder andere noch erweitern.

Im Update habe ich auch die Einträge für die Delphi-Datenbank erweitert, aber daran muss ich noch weiter arbeiten (ist sehr zeitintensiv, die Einzelheiten dafür zu ermitteln)...
Miniaturansicht angehängter Grafiken
filtergroup.png   opengroup.png  
Harry Stahl

Geändert von Harry Stahl (13. Mär 2023 um 18:26 Uhr)
  Mit Zitat antworten Zitat
omnibrain

 
Delphi 11 Alexandria
 
#235
  Alt 13. Mär 2023, 19:45
Ja, ich gebe auch gerne Feedback, weil sonst hört man oft irgendwie über Umwege, dass irgendwas nicht geht, weil sich nie jemand direkt meldet.

Das mit den Projektgruppen ist definitiv nicht das was ich meinte. Jetzt frage ich mich natürlich an was ich mich da erinnere. Ob das ein anderes Tool (möglicherweise für eine andere Programmiersprache) war, oder ob ich das vielleicht nur geträumt (wirklich!) habe, weil ich dein Tool letzte Woche kurz vor dem zu Bett gehen ausprobiert habe.
  Mit Zitat antworten Zitat
ringli

 
Delphi 11 Alexandria
 
#236
  Alt 19. Mär 2023, 12:33
In der Projektliste wird bei der Nutzung eines Styles der transparente Teil eines Icons mit einem weißen Hintergrund gezeichnet. Ausserdem wird hinter der letzten Spalte der Hintergrund ebenfalls hell gezeichnet anstatt dunkel (siehe Screenshot, rot umrtandete Bereiche).
Miniaturansicht angehängter Grafiken
ppm-darstellungsfehler.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von blawen
blawen

 
Delphi 12 Athens
 
#237
  Alt 19. Mär 2023, 14:17
In der Projektliste wird bei der Nutzung eines Styles der transparente Teil eines Icons mit einem weißen Hintergrund gezeichnet. Ausserdem wird hinter der letzten Spalte der Hintergrund ebenfalls hell gezeichnet anstatt dunkel (siehe Screenshot, rot umrtandete Bereiche).
Dies dürfte mit dem Styles nicht zusammenhängen.
Auch ohne Style ist bei mir der Bereich weiss. Ich denke, dass die Titelspalte schlicht zu "kurz" ist.
ppm_spalte.jpg
Roland
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

 
Delphi 11 Alexandria
 
#238
  Alt 19. Mär 2023, 14:59
Also das mit der Path-Spalte konnte ich jetzt fixen, indem ich die Spalte auf "Autosize" gestellt habe, dann füllt die den Bereich aus und im Ownerdraw-Event wird auch alles gemalt.

Beim Zeichnen des Icons, mit passendem Hintergrund tue ich mich schwer, hatte es selber schon mal versucht anzupassen für den dunklen Hintergrund, bin aber leider gescheitert.

Aber evtl. hat ja jemand hier noch eine andere Idee?

So gewinne ich das Icon:

Delphi-Quellcode:
procedure TF_ProjDlg.bnSelectIconClick(Sender: TObject);
var
  FileInfo: SHFILEINFO; Icon: TIcon;
begin
  if DirectoryExists (ExtractFilePath (edProjFile.Text)) then begin
    odimg.InitialDir := ExtractFilePath (edProjFile.Text);
  end;

  if odimg.Execute then begin
    if FileExists (odimg.FileName) then begin
      if (pos ('.exe', Lowercase (odimg.FileName)) <> 0) or (pos ('.dll', Lowercase (odimg.FileName)) <> 0) then begin
        Icon := TIcon.Create;
        try
          SHGetFileInfo(PChar(odimg.FileName), 0, FileInfo, SizeOf(FileInfo), SHGFI_ICON);
          icon.Handle := FileInfo.hIcon;
          Image1.Picture.Icon.Assign (Icon);
        finally
          Icon.Free;
        end;
      end else begin
        Image1.Picture.LoadFromFile(odimg.FileName);
      end;
    end;
  end;
end;
Image1. Picture kann also alles mögliche enthalten, ein Icon, ein Bitmap, ein PNG transparent oder nicht transparent.

Wie ich das nun richtig ausgebe (skaliert) und mal mit transparentem Hintergrund und mal nicht, da habe ich noch keine richtige Idee...

Derzeit laden ich das Icon dann später wieder in ein TImage, male es auf ein Bitmap und das Bitmap gebe ich dann mit Stretchdraw aus (das Image1.picture.graphic kann ich für Stretchdraw nicht direkt verwenden, denn wenn es ein TIcon enthält, funktioniert kein Stretchdraw).
Harry Stahl

Geändert von Harry Stahl (19. Mär 2023 um 15:03 Uhr)
  Mit Zitat antworten Zitat
ringli

 
Delphi 11 Alexandria
 
#239
  Alt 19. Mär 2023, 15:40
Der gezeigte Code scheint nicht das Problem zu sein. Zumindest nicht in einer VCL-Testanwendung. Könnte es sein das das Malen in eine Bitmap das Problem auslöst?
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

 
Delphi 11 Alexandria
 
#240
  Alt 19. Mär 2023, 16:22
Der gezeigte Code scheint nicht das Problem zu sein. Zumindest nicht in einer VCL-Testanwendung. Könnte es sein das das Malen in eine Bitmap das Problem auslöst?
Ja, das malen ist das Problem.

Mal vereinfach gezeigt, im OndrawItemEvent der Listbox:
Delphi-Quellcode:
  TI.picture.LoadFromStream(msOut);

  bm := TBitmap.Create;
  bm.SetSize(32,32);

  bm.PixelFormat := pf24bit;
  bm.Transparent := True;
  bm.TransparentMode := TTransparentMode.tmfixed;
  bm.TransparentColor := clWhite;
  bm.Canvas.Draw(0,0, TI.Picture.Graphic);

  lb.Canvas.StretchDraw(System.classes.rect (rect.Left+2, rect.top+3, rect.Left+2 + round (24*ScaleFactor), rect.top+3 + round (24*ScaleFactor)), bm);
- bm auf 32 bit zu setzen bringt nichts
- bm.transparentmode auf auto zu setzen bringt auch nichts, da dann zB. vollbunte Icons transparent werden...
Harry Stahl
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 24 von 25   « Erste     14222324 25      


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 03:19 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