Lieber Besucher, herzlich willkommen bei: GEOS-InfoBase-Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.
![]() |
Quellcode |
1 |
DIM suchzeile$, suchwort$, doppelpunkt |
![]() |
Quellcode |
1 2 |
DIM suchzeile$ as string(1024) DIM suchwort$, doppelpunkt |
![]() |
Quellcode |
1 |
suchzeile$ = FileReadLine$(geosini) |
![]() |
Quellcode |
1 2 |
suchzeile$ = FileReadLine$(geosini) if LEN(suchzeile$)>128 then msgbox(suchzeile$) |
@Bernd: cooler code ;-) auch die UI ist niedlich.
Danke, so habe ich es jetzt gemacht. Neue Version: http://www.geopixel.de/RBPROGS/SPEED.HTM
Zitat
Verbesserung im Programm:
![]()
Quellcode
1 2 DIM suchzeile$ as string(1024) DIM suchwort$, doppelpunkt
Damit ist suchzeile$ max. 1024 Zeichne lang.
Der voreingestellte Wert von 128 Zeichen hatte einen bestimmten Grund, glaube ich. Weil mehr Zeichen unverhältnismässig viel Arbeitsspeicher kosten, oder so?
Zitat
Bei einem FileReadLine$ kann dieser Fehler prinzipiell immer passieren. Ich könnte den abfangen - aber wie soll ich darauf reagieren? einfach weniger Zeichen lesen? Eine Meldungsbox? Und was mache ich mit den überschüssigen Zeichen?
Vorschläge sind erwünscht.
Ok.Läuft jetzt.
Liest denn hier niemand die Hilfedatei?
Zitat
Vielleicht gibt es ja noch eine Möglichkeit, die Dosemu-Version auszugeben.
Aus GEOS / R-Basic heraus dürfte es keine Möglichkeit geben, DOSEmu-/DOS-Systemvariablen abzufragen. Wenn es aber unter DOSEmu so etwas wie die AUTOEXEC.BAT gibt, trägst du dort die oben genannten Zeilen ein. Speed ließt dann die Einträge aus der Datei SPEEDSYS.DAT aus und zeigt sie in der Speed-Liste an.
Zitat
Um die DOS-Version in der Liste zu speichern, fügen Sie in der Datei AUTOEXEC.BAT folgende Zeilen hinzu. Im folgenden Beispiel befindet sich GEOS im Hauptverzeichnis Ihrer Festplatte.
CD /MEINGEOS
VER > SPEEDSYS.DAT
Mit dem Befehl CD wechseln Sie in das GEOS-Hauptverzeichnis. Statt MEINGEOS setzen Sie den Namen Ihres GEOS-Ordners ein. Der Schrägstrich zeigt unter OS X und Linux von links nach rechts (Slash). Unter DOS und Windows genau in die entgegengesetzte Richtung (Backslash).
Wenn Ihnen die Anzeige von VER zu lang ist, oder sie Ihnen aus anderen Gründen nicht zusagt, verwenden Sie stattdessen folgende Zeile:
ECHO VERSION > SPEEDSYS.DAT
Mit dem Befehl ECHO wird ein Text in die Datei SPEEDSYS.DAT geschrieben. Statt des Wortes VERSION tragen Sie einen beliebigen Text ein, z.B. Namen und Nummer Ihrer DOS-Version.
Grundsätzlich nicht! I. ü. hat der in die autoexec.bat eingefügte Befehl ein interessantes Resultat erbracht: das im Dosemu-Paket enthaltene FreeDos scheint nicht das Neueste zu sein.Liest denn hier niemand die Hilfedatei?![]()
Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von »msgeo« (27. Januar 2016, 05:44)
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »msgeo« (27. Januar 2016, 05:46)
![]() |
Quellcode |
1 |
$_xms = (32768) |
Verstehe...Grundsätzlich nicht!Liest denn hier niemand die Hilfedatei?![]()
Wenn ich das richtig verstanden habe, ist FreeCom der Kommando-Interpreter von FreeDOS. Vielleicht ist er seit 2006 aktuell und auch in der neuen FreeDOS-Version enthalten? Relevant und ausreichend im Zusammenhang mit SPEED ist eigentlich eher das, was VER ausgibt.
Zitat
I. ü. hat der in die autoexec.bat eingefügte Befehl ein interessantes Resultat erbracht: das im Dosemu-Paket enthaltene FreeDos scheint nicht das Neueste zu sein.Anzeigefenster vielleicht noch ein wenig größer?
Naja, unter DOSBox kannst du überhaupt keine AUTOEXEC.BAT direkt bearbeiten. Stattdessen werden die Befehle in die DOSBox.Ini geschrieben. DOSBox erzeugt daraus automatisch eine AUTOEXEC.BAT, die dann auf LFW. Z: liegt...Bißchen rumgespielt (Abb. 1). Leider kann man keine Links in die Installationsdatei packen, sonst hätte man im DOCUMENT-Verzeichnis einen Link auf die autoexec.bat plazieren können, die sich in allen Distributionen an der gleichen Stelle befinden müßte (außer natürlich bei meinem Puppy).Dann hätte der Anwender die neuen DOS-Befehle gleich dort einfügen können (Abb. 2).
Wie oben geschrieben, halte ich den mit VER erzeugten String für genau den Richtigen in dem Zusammenhang. Die in der Speed-Liste angezeigten Zeilen dürfen max. 128 Zeichen enthalten, also die Summe aus Speed-Wert, Datum, Uhrzeit, Auflösung/Farbtiefe, deine Einträge und gegebenenfalls die DOSBox-Cycles. Daran lässt sich auch nix ändern, weil sonst das Listenfenster irgendwann nicht mehr auf den Bildschirm passt. Aktuell ist es auf eine Mindestbreite von 800 Pixel abgestimmt.@Bernd: Trotz Löschens des Eintrages zur Dosemu-Version in der autoexec.bat ist der Fehler in Zeile 95 geblieben.
Ah, ok. Da hatte ich Martins Beispiele oben falsch interpretiert.Habe mal ein bisschen experimentiert. Wenn man in der autoexec.bat anstatt des Kommandos "ver" ein "isemu" schreibt dann bekommt man folgende Zeile/n in der Speed-Liste (gemeint sind die oberen drei):
index.php?page=Attachment&attachmentID=333 index.php?page=Attachment&attachmentID=334
ISEMU ist ein DOS-Befehl der DOSEMU und daher auch in der autoexec.bat ausführbar.![]()
Schade, weil der von Dir zu Recht eingeschlagene Weg, die Umgebungsvariablen anzuzeigen, damit nicht zuende gegangen wird. Ginge es vielleicht über Reiter? Die Dosemu verhält sich derart unterschiedlich, daß Angaben über die beteiligten Schichten vorteilhaft wären.Wie oben geschrieben, halte ich den mit VER erzeugten String für genau den Richtigen in dem Zusammenhang. Die in der Speed-Liste angezeigten Zeilen dürfen max. 128 Zeichen enthalten, also die Summe aus Speed-Wert, Datum, Uhrzeit, Auflösung/Farbtiefe, deine Einträge und gegebenenfalls die DOSBox-Cycles. Daran lässt sich auch nix ändern, weil sonst das Listenfenster irgendwann nicht mehr auf den Bildschirm passt.
Ja, an den 128 Zeichen möchte ich nicht her rütteln. In 95% der Fälle recht das. Ansonsten muss man als Programmierer eben bewusst einen längeren String vereinbaren.Der voreingestellte Wert von 128 Zeichen hatte einen bestimmten Grund, glaube ich. Weil mehr Zeichen unverhältnismässig viel Arbeitsspeicher kosten, oder so?
Zum einen könnte man überlegen, den Standardwert vielleicht auf 258 Zeichen hoch zusetzen (Arbeitsspeicher?) Vielleicht wäre es aber auch ganz praktisch, wenn bei zu langen Zeilen der Rest einfach abgeschnitten und eine Fehlernummer bereit gestellt wird. Dann kann man sich als Programmierer entscheiden, ob und wie man reagieren möchte. Und die zeilenweise Suche könnte schneller werden, wenn man weiß, dass das Suchwort irgendwo am Anfang der Zeile sitzt und man dem endsprechend kurze Zeilen bei FileReadLine$ einstellt.
3 Besucher
Forensoftware: Burning Board® 3.1.7, entwickelt von WoltLab® GmbH