AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Batch Edit 1.6 (Editor für Batchdatein / NT-Befehlsscripte)
Thema durchsuchen
Ansicht
Themen-Optionen

Batch Edit 1.6 (Editor für Batchdatein / NT-Befehlsscripte)

Ein Thema von Harry M. · begonnen am 31. Okt 2004 · letzter Beitrag vom 30. Mai 2005
Antwort Antwort
Seite 5 von 7   « Erste     345 67      
Benutzerbild von Harry M.
Harry M.
Registriert seit: 29. Okt 2004
da ich früher immer viel mit batchdateien gearbeite habe jedoch nie einen passenden editor gefunden habe ich mal selbt einen gebastelt. er verfügt über die standart komponeten eines normalen editor. jedoch darüber hinaus auch funktionen zum konvertieren von langen in kurze strings und einen "ausführen button", einen window-maker (funktion der zeit deaktiviert, weil es probleme beim zugiff auf datenbank gibt)".
das installtionspaket macht batch edit zum standart-editor für batchdateien und nt-befehlsscripte. das ganze gibt es als setup.exe jedoch muß ich dazusagen das das packet nur für NT also NT/2000/XP gibt.

die unistallroutiene stellt nicht alle registrierungswerte wieder her. ich habe aber diese als registrierungsschlüssel dem archiv beigelegt.


wer interesse hat, kann sich batch edit 1.0 unter ftp://projetilware.serveftp.net runterladen. ist der link grade nicht gültig, bin ich nicht online und ihr solltet es später nochmal versuchen.

ich würden mich über eure meinung freuen.
 
Benutzerbild von dizzy
dizzy

 
Delphi 7 Enterprise
 
#41
  Alt 1. Nov 2004, 01:48
Hab ich, hab ich. Aber ich werde, wie gesagt, daraus nicht schlau. Um was zu verwalten? Die Fenster im Programm? Nur die Vorschaufenster? Und egal was von diesen - eine DB ist schon ein ganz schön dicker Schinken...
Fabian K.
  Mit Zitat antworten Zitat
Benutzerbild von Harry M.
Harry M.
 
#42
  Alt 1. Nov 2004, 02:01
mi knapp etwas über 20 kb im installationsverzeichnis. is nich so fett. ic fand es einfach praktisch alles mit eins zwei maus klicks verwalten zukönnen.
Harry
  Mit Zitat antworten Zitat
MathiasSimmack
 
#43
  Alt 1. Nov 2004, 08:07
Okay, dann will ich auch mal --

1. Die Datenbank. Ich sehe es wie meine Kollegen hier. So ganz verstanden habe ich deine Ausführungen nicht. Ich hatte kurzzeitig angenommen, diese Datenbank enthält vllt. ein paar fertige Templates oder Code-Schnippsel, die man möglicherweise beim Schreiben von BAT-Dateien häufiger brauchen könnte. Eine Parameterabfrage, bspw.
Aber die könnte man auch anderweitig realisieren. Vllt. in einem Klartextformat wie XML, so dass der User auch eigene Codefragmente einfügen kann. Oder halt ein Textformat. Okay, Luckie hatte kürzlich irgendwo kritisiert, dass viele kleine Dateien an sich zwar eben nicht groß sind, aber eben auf dem Datenträger etwas mehr Platz einnehmen. Kommt ja immer auf das Format (FAT, NTFS) an. Aber das wäre mir lieber als eine Datenbank, deren Sinn offenbar keiner so richtig verstanden hat. Sorry.

2. Syntaxhighlighting. Ein Link: [dp]"SynEdit"[/dp].

3. Setup. Ich persönlich habe nichts gegen Setups. Aber wenn dein Programm an sich nur 1 MB groß ist, dann werden wohl schätzungsweise noch ein paar Engines reingepackt. Benutzt du zufällig die Microsoft Installer-Version von Install Shield? Wenn Ja, dann versuche mal auf ein komplettes Setup mit den beiden Redistributables für 9x/ME und NT/2000/XP zu verzichten und erstelle nur ein Setup mit deinem Programm. Sollte der Anwender tatsächlich eine zu alte Version des Microsoft Installers haben, muss er sich die aktuelle Version eben selbst besorgen.
Alternativen: [dp]"Inno Setup"[/dp] oder Hier im Forum suchenNSIS. Mit denen kann man auch Setups gestalten. IMHO bieten sie alles was nötig ist. Aber sie sind eben nicht auf den Microsoft Installer oder eine andere Engine angewiesen und sind dadurch meist etwas kleiner.
Okay, damit darfst du aber offiziell keine Datenbanken ausliefern, die Borlands BDE benutzen. Und damit wären wir wieder bei Punkt #1.

btw:
Zitat:
aber ich packe dan dann mal mit upx nicht mit rar. vielleicht wird es ja dann kleiner.
Du kannst es versuchen, aber ich glaube nicht daran. Setups komprimieren die Dateien ja auch. Und eine bereits gepackte Datei lässt sich in der Regel ein zweites Mal schlechter bis gar nicht mehr packen. So gesehen dürfte sich an der Größe des Setups nicht allzu viel ändern.

4. Registry. Ich hätte mir gern einen kurzen Auszug aus deinem Setup gewünscht, bei dem ich sehe, was genau verändert wird. Oder du schreibst noch mal, was dein Setup warum verändert. Aber nicht wie ein Politiker drum herum reden, sondern Klartext!

Ich hab´s dir im DF gesagt: Wenn du für deinen Editor einen eigenen Eintrag anlegst, dann ist das okay. Aber wenn du einen Originaleintrag überschreibst, dann ist das für mich nicht okay. Und da reicht es auch nicht, deine Registrierungsschlüssel mitzugeben (wenn ich den Satz in deinem Eröffnungsposting richtig verstanden habe). Da wäre mir lieber, du startest vor der Änderung kurz mal RegEdit und exportierst meine Daten, damit ich als Anwender quasi eine Sicherheitskopie meiner Einstellungen habe. Du kannst es auch anders lösen als mit RegEdit. War nur ein Beispiel. Nur solltest du darauf verzichten, irgendwelche Originaleinträge einfach so zu löschen bzw. zu überschreiben. Und davon muss ich ja ausgehen, sonst gäbe es wohl kaum einen Grund, deine Registrydaten ins Archiv zu packen. Oder?
Abgesehen davon habe ich bspw. meine Einträge für BAT und CMD verändert. Eine Benutzung deiner Registryschlüssel wäre also für mich mit Aufwand verbunden. Auch ein Grund, weshalb ich bisher vom Testen deines Editors abgesehen habe.
  Mit Zitat antworten Zitat
Benutzerbild von Harry M.
Harry M.
 
#44
  Alt 2. Nov 2004, 10:03
nun will ich auch mal wieder stellung beziehen. ja die db enthält code-schnippsel. wie im screenshot dargestellt.
aber ich glaube, ich werde mich davon wieder trennen. es war auch die letzte funktion, die ich eingebaut hatte. villeicht hätte ich doch nochmal darüber schlfen sollen. meine bisherigen versuche im praktischen umgang waren meiner auffassung nach brauchbar. ich meine, auch wenn ihr den sinn der sache nicht ganz versteht, ich konnt damit wunderbar arbeiten.

das syntaxhighlighting versuch ich auf jedenfall noch zuübernehmen und um zusetzten.

hinsichtlich des setup's. ich habe mich dafür entschieden, weil ich unter [HKEY_CLASSES_ROOT\batfile\shell\edit\command] und [HKEY_CLASSES_ROOT\cmdfile\shell\edit\command] den "Standard"-schlüsel mit REGISTRY.ReadString() und REGISTRY.WriteString nicht via programmierung lesen(!) und ändern(!) konnte. habe ich anfangs versucht bin aber nicht weitergekommen. es wurde zwar erfolgreich kompiliert und auch fehlerfrei ausgeführt (auch keine meldung des debugger wurde nicht ausgegeben), aber ändern konnte ich die einträge nicht. auch dann nicht, wenn ich einen registrierungschlüssel mit den notwendigen werten mit gebe. die orginal einträge, also die einträge, die ich ändern muß um alle funtionenen des editor nutzen zukönnen, kann ich durch blosses imprortieren der regkeys nicht erreichen. habe ich versucht. ging bei mir nicht. die windows hilfe hat mir folgendes verraten.

"Die Wertdatentypen REG_EXPAND_SZ und REG_MULTI_SZ können nicht angezeigt oder bearbeitet werden. Wenn Sie den Wert REG_EXPAND_SZ anzeigen möchten, wird dieser von der Datei Regedt32.exe als binärer Datentyp angezeigt. Wenn Sie versuchen, einen dieser Datentypen zu bearbeiten, wird dieser von der Datei Regedt32.exe als REG_SZ gespeichert. Der Datentyp führt nicht mehr die vorgesehene Funktion aus. Um diese Datentypen anzuzeigen oder zu bearbeiten, müssen Sie die Datei Regedt32.exe verwenden." das das imortieren nach der deinstallation wieder problemlos geht liegt wohl daran, das die ursprungseinträge nicht mehr vorhanden sind. sie werden also neu erstellt. sollte ein user so wie du sein system schon so individuallisiert haben ist es natürlich von vorteil wenn man die einträge vorher sichern könnte. ich habe schon einen lösung zufinden versucht. (ich wollte die einträge via bat sichern - ähnlich regedit /s für importieren) ich habe nur noch keinen parameter finden können /s konnt ich in der dokumentation und hilfe bisher auch noch nicht finden.

ich benutze den installshild express von borland. aber ich wede mich mal kümmern wegen dem innosetup. ich habe da auch noch ne pn bekommen. is sowas wie ein scipt drinne. da ich inno noch nicht kenne, werde ich das mal beleuchten.

ich hoffe alle fragen soweit beantwort zu haben.

achso was die sache mit synedit angeht. habe weiter oben davon schonmal was gelesen. habe auch gleich mal meine delphi hilfe durchducht nach synedit synrichedit. habe (wieder) nichts gefunden aber schonmal kappiert, das es dafür nen komponente gibt. habe mir die auch gleicg gezogen. jetzt muß ich mir erstmal die neuen möglichkeiten begutachten
Harry
  Mit Zitat antworten Zitat
Benutzerbild von Harry M.
Harry M.
 
#45
  Alt 2. Nov 2004, 22:40
ich habe mir jetzt die sache mit dem inno setup angesehen. der freundliche user der mir auch schon mal hat das script zugesendt, hat nach der compilierung eine gesamte grösse von 800 oder 880 kb erreicht. aber ich muß auch sage das ich bei der entwicklung keine rücksicht auf die grööse genommen habe. wird sich aber in zukunft ändern.
Harry
  Mit Zitat antworten Zitat
MathiasSimmack
 
#46
  Alt 3. Nov 2004, 13:22
Warum willst du zum Sichern der Werte eine BAT-Datei benutzen? Inno Setup (eigentlich jedes Setup-Tool) bietet Möglichkeiten, externe Programme zu starten. Allerdings solltest du nicht auf die [Run]-Sektion zurückgreifen, weil die AFAIK erst nach der Installation und nach dem Schreiben der Registrywerte bearbeitet wird. Das wäre also zu spät. Aber dank eingebauter Pascal-Skriptsprache kannst du das Ausführen von RegEdit bspw. auch vor dem Installieren auslösen.

Notfalls wende dich einfach mal an den, der dir das Inno Setup-Skript geschickt hat. Der wird dir da sicher weiterhelfen können. Oder ich schau mal nach, dann kriegst du die Lösung von mir. Der Aufruf lautet ganz einfach
Code:
regedit /s /e REG-Datei Registryschlüssel
"/e" für Export, "/s" vermutlich für rekursiv, also durch die Unterordner durch, IMHO. Oder du schreibst dir ein eigenes kleines Programm zum Exportieren der Registryschlüssel.

Und bei der Deinstallation könntest du dann auf User-Wunsch (!) diese REG-Datei(en) wieder importieren.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#47
  Alt 3. Nov 2004, 13:33
/s steht meines Wissens für silent, also ohne dass sich der Registryeditor öffnet.
Michael
  Mit Zitat antworten Zitat
MathiasSimmack
 
#48
  Alt 3. Nov 2004, 13:41
Silencium, @Luckie! Ich will auch Recht haben.
  Mit Zitat antworten Zitat
Benutzerbild von Harry M.
Harry M.
 
#49
  Alt 3. Nov 2004, 13:58
ich habe gestern noch ein bissche herumexperimentiert bezüglich des exportieren von den regkeys. den parameter /e habe ich dabei auch schon mal ins auge gefasst. dake für die tipps diesbezüglich.

warum ich dies jetzt via batch importieren will. ich suche nur grad noch nach weiten möglichkeiten (oder mir war den abend so). kurz und kanpp meine überlegungen gingen dahin das setup über ne batch zugestallten.
und das ich zum sichern usw ne bat nehmen will is für mich nur ne frage der faulheit da ich wenn ich es "mal in (m)ein system installieren ich nicht immer wieder die gleichen schritte mache muß sonder alles mit mausklick regel kann. wenn du weißt wie ich meine.

ich habe mir mal jetzt die synedit komoneten besorgt. kriege die aber irgendwie nicht in mein delphi rein. wenn ich im menü uber komponente >> neue komponete findet er die QSynEdit.pas nicht. suchpfad habe ich aber auch schon eingestellt. nichts.
und wenn ich komponente >> kompopnete installieren findert er die SynEdit.dcu nicht. dann hatte ich mal wieder comiliert, jedoch war auf meiner "Standard-Setie" kein neues item. dann hatte ich es mal wiedergeschafft. da war ein neues item. jedoch war es wenn ich wieder aufs form wollte wie weggezaubert. dann hatte ich es mal geschaft irgendwas zu importieren konnte diese dann auch auf mein form packen am ende was es doch nur das normale memo nur das es jetzt anders hieß. (is grad das erstemal das ich versuche irgendwas in mein delphi einzubringen)
Harry
  Mit Zitat antworten Zitat
MathiasSimmack
 
#50
  Alt 3. Nov 2004, 14:13
Hab mal fix eine Lösung für Inno Setup geschrieben. So würde es gehen:
[code=pre]
Code:
type
  TExtensionExport =
    record
      Extension,
      Name        : string;
    end;

procedure ExportRegistry;
var
  ExportArray : array[1..2]of TExtensionExport;
  i,
  ECode      : integer;
  tmp        : string;
begin
  ExportArray[1].Extension := '.bat';
  ExportArray[1].Name     := 'batfile.reg';
  ExportArray[2].Extension := '.cmd';
  ExportArray[2].Name     := 'cmdfile.reg';

  for i                   := 1 to 2 do
  begin
    if(RegQueryStringValue(HKEY_CLASSES_ROOT,ExportArray[i].Extension,'',tmp)) and
      (tmp <> '') then
    begin
      ShellExec('open',
        'regedit.exe',
        '/s /e "' + ExpandConstant('{app}') + '\' + ExportArray[i].Name + '" HKEY_CLASSES_ROOT\' + tmp,
        '',
        SW_SHOW,
        ewWaitUntilTerminated,
        ECode);
    end;
  end;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
  if(CurPageId = wpInstalling) then
    ExportRegistry;
end;
Leider ist die Pascal-Scriptsprache von Inno Setup noch nicht mit Delphi zu vergleichen. Das Array ließ sich daher nicht gleich bei der Deklaration mit Werten füllen. Und obwohl es laut Hilfe "Low" und "High" gibt, hat der Compiler in der Zeile
Code:
  for i                   := Low(ExportArray) to High(ExportArray) do
gemeckert. Kann auch nur ein Schusselfehler von mir sein. Musst du mal gucken. Jedenfalls exportiert er die gewünschten Dateiendungen als REG-Datei in den Zielordner, den der User ausgewählt hat. Bezüglich der Funktion "CurPageChanged" würde ich dich an die Inno Setup-Hilfe verweisen. Die andere (ExportRegistry) ist eine selbstgeschriebene.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 5 von 7   « Erste     345 67      


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 00:20 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