[Allegro] V28.8 pre-Release 2

Thomas Berger ThB at Gymel.com
Fr Aug 22 11:53:17 CEST 2008


Lieber Herr Eversberg, liebe Liste,


> Feste Anzahl Zeichen vom Ende einer Zeichenfolge
> ------------------------------------------------
> Im Trick 72 stand: "Es gibt leider keinen Manipulationsbefehl, der
> direkt die letzen 100 Byte herausgriffe."
> Jetzt gibt es ihn!
> Man kann jetzt  var #nnn(0,-100) schreiben, um die letzten 100
> Zeichen von #nnn zu kriegen. (Gilt auch fuer acon)

Hatten Sie nicht versprochen, diese Form der Syntax nicht mehr
zu propagieren?

> Plausibler ist zumindest den Perl-Kennern die Syntax #nnn(-20,20),
> um die letzten 20 Zeichen zu kriegen. Das geht ab V28.8.1 ebenfalls.
> Ist #nnn kuerzer, bleibt der Text unveraendert.
> Moeglich und vermutlich sinnvoller ist die Form (-100,100), dann
> werden zuerst die letzten 100 Zeichen genommen, davon dann 100,
> also der gesamte Rest.

Das ist wiederum ueberall besser bekannt als (-100,0):
"Laenge 0" soll nicht einen leeren String produzieren,
sondern bedeutet: "Alles von der ausgewaehlten Startposition
bis zum Ende" (dabei kann man "anderswo" dann das Argument auch
weglassen, so weit brauchen wir es aber nicht zu treiben)


Was mir noch in den letzten Tagen auffiel:


- - auch das 32bit-index.exe kann nicht mit Pfaden (sowohl Programm- als
auch Datenverzeichnis) umgehen, worin eine oder mehrere Komponenten mehr
als 8 Zeichen haben, von UNC-Pfaden ganz zu schweigen. Das ist fatal,
weil sich allegro ja ohne Probleme in solche Pfade installieren laesst
und auch die Arbeit unter a99 i.A. problemlos funktioniert: Ein Anwender
 kann also jahrelang zufrieden vor sich hinwerkeln, nur beim Versuch
(etwa wg. aktualisierter Parameter) zu reindexieren hagelt es (BTW
ziemlich unverstaendliche) dann Fehlermeldungen und nichts geht mehr.


- - _backup.flx hat einen ziemlich stoerenden Test auf "echtes Laufwerk":

...
  ist ein : drin?
if %:% jump anfang
  Nein, d.h. kein Laufwerk angegeben
jump nodrive
...

recht typisch ist aber gerade fuer ein Backup bzw. einen Transport auf
einen Server (etwa ueber VPN verbundenes Share), dass es keinen
Laufwerksbuchstaben gibt. Vielmehr ist also darauf zu testen, ob es
das angegebene Verzeichnis gibt, bzw. ob es nach dem Versuch, es
anzulegen, auch wirklich existiert.


- - Mit V28.3 oder so kam das "Einfrieren" von a99, das ist dann auch in
org.flx eingebaut worden, der Effekt ist aber nicht begruessenswert:

Es erscheint zwar die Meldung, dass man mit Alt+Tab zum
"Meldungsfenster" kommt, da dieses (also die Dosbox mit index.exe) wg.
"cAll"-Aufruf ganz hinten in der Liste der Tasks ist, muss man sehr oft
Alt+Tab druecken, damit es stimmt. Ausserdem ist umso augenfaelliger,
dass a99 nicht reagiert... Vielleicht geht es ja, a99 in die
Taskleiste zu minimieren und das Index-Fenster dafuer im Vordergrund zu
lassen. Wenn nicht, wuerde ich vorschlagen, das alte Verhalten mit
Beenden von a99 durch STOP und Reaktivierung durch org.bat wieder
einzufuehren.


viele Gruesse
Thomas Berger




Mehr Informationen über die Mailingliste Allegro