home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Crawly Crypt Collection 2
/
crawlyvol2.bin
/
program
/
c
/
rsctocs
/
readme.txt
next >
Wrap
Text File
|
1986-02-04
|
6KB
|
174 lines
D E R R E S O U R C E - T O - C - W A N D L E R
=================================================
von
Dieter Fiebelkorn
Grüner Weg 29a
4370 Marl 1 (Brassert)
(Entwickelt mit dem Turbo-C Compiler)
(Idee und die rsrc_load-Routine entstammen
der ST-Computer Dezember '87 Seite 129 f.)
>>>> PUBLIC - DOMAIN <<<<
Dieses Programm wird vielleicht vielen C Programmierer helfen mit Resourcen
zu arbeiten.
So kann zum Beispiel ein Programm entwickelt werden, daß ganz auf
externe Resourcen verzichten kann.
Dazu werden einfach die Resoucen mit diesem Wandler geladen und auf
Wunsch bearbeitet und abgespeichert. Das gespeicherte File hat die
Form einer C-Source, die lediglich compiliert und zu dem eigentlichen
Programm hinzugelinkt werden muß. Das Hauptprogramm muß nicht abgeändert
werden, da der Aufruf der rsrc_load und "rsrc_free" - Routine
syntaktisch mit den Betriebssystemfunktionen übereinstimmt.
Eine andere Möglichkeit besteht darin die "#include" - Anweisungen
der erzeugten Source zu entfernen und die Source selbst als Include-
File für das Hauptprogramm zu benutzen.
Weiterhin wird nach dem Laden der Resource eine Kurzinformation der
Resource angezeigt, es ist der sogenannte Resource-Header.
ACHTUNG : FALLS EIN EDITOBJEKT GLEICHZEITIG AUCH DAS LASTOBJEKT EINES
======= BAUMES IST KOMMT DAS BETRIEBSSYSTEM DURCHEINANDER.
ES IST DANN MÖGLICH DIE EDITIERFELDER DES IM SPEICHER FOLGENDEN
BAUMES ZU BENUTZEN.
NACH ABSCHLUß DER EDITIERARBEITEN KANN ES ZUM ABSTURZ KOMMEN
FALLS DIESE UNERLAUBTEN EDITIERFELDER BENUTZT WURDEN.
DA DIE RESOURCE-CONSTRUCTION-SET'S DIESEN UMSTAND SCHEINBAR NICHT
BEACHTEN EMPFIEHLT ES SICH IN DER C-SOURCE EINE UMGRUPPIERUNG DER
OBJEKTE VORZUNEHMEN. (VORAUSSETZUNG IST, DAß SIE ÜBER DEN GENAUEN
AUFBAU EINES OBJEKTBAUMES BESCHEID WISSEN.
UND VERGESSEN SIE NICHT EVTL. DIE '*.H'-DATEI ZU ÄNDERN ODER BEI
ERGÄNZUNGEN UND EINFÜGUNGEN DIE "BAUMADRESSEN" ABZUÄNDERN
'rs_trindex' !!!)
ACHTUNG : "FREE_IMAGES" und "FREE_STRINGS" werden nicht unterstützt !
Noch zwei Tips:
1. Wollen Sie eine interne und externe Resource benutzen, so benennen
Sie die Routinen der erzeugten Source um z.B. in r_load bzw. r_free
und sichern Sie die evtl. schon bestehende Resource.
extern int global[];
static int rsrcload_flag = 0;
static int rsrcsave_flag = 0; <<-- Einfügen
static OBJECT rsc_save; <<-- Einfügen
T0OBJ = 12;
:
:
/* ========= Resource-Load-Segment ========= */
int r_load (RscFile)
char *RscFile;
{
int dx,
dy,
Obj;
OBJECT **GEM_rsc;
GEM_rsc = (OBJECT **) &global[5];
if (rsrcsave_flag == 0) <<-- Einfügen
{ <<-- Einfügen
rsc_save = *GEM_rsc; <<-- Einfügen
rsrcsave_flag = 1; <<-- Einfügen
} <<-- Einfügen
*GEM_rsc = (OBJECT *) &rs_trindex[0];
if (rsrcload_flag == 0)
{
:
:
}
}
int r_free ()
{
OBJECT **GEM_rsc;
if (rsrcsave_flag == 1) <<-- Einfügen
{ <<-- Einfügen
GEM_rsc = (OBJECT **) &global[5]; <<-- Einfügen
*GEM_rsc = rsc_save; <<-- Einfügen
rsrcsave_flag = 0; <<-- Einfügen
} <<-- Einfügen
return(1);
}
2. Wollen Sie jedoch zwei interne Resource benutzen, so müssen Sie
zusätzlich die Variablen einer "Resource" umbenennen.
Ich wünsche viel Spaß mit dem
RESOURCE-TO-C-WANDLER
D I E T E R
P.S. : Wie schon angeführt entstannt die Idee dieses Wandles beim Lesen
des Artikels der aus des ST-Computer die rsrc_load - Routine wurde
diesem Artikel entnommen und für dieses Programm in geeigneter
Weise modifiziert und in ein, wie ich glaube, sinnvolles Programm
integriert.
Ich hoffe auf Verständnis bei dem Autoren dieses Artikel und beim
Heim-Verlag.
P.P.S. : Für Angabe von Fehlern in diesem Programm und Verbesserungs-
vorschlägen wäre ich sehr dankbar.
(Bei Fehlern bitte eine möglichst genaue Beschreibung des
Vorganges der zu dem Fehler führte)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Vorliegende Dateien
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- RSC_TO_C.PRG : "Das Programm ! "
- README.TXT : "Schon gelesen. (hoffe ich jedenfalls)"