home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Computer Club Elmshorn Atari PD
/
CCE_PD.iso
/
pc
/
0600
/
CCE_0632.ZIP
/
CCE_0632
/
GOBJ_111.ZIP
/
GOBJECTS.111
/
DOKU
/
GOBJECTS.TXT
next >
Wrap
Text File
|
1994-03-26
|
23KB
|
578 lines
ObjectGEM-Einführung & Dokumentation
Version 1.11 vom 26.03.1994
Copyright (c)1992-94 by Softdesign Computer Software
written by Thomas Much
ACHTUNG: Diese Dokumentation ist z.Z. noch nicht vollständig!
Trotzdem dürfte ObjectGEM bereits jetzt für etwas
erfahrenere Programmierer eine große Hilfe darstellen.
Die komplette Anleitung wird demnächst als Update
erscheinen.
WICHTIG: Die Online-Hilfe ist mittlerweile komplett. Eine
Übersicht erhält man, wenn man nach "GObjects" oder
"ObjectGEM" sucht.
Inhaltsverzeichnis
------------------
I Einleitung
Willkommen bei ObjectGEM
Shareware und Registrierung
Installation: Unit und Online-Hilfe
Hotline und Updates
II Schritt für Schritt durch GEM - Eine Einführung in ObjectGEM
Schritt 1: Eine Minimalanwendung
Schritt 2: Text im Fenster ausgeben
Schritt 3: Linien im Fenster zeichnen
Schritt 4: Die Menüleiste
Schritt 5: (Fenster-)Dialoge
Schritt 6: Grafik anzeigen (Kollektionen)
Schritt 7: Laden & Speichern
Schritt 8: Eingaben überprüfen (Validator-Objekte)
Schritt 9: Ein paar kleine Verbesserungen
Schritt 10: Fenster rollen (TScroller)
Schritt 11: Zeichnen optimieren
Schritt 12: Profiles (INF-Dateien)
III ObjectGEM-Übersicht
Allgemeine Programmierrichtlinien
Wichtige Unterschiede zu ObjectWindows
IV Anhang
Geplante Erweiterungen
Anwenderprofil
-----------------------------------------------------------------------
TEIL I - Einleitung
WILLKOMMEN BEI OBJECTGEM
Auf dem Atari ST/STE/TT/Falcon bricht ein neues Zeitalter
des Software-Engineering an! Aber sehen Sie selbst...
ObjectGEM ist eine Sammlung von Units für PurePascal, mit der
recht einfach komplexe GEM-Programme erstellt werden können.
Durch die Ähnlichkeit zu ObjectWindows unter Borland Pascal 7.0
können die dort erstellten Programme leichter portiert werden,
und wer ObjectWindows programmieren kann, wird es auch mit
ObjectGEM nicht schwer haben. Aber auch alle anderen werden
in ObjectGEM eine professionelle und schnelle Hilfe finden.
Mit ObjectGEM wird es also möglich, daß alle Programme, die
z.Z. auf GEM verzichten, weil sie z.B. nur irgendwelche
Statusausgaben machen, korrekt und mit nur geringem Mehr-
aufwand unter GEM implementiert werden (z.B. auf der
Grundlage von HELLO.PAS). Außerdem können Dialoge mit
allen State-of-the-Art-Buttons etc. versehen werden,
der Rest (Verwaltung, Redraw, Auswertung etc.) geschieht
dann automatisch!
Wem die Größe von ObjectGEM nicht paßt, der möge die Tatsache
bedenken, daß objektorientierte Programmierung eigentlich noch
nie auf den Speicherbedarf geachtet hat (das scheint in der
Natur der Sache zu liegen...). Dafür ist der Funktionsumfang
aber beträchtlich, denn selbst das kleinste ObjectGEM-Programm
MINIMAL.PAS weiß bereits, wie ein komplettes GEM-Fenster
zu funktionieren hat (incl. <Control>+<F>,+<U>,+<Q> etc.).
Außerdem kommt es in der heutigen Zeit mehr darauf an, in
möglichst kurzer Zeit Programme zu schreiben, die leicht
zu bedienen sind, sicher laufen und gut erweitert bzw.
gewartet werden können; der Speicherbedarf tritt dabei
zunehmend in den Hintergrund. Trotzdem belegt ObjectGEM
immer nur soviel Speicher wie gerade nötig, da so ziemlich
alles dynamisch verwaltet wird. UND AUSSERDEM: Wer einmal
mit ObjectGEM angefangen hat, wird bestimmt nicht so schnell
wieder damit aufhören!
ObjectGEM ist an neuere AES-Versionen (4.x) und an MultiTOS an-
gepaßt, d.h. unter MultiTOS ist es z.B. möglich, Dialoge im Hinter-
grund zu _bedienen_ (Buttons anklicken, Edit-Cursor mit der Maus
verschieben etc., siehe "cs_WorkBackground")!
Diese Anleitung ist noch nicht komplett... Im Moment sei deshalb
noch auf das "ObjectWindows-Programmierhandbuch" von Borland Pascal
verwiesen, in dem man die Ideen, die auch hinter ObjectGEM stecken,
nachlesen kann. Teilweise kann das dort beschriebene sogar direkt
übernommen werden.
Und wen es interessiert: Ein Test von ObjectGEM 1.00 findet sich
im ST Magazin 7/93, S.22 ff.!
Nun aber genug der Vorrede, viel Spaß und Erfolg mit ObjectGEM!
Thomas Much, Karlsruhe im März 1994
"Möge die OOP mit Euch sein!"
SHAREWARE UND REGISTRIERUNG
ObjectGEM ist ein Shareware-Produkt. Das Programmpaket darf
beliebig weitergegeben werden, sofern die Units (d.h. die Quell-
texte) mit den dazugehörigen Dateien (Beispielprogramme, Dokumen-
tation etc.) _zusammen_ weitergegeben wird. Jeder kann dann in
Ruhe ein bißchen mit ObjectGEM herumprobieren. Wer allerdings
länger mit ObjectGEM programmiert (egal, ob die Programme ver-
öffentlicht werden oder nicht), muß sich registrieren lassen.
Die Registrierung kostet *** DM 50,-- ***. Das ist - im Vergleich
zu kommerziell angebotenen Bibliotheken - nicht sehr viel. Trotzdem
dürfen Programme, die mit einer registrierten ObjectGEM-Version
erstellt wurden, ohne etwaige Lizenzgebühren weitergegeben, ver-
kauft etc. werden.
Überweisen Sie dazu DM 50,-- auf das Konto
Thomas Much, Sparkasse Karlsruhe, Kto. 935 30 95,
BLZ 660 501 01 (Ihre ADRESSE nicht vergessen!!!)
oder schicken Sie einen Verrechnungsscheck über diesen Betrag an
Softdesign Computer Software
c/o Thomas Much, Gerwigstraße 46, 76131 Karlsruhe
Sie können den Betrag auch auf folgendes Konto überweisen:
Thomas Much, Postgiroamt Karlsruhe, Kto. 314881-753,
BLZ 660 100 75
Dann muß allerdings mit z.Z. bis zu vier Wochen Wartezeit ge-
rechnet werden (die Post...). WICHTIG: Wenn Sie einen Scheck aus
dem Ausland schicken und diesen nicht in DM ausstellen, berechnen
Sie bitte DM 8,-- extra! Wenn Sie aus dem Ausland überweisen,
machen Sie dies bitte so, daß der Empfänger keine zusätzlichen
Gebühren zahlen muß. Danke!
Sie erhalten dann umgehend die aktuelle Version - es sei denn,
Sie geben bei Ihrer Registrierung die Versionsnummer der Ihnen
vorliegenden ObjectGEM-Unit an; ist diese Version noch aktuell,
erhalten Sie erst dann eine Disk zugeschickt, wenn eine neue
Version veröffentlicht wird (wer also auf jeden Fall und sofort
eine Disk bekommen möchte, sollte bei seiner Registrierung keine
Versionsnummer angeben...). Außerdem haben Sie dann die Möglich-
keit, jederzeit mit einer formatierten 3,5" Diskette und einem
frankierten und adressierten Rückumschlag ein evtl. vorhandenes
ObjectGEM-Update direkt beim Autor (Adresse s.u.) zu bekommen.
Kosten wird dies nur dann etwas, wenn der Registrierpreis
steigen sollte (das wird der Fall sein, falls es einmal ein
gedrucktes Handbuch gibt... keine Angst, mehr als DM 10,--
Unkostenbeitrag - wenn überhaupt - werden es sicher nicht).
Die neueste Version ist auch per Modem über die Maus KA zu
beziehen (und vermutlich auch in einigen anderen Mailboxen
erhältlich).
Der Vertrieb über PD-Versender, Mailboxen, Diskettenzeit-
schriften etc. ist erlaubt und ausdrücklich _erwünscht_!
Dann möge man sich aber bitte um die aktuelle Version
bemühen.
ACHTUNG: Zusammen mit ObjectGEM darf der VDI-Enhancer weiter-
gegeben werden. PD-Versender müssen vor der Weitergabe aber
erst prüfen, ob sie die entsprechenden Bedingungen erfüllen.
Ist dies nicht der Fall, müssen sie den Enhancer aus dem
ObjectGEM-Paket entfernen!
Da ObjectGEM nun mit dem _vollständigen_ Quelltext ausgeliefert
wird, hat die Shareware-Version keinerlei Einschränkungen mehr.
Ich hoffe aber trotzdem, daß sich dies nicht negativ auf die
Registrierungsmoral auswirkt - ich würde mich wirklich freuen,
wenn alle diejenigen, die sich bisher wegen PP-Kompatibilitäts-
problemen oder dem fehlenden Quelltext nicht registrieren lassen
wollten (dies wurde mir von _sehr_ vielen Leuten mitgeteilt...),
nun die Weiterentwicklung finanziell unterstützen würden.
WICHTIG: Wer ObjectGEM mehr als nur zu Testzwecken einsetzt
und sich nicht registrieren läßt, verwendet eine RAUBKOPIE!!!
INSTALLATION: UNIT UND ONLINE-HILFE
Die Installation sollte keine großen Probleme bereiten. Kopieren
Sie einfach alle Pascal-Dateien (*.PAS) in Ihr Unit-Verzeichnis
(dort, wo auch TOS.PPU, GEM.PPU etc. stehen) bzw. in das Verzeich-
nis, in dem Sie sonst die Quelltexte Ihrer Units ablegen und
GOBJECTS.HLP in das Help-Verzeichnis (dort sollten auch PP.HLP
etc. zu finden sein). Fertig!
Die Units werden nun wie gewohnt mit der uses-Klausel eingebunden.
Wenn Sie Ihr erstes ObjectGEM-Programm compilieren, werden dann
zunächst alle ObjectGEM-Units erzeugt (das dauert etwas).
Um in die Übersicht der Online-Hilfe zu gelangen, suchen Sie
unter "Help - Help..." am besten nach "ObjectGEM" oder "GObjects".
Ansonsten bringen Sie den Cursor auf eine fragliche Konstante
oder Methode und drücken <Help>, woraufhin eine Erklärung dazu
erscheinen sollte. Dabei ist es egal, ob Sie z.B. nach "Style",
"Attr.Style" etc. suchen - wenn es mehrere Möglichkeiten gibt,
erhalten Sie ein Auswahlmenü.
Wenn Sie meinen, einen Fehler in der Online-Hilfe gefunden zu
haben (falscher oder fehlender Verweis, falsche oder nicht aus-
reichende Beschreibung), setzen Sie sich bitte mit mir (dem
Autor) in Verbindung. Danke.
HOTLINE UND UPDATES
Falls Probleme mit oder Fragen zu ObjectGEM auftauchen sollten,
können Sie dies dem Autor direkt mitteilen. Bitte benutzen Sie
den telefonischen Weg nur in dringenden Fällen oder bei kurzen
Fragen. Wenn Sie ausführlichere Antworten wünschen, schicken Sie
bitte einen Brief mit folgenden zusätzlichen Angaben:
- ObjectGEM-Version
- PurePascal-Version bzw. -Datum
- Rechner, Speicherausbau, Grafikkarte
- TOS-Version
(Übrigens: Da ObjectGEM Shareware ist, ist bei solchen Anfragen
gegen beiliegendes Rückporto nichts einzuwenden...)
Softdesign Computer Software
c/o Thomas Much, Gerwigstraße 46, 76131 Karlsruhe
Tel. (0721) 62 28 41 (am besten Mo-So zwischen 19 und 22 Uhr,
sonst Anrufbeantworter)
Am liebsten werden natürlich Anfragen von registrierten ObjectGEM-
Anwendern beantwortet, aber falls grundsätzliche Fragen bestehen,
haben auch potentielle Käufer eine Chance ;-)
Als registrierter Anwender haben Sie außerdem die Möglichkeit,
Updates (die alle paar Wochen erscheinen) durch Einsenden einer
formatierten 3,5"-Diskette und eines frankierten und adressierten
Rückumschlags zu erhalten. Wenn Sie dies "präventiv" machen (d.h.
am besten sofort wieder nach Erhalt eines Updates), bekommen Sie
das nächste Update zugeschickt, sobald es verfügbar ist. Und wenn
Sie sowieso schon dabei sind, eine Update-Diskette einzuschicken,
wäre es nett, wenn Sie dann auch das Anwenderprofil im Anhang
ausdrucken, ausfüllen und mitschicken könnten (besten Dank im
voraus!).
Wer ein Modem besitzt, kann sich natürlich die neuesten Versionen
selbst saugen (und kann damit auf die Disketten verzichten). Neue
Versionen sind zuerst in der Maus KA, MTK und HL verfügbar. Das
Anwenderprofil kann dann auch an die folgende EMail-Adresse
geschickt werden:
Internet: Thomas_Much@KA2.MAUS.DE
MausNet: Thomas Much @ KA2
-----------------------------------------------------------------------
TEIL III - ObjectGEM-Übersicht
ALLGEMEINE PROGRAMMIERRICHTLINIEN
Beim Einbinden der ObjectGEM-Units muß darauf geachtet werden, daß
diese immer als _letzte_ eingebunden werden, allerdings noch vor
auf ObjectGEM zugreifenden Units. Die Reihenfolge sollte dabei immer
lauten (abgesehen von evtl. nicht benötigten Units): Objects, OTypes,
OProcs, OWindows, OValidat, ODialogs, OStdDlgs, OStdWnds.
Das höherwertige Byte von ob_type (AESOBJECT) darf unter ObjectGEM
weder verwendet noch verändert werden! Abgesehen davon, daß es
eine Zeit lang unter MultiTOS Probleme mit solchen Programmen
gegeben hat, benötigt ObjectGEM dieses Byte für interne Zwecke.
Durch den objektorientierten Ansatz und die Schnittstellenobjekte
sollte die Verwendung dieses Bytes allerdings auch nicht nötig
sein.
In den Dialogen sollte so oft wie möglich die Bubble-Help unter-
stützt werden (siehe TControl). Ein Hilfesystem bringt nur dann
etwas, wenn es konsequent eingesetzt wird.
Für viele Fenster-Routinen etc. stellt ObjectGEM "neue" Methoden
zur Verfügung, die statt der alten verwendet werden sollten
(bzw. _müssen_); z.B. muß statt wind_calc nun die TWindow-
Methode WindCalc aufgerufen werden. Dadurch ist es sauber
geschriebenen Programmen dann egal, ob z.B. noch eine ToolBar
oder eine Menüleiste im Fenster installiert wird, da ObjectGEM
nun für die Verwaltung des Work-Bereichs etc. zuständig ist.
alte Funktion "neue" Methode
------------- --------------
evnt_timer(1,0) appl_yield
form_alert TApplication.Alert
form_dial(FMD_FINISH,... bzw. TWindow.ForceRedraw bzw.
Neuzeichnen des Fensters TWindow.WMRedraw bzw.
TApplication.InvalidateRect
Neuzeichnen des Desktops TApplication.DeskRedraw
form_do TApplication.ExecDialog bzw.
besser TDialog verwenden! bzw.
Popup-Menüs TApplication.Popup
fsel_input bzw. FileSelect
fsel_exinput
GetFreeString TApplication.GetFString
graf_mouse TWindow.SetCursor
graf_mouse(ARROW,... ArrowMouse
graf_mouse(BUSYBEE,... BusyMouse bzw.
SliceMouse, SliceMouseNext
graf_mouse(M_OFF,... HideMouse
graf_mouse(M_ON,... ShowMouse
menu_bar TApplication.LoadMenu bzw.
TApplication.DrawMenu bzw.
TApplication.FreeMenu
objc_change bzw. SetSate,GetState, bzw.
Ändern des Objektstatus Enable, Disable bzw.
SetText,GetText bzw.
SetCheck,GetCheck bzw.
Check, Uncheck bzw.
Toggle, Gray
rsrc_free TApplication.FreeResource
rsrc_gaddr TApplication.GetAddr bzw.
TApplication.GetFImagePtr bzw.
TApplication.GetFStringPtr
rsrc_load TApplication.LoadResource bzw.
TApplication.InitResource
wind_calc TWindow.WindCalc
wind_close TWindow.CloseWindow
wind_create TWindow.Create
wind_delete TWindow.Destroy
wind_get(x,WF_CURRXYWH,... TWindow.GetCurr
wind_get(x,WF_FIRSTXYWH,... TWindow.FirstWorkRect
wind_get(x,WF_FULLXYWH,... TWindow.GetFull
wind_get(x,WF_NEXTXYWH,... TWindow.NextWorkRect
wind_get(x,WF_WORKXYWH,... TWindow.GetWork
wind_get(0,WF_WORKXYWH,... GetDesk
wind_open TWindow.OpenWindow
wind_set(x,WF_CURRXYWH,... TWindow.SetCurr bzw.
TWindow.SetWork bzw.
TWindow.FullSize
wind_set(x,WF_INFO,... bzw. TWindow.SetSubTitle
WindSetInfo
wind_set(x,WF_NAME,... bzw. TWindow.SetTitle
WindSetTitle
wind_set(0,WF_NEWDESK,... TApplication.InstallDesktop bzw.
TApplication.RemoveDesktop
wind_set(x,WF_TOOLBAR,... TWindow.LoadToolbar
wind_set(x,WF_TOP,... TWindow.Top
Programm verlassen TApplication.Quit
(geschieht, wenn nicht anders
angegeben, beim Schließen eines
Fensters automatisch, siehe
Beispielprogramme)
ObjectGEM unterstützt neue, zu BP 7.0 kompatible Runtime-Errors:
Fehler-Nr Bedeutung
--------- ---------
211 Aufruf einer abstrakten Methode
("Call to abstract method")
Dieser Fehler wird normalerweise von der Prozedur
Abstract ausgelöst und zeigt an, daß sie einen
abstrakten Objekttyp nicht abgeleitet und die
entsprechenden Methoden überschrieben haben;
TSortedCollection ist ein Beispiel dafür
213 Kollektion-Index außerhalb des gültigen Bereichs
("Index range error")
Einer TCollection-Methode wurde ein ungültiger
Index übergeben (d.h. zu klein/groß).
214 Kollektion-Überlauf
("Collection overflow")
Die Kollektion kann kein neues Element mehr
aufnehmen, d.h. der Speicher ist voll.
Alle mit ObjectGEM verwendeten Resourcen sollten wie folgt
sortiert sein (eine entsprechende Option sollte in jedem RCS
zu finden sein):
"1 2 3
4 5 6"
Im globalen Record GP stehen die aktuellen, für ObjectGEM
gültigen VDI-Attribute, die auch von Programmen genutzt werden
können. Es ist allerdings nicht sicher, daß dieser Record "bis
in alle Ewigkeit" unterstützt wird. Es existiert deshalb zwar
die Routine UpdateGPValues; Programme sollten nach Möglichkeit
aber den Zugriff auf GP vermeiden (im Gegensatz zum bisher
Dokumentierten)!!!
WICHTIGE UNTERSCHIEDE ZU OBJECTWINDOWS
ObjectGEM setzt die Ideen von ObjectWindows für BorlandPascal (beides
von Borland) unter Windows (von Microsoft) für das Atari-GEM um. Ab-
gesehen von offensichtlichen Unterschieden (z.B. beim Event-Handling)
gibt es aber auch noch andere, die hier besprochen werden sollen.
In ObjectGEM sind die meisten Methoden virtuell, wodurch es besser
möglich sein sollte, in den Programmablauf - wenn nötig - einzugreifen.
Außerdem wird in ObjectGEM recht wenig vom Typ PChar Gebrauch
gemacht. Dies dient zum einen zur einfacheren Programmierung
(normale Strings reichen meistens aus), zum anderen gab (und gibt)
es offensichtlich Probleme mit den nullterminierten Strings und
der zugehörigen Unit.
Im folgenden sind Routinen aufgelistet, die zwar nicht 100%ig
kompatibel, aber zumindest recht ähnlich sind:
ObjectWindows/Windows ObjectGEM
--------------------- ---------
BringWindowToTop TWindow.Top
CheckDlgButton SetCheck
GetActiveWindow TApplication.GetPTopWindow
GetClientRect TWindow.GetWork
GetDesktopWindow DESK
GetVersion GEMVersion bzw.
MiNTVersion bzw.
TOSVersion
GetWindowRect TWindow.GetCurr
IntersectRect rc_intersect
MapVirtualKey MapKey
MessageBox TApplication.Alert
PostQuitMessage TApplication.Quit
Yield appl_yield
-----------------------------------------------------------------------
TEIL IV - Anhang
GEPLANTE ERWEITERUNGEN
- ws_ex_AppModal (siehe Online-Hilfe)
- ICFS-Iconification mit <Shift>
- Objekte TListBox, TComboBox
(wie sie unter Windows bzw. ObjectWindows existieren)
- Pull-Down-Menüs in Fenstern
- Objekte TTextWindow, TEditWindow, THelpWindow
- nicht-modale Datei-, Font- und Farbauswahl-Dialoge
- Objekte TIcon, TScrap, TDesktop, TBitmapButton
- Beschleunigung der Profile-Funktionen
- Routinen zum Versenden von Daten per XAcc
- Implementierung von mind. AVSendKey
- Routinen für Drag&Drop-Initiierung bzw. -'ARGS'-Auswertung
- BorlandPascal-kompatible Streams
- Popup-Menüs, die zur Laufzeit geändert werden können
- Bildlaufleisten mit Realtime-Update
- Timer-Events für Fenster
- erweiterte Alertboxen (nicht-modal)
- durch neue Methoden wird TEdit kompatibler zum ObjectWindows-
Vorbild werden; außerdem wird es Cut, Copy & Paste auf und
vom Klemmbrett geben (optional)
- Accessories werden auch eine Menüleiste und einen eigenen
Desktop verwenden können (innerhalb eines Fensters)
- neues Objekt TPrinter (o.ä.), mit dem z.B. ein GDOS-Drucker
einfacher angesteuert werden kann
- neue Resource-Verwaltung: jedes Fenster kann eine eigene
RSC-Datei laden, außerdem gibt es eine globale Resource
- zweite virtuelle VDI-Workstation _nur_ für interne Zwecke
- das Anlegen eines Cookies wird verschwinden
- UpdateGPValues und der Record GP werden verschwinden (!)
- es wird ein Zusatzprogramm geben ("GEMWizard"), mit dem
das Grundgerüst eines ObjectGEM-Programms sehr bequem mit
ein paar Mausklicks erzeugt werden kann
ANWENDERPROFIL
Wenn Sie registrierter Anwender sind, wäre es schön, wenn Sie den
folgenden Fragebogen ausdrucken, ausfüllen und zurückschicken könn-
ten, damit ObjectGEM weiter verbessert und angepaßt werden kann!
------schnipp-----------------------------------------------------
Name: _______________________________________________
Anschrift: _______________________________________________
ObjectGEM-Version: __________
PurePascal-Datum: __________
1. Mit welchem Rechner arbeiten Sie?
[ ] 1040ST oder kleiner [ ] Mega ST [ ] 1040 STE [ ] Mega STE
[ ] Falcon030 [ ] TT [ ] STacy [ ] ST Book
2. Welches TOS benutzen Sie?
[ ] 1.00 [ ] 1.02 [ ] 1.04 [ ] 1.06 [ ] 1.62 [ ] 2.05 [ ] 2.06
[ ] 3.00 [ ] 3.01 [ ] 3.05 [ ] 3.06 [ ] 4.00 [ ] 4.01 [ ] 4.02
[ ] 4.04 [ ] 4.92
[ ] MultiTOS (Version: ) [ ] MultiGEM [ ] Mag!X
[ ] MiNT ohne MultiTOS (Version: )
[ ] Andere TOS-Version bzw. anderes TOS (z.B. KAOS):
3. Betriebssystemerweiterungen
[ ] NVDI [ ] SpeedoGDOS [ ] "normales" GDOS [ ] anderes GDOS:
[ ] Gemini (Version: ) [ ] Ease
[ ] MetaDOS
[ ] Netzwerk:
[ ] Sonstiges:
4. Arbeitsspeicher
[ ] bis 1MB [ ] 1,5 bis 2MB [ ] 2,5 bis 4MB [ ] mehr: MB
(davon ST-RAM: TT-RAM: )
5. Monitor
[ ] SM124, SM144 o.ä. [ ] Farbmonitor [ ] Multiscan-Monitor
[ ] Großbildschirm
Sonstiges (z.B. OverScan):
Grafikarte:
6. Massenspeicher
[ ] Festplatte [ ] Wechselplatte [ ] HD-Floppy [ ] sonstiges:
[ ] CD-ROM
Typenbezeichnung: Kapazität (MB):
7. Drucker
[ ] 9-Nadler [ ] 24-Nadler [ ] Tintenkleckser [ ] Laserdrucker
Typenbezeichnung:
8. Sonstige Zusatzgeräte (Scanner, Grafiktabletts etc.)
9. Andere Systeme (PC, Mac...)
10. Einsatzbereiche
11. Wodurch wurden Sie auf ObjectGEM aufmerksam?
12. Fehler, Verbesserungsvorschläge etc.
------schnapp-----------------------------------------------------
Danke für's mitmachen! Die Daten werden selbstverständlich ver-
traulich behandelt. Unter allen Teilnehmern wird am Ende eines
jeden Monats leider nichts verlost... ;-)