**************************************************************************

                          RAMSCH-RCS 1.0

                       by Rainer M. Schmid

**************************************************************************

0. Allgemeines
Dies ist ein fantastisches, unglaubliches, noch nie dagewesenes
Resource-Construction-Set von einem unglaublichen Programmierer entworfen
und geschrieben: MIR
Noch unglaublicher und fantastischer ist, da dieses Programm Public
Domain ist und nix kostest und jeder es frei kopieren kann. (Dennoch will
ich niemanden abhalten, mir eine kleine Spende zu spendieren).
Es sollte in der mittleren und hohen Auflsung ohne Schwierigkeiten laufen
(bei der niedrigen Auflsung gibt es Probleme, da die Dialogfelder zu gro
sind). Sollten wider Erwarten dennoch Fehler auftreten schreiben Sie mir
bitte mglichst genau, wie, wann, unter welchen Umstnden etc. der Fehler
aufgetreten ist, so da ich ihn zu Hause wiederholen kann (siehe auch
Abschnitt Bugs).

1. Bedienung
Da viele Funktionen des Programms selbterklrend sind, mchte ich nur auf
Besonderheiten der Bedienung eingehen.

1.1. Hinzufgen eines Trees
Links neben dem Window ist ein Dialog zu sehen. Die Icons knnen ins
Fenster gedraggt werden, um einen neuen Tree zu erzeugen. Die einzelnen
Icons haben dabei folgende Bedeutung:
        MENUE:          Ein Pulldown-Menue wird im Speicher erzeugt.
        DIALOG:         Ein normales Dialogfeld wird erzeugt (dabei
                        wird fr die Objekte ein Raster benutzt).
        FREE:           Wie DIALOG, allerdings ohne Raster
        UNBEKANNT:      Wie FREE, sollte man aus bersichtlichkeit
                        nicht verwenden; dient hauptschlich dazu,
                        wenn ein fremdes Resource geladen wird, das
                        keine DEF-Datei besitzt, zu signalisieren,
                        da der Typ nicht erkannt werden konnte.
Mit einem Doppelclick auf das jeweilige Icon im Fenster, kann es zur
Bearbeitung geffnet werden. Dabei ndert sich auch der Inhalt des
Dialogs, das jetzt die Objekte enthlt, die man dem Tree hinzufgen kann.
Das Hinzufgen erfolgt durch ein einfaches Draggen des Objekts an die
Stelle, an der es Erscheinen soll.
Die Verkettung wird so vorgenommen, da das neue Objekt Sohn des Objekts
ist, innerhalb dessen sich die linke obere Ecke des neuen Objekts sich
befindet. Objekte knnen verschoben werden, indem man sie an die neue
Position draggt. Dabei ndert bzw. kann sich die Verkettung ndern, wenn
die linke obere Ecke des verschobenen Objekts sich in einem anderen Objekt
befindet. (Dies alles gilt nicht fr Menues.)
Bettigt man den Closer des Fensters (in dem "Tree-Bearbeitungs-Modus"),
gelant man in den "Tree-hinzufgen-Modus" zurck.

1.2. Menue "RSC berladen"
Entspricht dem normalen Laden, allerdings wird man nicht aufgefordert, ein
File auszuwhlen, sondern das bereits geladene Resource (Pfad und Name
stehen in der Titelzeile des Fensters) wird geladen. Dabei gehen
selbstverstndlich alle bisher gemachten nderungen verloren.

1.3. Menue "RSC anhngen"
Tip: Sollten Sie Probleme mit einem Resource-File haben (d.h. es wird
nicht korrekt geladen), dann sollten Sie es mal mit dieser Funktion
versuchen zu laden. (Vorher aber noch ein im Speicher befindliches
Resource mit "Neu" lschen.)

1.4. Icon-Editor
Das untersttzte Icon-Format entspricht dem von IconEdi (von Stefan Mnch)
benutzten. Dieses Programm ist als Public-Domain erhltlich und jedem, der
fters mit Icons arbeitet zu empfehlen. Da ich darauf verzichtet habe,
einen Icon-Editor zu implementieren, kann man einen externen Icon-Editor
aufrufen (dessen Pfad und Name mu erst mit dem Menue-Punkt "Icon-Eitor
lokalisieren" festgelegt werden).

1.5. Klemmbrett
Das Klemmbrett ist ein Speicher, in dem man einzelne Objekte (mit Kindern)
und auch ganze Trees zwischenspeichern kann, um diese spter wieder
herunterzuholen. Dabei kann jeweils nur ein Objekt (d.h. Objekt, evtl. mit
Kindern oder Tree) sich auf dem Klemmbrett befinden. Befand sich vorher
schon eines darauf, so geht es verloren.
"Ins Klemmbrett kopieren" kopiert das selektierte Objekt ins Klemmbrett.
Das ursprngliche Objekt bleibt erhalten. "Ins Klemmbrett verschieben"
entspricht der vorherigen Funktion, allerdings wird das ursprngliche
Objekt gelscht.
"Von Klemmbrett holen" fgt das sich im Klemmbrett befindliche Objekt an
der linken oberen Ecke der Root ein. (Bei Trees wird der Tree in die
Treeliste aufgenommen).
"Kopieren" fhrt gleichzeitig die Funktionen "Ins Klemmbrett kopieren" und
"Von Klemmbrett holen" aus.
Bei MENUEs funktionieren die Klemmbrett-Funktionen nicht.

1.6. Menue "Raster einstellen"
Beim Typ DIALOG wird ein Raster benutzt (s.o.). Mit dieser Funktion kann
man die Rastergre einstellen.

1.7. Menue "Bildschirmgre einstellen"
Mit dieser Funktion kann man den maximalen x- und y-Bereich eines Dialogs
in Pixeln angeben.

1.8. Menue "Sortieren"
Die Kinder der ersten Generation des selektierten Objekts werden sortiert
(ndert unter anderem auch die Reihenfolge, mit der sie angezeigt werden).
Hierbei kann man zwischen physischen und logischen Sortieren whlen. Beim
logischen Sortieren wird nur die Verkettung gendert; die Objektnummern
bleiben erhalten. Beim physischen Sortieren hingegen werden die Objekte
direkt vertauscht. D.h. die Objektnummern ndern sich und eine neue
Compilierung des Programms wird notwendig.

1.9. Menue "Physisch verauschen mit..."
Zuerst selektiert man ein Objekt, das man mit einem anderen physisch
vertauschen will. Danach whlt man den Menue-Punkt an. Schlielich
selektiert man noch das Objekt, mit dem es vertauscht werden soll. Dabei
ndert sich die logische Struktur (Verkettung der Objekte untereinander)
nicht, sondern nur die Objektnummern.
Einen hnlichen Effekt kann man erzielen, wenn man ein Objekt mit
Doppelclick ffnet und dann im Eintrag Objekt-Nr diese ndert. (Sofern
diese nderung gltig ist wird sie auch ausgefhrt. D.h. die
Objektnummern, und nur die Objektnummern, der beteiligten Objekte werden
vertauscht.

1.10. Menue "Unhide"
Lscht alle evtl. gesetzten Hide-Flags.

1.11. Menue "Profi-Modus"
Normalerweise knnen die Flags "indirect" und "lastob" nicht gendert
werden. Diese Option ermglicht es jedoch. (Sollte im Normalfall nicht
benutzt werden, da es bei den meisten nderungen einen Systemabsturz
hervorruft; es wurde aber der Vollstndigkeit halber hinzugefgt.)

1.12. Menue "Def-Liste drucken"
Hiermit kann man die Namen der einzelnen Objekte ausdrucken. (Um die
Wrikung der einzelnen Optionen herauszufinden, sollten sie am besten
ausprobiert werden, falls die Bezeichnung nicht ganz klar ist.)

1.13. Menue "Icon-Editor lokalisieren"
Mit dieser Funktion kann man den Pfad und den Namen des Programms
festlegen, das bei der Funktion "Icon-Editor aufrufen" aufgerufen werden
soll.

1.14. Menue "Status sichern"
Diese Funktion speichert die Einstellungen fr die Suchpfade (bei
RSC-Files und bei ICO-Files) und den Pfad und Namen des Icon-Editors.
Ferner noch die Einstellungen der Funktionen "Bildschirmgre einstellen"
und "Raster einstellen". Beim Programmstart werden diese automatisch
geladen und benutzt. Existiert keine INF-Datei, so werden Default-Werte
benutzt.

1.15. Einschrnkungen
Das Programm untersttzt den Objekttyp "G_IMAGE" nicht.
Die Gesamtzahl von Trees ist auf 50 beschrnkt.

2. Bugs
"Program testing can be used very effectively to show the presence of
bugs, but never to show their absenece!" (Dijkstra)
Dieses Programm wurde zwar ausfhrlich getestet, Fehler knnen aber nicht
ausgeschlossen werden, daher sollte man fters eine Sicherheitskopie von
der Resource-Datei erstellen, um eventuellen Datenverlust zu vermeiden.
Ferner bitte ich jeden, der einen Fehler entdeckt, mir dies mitzuteilen,
und zwar mglichst genau, damit ich ihn reproduzieren kann (mglichst mit
genauen Angaben des verwendeten Rechners, Betriebsystems, Erweiterungen
etc.).

3. In eigener Sache
Zuletzt noch ein paar Bemerkungen in eigener Sache:
Ich bin gerne bereit, auf Fragen und sonstige Probleme zu antworten,
allerdings sollte dann ein ausreichend frankierter Briefumschlag beigefgt
werden; ansonsten kann ich nicht zurckschreiben.
Fr Vorschlge, Wnsche, Beschwerden und destruktive Kritik bin ich
dankbar und werde sie gerne in einer neuen Version aufnehmen (falls es
eine geben wird, denn in einem solchen Programm steckt viel Arbeit und
Zeit; und ich wei noch nicht, ob ich noch mehr Arbeit hineinstecken soll
und ob sich das lohnt).
Wenn jemand das erweiterte RSC-Format (d.h. keine Beschrnkung der Lnge
des Resource auf 64K) kennt, wre ich ihm dankbar, wenn er mir dieses
mitteilen knnte.
Auf der Diskette ist noch ein kleines Programm mit dem Namen "TEST.C"
enthalten. Da ich bei einer neuen Version gerne eine Funktion
implementieren wrde, die es erlaubt ein Resource als C-Quelltext in das
Pogramm aufzunehmen, wre es interressant zu erfahren, ob das Programm mit
Ihrem Compiler zusammenarbeitet bzw. wie es zu modifizieren wre, damit es
luft. (Ein Problem knnte sich vieleicht beim String "str" in der
Definition vom Objekt "o" ergeben.)
In der mir zur Verfgung stehenden Literatur fand ich zwei verschiedene
Formate fr die Iconblk-Struktur (eine mit der Lnge von 34 Bytes, die
andere mit 36 Bytes). Ich habe diejenige mit 34 Bytes implementiert; es
wrde mich aber interessieren, welche die gebruchliche ist.
Auerdem suche ich noch einen guten C-Compiler (z.B: Turbo-C, Pure-C
etc.), da ich bis jetzt mit dem Public-Domain-Compiler Sozobon-C arbeite,
und er doch recht langsam ist. Daher an alle, die einen C-Compiler billig
abzugeben haben: MELDET EUCH!!!
Als letztes noch meine Adresse, unter der ihr mich erreichen knnt:

4. Adresse

Rainer Schmid
Am Hagenweg 16
78259 Mhlhausen

Tel: 07733/5521

