[Allegro] getfile.flx

Bernhard Eversberg ev at biblio.tu-bs.de
Fr Nov 7 11:30:38 CET 2014


Am 06.11.2014 15:24, schrieb Thomas Berger:
>
> Hihi,
>
> das aktuell ausgefuehrte getfile.flx enthaelt den Test
>
> if %404 Not Found% jump notf
>
> und das geholte enthaelt dieselbe Zeile, darin enthalten natuerlich
> die Zeichenkette "404 Not Found": Insofern wird  die erfolgreich
> herbeigeholte Datei als ihre eigene Statusmeldung verkannt und
> verworfen...

Ja, ein kurioses Eigentor! Ich hab mir das schnell mal aufgeschrieben
für meine Memoiren.
Nun aber haben wir den getfile.flx resistent gemacht gegen diese
Situation. Ausnahmsweise sende ich die Datei  getfile.flx  mit,
weil's ja anders eben nicht geht.

Außerdem kann man damit nun auch Dateien größer als 64K abrufen,
denn es wird die Datei mit "open" geöffnet und mit "get" zeilenweise
gelesen.
Das brauchen wir für eine wichtige Neuerung, dazu später mehr.

B.Eversberg



-------------- nächster Teil --------------
  getfile.flx : Datei vom Webserver holen und lokal speichern
  2014-11-07
  

if "" jump dnam
ins $dn
jump getit

:dnam
mes Datei existiert schon, bitte anderer Name:
ask Dateiname?
if "" end
ins $dn

:getit

  Name des Ordners
var $dn "xx"
if %~.flxxx% var P "flex\\"
if %~.incxx% var P "flex\\"
if %~.rtfxx% var P "help\\"
if %~.vwxx% var P "help\\"
if %~.htmxx% var P "html\\"

if not %\\% var P

ins $fo
var $fo $dn

open x



var "now getting  http://www.allegro-c.de/aktuelle-version/getfile/" $dn " ... please wait"
sho IV

var "http://www.allegro-c.de/aktuelle-version/getfile/" $dn 
open

var ""
// if "" mes Kein Erfolg;end

:loop
get
 if %404 Not Found% and if not %jump notf% jump notf
if "" jump ENDE 
  Ersetzung der Zeichenfolge 10 13 10 durch 13 10
var (F"^J^M")

ins $txt

  Datei schreiben
wri $txt n
jump loop

:ENDE
close x

var "Datei " $dn " wurde im Ordner " $fo " abgelegt"
mes

yes Datei anzeigen?
if not yes end

var $dn
help
end

:notf

var "Die Datei " $dn " wurde auf dem Server nicht gefunden"
mes



Mehr Informationen über die Mailingliste Allegro