home *** CD-ROM | disk | FTP | other *** search
/ Vectronix 2 / VECTRONIX2.iso / FILES_01 / ST_GUIDE.LZH / ST-GUIDE / STG_FAQ.TXT < prev    next >
Text File  |  1994-04-21  |  14KB  |  314 lines

  1.  
  2. F: Was ist dieses ST-Guide eigentlich?
  3. A: ST-Guide ist ein Hypertextsystem mit  diversen  Vorteilen  für
  4.    alle Beteiligten:
  5.    - Programmierer: Dokumentationen im Hypertextformat werden von
  6.      mehr Leuten gelesen, als ASCII-Dokus und deshalb müssen sich
  7.      weniger User mit ihren Fragen an den Autor wenden
  8.    - Programmierer: der ST-Guide darf  jedem  Programm  beigelegt
  9.      werden, so da₧ es leicht möglich  ist,  für  JEDES  Programm
  10.      eine Onlinehilfe oder Doku im  Hypertextformat  zu  liefern,
  11.      ohne da₧ die Anwender sich hierzu erst  um  die  Beschaffung
  12.      oder Bezahlung der nötigen Software kümmern mü₧ten
  13.    - Anwender: die Dokumentation kann gelesen werden, während das
  14.      Programm läuft, evtl. lä₧t das  Programm  selbst  sogar  die
  15.      für die jeweilige Situation wichtige Seite vom ST-Guide  an-
  16.      zeigen ('context sensitiv')
  17.    - Anwender: die gerade benötigte Information lä₧t sich wesent-
  18.      lich schneller in einem Hypertext finden, als in einer ASCII
  19.      Dokumentation
  20.    Es gibt sicherlich viele weitere Punkte, die hier erwähnt wer-
  21.    den könnten, aber das artet dann zu sehr in Eigenwerbung aus.
  22.  
  23.  
  24. -----------------------------------------------------------------
  25. F: Was mu₧ ich denn jetzt anstellen, um selber einen Hypertext zu
  26.    schreiben?
  27. A: Erstmal die beiliegenden Dokumentationen zu HCP  und  ST-Guide
  28.    lesen. Hypertexte sind nämlich im Prinzip wie Programme aufge-
  29.    baut, so da₧ es unumgänglich ist,  zumindest  die  wichtigsten
  30.    Kommandos zu kennen, bevor ein  Hypertext  geschrieben  werden
  31.    kann.
  32.    Jetzt mu₧ der gewünschte Text noch mit  den  gerade  erlernten
  33.    Kommandos in Form eines Hypertextes aufgeschrieben werden, und
  34.    dann mu₧ er nur noch durch Aufruf des  hcp  übersetzt  werden,
  35.    wonach er dann vom ST-Guide angezeigt werden kann.
  36.  
  37.  
  38. -----------------------------------------------------------------
  39. F: Ich habe keine Lust, so viel Text zu lesen, was mu₧  ich  denn
  40.    mindestens wissen, um einen einfachen Hypertext zu schreiben?
  41. A: Im Prinzip reichen die Kommandos @node, @endnode und @symbol.
  42.    Beispiel:
  43.    ---------
  44.         @database <Thema des Textes>
  45.         @author   <wer hat den Text geschrieben>
  46.         @subject  <wo soll der Text im Katalog einsortiert werden>
  47.         @$VER:    <Name der Datei> <Versionsnummer> <ErstellDatum>
  48.  
  49.         @node <Seitenname> [<Fenstertitel>]
  50.         @symbol <weitere Namen dieser Seite>
  51.         <text>
  52.         @endnode
  53.    Dabei ist darauf zu achten, da₧ alle hier in <>  geschriebenen
  54.    Begriffe durch  Anführungszeichen  geklammert  werden  müssen,
  55.    wenn sie Leerzeichen enthalten, also @node "foo bar".
  56.  
  57.  
  58. -----------------------------------------------------------------
  59. F: Ich habe vorher den 1stGuide benutzt und  möchte  meine  alten
  60.    Hypertexte jetzt auch mit dem ST-Guide  benutzen,  wie  stelle
  61.    ich das an?
  62. A: Hierzu gibt es Konvertierer.  Für  1stGuide  Hilfen  wird  der
  63.    1stConv verwendet, welcher einfach mit der Hauptdatei (die mit
  64.    dem Inhaltsverzeichnis) als Parameter aufgerufen wird.
  65.    Für PureC/PurePascal Hilfen gibt es  ebenfalls  einen  Konver-
  66.    tierer, den PC-Conv. Hierfür ist jedoch zusätzlich ein  Recom-
  67.    piler notwendig, der HELP_RC oder der HELPDISC.
  68.  
  69.  
  70. -----------------------------------------------------------------
  71. F: Welche Dateiformate werden vom ST-Guide unterstützt?
  72. A: Der ST-Guide selber kann nur Hypertexte  (*.HYP)  sowie  ASCII
  73.    Texte anzeigen. Hypertexte können allerdings Bilder enthalten,
  74.    welche im IFF-, ICN- oder IMG-Format vorliegen  müssen.  Diese
  75.    befinden sich jedoch direkt im Hypertext und liegen  in  einem
  76.    speziellen Format vor, so da₧ der ST-Guide  keine  Algorithmen
  77.    zur Darstellung von Bilddateien enthält.
  78.    Aus Hypertexten heraus können Resourcedateien bzw.  Teile  da-
  79.    raus angezeigt werden. Diese werden erst bei  Bedarf  geladen,
  80.    können  jedoch  nicht  direkt  (d.h.  ohne  Aufruf  aus  einem
  81.    Hypertext) angezeigt werden.
  82.    Ebenfalls aus dem Hypertext heraus  können  Kommandos  an  die
  83.    (bzw. eine) laufende  Applikation  gesendet  werden,  um  z.B.
  84.    Musik zu spielen, ein Archiv zu öffnen, eine Diashow zu zeigen
  85.    o.ä., aber all diese Dinge werde  dann  von  einer  speziellen
  86.    Applikation und nicht vom ST-Guide erledigt.
  87.  
  88.  
  89. -----------------------------------------------------------------
  90. F: ST-Guide soll Sounds, Bewegtbilder und meinen Kaffee-Automaten
  91.    unterstützen.
  92. A: Keine Chance. Der ST-Guide  ist  als  reiner  Hypertext-Viewer
  93.    ausgelegt und das wird auch  so  bleiben.  Bei  entsprechender
  94.    Resonanz und ausreichend vielen Spenden kommen vielleicht  mal
  95.    externe Viewermodule,  aber  direkt  eingebaut  werden  solche
  96.    Dinge nicht (ST-Guide soll so kurz wie möglich bleiben).
  97.  
  98.  
  99. -----------------------------------------------------------------
  100. F: kann ich auch ASCII-Dateien (z.B. Headerfiles für C) als Ver-
  101.    weis benutzen?
  102. A: Ja, hierzu ist (wie für alle anderen Verweise auch) der link
  103.    Befehl zu verwenden. Beispiel:
  104.         ... im @{"Standard Header" link stdio.h/Main} ...
  105.    Man beachte hierbei, da₧ hinter dem Dateinamen IMMER der Name
  106.    der anzuzeigenden Seite stehen mu₧, da ASCII-Dateien keine
  107.    Seitennamen besitzen, wird dort als Name 'Main' benutzt.
  108.    Falls als Name etwas anderes als  'Main'  angegeben  wird,  so
  109.    verwendet der ST-Guide dies als Suchbegriff, die erste  Zeile,
  110.    in der es gefunden wird, wird zur  ersten  im  Fenster  darge-
  111.    stellten Zeile.
  112.  
  113.  
  114. -----------------------------------------------------------------
  115. F: Ich möchte gerne Absätze  im  Text  durch  Linien  voneinander
  116.    trennen, aber mit '-----' sieht das  so  unprofessionell  aus,
  117.    geht das eigentlich auch eleganter?
  118. A: Natürlich. Hierzu gibts das @line-Kommando, welches frei defi-
  119.    nierbare Linien in Hypertextseiten zeichnen kann, hier  können
  120.    sogar verschiedene  Linienmuster  und  Pfeilspitzen  verwendet
  121.    werden.
  122.  
  123.  
  124. -----------------------------------------------------------------
  125. F: Ich möchte gerne in meinen Hypertext Verweise auf ASCII-Datei-
  126.    en einbauen und wei₧ auch, da₧ so etwas mit  @extern  und/oder
  127.    @{... link ...} gemacht wird. Das Problem  ist  nun,  da₧  die
  128.    ASCII-Dateien ab  einer  bestimmten  Stelle  angezeigt  werden
  129.    sollen, also nicht vom Textanfang. Geht das?
  130. A: Klar. Sowohl bei @extern also auch bei  link  können  optional
  131.    Zeilennummern angegeben werden. Diese benutz der ST-Guide dann
  132.    als Nummer der ersten dargestellten Zeile.
  133. F: Fein, aber da gibt's noch ein Problem: die ASCII-Dateien  kön-
  134.    nen sich ändern, so da₧ die im Hypertext  angegebenen  Zeilen-
  135.    nummern nicht mehr stimmen würden, mu₧ ich also  jedesmal  den
  136.    Hypertext anpassen und neu  übersetzen,  wenn  sich  eine  der
  137.    ASCII-Dateien ändert?
  138. A: Nicht unbedingt.  Die  anzuzeigenden  Textstellen  können  vom
  139.    ST-Guide auch direkt und automatisch beim Laden des Textes ge-
  140.    sucht werden. Dies wird erreicht durch:
  141.       @{<text zum Anklicken> link <ASCII-Datei>/<Seitenname>}
  142.    Wenn <Seitenname> NICHT 'Main' ist, dann wird er im  Text  ge-
  143.    sucht und die erste Trefferzeile wird erste Zeile im Fenster.
  144. F: Sehr schön, da gibts dnn nur noch ein Problem: die Textstellen
  145.    kommen in meiner ASCII-Datei alle mehrfach vor, einmal am  An-
  146.    fang im Inhaltsverzeichnis und dann noch mal mit Beschreibung.
  147.    Wenn jetzt immer ab Textanfang gesucht wird,  dann  wird also
  148.    immer das "falsche" Vorkommen gefunden.
  149. A: Sowohl @extern als auch link können als zusätzlichen Parameter
  150.    eine Zeilennummer bekommen. Im Zusammenhang  mit  dem  Suchbe-
  151.    griff wird diese als Startzeile  benutzt.  Also  einfach  eine
  152.    Nummer angegeben, die einigerma₧en  nahe  an  der  gewünschten
  153.    Stelle ist, und schon geht's.
  154.  
  155.  
  156. -----------------------------------------------------------------
  157. F: Meine XIMG's werden vom Compiler nicht aktzeptiert.
  158. A: Nachmeinen Informationen unterscheiden  sich  IMG-  und  XIMG-
  159.    Format nur im Header. Eingene Tests mit  XIMG's  (von  1stView
  160.    erzeugt) haben keinerlei Probleme ergeben.
  161.  
  162.  
  163. -----------------------------------------------------------------
  164. F: Wo ist die Tastaturselektierung geblieben? kann ich  die  Ver-
  165.    weise jetzt nur noch per Maus auswählen?
  166. A: Nein, die Tastaturselektierung ist nach wie vor vorhanden, sie
  167.    erscheint jedoch erst nach der ersten Betätigung von  [SHIFT-]
  168.    TAB. Au₧erdem wird sie beim Scrollen nicht mehr im Fenster ge-
  169.    halten, sondern ausgeschaltet, sobald sie nicht mehr  sichtbar
  170.    ist. Dies hat den Vorteil, da₧ das Scrolling nicht mehr  "ruk-
  171.    kelt", sondern jetzt gleichmä₧ig läuft.
  172.  
  173.  
  174. -----------------------------------------------------------------
  175. F: Ich finde die Handhabung des 1stGuide, jede Seite in einer ei-
  176.    genen Datei zu haben viel besser, als alles in einer Datei  zu
  177.    halten. Geht das mit dem ST-Guide auch?
  178. A: Ja, natürlich. Man verwende den @include-Befehl.
  179.  
  180.  
  181. -----------------------------------------------------------------
  182. F: Wenn der ST-Guide unter MTOS von einem anderen Programm aufge-
  183.    rufen wird, meldet MTOS einen 'privileg violation error'.  Was
  184.    soll das?
  185. A: Unter  MTOS  mit  entsprechendem  Prozessor  unterliegt  jeder
  186.    Speicherbereich   einem   gewissen,   definierbaren    Schutz.
  187.    Defaultmä₧ig darf z.B. nur das Programm selbst und das AES den
  188.    Speicher eines laufenden Prozesses lesen/schreiben.  Wenn  ein
  189.    solches Programm eine Meldung an  den  ST-Guide  sendet,  dann
  190.    kopiert  das  AES  hiervon  nur  die  Zeiger  auf  Pfade   und
  191.    Suchbegriffe, nicht jedoch  die  Strings  selbst,   d.h.   der
  192.    Speicher, in dem sie sich  befinden,  gehört  dem  aufrufenden
  193.    Prozess und auch ein lesender Zugriff des  ST-Guide  wird  von
  194.    MTOS angemeckert.
  195.  
  196.    Anhilfe:
  197.    1. (Notlösung): Die Flags des Programmes (NICHT des  ST-Guide)
  198.       auf private/readable setzen, hierzu eignet  sich  z.B.  das
  199.       Programm GD_FLAGS von Gregor Duchalski.
  200.    2. (Beste Lösung): Das aufrufende Programm  benutzt  Mxalloc()
  201.       mit entsprechenden Parametern, um den Speicher für  die  zu
  202.       übergebenden Strings anzufordern.
  203.    Näheres zu beiden Lösungen findet sich in der MTOS-Doku.
  204.  
  205.  
  206. -----------------------------------------------------------------
  207. F: ST-GUIDE liest meine [X]Environment-Variablen nicht. Wieso?
  208. A: Weil dieses Feature aufgrund breiter  Ablehnung  und  diverser
  209.    Probleme ausgebaut wurde. Parameter werden jetzt nur noch  aus
  210.    der Datei ST-Guide.inf im Wurzelverzeichnis des Bootlaufwerkes
  211.    gelesen.
  212.  
  213.  
  214. -----------------------------------------------------------------
  215. F: Der Aufruf des ST-Guide per appl_write() aus  meinem  Programm
  216.    heraus funktioniert nicht. Woran liegt das?
  217. A: Der  ST-Guide  kopiert  die  übergebenen  Strings  zwar,  aber
  218.    zwischen dem Aufruf und dem  Kopieren  der  Parameter  vergeht
  219.    eine gewisse Zeit.  Das  aufrufende  Programm  mu₧  daher  den
  220.    String so anlegen, da₧ er zumindest  noch  eine  gewisse  Zeit
  221.    lang unverändert vorliegt, er darf also insbesondere nicht als
  222.    lokale Variable auf dem Stack liegen. Am besten  ein  globales
  223.    Array verwenden, dann funktioniert es auch.
  224.  
  225.    Beispiel (AV-Protokoll):
  226.    ------------------------
  227.  
  228.    char HelpString[100];
  229.  
  230.    Help(char *pattern)
  231.    {
  232.        int msg[8], i;
  233.  
  234.        if ((i=appl_find("ST-GUIDE"))>=0) {
  235.            msg[0] = VA_START;
  236.            msg[1] = global[2];
  237.            msg[2] = 0;
  238.            sprintf(HelpString, "*:\\MYPROG.HYP %s", pattern);
  239.            *(char **)&msg[3] = HelpString;
  240.            msg[5] = 0;
  241.            msg[6] = 0;
  242.            msg[7] = 0;
  243.            appl_write(i, 16, msg);
  244.        }
  245.    }
  246.  
  247.    Beispiel (PureC-Protokoll):
  248.    ---------------------------
  249.  
  250.    char HelpString[100];
  251.  
  252.    Help(char *pattern)
  253.    {
  254.        int msg[8], i;
  255.  
  256.        if ((i=appl_find("ST-GUIDE"))>=0) {
  257.            msg[0] = AC_HELP;
  258.            msg[1] = global[2];
  259.            msg[2] = 0;
  260.            strcpy(HelpString, Pattern);
  261.            *(char **)&msg[3] = HelpString;
  262.            msg[5] = 0;
  263.            msg[6] = 0;
  264.            msg[7] = 0;
  265.            appl_write(i, 16, msg);
  266.        }
  267.    }
  268.  
  269.  
  270. -----------------------------------------------------------------
  271. F: Gibt es eine Möglichkeit, in einem  Node  mit  eingeschaltetem
  272.    Autoreferenzer ein Wort so zu maskieren, da₧ es nicht als Re-
  273.    ferenz erkannt wird?
  274. A: Per @autorefoff/@autorefon für beliebige Zeilen
  275.         @autorefoff
  276.         testtest nix zelenrest
  277.         @autorefon
  278.    wird in der Textzeile nichts markieren, davor und danach jedoch
  279.    schon
  280.    Per @{... ignore} für beliebige Teile von Zeilen
  281.    'testtest @{"nix" ignore} zeilenrest'
  282.    wird <nix> nicht zum Verweis machen, auch wenn es ein alias/
  283.    node/symbol mit diesem Namen gibt
  284.  
  285.  
  286. -----------------------------------------------------------------
  287. Sollte sich Ihr Problem jetzt noch nicht erledigt haben, so bitte
  288. ich um Nachricht. Damit sie berücksichtigt werden  kann,  sollten
  289. ihr folgende Informationen zu entnehmen sein:
  290. 1. Welche Version wird benutzt (evtl. in der Maus  OL  nachsehen,
  291.    ob es bereits eine neuere gibt und ggfls. mit dieser noch  mal
  292.    probieren)
  293. 2. mit welcher Komponente tritt das Problem auf
  294. 3. Wie äu₧ert es sich; diesen Punkt so  ausführlich  wie  möglich
  295.    behandeln, mit Meldungen wie "der Konverter  übersetzt  meinen
  296.    Text nicht." kann ich nichts anfangen!
  297.    Die sicherste Methode ist hier, mir  eine  Datei  zukommen  zu
  298.    lassen, mit der ich das Problem reproduzieren kann. Wenn  z.B.
  299.    der HCP einen Fehler enthält, dann hilft  mir  eine  Beispiel-
  300.    Node, die diesen Fehler produziert, am ehesten.
  301. 4. Insbesondere bei Problemen  mit  dem  ACC  einmal  nur  dieses
  302.    booten, also alle anderen ACC's und den  Autoordner  disablen.
  303.    Wenn das Problem dann nicht mehr auftritt, dann durch schritt-
  304.    weises mitbooten der anderen ACC's Auto-Prog's versuchen  her-
  305.    auszufinden, mit welcher Kombination das Problem auftritt  und
  306.    mir mitteilen.
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.