Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   RES Builder (https://www.delphipraxis.net/133327-res-builder.html)

Deltachaos 29. Apr 2009 22:06


RES Builder
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe angefangen ein GUI für das erstellen von RES Dateien zu erstellen.
Ist OpenSurce und steht unter GNU/GPL (http://www.gnu.de/documents/gpl.de.html)

RES Builder 0.2 Alpha:

http://666kb.com/i/b8osgwlxp4hpqzt06.png

Funktionen:
Automatisches finden der Compiler
Mannuells auswählen eines Compilers
Überprüfung der Eingaben im Identefier Feld
Komplettes Anpassen der Sprache über *.ini Datei
Automatische Vorschläge des Dateityps
Anpassen der Vorschläge durch *.ini Datei
Öffnen des Ordners nach Fertigstellung der *.RES Datei

Was fehlt noch?
Menü hat noch keine Funktion!
Vorhandene *.rc Dateien lassen sich noch nicht öffnen

Screens:
http://666kb.com/i/b8l5bril4efqbxfoe.jpg

http://666kb.com/i/b8l5bmpddi95zbzq6.jpg

http://666kb.com/i/b8lfhuw1z2amar4bi.jpg

Zur Bedienung:

Oben Rechts wird der Compiler und die Delphi Version ausgewählt
Darunter werden die Dateien eingetragen
Sobalt die Einstellungen für die Datei stimmen klickt man auf "Speicher".
Dann wird diese Datei der *.rc Datei hinzugefügt.
In der Box "Dateien" kann man diese Einträge wieder Löschen, nach oben und unten bewegen.
Wenn man mit seiner Zusammenstellung zufrieden ist klickt man in der Box "Aktionen" auf "Ziel auswählen...". Dort gibt man an wo die *.RES Datei gespeichert werden soll.

Das war die letzte Einstellung - Nun wird der Vorgang mit dem Button "Starten" gestartet.
Sobalt der Vorgang beendet ist wird man darüber Informiert.


Es währe mir eine Hilfe wen mir jemand eine Liste mit den von brcc32.exe und brc32.exe Verstandenen Dateitypen mit der dazugehörigen Dateierweiterung geben könnte.
Ich habe bis jetzt nur RC_DATA und BITMAP.

jaenicke 30. Apr 2009 01:02

Re: RES Builder 0.1
 
Die neueren Delphiversionen beachtest du gar nicht. ;-)

Dessen Pfade kannst du so bekommen (Auszug aus einem Autosetup-Tool für eine Komponente):
Delphi-Quellcode:
const
  RegKeyDelphiRoot = 'Software\%s\%s\%d.0';

type
  TDelphiVersion = (dlvDelphi5, dlvDelphi6, dlvDelphi7, dlvBDS3, dlvBDS4,
    dlvRadStudio2007, dlvRadStudio2009);

function GetDelphiRegKey(Version: TDelphiVersion): String;
begin
  case Version of
    dlvDelphi5, dlvDelphi6, dlvDelphi7:
      Result := Format(RegKeyDelphiRoot, ['Borland', 'Delphi', Integer(Version) + 5]);
    dlvBDS3, dlvBDS4, dlvRadStudio2007:
      Result := Format(RegKeyDelphiRoot, ['Borland', 'BDS', Integer(Version)]);
    dlvRadStudio2009:
      Result := Format(RegKeyDelphiRoot, ['CodeGear', 'BDS', Integer(Version)]);
  end;
end;

function GetDelphiRootDir(Version: TDelphiVersion): String;
var
  Reg: TRegistry;
begin
  Result := '';
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    if Reg.OpenKeyReadOnly(GetDelphiRegKey(Version))
      and Reg.ValueExists('RootDir') then
      Result := Reg.ReadString('RootDir');
  finally
    Reg.Free;
  end;
end;

function IsDelphiInstalled(Version: TDelphiVersion): Boolean;
begin
  Result := GetDelphiRootDir(Version) <> '';
end;

function GetResCompilerExecutable(Version: TDelphiVersion): String;
begin
  Result := GetDelphiRootDir(Version);
  if Result <> '' then
    Result := IncludeTrailingPathDelimiter(Result) + 'Bin\brcc32.exe';
  if not FileExists(Result) then
    Result := '';
end;
Diese Funktionen sollten so wie sie sind bei dir funktionieren.

R2009 30. Apr 2009 05:29

Re: RES Builder 0.1
 
Hi,

sorry, aber völlig unverständliches Programm!
Könntest du bitte erläutern wie das ganze benutzt wird!
Ich hatte trotz einiger Bemühungen keinen Erfolg. (weder res Datei noch sonst was)
Du kannst doch nicht sowas 1/3 fertiges hier hinschmeissen und hoffen die werden schon rauskriegen
wie's funktioniert.

Viele Grüsse

Deltachaos 30. Apr 2009 06:15

Re: RES Builder 0.1
 
Vielen Dank erstaml für den Tipp, jaenicke. Ich hab hat nur Delphi 7 und von daher wuste ich nicht wie es mit anderen Versionen ist.
Aus diesem Grund kann man den Delphi Ordner auf Manuell angeben. Aber Natürlich werde ich auch die Metode die du gepostet hast einbauen.


Zur Bedienung des Programms sage ich volgendes:

Man wählt oben Links seine Delphi Version aus, dann sucht das Programm nach den Compilern die für die *.rc Dateien benötigt werden.(brc32.exe und brcc32.exe; wobei ich das Gefühl habe das es mit dem brcc32.exe besser Funktionirt. Dieser ist auch von Standartmäsig ausgewählt, also muss man dort nichts verändern.)

Als nächstes müssen die in der GroupBox "Datei hizufügen" vorhandenen Felder ausgefüllt werden.

In der *.rc Datei müssen nähmlich volgende Informationen stehen:
1. Den Identifier oder wie man ihn auch immer nent. Damit arbeitet Delphi später wenn man z.b. etwas aus der *.RES Datei laden möchte. Dieser sollte mit einem Buchstaben anfangen!
2. Den Typ - ich weis nicht was das mit den Typen auf sich hat; ob man nun alle Daten die nicht etwas anderes sind als RC_DATA eintragen kann oder nicht, Ich weis auch nicht ob es den Compiler stört wen man einen Falschen Datentyp angibt. Auserdem weiß ich nicht was es alles für Dateitypen gibt. Deswegen stehen in der ComboBox auch nur RC_DATA und BITMAP; das wird später noch erweitert.
3. Der Pfad zu der Datei die in der *.RES Datei gespeichert werden soll. Um eine Datei auszuwählen klickt man auf Durchsuchen.

Nachdem man das getan hat klickt man auf "Hinzufügen >>>". Nun erscheint der Eintrag in der rechten List Box.
Man kann auch mehrere Einträge hinzufügen wobei man daruf achten sollte das der Identifier nicht doppelt vorkommt.

Nachdem das alles erledigt ist klickt man auf "Starten..." dann wählt man aus wo und wie die *.RES Datei gespeichert/heißen soll.

Nach all dem

Satty67 30. Apr 2009 06:44

Re: RES Builder 0.1
 
Nimm einen Hilfe-Button mit auf's Formular und lass den Text, den Du oben geschrieben hast da anzeigen (noch etwas besser formuliert und strukturiert). Da die Buttons sowieso so lang sind (zu lang für meinen Geschmack), könntest Du im Caption auch etwas genauer beschreiben, was der Button macht.

Aber die Idee finde ich gut, nur jetzt musst Du die Kritik abarbeiten, damit es besser wird.
Zitat:

Zitat von R2009
Du kannst doch nicht sowas 1/3 fertiges hier hinschmeissen und hoffen die werden schon rauskriegen
wie's funktioniert.

Naja, sei nicht so hart... ganz so schlimm war es dann auch nicht :stupid:
Ist ja als Alpha gekennzeichnet und OpenSource. Das heißt er weis, dass da noch Verbesserungen nötig sind.

€: Mal ein Vorschlag zum Programm-Ablauf (also auch Anordnung der Eingabe-Elemente)

1) Projekt auswählen [optional] zur Generierung eines Pfades/Namens (Standard Resource nicht überschreiben!)
2) Pfad/Dateiname der Resource bilden und evtl. schon vorhandene RC Datei laden
3) Resourcen-Dateien auswählen und anhand Extension einen Typ/Namen vorschlagen
4) Resource-Compiler auswählen (Einstellung merken) und compilieren

5) Falls Project ausgewählt, Include-Anweisung in Quelltext übernehmen (incl. Backup-Erstellung, wie es Delphi macht). Aber nur, wenn Du das narrensicher machen kannst... bei verlorenem Quelltext gibt es mehr als böse Worte ;)

Deltachaos 2. Mai 2009 17:36

Re: RES Builder
 
Neue Version
Informationen oben

_frank_ 2. Mai 2009 23:03

Re: RES Builder
 
vielleicht hilft dir mein rfe (http://rfe.sf.net) bei den restlichen Funktionen ;) ist zwar auch nicht perfekt, aber man kann res-dateien laden und z.b. auch versioninfo bearbeiten.

Gruß Frank

Deltachaos 2. Mai 2009 23:14

Re: RES Builder
 
Ich hab mir das zwar noch nich angegugt aber ich glaube ich werde das nicht einbauen da das warscheinlich meine Fähigkeiten übersteigt.
Erstmal muss ich es hinbekommen vorhandene *.rc Dateien zu bearbeiten xD

Das einzige was mich wundert ist warum niemand Lob oder Kritik äußert.
^^

_frank_ 2. Mai 2009 23:18

Re: RES Builder
 
Zitat:

Zitat von Deltachaos
Das einzige was mich wundert ist warum niemand Lob oder Kritik äußert.
^^

Zitat:

Vorhandene *.rc Dateien lassen sich noch nicht öffnen
Aktuelle *.rc Datei läst sich nicht Speichern
wahrscheinlich, weil die eigentliche funktion noch fehlt ;) besonders letzter Punkt....abspeichern ist imho nötig, um eine res-datei zu erstellen.

Gruß Frank

Deltachaos 2. Mai 2009 23:56

Re: RES Builder
 
Die *.rc Datei wird ja abgespeichert nur wird danach vom Programm direkt der Compiler gestartet und dieser Verarbeitet die *.rc Datei. Die Ausgabe wird dann an den vom Benutzer festgelegten Ort verschoben.

Ich meine Damit nur die *.rc Datei zu speicher um sie später zu compilen oder mit dem Programm weiter zu bearbeiten.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:11 Uhr.
Seite 1 von 2  1 2      

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