Autor Beitrag
CodeWicht
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 90

Win98, WinXP
D6
BeitragVerfasst: Sa 28.06.03 13:21 
Ein fröhliches "Hi" an die Delphi-Gemeinde.

Intro: Im Jahre 2002 kam mir die Idee, ein Programm zu entwickeln, das so aussieht wie das Windows-Programm cmd.exe. Nur sollte meins besser und flexibler sein. Anfang 2003 wurde mit den Konstruktionsarbeiten begonnen und ein neuer Stern am Freewarehimmel war geboren - die TitanBox.

Also, bei der TitanBox handelt es sich um ein Konsole-Programm, das auf der Basis von Dlls arbeitet. Es gibt das sogenannte Loader-Programm, das das Management der Dlls übernimmt. Die einzelnen Funktionen werden durch die Plugin-Dlls bereitgestellt. Ziel und Zweck ist es nun, die TitanBox mit sinnvollen Plugins auszustatten.
Derzeit gibt es 3 Zusatz-Plugins, die auf der unten genannten Webseite herunterzuladen sind:

tbsysinfo: Plugin für systeminformationen
tbnet: Plugin für Internet- und Netzwerkzwecke
tbfilesys: Plugin fürs Dateisystem

Diese Plugins befinden sich in einer ständigen Weiterentwicklung. Wenn ihr Interesse an der Entwicklung eigener Plugins habt, dann kreiert welche. In den nächsten Tagen stelle ich eine Muster-Dll zur Verfügung, nach der sich jeder TitanBox-Dll-Programmierer halten muss, um die Kompatibilität zu wahren. Weiterhin werdet ihr eine crt-Unit benötigen, um die Konsolenfunktionalitäten ausreizen zu können. Diese Unit folgt auch in den nächsten Tagen.

Zur Technik: Wie ja bekannt ist, gibt es zwei Möglichkeiten Dlls zu verwenden, die statische und die dynamische Einbindung. Die TitanBox erweitert diese Methoden um die dynamisch-dynamische Einbindung. Dabei muss die TitanBox vorher nicht wissen, welche Plugins zur Verfügung stehen und welche Funkionen bereitgestellt werden. Daraus resultiert, dass man zur Laufzeit neue Plugins einspielen kann und anschließend auch gleich benutzen (die Plugin-And-Run-Methode (PIAR-Methode)). Duch diese Konzept ist es weiterhin möglich, selbst Formulare in Dlls aus der TitanBox zu starten.

Die TitanBox liegt derzeit in der Version 0.4 vor und ist unter

www.mbprogramming.de/downloads/Rel-0.4.zip (203 KB)
zu bekommen. Version 0.5 erscheint demnächst mit erweiterten Funktionen in der Basis-Dll.

Weiterhin befinden sich auf www.mbprogramming.de kleine Erklärungen zu den Funktionen der entsprechenden Plugins.

Für Kritiken und Vorschläge bin ich sehr dankbar.

Grüsse CodeWicht. :lol:

_________________
The equal is true.
Popov
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1655
Erhaltene Danke: 13

WinXP Prof.
Bei Kleinigkeiten D3Pro, bei größeren Sachen D6Pro oder D7
BeitragVerfasst: Sa 28.06.03 16:17 
Nun ja, es ist noch etwas wenig um sich eine Meinung zu bilden, aber die Idee ist nicht schlecht. Das ganze erinert sehr an die Linux Konsolen. Ist das jetzt nur optisch so, oder erkennt das Programm auch wenn man Adminrechte hat? Weiterhin solltest du an den Editierfähigkeiten der Zeile was tun. Da bietet sogar die Command-Box bessere Möglichkeiten. Und die gelten allgemein als gering. Also etwas mehr Editierfähigkeiten.

Ansonsten ist das Besondere wahrscheinlich die Einbindung der Dll's und somit die Erweitbarkeit. Das kann man noch schwert testen.

_________________
Popov
CodeWicht Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 90

Win98, WinXP
D6
BeitragVerfasst: Sa 28.06.03 17:10 
Wenn man als Admin eingeloggt ist, dann steht am Anfang der Zeile Admin oder Administrator. Angezeigt wird jeweils der aktuelle Benutzer.

Die angesprochenen Editierfähigkeiten beziehen sich immer auf die Fähigkeiten der Konsole des entsprechenden Betriebssystems. Was die Konsole editieren kann, kann auch die TitanBox. Was genau meinst Du mit besseren Editierfähigkeiten?

Richtig, die Erweiterbarkeit und somit die Individualisierung steht bei diesem Projekt im Vordergrund. Hast Du die Plugins schon ausprobiert?

Grüsse CodeWicht

_________________
The equal is true.
Popov
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1655
Erhaltene Danke: 13

WinXP Prof.
Bei Kleinigkeiten D3Pro, bei größeren Sachen D6Pro oder D7
BeitragVerfasst: Sa 28.06.03 20:34 
CodeWicht hat folgendes geschrieben:
Wenn man als Admin eingeloggt ist, dann steht am Anfang der Zeile Admin oder Administrator. Angezeigt wird jeweils der aktuelle Benutzer.


Das meine ich eigentlich nicht. Soweit ich mich erinnern kann, wird bei Linux ein # angezeigt, wenn man Adminrechte hat oder ein $ bei normalen Benutzern. Das soll nicht heißen, daß es bei dir auch so ist, aber der Rest sieht eben wie in einer Linux-Konsole.

CodeWicht hat folgendes geschrieben:
Die angesprochenen Editierfähigkeiten beziehen sich immer auf die Fähigkeiten der Konsole des entsprechenden Betriebssystems. Was die Konsole editieren kann, kann auch die TitanBox. Was genau meinst Du mit besseren Editierfähigkeiten?


Es ist heute Standard, daß man sich mit den Cursotasten innerhalb der Zeile hin und her bewegen kann. Dann kann man mit den Cursortasten rauf und runter die letzten Zeilen aufrufen. Das meinte ich damit.

_________________
Popov
roller
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 22



BeitragVerfasst: So 29.06.03 10:49 
Zitat:

Es ist heute Standard, daß man sich mit den Cursotasten innerhalb der Zeile hin und her bewegen kann. Dann kann man mit den Cursortasten rauf und runter die letzten Zeilen aufrufen. Das meinte ich damit.


mhh also ich hab ja das prog getestet und das was du da beschrieben hast funzt bei mir einwandfrei....


btw: das idee ist echt gut, plugins dafür zu entwickeln möchte ich gerne mal ausprobieren ;)
CodeWicht Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 90

Win98, WinXP
D6
BeitragVerfasst: So 29.06.03 11:20 
@ Popov: Wie schon geschrieben, kann die TitanBox alles das, was deine Windows-Konsole kann. Wenn Win98-Konsole nichts editieren kann, liegt das an der Win98-Konsole. Bei mir mit Windows XP funzt es sehr gut.

Nun die Links für die crt-Unit und die Muster-Dll:

www.mbprogramming.de/downloads/crt.zip

www.mbprogramming.de...oads/tbmusterDll.zip

Hinweis zu den zu übergebenden Parametern:

Als Parameter wird ein ShortString übergeben.
In der Dll muss sich eigenständig um die Zerlegung dieses ShortStrings in die benötigten Bestandteile gekümmert werden.

Ich würde mich wirklich sehr freuen, wenn ich die von euch geschriebenen Plugins auf meiner Site veröffentlichen darf. Einfach das fertige Plugin an webmasterATmbprogramming.de schicken.

Danke und viel Erfolg. Und wie immer, bei Fragen an mich wenden!

Cu

Nachtrag: Das $-Zeichen wurde von mir frei und wirklich ohne Hintergrund gewählt. Vielleicht komme ich ja demnächst in die Verlegenheit den Administratorstatus mit einzubinden.

@Plugin-Programmierer: Ich habe ein Bug in der 0.4-Version entdeckt, der es nicht erlaubt, mehr als 1 Parameter zu übergeben. Dieser Bug wird in der Version 0.5, die ich vielleicht heute am Abend noch fertigstellen kann, behoben sein.

_________________
The equal is true.
tommie-lie
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: So 29.06.03 12:12 
Popov hat folgendes geschrieben:
Es ist heute Standard, daß man sich mit den Cursotasten innerhalb der Zeile hin und her bewegen kann. Dann kann man mit den Cursortasten rauf und runter die letzten Zeilen aufrufen. Das meinte ich damit.

Da scheint MS zumindest noch in der 9x-Schiene anderer Meinung zu sein.
Wie es bei der cmd.exe von NT aussieht, weiß ich natürlich nicht, aber die command.com-Versionen von DOS 1.0 bis DOS 7.1 (Win98) haben diese Fähigkeit nicht. Mit der Pfeiltaste nach oben bekommt man nicht den vorher eingetippten Befehl, mit den horizontalen Pfeiltasten kann man sich nicht im Befehl bewegen (übrigens wird bei Pfeil-Links rückwärts gelöscht, gleiche Funktion wie Backspace...).
Diese Funktion wird erst durch das Programm Doskey ermöglicht. Wenn das bei dir in der Autoexec geladen wird, schön und gut, dann kann er's, wenn nicht, klappt's eben nicht.
Aber Popov hat schon recht, eine eigene Version dieser Doskey-Erweiterung, die automatisch geladen wird, wäre nicht schlecht.

_________________
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
Popov
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1655
Erhaltene Danke: 13

WinXP Prof.
Bei Kleinigkeiten D3Pro, bei größeren Sachen D6Pro oder D7
BeitragVerfasst: So 29.06.03 14:57 
CodeWicht hat folgendes geschrieben:
Wie schon geschrieben, kann die TitanBox alles das, was deine Windows-Konsole kann.


Im Prinzip ist es mir natürlich egal. Nur finde ich, daß es heutzugage ein gewisses Maß am Komfort an einer Eingabeaufforderung geben sollte, unabhängig des OS. Ansonsten werden es viele nicht nutzen. Das ist kein MS DOS wo man es akzeptieren muß.

Als Referenz kan ich dir 4Dos vorschlagen. Ist auch ein Ersatz für die MS Dos Box und bietet, unabhängig des OS, die Editiermöglichkeiten.

_________________
Popov
mirage228
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 338

Win 7 Prof.
Delphi 2005 Prof., Delphi 2010 Prof.
BeitragVerfasst: So 29.06.03 16:27 
Hi,

cooles Programm. Besonders die Plug-in Fähigkeit gefällt mir!

Hab auch gleich ein Plug-In gemacht ;-)

www.starwars.newbieb...bfilelistcreator.zip

mit diesem plugin-kann man schöne datei list erstellen.
leider funzen die ganze parameter wegen dem bug in der 0.4 net...

aber einfaches suchen geht trotzdem ;-)

mfG
mirage228

_________________
May the source be with you, stranger.
w3seek
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 64

Win XP; Win 2k; Suse 9.0
D5 Std, D6 Personal
BeitragVerfasst: So 29.06.03 17:22 
vielleicht interessiert dich ein altes projekt von mir:
console.zip

_________________
OS: WinXP, 2000, Debian
Software: MingW, Delphi 5 Standard, Delphi 6 Personal, FreePascal
CodeWicht Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 90

Win98, WinXP
D6
BeitragVerfasst: So 29.06.03 18:25 
Soooooooo, die Version 0.5 ist fertig.
Was ist neu?
- Parameter-Bug behoben
- neue Funktionen -> echo, batch
- autorun-Batchdatei für TB-Funktionen

Download Version 0.5:
www.mbprogramming.de/downloads/Rel-0.5.zip

@mirage228: Schön, freut mich sehr! Hab mir das Plugin mal reingefahren. Es fiel mir auf, dass folgender Befehl keine Ergebnisse liefert:

list_files //rec C:\Windows

Jedoch lieferte mir der Aufruf ohne //rec das Verzeichnis C:\Windows. Vielleicht schaust du nochmal bei der Option //rec nach.
Weiterhin funzte die Funktion datei_groesse nicht!!! :(

Wie sieht es mit der Veröffentlichung des Plugins aus. Darf ich es auf meiner Seite posten? Mit Link zu deinem Speicherort oder solls es ganz und gar auf meine Seite? Kannst Du mir vielleicht so ne kleine Erklärungsliste schreiben, so in der Art wie die Erklärungen auf meiner Seite zu meinen Plugins? Das wäre echt cool :D

@w3seek: Danke für den Beitrag. Vielleicht kann ich Teile davon sinnvoll implementieren, wenn meine crt-Unit an ihre Grenzen gestoßen ist.

@all zu der Editierfrage: Wenn ihr so auf die Editierfähigkeiten pocht, dann saugt euch die Muster-DLL, und schreibt ein DOS-Key-Plugin. Wenn es dann gut funzt, bin ich sehr gewillt, es in einer der nächsten Versionen fest zu verankern. An dieser Stelle zeigen sich hier wunderbar die Vorteile der Idee der TitanBox. Schreibt Plugins um euch das ganze Gerät zu individualisieren. Die TB ist schon so flexibel, warum nutzt ihr das nicht aus?

Grüsse CodeWicht

_________________
The equal is true.
Alibi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 458

Win2K SP3
Delphi 6 Ent
BeitragVerfasst: So 29.06.03 19:19 
Warum stürzt die Console ab, wenn diese DLL im Pluginordner ist?
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
library tbtypefile;

uses
  SysUtils;

{$R *.res}

procedure typefile(ParamIn : ShortString); stdcall;
begin
 writeln('Dieses Plugin ist nur ein Muster Plugin! Parameter: ' + ParamIn);
end;

exports
typefile;

begin
end.
CodeWicht Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 90

Win98, WinXP
D6
BeitragVerfasst: So 29.06.03 19:28 
Hä? Also bei mir geht das mit dem Plugin tbtypefile.

Diese Library entspricht genau den Konventionen für die Plugins. Stürzt die Box nur bei diesem Plugin ab, oder bei allen?

_________________
The equal is true.
Alibi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 458

Win2K SP3
Delphi 6 Ent
BeitragVerfasst: So 29.06.03 19:38 
Wenn ich die fertige DLL in den Ordner Plugins kopiere und dann das Programm starte stürzt es ab. Sobald sie nicht mehr im Ordner ist läuft alles einwandfrei, alle Plugins deiner Seite.
CodeWicht Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 90

Win98, WinXP
D6
BeitragVerfasst: So 29.06.03 20:10 
lad dir mal die 1:1-Kopie der tbtypefile runter und probier mal:

www.mbprogramming.de...loads/tbtypefile.zip

Hört sich echt seltsam an! Welches OS benutzt du? Bislang kann ich mir dieses Phänomen nicht erklären.

OS ist Win2k, habe ich gerade gesehen.

Hast du mal das Plugin anders genannt? Liegt es vielleicht daran?

P.S.: Beim Start der TitanBox greift diese 3 mal auf die tbsystem.dll zu. Alle anderen Plugins bleiben unangetastet, es sei denn, es werden Funktionen aus anderen Plugins in der autorun.tbb aufgerufen.

_________________
The equal is true.
Alibi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 458

Win2K SP3
Delphi 6 Ent
BeitragVerfasst: So 29.06.03 21:30 
Nope, läuft nicht.

Mag das vielleicht damit zusammenhängen, dass die dll und die exe mit verschiedenen Delphiversionen kompiliert wurden?
CodeWicht Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 90

Win98, WinXP
D6
BeitragVerfasst: So 29.06.03 22:01 
Du wirst lachen, wir haben beide die gleiche Version von Delphi. Also daran liegt es bestimmt nicht. Ausserdem habe ich ja die Beispiel-Dll (tbfiletype) auch kompiliert und die funzt bei dir ja auch nicht.

Das einzige, was ich mir noch vorstellen kann, ist, dass es an den Compiler-Optionen liegt. Danach ist mein Problemlösungspensum am Ende. Komischerweise funzt das Plugin von mirage! Vielleicht hat hier ja noch jemand das Problem und hat noch einen anderen Lösungsvorschlag.

Kannst du mir genau sagen, wie die Fehlermeldung aussieht? Hast du irgendwie ein Screenshot?

_________________
The equal is true.
Alibi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 458

Win2K SP3
Delphi 6 Ent
BeitragVerfasst: So 29.06.03 22:37 
Eine vernünftige Fehlermeldung kommt nicht. Nur "Die Anweisung in "0x77913acd" verweist auf Speicher in "0x00e70254", der Vorgang "read" konnte nicht auf dem Speicher durchgeführt werden.
CodeWicht Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 90

Win98, WinXP
D6
BeitragVerfasst: So 29.06.03 23:19 
welche Version hast du benutzt? 0.4 oder 0.5?

_________________
The equal is true.
Alibi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 458

Win2K SP3
Delphi 6 Ent
BeitragVerfasst: So 29.06.03 23:24 
0.5.
0.4 hab ich nie ausprobiert.