home *** CD-ROM | disk | FTP | other *** search
- @ECHO OFF
- REM ------------------------------------
- REM Install - BAT/BTM-file to install 4D
- REM Copyright (c) 1993 Bernd Schemmer
- REM
- REM last update: 07.07.93 /bs
- REM ------------------------------------
-
- REM ------------------------------------
- REM show the logo
- CLS bla on whi
- ECHO. ╔════════════════════════════════════════════════════════════════════════════╗
- ECHO. ║--------------- INSTALL - Installations-Routine für 4D ---------------------║
- ECHO. ╚════════════════════════════════════════════════════════════════════════════╝
- ECHO.
-
- REM ------------------------------------
- REM check if 4DOS is loaded
- REM
- IF "%@eval[2+2]" == "4" GOTO 4DOSLoaded
- ECHO. Was'n das???
- ECHO.
- ECHO. Ein Menuesystem für _4DOS_ installieren wollen -- aber kein 4DOS installiert??
- ECHO.
- ECHO. Sorry, aber _das_ geht nun wirklich nicht.
- ECHO.
- GOTO DOSEnde
-
- REM ------------------------------------
- REM speed up the execution
- REM
- :4DOSLoaded
- LOADBTM ON
- SETLOCAL
-
- REM Unset environment variables used by INSTALL
- UNSET /Q installed tdir checking upath
-
- REM Unset environment variables overwriting the internal 4DOS variables
- UNSET /Q _date _time _cpu _monitor _video _columns _rows
- UNSET /Q _dos _dosver _4ver _env _alias
-
- *SET iErr=1 >&NUL
-
- REM ------------------------------------
- REM check 4DOS version
- REM
- IFF %@int[%_4ver]0 LT 40 THEN
- ECHO.
- ECHO. INSTALL-Fehler: Sorry, aber 4D benötigt mindestens 4DOS Version 4.0!
- GOTO DOSEnde
- ENDIFF
-
- REM ------------------------------------
- REM check if the output of install goes on the screen
- REM GOTO XXX
-
- *SET x=%_column
- *SET y=%_row
- ECHO.X
- IFF "%@readscr[%y%,%x%,1]" != "X" THEN
- ECHO. >CON
- ECHO. INSTALL-Fehler: Sie können INSTALL NICHT mit einer Umleitung der >CON
- ECHO. Ausgabe aufrufen! >CON
- ECHO. (Tja, so ist das Leben, was?) >CON
- GOTO DOSEnde
- ENDIFF
- SCREEN %y% %x% ` `
- SCREEN %y% %x%
- :XXX
-
- REM ------------------------------------
- REM check free env space
- REM
- IFF 0%_env LT 0400 THEN
- ECHO.
- ECHO. INSTALL-Fehler: Sorry, aber das Installations-Programm für 4D benötigt
- ECHO. min. 400 Byte freies Environment!
- GOTO DOSEnde
- ENDIFF
-
- REM ------------------------------------
- REM setup some vars for INSTALL.BAT
- REM
- *SET clrF=%_fg
- *SET clrB=%_bg
- IFF "%clrF%" EQ "%clrB%" THEN
- *SET clrF=bla
- *SET clrB=whi
- ENDIFF
-
- IFF "%_monitor" == "COLOR" THEN
- *SET clrM=red
- ELSE
- *SET clrM=bla
- ENDIFF
-
- *SET _r1=%@eval[%_rows-5]
- *SET _r20=%@eval[%_rows-4]
- *SET _r21=%@eval[%_rows-3]
- *SET _r3=%@eval[%_rows-2]
- *SET _c1=%@eval[%_columns-2]
- *SET x=%_column
- *SET y=%_row
-
- REM ------------------------------------
- REM get path of INSTALL.BAT
- REM
- *SET uPath=%@path[%@search[%0%]]
- if "%uPath%" == "" *SET uPath=%@path[%0%]
- if "%uPath%" == "" *SET uPath=%@path[%@search[%@name[%0%].%@ext[%0%]]]
- if "%uPath%" == "" *SET uPath=%_cwds
-
- REM ------------------------------------
- REM check parameter(s)
- REM
- IF "%2%" != "" GOTO ShowUsage
-
- IFF "%1%" != "" THEN
- IF %@index["%1%",?] NE -1 GOTO ShowUsage
- IF "%1%" == "-check" GOTO DoSystemCheck
-
- IF NOT isDir %1% GOTO ParmError
- *SET tdir=%@full[%1%]
- IF "%@substr[%tdir%,0,-1]" EQ "\" *SET %tdir%=%@substr[%tdir%,0,%@eval[%@len[%tdir%]-1]]
- SCREEN %y% %x%
- ECHO. Parameter (= Ziel-Verzeichnis für 4D) ist %tdir%
- *SET x=%_column
- *SET y=%_row
- GOTO CheckTargetDir
- ENDIFF
-
- REM ------------------------------------
- REM get the target directory for 4D
- REM
-
- *SET «=C:\4DMAIN
-
- :GetTargetDir
-
- GOSUB BigBox
- SCREEN %_r20% 2
- ECHO. In welches Verzeichnis soll 4D installiert werden?
- SCREEN %_r21% 2
- ECHOS.` `
- ESET «
- *SET tdir=%[«]
- IF "%tdir%" == "" GOTO UserAbort
- GOSUB ClrBox
-
- :CheckTargetDir
- GOSUB CheckDrive
- *SET tdir=%@full[%tdir%]
- IF "%@substr[%tdir%,0,-1]" EQ "\" *SET tdir=%@substr[%tdir%,0,%@eval[%@len[%tdir%]-1]]
-
- IFF NOT IsDir %tdir% THEN
- *SET msg=Verzeichnis %tdir% existiert nicht!
- *SET msg1=Soll es erstellt werden (j/N, F1=Hilfe)?
- GOSUB ShowMsg
-
- *SET hTopic=keys1
- *SET keys=/K"NJnj[enter][esc][F1]"
- GOSUB MyInkey
-
- IF "%c%" != "J" GOTO GetTargetDir
- GOSUB ClrBox
-
- SCREEN %y% %x%
- GOSUB MakeDir
- *SET x=%_column
- *SET y=%_row
-
- IFF "%iErr%" NE "" THEN
- ECHO.
- ECHO. INSTALL-Fehler: Fehler beim Erstellen des Verzeichnisses %tdir%!
- GOTO InstallEnde
- ENDIFF
-
- ELSEIFF EXIST %tdir%\*.* THEN
- *SET msg=Verzeichnis %tdir% ist NICHT leer!
- *SET msg1=Sollen die Dateien und Verzeichnisse (!) gelöscht werden (j/N, F1=Hilfe)?
- GOSUB ShowMsg
- :GetKeyAgain
- *SET hTopic=keys2
- *SET keys=/K"NJnjDd[enter][esc][F1]"
- GOSUB MyInkey
-
- IFF "%c%" == "D" THEN
- dir /s /A /Oge %tdir% | *SET f="%@select[con,3,2,%@eval[%_rows-6],%_columns, Inhalt des Directorys %tdir% ]"
- ENDIFF
- IF "%c%" == "D" GOTO /I GetKeyAgain
-
- IF "%c%" != "J" GOTO GetTargetDir
- GOSUB ClrBox
-
- IFF %@len[%tdir%] LE 3 THEN
- SCREEN %y% %x%
- ECHO.
- ECHO. INSTALL-Fehler: Ich glaube nicht, daß Sie wirklich Ihr Root-Verzeichnis
- ECHO. von %tdir% löschen wollen!
- ECHO. Naja, auf jeden Fall mache _ich_ sowas auf keinen Fall!
- GOTO InstallEnde
- ENDIFF
-
- *SET cc=%@char[%@eval[ (%@substr[%_time,6,2] %% 26 )+65]]
-
- *SET msg=Verzeichnis %tdir% soll gelöscht werden.
- *SET msg1=Bitte bestätigen Sie dies mit der Taste '%cc%'!
- GOSUB ShowMsg
-
- *SET hTopic=keys6
- *SET keys=/K"%cc%[enter][esc][F1]"
- GOSUB MyInkey
-
- IF "%c%" != "%cc%" GOTO GetTargetDir
- GOSUB ClrBox
-
- SCREEN %y% %x%
- ECHO. Lösche alle Dateien aus dem Verzeichnis %tdir% ...
-
- DEL /Q /S /Y /X /Z %tdir%\*.* >>&!c:\4dlog
- *SET ErrCode=%_?
- *SET x=%_column
- *SET y=%_row
-
- IFF %ErrCode% != 0 .AND. %ErrCode% != 2 THEN
- ECHO.
- ECHO. INSTALL-Fehler: Fehler beim Löschen der Dateien
- ECHO. im Verzeichnis %tdir% (4DOS-Fehler: %ErrCode%)!
- GOTO InstallEnde
- ENDIFF
-
- IFF NOT IsDir %tDir% THEN
- MD %tdir% >>&!c:\4dlog
- *SET ErrCode=%_?
- IFF %ErrCode% != 0 THEN
- ECHO.
- ECHO. INSTALL-Fehler: Fehler beim Neu-Erstellen des Verzeichnisses
- ECHO. %tdir% (4DOS-Fehler: %ErrCode%)!
- GOTO InstallEnde
- ENDIFF
- ENDIFF
- move c:\4dlog %tdir >>&!NUL
-
- UNSET /Q i
- ENDIFF
-
- REM ------------------------------------
- REM install 4D ...
- REM
- :TargetDirOkay
-
- SCREEN %y% %x%
- ECHO. Installiere 4D ins Verzeichnis %tdir% ...
- *SET x=%_column
- *SET y=%_row
-
- *SET installed=N
-
- IFF %@diskfree[%tdir%,k] LT 500 THEN
- ECHO.
- ECHO. INSTALL-Fehler: Zuwenig freier Speicher im Laufwerk %@subst[%@full[%tdir%],0,2]!
- ECHO. 4D belegt ca. 500 kb Speicher.
- GOTO InstallEnde
- ENDIFF
-
- *SET msg=4D wird nach %tdir% installiert. Bitte warten (F1 für Hilfe) ...
- *SET msg1=(Hinweis: Die Reaktion auf die Taste F1 kann etwas dauern)
- GOSUB ShowMsg
-
- *SET hTopic=keys7
- *SET keys=/W0 /K"[esc][F1]"
- UNSET /Q c
- INKEY %keys% %%c >&NUL
- IF "%c%" != "" GOSUB MyInkey0
-
- cdd %tdir%
- *SET arcName=4DMAIN.EXE
- %upath%4DMAIN >>&!%tdir%\4dlog
- IF "%_?" NE "0" .OR. "%?" NE "0" GOTO ArcError
-
- *SET hTopic=keys7
- *SET keys=/W0 /K"[esc][F1]"
- UNSET /Q c
- INKEY %keys% %%c >&NUL
- IF "%c%" != "" GOSUB MyInkey0
-
- copy %upath%show.com;4d.doc;4d.txt;dsinfo.txt . >>&!%tdir%\4dlog
-
- *SET hTopic=keys7
- *SET keys=/W0 /K"[esc][F1]"
- UNSET /Q c
- INKEY %keys% %%c >&NUL
- IF "%c%" != "" GOSUB MyInkey0
-
- *SET newDir=CHECK
- GOSUB MakeOneDir
- CD CHECK
- copy /Q %uPath%INSTALL.BAT;*.HLP . >>&!%tdir%\4dlog
- CD ..
-
- *SET hTopic=keys7
- *SET keys=/W0 /K"[esc][F1]"
- UNSET /Q c
- INKEY %keys% %%c >&NUL
- IF "%c%" != "" GOSUB MyInkey0
-
- *SET newDir=KEYS
- GOSUB MakeOneDir
- *SET arcName=4DKEYS.EXE
- CD KEYS
- %upath%4DKEYS >>&!%tdir%\4dlog
- IF "%_?" NE "0" .OR. "%?" NE "0" GOTO ArcError
- CD ..
-
- *SET hTopic=keys7
- *SET keys=/W0 /K"[esc][F1]"
- UNSET /Q c
- INKEY %keys% %%c >&NUL
- IF "%c%" != "" GOSUB MyInkey0
-
- *SET newDir=HLP
- GOSUB MakeOneDir
- *SET arcName=4DHLP.EXE
- CD HLP
- %upath%4DHLP >>&!%tdir%\4dlog
- IF "%_?" NE "0" .OR. "%?" NE "0" GOTO ArcError
- CD ..
-
- *SET hTopic=keys7
- *SET keys=/W0 /K"[esc][F1]"
- UNSET /Q c
- INKEY %keys% %%c >&NUL
- IF "%c%" != "" GOSUB MyInkey0
-
- *SET newDir=4DUSER
- GOSUB MakeOneDir
- *SET arcName=4DUSER.EXE
- CD 4DUSER
- %upath%4DUSER >>&!%tdir%\4dlog
- IF "%_?" NE "0" .OR. "%?" NE "0" GOTO ArcError
- CD ..
-
- UNSET /Q installed
- *SET iErr=0
-
- REM ------------------------------------
- REM check the system ...
- REM
- :DoSystemCheck
-
- *SET sysout=%@unique[%tmp%]
- *SET systxt=%@full[%_disk%:SYSTEM.TXT]
-
- *SET msg=INSTALL überprüft Ihr System. Bitte warten (F1 für Hilfe) ...
- *SET msg1=(Hinweis: Die Reaktion auf die Taste F1 kann etwas dauern)
- GOSUB ShowMsg
-
- GOSUB CheckSystem
- GOSUB ClrBox
- copy %sysout% %systxt% >>&!%tdir%\4dlog
-
- :clrKeys
- UNSET /Q c
- inkey /W0 %%c >&NUL
- IF "%c% "!= " " GOTO clrKeys
-
- CLS %clrF% on %clrB%
- *SET f="%@select[%sysout%,0,0, %_r3, %_c1, 4D System-Überprüfungen ]"
-
- IF EXIST 4DLOG DEL /Q 4dlog
-
- IFF EXIST 4D.DOC .AND. "%1%" != "-check" THEN
- *SET msg=Möchten Sie nun die allgemeine Dokumentation zu 4D durchlesen (J/n)?
- GOSUB ShowMsg
- *SET abort=N
- *SET htopic=keys3
- *SET keys= /K"NJnj[enter][esc][F1]"
- GOSUB MyInkey
-
- GOSUB ClrBox
- IFF "%c%" != "" .AND. "%c%" != "N" THEN
- show 4D.DOC dsinfo.txt
- ENDIFF
- ENDIFF
-
- IFF "%1%" != "-check" THEN
- SCREEN %y% %x%
- ECHO. 4D ist nun im Verzeichnis %tdir% installiert.
- ECHO.
- ECHO. Damit Sie 4D jederzeit aufrufen können, müssen Sie entweder Ihren Pfad
- ECHO. erweitern - z.B. mit
- ECHO.
- ECHO. SET PATH=%%PATH%%;%tdir%
- ECHO.
- ECHO. oder aber einen Alias für den Aufruf von 4D erstellen - z.B.
- ECHO.
- ECHO. ALIAS 4D=%tdir%\4D
- ECHO.
- ECHO. Vergessen Sie nicht, die Benutzer-Einstellungen in 4D einzurichten!
- *SET x=%_column
- *SET y=%_row
- ENDIFF
-
- REM ------------------------------------
-
- :InstallEnde
- GOSUB clrBox
-
- IF EXIST 4DLOG describe 4dlog "Log-Datei von INSTALL. Kann gelöscht werden!"
- IF EXIST SYSTEM.TXT describe SYSTEM.TXT "Protokoll der System-Überprüfungen von INSTALL"
- IF EXIST check\*.* describe CHECK "Installations-Programm für 4D"
-
- IF EXIST %sysout% DEL /Q %sysout >&NUL
-
- IFF "%installed%" == "N" THEN
- ECHO. Achtung: Die Installation von 4D im Verzeichnis %tdir% ist NICHT
- ECHO. vollständig und sollte komplett gelöscht werden!
- ENDIFF
-
- QUIT %iErr%
-
- REM ------------------------------------
- REM ArcError - show an error message
- REM
- REM input: arcName = name of an archiv
- REM
- :ArcError
- ECHO.
- ECHO. INSTALL-Fehler: Fehler beim Entpacken des Archivs %arcName%!
- ECHO.
- GOTO InstallEnde
-
- REM ------------------------------------
- :ParmError
- ECHO.
- ECHO. INSTALL-Fehler: Falscher Parameter (%1%) angegeben!
-
- REM ------------------------------------
- :ShowUsage
- ECHO.
- ECHO. Aufruf: INSTALL {[targetDir│-check]}
- ECHO.
- ECHO. Parameter: targetDir - Zielverzeichnis für 4D
- ECHO. -check - Überprüfe nur, ob 4D auf der akt. Konfiguration läuft.
- ECHO.
- *SET iErr=255
- GOTO InstallEnde
-
- REM ------------------------------------
- :UserAbort
- SCREEN %y% %x%
- ECHO. Install durch den Benutzer abgebrochen.
- ECHO.
- IFF "%checking%" != "" THEN
- IFF EXIST %sysout% THEN
- ECHO. Lösche die nur teilweise erstellte Datei %sysout% ...
- DEL /Q %sysout%
- ENDIFF
- ENDIFF
-
- *SET x=%_column
- *SET y=%_row
-
- *SET iErr=2
- GOTO InstallEnde
-
- REM ------------------------------------
- REM some sub routines for install
- REM
-
- REM ------------------------------------
- REM MakeOneDir - make a directory
- REM
- REM input: newdir = directory to make
- REM
- :MakeOneDir
- SCREEN %y% %x%
- ECHO. Erstelle das Verzeichnis %tdir%\%newDir% ...
- *SET x=%_column
- *SET y=%_row
-
- MD %tdir%\%newDir%
-
- IFF %_? != 0 THEN
- ECHO.
- ECHO. INSTALL-Fehler: Kann das Verzeichnis
- ECHO. %tdir%\%newDir%
- ECHO. nicht erstellen!
- GOTO InstallEnde
- ENDIFF
-
- *SET hTopic=keys7
- *SET keys=/W0 /K"[esc][F1]"
- UNSET /Q c
- INKEY %keys% %%c >&NUL
- IF "%c%" != "" GOSUB MyInkey0
-
- RETURN
-
- REM ------------------------------------
- REM MyInkey read a key and test for F1 and esc
- REM
- REM input: %keys% = parameter for inkey
- REM %hTopic% = help topic
- REM %upath% = path of INSTALL.BAT
- REM %abort% = if N myinkey don't handles ESC
- REM
- REM output: %c% = pressed key
- REM
- :MyInkey
- UNSET /q c
- inkey %keys% %%c >&NUL
-
- :MyInkey0
- IFF "%c%" == "@59" THEN
-
- :DelKeys
- UNSET /Q c
- inkey /w0 %%c >&NUL
- IF "%c% " != " " GOTO /I DelKeys
-
- IFF EXIST %upath%%HTopic%.HLP THEN
- *SET f="%@select[%upath%%hTopic%.HLP,1,17,%@eval[%_rows-6],60, INSTALL Online-Hilfe ] "
- GOTO MyInkey
- ELSE
- *SET msg=Hilfstext-Datei %upath%%hTopic%.HLP nicht gefunden!
- GOSUB ShowErr
- GOTO MyInkey
- ENDIFF
- ELSEIFF "%c%" == "" .AND. "%abort%" != "N" THEN
- UNSET /Q ask
- ECHO. INSTALL abbrechen? Return=JA / ESC=NEIN | *SET ask=%@select[con, %_r1,2, %_r3, %_c1, Install-Sicherheits-Abfrage ]
- IFF "%ask%" != "" THEN
- GOSUB clrBox
- GOTO UserAbort
- ENDIFF
- UNSET /Q ask c
- GOTO MyInkey
- ENDIFF
- UNSET /Q keys
- *SET c=%@upper[%c%]
- RETURN
-
- REM ------------------------------------
- REM BigBox - draw a big box
- REM
- REM input: _r3, _r20 _r1
- REM
- :BigBox
- drawbox %_r1 1 %_r3 %_c1 2 bla on whi FILL whi
- screen %_r20 1
- RETURN
-
- REM ------------------------------------
- REM Clrbox - clear a big box
- REM
- REM input: _r3 _r1
- REM
- :ClrBox
- drawbox %_r1 1 %_r3 %_c1 0 %clrB% on %clrB% FILL %clrB%
- RETURN
-
- REM ------------------------------------
- REM ShowMsg - show a message in a big box
- REM
- REM input: _r20 _r21 msg
- REM
- :ShowMsg
- GOSUB bigBox
- scrput %_r20 %@int[%@eval[ (%_columns%/2) - (%@len[%msg%]/2) ]] %clrM% on whi %msg%` `
- IFF "%msg1%" != "" THEN
- scrput %_r21 %@int[%@eval[ (%_columns%/2) - (%@len[%msg1%]/2) ]] %clrM% on whi %msg1%` `
- ENDIFF
- *SET msg=
- *SET msg1=
- RETURN
-
- REM ------------------------------------
- REM showErr - show an error message in a popup window
- REM
- REM input: _r1 _r3 _c1 msg
- REM
- :showErr
- ECHO. %msg% | *SET err="%@select[con, %_r20,1, %_r3, %_c1, Install-Fehlermeldung ]"
- RETURN
-
- REM ------------------------------------
- REM CheckSystem - check the system
- REM
- REM input: sysout = file for the output
- REM
- :checkSystem
- *SET checking=Y
- *SET hTopic=keys4
-
- *SET keys=/W0 /K"[esc][F1]"
- UNSET /Q c
- INKEY %keys% %%c >&NUL
- IF "%c%" != "" GOSUB MyInkey0
-
- IF EXIST %sysout% DEL /Q /Z %sysout%
- ECHO.>!%sysout%
- ECHO.---------------------------------------------------------------------->>%sysout%
- ECHO. Ergebnis der System-Überprüfungen vom %_date um %_time >>%sysout%
- ECHO.---------------------------------------------------------------------->>%sysout%
- ECHO. >>%sysout%
- ECHO. Die System-Überprüfungen dienen dazu, festzustellen ob 4D auf >>%sysout%
- ECHO. Ihrer Rechner-Konfiguration läuft. Für alle überprüften Punkte >>%sysout%
- ECHO. finden Sie hier eine Beschreibung mit folgender Bewertung: >>%sysout%
- ECHO. >>%sysout%
- ECHO. Punkte die okay sind, sind mit dem Zeichen √ gekennzeichnet. >>%sysout%
- ECHO. Punkte, die geändert werden sollten, sind mit dem Zeichen ? >>%sysout%
- ECHO. gekennzeichnet. Und Punkte, die geändert werden müssen, sind >>%sysout%
- ECHO. mit dem Zeichen * gekennzeichnet. >>%sysout%
- ECHO. >>%sysout%
- ECHO. Hardware: >>%sysout%
- ECHO. --------- >>%sysout%
-
- *SET keys=/W0 /K"[esc][F1]"
- UNSET /Q c
- INKEY %keys% %%c >&NUL
- IF "%c%" != "" GOSUB MyInkey0
-
- IFF "%_cpu" == "86" THEN
- *SET msg=* Diese CPU ist zu langsam für 4D!
- ELSEIFF "%_cpu%" == "186" THEN
- *SET msg=* Diese CPU ist zu langsam für 4D!
- ELSEIFF "%_cpu%" == "200" THEN
- *SET msg=* Diese CPU ist zu langsam für 4D!
- ELSEIFF "%_cpu%" == "286" THEN
- *SET msg=? Diese CPU ist wahrscheinlich zu langsam für 4D!
- ELSEIFF "%_cpu%" == "386" THEN
- *SET msg=? Diese CPU ist evtl. zu langsam für 4D (Testen)!
- ELSEIFF "%_cpu%" == "486" THEN
- *SET msg=√ Diese CPU ist okay.
- ENDIFF
- ECHO. CPU ist %_cpu >>%sysout%
- ECHO. %msg% >>%sysout%
-
- *SET keys=/W0 /K"[esc][F1]"
- UNSET /Q c
- INKEY %keys% %%c >&NUL
- IF "%c%" != "" GOSUB MyInkey0
-
- IFF "%_MONITOR" == "COLOR" THEN
- *SET msg=√ Monitor-Typ ist okay.
- ELSE
- *SET msg=? Monitor-Typ ist okay. 4D sieht in Farbe aber bedeutend besser aus!
- ENDIFF
- ECHO. Bildschirm-Typ ist %_monitor (%_video) >>%sysout%
- ECHO. %msg% >>%sysout%
-
- IFF %_columns LT 80 .OR. %_rows LT 25 THEN
- *SET msg=* Sie müssen Ihren Bildschirm in einem Modus mit min. 80x25 Zeichen schalten!
- ELSE
- *SET msg=√ Bildschirm-Modus ist okay.
- ENDIFF
- ECHO. Bildschirmmodus ist %_columns%x%_rows%. >>%sysout%
- ECHO. %msg% >>%sysout%
-
- *SET keys=/W0 /K"[esc][F1]"
- UNSET /Q c
- INKEY %keys% %%c >&NUL
- IF "%c%" != "" GOSUB MyInkey0
-
- IFF "%@readscr[%_r1%,1,1]" != "╔" .OR. "%@readscr[%_r3%,1,1]" != "╚" THEN
- ECHO.>>%sysout%
- ECHO. Achtung: Der Befehl drawBox von 4DOS funktioniert in Ihrer >>%sysout%
- ECHO. Konfiguration nicht ganz korrekt, so daß Meldungs->>%sysout%
- ECHO. boxen evtl. nicht sauber gezeichnet werden. >>%sysout%
- ECHO. Die Benutzung von 4D wird dadurch aber NICHT beeinflußt!>>%sysout%
- ECHO.>>%sysout%
- ENDIFF
-
- *SET keys=/W0 /K"[esc][F1]"
- UNSET /Q c
- INKEY %keys% %%c >&NUL
- IF "%c%" != "" GOSUB MyInkey0
-
- ECHO. >>%sysout%
- ECHO. Betriebssystem-Einstellungen: >>%sysout%
- ECHO. ----------------------------- >>%sysout%
-
- IFF %@int[%_dosver] GT 10 THEN
- *SET msg=√ DOS und OS/2-Version sind okay.
- *SET _dos=OS/2-DOS-Box
- *SET _dosVer=%@substr[%_dosver,0,1].%@substr[%_dosver,3,2]
- ELSEIFF "%_dos" == "DOS" THEN
- IFF %@int[%_dosver] LT 3 THEN
- *SET msg=* Sie müssen Ihre DOS-Version updaten! 4D braucht min. DOS 3.0.
- ELSEIFF %@int[%_dosver] LT 5 THEN
- *SET msg=? Sie sollten Ihr DOS auf Version 5+ updaten!
- ELSE
- *SET msg=√ DOS-Version ist okay.
- ENDIFF
- ELSEIFF %@int[%_dosver] LT 2 .AND. "%_dos" == "OS2" THEN
- *SET msg=? Sie sollten Ihr OS/2 auf Version 2.0+ updaten!
- ENDIFF
- ECHO. Betriebssystem ist %_dos %_dosver >>%sysout%
- ECHO. %msg% >>%sysout%
- UNSET /Q _dos _dosVer
-
- IFF "%@int[%_4ver]" LT "4" THEN
- *SET msg=* Sie müssen Ihr 4DOS auf Version 4+ updaten!!!
- ELSE
- *SET msg=√ 4DOS-Version ist okay.
- ENDIFF
-
- ECHO. 4DOS-Version ist %_4VER >>%sysout%
- ECHO. %msg% >>%sysout%
-
- *SET keys=/W0 /K"[esc][F1]"
- UNSET /Q c
- INKEY %keys% %%c >&NUL
- IF "%c%" != "" GOSUB MyInkey0
-
- ECHO. >>%sysout%
- ECHO. 4DOS-Einstellungen: >>%sysout%
- ECHO. ------------------- >>%sysout%
-
- UNSET /Q t1 t2
- *SET t1=1 ^ *SET t2=2
- IFF "%t2%" != "2" THEN
- *SET msg=* Sie müssen das Compound Char für 4DOS in `^` ändern!
- ELSE
- *SET msg=√ Compound Char ist okay.
- ENDIFF
- UNSET /Q t1 t2
- ECHO. Teste 4DOS Compound Char ... >>%sysout%
- ECHO. %msg% >>%sysout%
-
- UNSET /Q t1
- *SET t1=e
- IFF "%t1%" != "" THEN
- *SET msg=* Sie müssen das Esc Char für 4DOS in CTRL-X ändern!
- ELSE
- *SET msg=√ Esc Char ist okay.
- ENDIFF
- UNSET /Q t1
- ECHO. Teste 4DOS Esc Char ... >>%sysout%
- ECHO. %msg% >>%sysout%
-
- IFF %_env GE 1000 THEN
- *SET msg=√ Größe des Environments ist okay.
- ELSEIFF %_env GE 600 THEN
- *SET msg=? Sie sollten das Environment vergrößern.
- ELSE
- *SET msg=* Sie müssen das Environment vergrößern.
- ENDIFF
- ECHO. freier Environment-Speicher ist %_env >>%sysout%
- ECHO. %msg% >>%sysout%
-
- IFF %_alias GE 1000 THEN
- *SET msg=√ Größe des Speichers für Aliasse ist okay.
- ELSEIFF %_alias GE 600 THEN
- *SET msg=? Sie sollten den Speicher für die Aliasse vergrößern.
- ELSE
- *SET msg=* Sie müssen den Speicher für die Aliasse vergrößern.
- ENDIFF
- ECHO. freier Speicher für Aliasse ist %_alias >>%sysout%
- ECHO. %msg% >>%sysout%
-
- keystack #00 >&NUL
- IFF %_? == 0 THEN
- *SET msg=√ KSTACK geladen.
- *SET msg1=
- ELSE
- *SET msg=? KSTACK NICHT geladen. Ist zwar okay, aber warum benutzen Sie
- *SET msg1=4DOS ohne KSTACK?
- ENDIFF
- ECHO. Teste ob KSTACK geladen ist ... >>%sysout%
- ECHO. %msg% >>%sysout%
- ECHO. %msg1% >>%sysout%
- ECHO. >>%sysout%
- ECHO. Environment-Variablen: >>%sysout%
- ECHO. ---------------------- >>%sysout%
-
- IFF "%COMSPEC%" == "" THEN
- *SET msg=? Sie sollten die Variable COMSPEC setzten!
- ELSEIFF NOT EXIST %COMSPEC% THEN
- *SET msg=* Sie müssen den Inhalt der Variablen COMSPEC ändern (da fehlerhaft)!
- ELSE
- *SET msg=√ okay
- ENDIFF
- ECHO. COMSPEC=%COMSPEC% >>%sysout%
- ECHO. %msg% >>%sysout%
-
- IF "%TEMP%" == "" *SET TEMP=%tmp%
- IF "%TEMP%" == "" *SET TEMP=%temp4dos%
- IFF "%TEMP%" == "" THEN
- *SET msg=? Sie sollten eine der Variablen TEMP, TMP oder TEMP4DOS setzen!
- ELSEIFF NOT isDir %TEMP% THEN
- *SET msg=* Sie müssen den Inhalt der Variablen TEMP ändern!
- *SET msg1= (Da das Verzeichnis %temp% NICHT existiert!)
- ELSE
- *SET msg=√ okay
- *SET msg1=
- ENDIFF
-
- ECHO. TEMP=%TEMP% >>%sysout%
- ECHO. TMP=%TMP% >>%sysout%
- ECHO. TEMP4DOS=%TEMP4DOS% >>%sysout%
- ECHO. %msg% >>%sysout%
- ECHO. %msg1% >>%sysout%
-
- IFF "%TEMP%" NE "" THEN
- IFF isDir %TEMP% THEN
- IFF %@DiskFree[%temp%,k] LT 50 THEN
- ECHO. ? Sie sollten den freien Platz im Verzeichnis %temp% erhöhen, >>%sysout%
- ECHO. ? da 4D relativ viele temporäre Dateien benötigt! >>%sysout%
- ENDIFF
- ENDIFF
- ENDIFF
-
- *SET keys=/W0 /K"[esc][F1]"
- UNSET /Q c
- INKEY %keys% %%c >&NUL
- IF "%c%" != "" GOSUB MyInkey0
-
- ECHO. >>%sysout%
- ECHO. 4DOS-Aliasse: >>%sysout%
- ECHO. ------------- >>%sysout%
-
- UNSET /q ok
-
- ECHO. Teste existierende Aliasse ... >>%sysout%
- FOR %%f IN ( MyCls NewKey MyBeep MyInkey BigBox ClrBox ShowMsg ShowErr ) DO (
- IFF isAlias %f% THEN
- ECHO. Alias "%f%" ist belegt. >>%sysout%
- ECHO. ? Achtung: Dieser Alias wird auch von 4D benutzt! >>%sysout%
- *SET ok=NO
- ENDIFF
- *SET keys=/W0 /K"[esc][F1]"
- UNSET /Q c
- INKEY %keys% %%%c >&NUL
- IF "%c%" != "" GOSUB MyInkey0
- )
-
- FOR %%f IN ( @ALT-A @ALT-C @ALT-D @ALT-E @ALT-H @ALT-L @ALT-P @ALT-V @ALT-W @ALT-X @ALT-F1 @CTRL-F1 ) DO (
- IFF isAlias %f% THEN
- ECHO. Alias %f% ist belegt. >>%sysout%
- ECHO. ? Achtung: Dieser Alias wird auch von 4D benutzt! >>%sysout%
- *SET ok=NO
- ENDIFF
- *SET keys=/W0 /K"[esc][F1]"
- UNSET /Q c
- INKEY %keys% %%%c >&NUL
- IF "%c%" != "" GOSUB MyInkey0
- )
-
- IFF "%ok%" == "" THEN
- ECHO. √ Aliasse sind okay. >>%sysout%
- ENDIFF
-
- ECHO. >>%sysout%
- ECHO.---------------------------------------------------------------------->>%sysout%
- ECHO. Hinweis: Diese Ausgaben stehen auch in der Datei >>%sysout%
- ECHO. %systxt% >>%sysout%
- ECHO. zur weiteren Verwendung zur Verfügung. >>%sysout%
- ECHO.---------------------------------------------------------------------->>%sysout%
- UNSET /Q checking msg msg1
- RETURN
-
- REM ------------------------------------
- REM makeDir - make a directory(-tree)
- REM
- REM input: %tdir% = directory name
- REM
- :makeDir
- *SET d=%tdir%
- IFF isDir %d% THEN
- IF "%@name[%d%].%@ext[%d%]CON" != "CON" *SET d=%d%\
- ENDIFF
-
- *SET l=0
- *SET iErr=1
-
- :MDLoop0
- IFF IsDir %d% THEN
- cdd %d%
- IF %_? != 0 GOTO MDLoopEnd
- GOTO MakeTheDir
- ENDIFF
-
- *SET l=%@eval[%l%+1]
-
- *SET t=%@substr[%d%,0,%@eval[%@len[%d]]]
- *SET d=%@path[%t%]
- *SET d%l%=%@name[%t%].%@ext[%t%]
- GOTO MDLoop0
-
- :MakeTheDir
- pushd
-
- :MDLoop2
-
- ECHO. Erstelle das Verzeichnis %_cwds%%[d%l%] ...
-
- IF "%l%" EQ "0" GOTO MDLoopOkay
- MD %[d%l%]
- IF %_? != 0 GOTO MDLoopEnd
- CD %[d%l%]
- IF %_? != 0 GOTO MDLoopEnd
- UNSET /Q d%l%
- *SET l=%@eval[%l%-1]
- GOTO MDLoop2
-
- :MDLoopOkay
- UNSET /Q iErr
-
- :MDLoopEnd
- popd
- UNSET /Q d l
- RETURN
-
- REM ------------------------------------
- REM checkDrive - test if a drive is ready
- REM
- REM input: %tdir% = directory
- REM
- :checkDrive
- IFF "%@substr[%tdir%,1,1]" == ":" THEN
- *SET d=%@substr[%tdir%,0,2]
- ELSE
- *SET d=%_disk:
- ENDIFF
-
- :waiting
- IF %@ready[%d%] == 1 GOTO DriveReady
- *SET msg=Laufwerk %d% ist nicht bereit!
- *SET msg1= Bitte ändern und eine Taste drücken (F1 für Hilfe) ...
- GOSUB ShowMsg
- *SET keys=/w3
- *SET hTopic=keys5
- GOSUB MyInkey
- GOTO waiting
-
- :DriveReady
- UNSET /Q d
- RETURN
-
- REM ------------------------------------
-
- :DosEnde
-
-