Sie sind nicht angemeldet.

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.

81

Dienstag, 26. Januar 2016, 14:13

SCREEN0.JPG

Der Zeilenumbruch ist auch da.
Gruß Achim



PC/GEOS unter Linux in der DOSEMU = UNSCHLAGBAR!

82

Dienstag, 26. Januar 2016, 17:34

Hallo,

@Bernd: cooler code ;-) auch die UI ist niedlich.

ich bin ziemlich sicher, das Problem liegt darin, das die GEOS.INI eine Zeile mit mehr als 128 Zeichen lang ist. Was wirklich seltsam ist.
Die Anweisung

Quellcode

1
DIM suchzeile$, suchwort$, doppelpunkt

macht suchzeile$ max. 128 Zeichen lang.
Verbesserung im Programm:

Quellcode

1
2
DIM suchzeile$ as string(1024)
DIM suchwort$, doppelpunkt

Damit ist suchzeile$ max. 1024 Zeichne lang. Mehr geht nicht.
Ich könnt euch danach die zu lange Zeile anzeigen lassen:
aus

Quellcode

1
suchzeile$ = FileReadLine$(geosini)

mach

Quellcode

1
2
suchzeile$ = FileReadLine$(geosini)
if LEN(suchzeile$)>128 then msgbox(suchzeile$)


Gruß
Rainer

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.
Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

83

Dienstag, 26. Januar 2016, 17:35

Nachtrag: Die zu lange Zeile ist wahrscheinlich lange vor der [screen 0] Zeile!
Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

84

Dienstag, 26. Januar 2016, 19:32

@Bernd: cooler code ;-) auch die UI ist niedlich.
:rolleyes:

Zitat

Verbesserung im Programm:

Quellcode

1
2
DIM suchzeile$ as string(1024)
DIM suchwort$, doppelpunkt

Damit ist suchzeile$ max. 1024 Zeichne lang.
Danke, so habe ich es jetzt gemacht. Neue Version: http://www.geopixel.de/RBPROGS/SPEED.HTM

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.
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.
Bernd

85

Dienstag, 26. Januar 2016, 22:05

Läuft jetzt. Vielleicht gibt es ja noch eine Möglichkeit, die Dosemu-Version auszugeben.
"Always Look On The Bright Side Of Life!"

86

Dienstag, 26. Januar 2016, 22:19

Läuft jetzt.
Ok.

Zitat

Vielleicht gibt es ja noch eine Möglichkeit, die Dosemu-Version auszugeben.
Liest denn hier niemand die Hilfedatei? :D

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.
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.
Bernd

87

Dienstag, 26. Januar 2016, 22:53

Liest denn hier niemand die Hilfedatei? :D
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. :wacko: Anzeigefenster vielleicht noch ein wenig größer?
»msgeo« hat folgende Bilder angehängt:
  • freecom.png
  • capture13682.png
"Always Look On The Bright Side Of Life!"

Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von »msgeo« (27. Januar 2016, 05:44)


88

Mittwoch, 27. Januar 2016, 03:14

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).
»msgeo« hat folgende Bilder angehängt:
  • dosemu.gif
  • autoexec.png
"Always Look On The Bright Side Of Life!"

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »msgeo« (27. Januar 2016, 05:46)


89

Mittwoch, 27. Januar 2016, 09:29

Hallo Martin

Habe gesehen, dass Du nur 8MB XMS Speicher hast. In der "dosemu.conf" würde ich folgendes eintragen:

Quellcode

1
$_xms = (32768)


Damit hast Du 4x mehr XMS-Speicher welches PC/GEOS zum Swappen brauchen kannst. Dies hilft bei grösseren Dokumenten. Höhere Werte sollten nicht verwendet werden, da nach meinen Messungen dann weniger Swap-Speicher als mit 32MB zur Verfügung steht.

Gruss
Andreas

90

Mittwoch, 27. Januar 2016, 10:23

Und Looft! :D
@ Bernd:
Dieses fileread müßte man auch in dein Programm "Spritverbrauch" packen können?
Gruß Achim



PC/GEOS unter Linux in der DOSEMU = UNSCHLAGBAR!

91

Mittwoch, 27. Januar 2016, 13:34

@ Andreas: Danke.
@Bernd: Trotz Löschens des Eintrages zur Dosemu-Version in der autoexec.bat ist der Fehler in Zeile 95 geblieben.
"Always Look On The Bright Side Of Life!"

92

Mittwoch, 27. Januar 2016, 14:28

Liest denn hier niemand die Hilfedatei? :D
Grundsätzlich nicht!
Verstehe... 8)

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. :wacko: Anzeigefenster vielleicht noch ein wenig größer?
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.
Bernd

93

Mittwoch, 27. Januar 2016, 14:36

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).
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...

Davon abgesehen lässt sich die AUTOEXEC.BAT doch mit einem GEOS-Editor händisch genauso leicht bearbeiten wie mit einem Linux-Editor.
Bernd

94

Mittwoch, 27. Januar 2016, 14:38

Und Looft! :D
Sehr gut!

Zitat

@ Bernd: Dieses fileread müßte man auch in dein Programm "Spritverbrauch" packen können?
Weiß jetzt nicht genau, was du meinst. Lass uns darüber im Spritverbrauch-Thread weiterschreiben.
Bernd

95

Mittwoch, 27. Januar 2016, 14:47

@Bernd: Trotz Löschens des Eintrages zur Dosemu-Version in der autoexec.bat ist der Fehler in Zeile 95 geblieben.
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

96

Mittwoch, 27. Januar 2016, 19:09

Hallo Bernd,

das Programm läuft bei mir auch.

@ Andreas
habe meine dosemu.conf auch gleich mal überprüft. Hatte zwar den xms-Speicher etwas höher gesetzt, aber nicht so hoch. Seltsammer weise hatte ich vergessen das Kommentazeichen von der Zeile zu entfernen.... Warum auch immer. :D
Danke Andreas.

Jens
- geos-tiger -

97

Mittwoch, 27. Januar 2016, 20:14

Isemu

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):



ISEMU ist ein DOS-Befehl der DOSEMU und daher auch in der autoexec.bat ausführbar. :D
Gruß Achim



PC/GEOS unter Linux in der DOSEMU = UNSCHLAGBAR!

98

Mittwoch, 27. Januar 2016, 20:28

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. :D
Ah, ok. Da hatte ich Martins Beispiele oben falsch interpretiert.

Vielleicht geht dann z.B. auch:

echo Meine Linuxversion > SPEEDSYS.DAT
isemu >> SPEEDSYS.DAT

Bis zu zwei Zeilen liest Speed aus SPEEDSYS.DAT aus. Was ihr da reinschreibt, ist eigentlich euch überlassen, nur zu lang sollte es nicht werden.
Bernd

99

Mittwoch, 27. Januar 2016, 21:04

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.
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.
"Always Look On The Bright Side Of Life!"

100

Mittwoch, 27. Januar 2016, 21:11

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.
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.

Die Idee mit der Fehlernummer finde ich sehr gut. Es ist vielleicht sogar die sauberste Lösung. Schneller wird es dadurch aber eher nicht ;-)
Bleibt die Option: Überschüssig Zeichen abschneiden (sie sind dann weg) oder beim nächsten FileReadLine$ zur Verfügung stellen? Es könnte ja sein, dass jemand den Dateiinhalt auf diese Weise kopieren möchte .... (wobei z.B. bestimmte Zeichen ersetzt werden sollen).

Gruß
Rainer
Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

Zur Zeit sind neben Ihnen 2 Benutzer in diesem Thema unterwegs:

2 Besucher

Thema bewerten