Autor Beitrag
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: So 14.06.09 01:10 
user profile iconBenBE hat folgendes geschrieben Zum zitierten Posting springen:
Weil Nested Full-Quotes ja so viel Spaß machen:

user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Ich glaube sowas meinte Benny hier: :mrgreen:
user profile iconBenBE hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconBenBE hat folgendes geschrieben Zum zitierten Posting springen:
- Shell-Like-Interface zum switchen zwischen Keys, Werte ändern
Da dachte ich z.B. u.a. an Tabs um gleichzeitig mehrere offen haben zu können.

Meinte das eher bash-like, so dass ich z.B. hingehen kann und "RegSH-Scripts bauen kann, die zum Automatisieren bestimmter Aufgaben genutzt werden können.

Ja, sowas meinte ich, nur halt nicht allein auf einzelne Befehle beschränkt, sondern wenn gewünscht eine minimale Skriptsprache, mit der man eine Art "Makros" schreiben könnte.

Ich glaub, irgendwann streikt die Forensoftwaren :mrgreen:

Die Scriptsprache sollte aber nicht zu kompliziert werden. Ich will schon noch meine einfachen "STRING name=value"'s eingeben können, und auf die 5 geschweiften Klammern und den abschließenden Semikolon verzichten. Ich denke mal, das Bearbeiten von Werten und Schlüsseln dürfte die Hauptaufgabe eines Registry-Editors sein - nicht eine Implementation eines kompletten Scripts. ;)
jaenicke Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19341
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 14.06.09 01:49 
user profile iconYogu hat folgendes geschrieben Zum zitierten Posting springen:
Die Scriptsprache sollte aber nicht zu kompliziert werden. Ich will schon noch meine einfachen "STRING name=value"'s eingeben können, und auf die 5 geschweiften Klammern und den abschließenden Semikolon verzichten. Ich denke mal, das Bearbeiten von Werten und Schlüsseln dürfte die Hauptaufgabe eines Registry-Editors sein - nicht eine Implementation eines kompletten Scripts. ;)
Ja, da werde ich mir etwas einfallen lassen. Aber sowohl Plugins als auch Skripte stehen natürlich relativ weit hinten auf der Featureliste. Wobei deren Implementierung dann einfach sein sollte, denn die Funktionalitäten sind ja alle gekapselt und so leicht erreichbar. So sollten also auch kleine Schleifen möglich sein.

Ich stelle mir das ca. so vor:
ausblenden Quelltext
1:
2:
3:
4:
open hklm\software\microsoft
for i := 0 to 4 step 2 do
  regsz Testwert=Mein (i)ter Wert
end
Oder um im Editor einen Wert für den Benutzer zu markieren:
ausblenden Quelltext
1:
2:
navigate hklm\software\microsoft
mark Name
Oder:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
connect c:\test.reg

connect 192.168.1.100

compare hklm\software\borland
  with hkcu\software\borland
exportdiff c:\test.reg
showdiff
Sowas eben. Immer nur ein Befehl und ggf. ein Parameter in jeder Zeile (bis auf die Schleife halt), damit man da nicht noch mit Anführungszeichen und sowas arbeiten muss, keine Klammern oder sowas.

Ich werde im Projekt selbst dann auch statt der TListView rechts eine TVirtualStringTree nehmen, dann kann ich leichte Farbnuancen benutzen um Informationen zu visualisieren (z.B. grün untermalt --> Datei existiert, rot --> existiert nicht). Und auch um die Buttons und sowas für Verlinkungen zu zeichnen und so ist die Komponente besser.
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: So 14.06.09 02:29 
Wie wärs mit SQL? Ich mein, das würde eigentlich gut passen.

ausblenden SQL-Anweisung
1:
2:
3:
CONNECT TO localhost;
USE HKLM;
SHOW \software\what\ever WHERE KEY LIKE "%filter%";


ausblenden SQL-Anweisung
1:
2:
3:
COMPARE \software ROOT HKLM FROM localhost
TO \software ROOT HKLM FROM sik.reg
EXPORT TO diff.reg


Ich find das cool. ;)

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
jaenicke Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19341
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 14.06.09 02:38 
Das würde aber mehr Schreibarbeit und gleichzeitig einen "echten" Parser bzw. zumindest etwas in der Richtung bedeuten. Der Vorteil von dem was ich geschrieben habe ist ja gerade, dass es sowohl wenig zu schreiben gibt als auch leicht zu interpretieren ist. ;-)

Aber da ist ja noch Zeit dafür sich da etwas auszudenken, insbesondere wenn klarer wird was Plugins und Userskripte alles können sollen.

Ach ja: Ich habe ja nichts dagegen, wenn du dann deine eigene Skriptsprache entwirfst inkl. passendem Parser, wenn dir die eingebaute dann nicht so gefallen sollte. :mrgreen:
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: So 14.06.09 02:42 
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Das würde aber mehr Schreibarbeit und gleichzeitig einen "echten" Parser bzw. zumindest etwas in der Richtung bedeuten. Der Vorteil von dem was ich geschrieben habe ist ja gerade, dass es sowohl wenig zu schreiben gibt als auch leicht zu interpretieren ist. ;-)

Aber da ist ja noch Zeit dafür sich da etwas auszudenken, insbesondere wenn klarer wird was Plugins und Userskripte alles können sollen.

Nehmen wir doch einfach eine allgemeine Schnittstelle für Skriptsprachen mit rein :mrgreen:

user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Ach ja: Ich habe ja nichts dagegen, wenn du dann deine eigene Skriptsprache entwirfst inkl. passendem Parser, wenn dir die eingebaute dann nicht so gefallen sollte. :mrgreen:

Was hältst Du von LLVM ;-)

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
jaenicke Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19341
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 14.06.09 02:59 
user profile iconBenBE hat folgendes geschrieben Zum zitierten Posting springen:
Nehmen wir doch einfach eine allgemeine Schnittstelle für Skriptsprachen mit rein :mrgreen:
Wird es ja geben: Die integrierte Skriptsprache. :mrgreen:
Man muss es halt übersetzen. :mrgreen:

user profile iconBenBE hat folgendes geschrieben Zum zitierten Posting springen:
Was hältst Du von LLVM ;-)
Sicher, das würde genau passen. :rofl: ;-)

Ja, ich werde in ein paar Tagen mal eine erste funktionsfähige Version unter Open Source Projekte einstellen. Bisher ist der Quelltext dafür noch... ungeeignet, sagen wir mal so. ;-)
jaenicke Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19341
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 19.06.09 06:44 
Ich habe jetzt einmal eine Vorschauversion veröffentlicht. Die kann noch nicht viel, manche bereits separat getesteten Teile sind auch noch nicht eingebaut.

Vom Prinzip her klappt es aber sehr gut. Es gibt keine spürbaren Verzögerungen, auch nicht wenn ich die über 10.000 Zweige von HKEY_CLASSES_ROOT aufklappe. Auch das Einlesen des gesamten Zweigs HKEY_CURRENT_USER\Software aus einer .reg Datei (20,5 MiB, 320.000 Zeilen) dauert nur Sekundenbruchteile.

www.delphi-forum.de/viewtopic.php?p=567719