Italia
Fonte/ Codesnippets

Erstellen Installationsprogramm

 

KompilierenMarkierenSeparieren
Source wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Installationsprogramm erstellen
Installationsroutine. Setupmanager V 1.4 , © by L W W N-Soft 1998/2000
Entwickelt in PROFAN² V 6.1 32Bit.
ACHTUNG!
Wir haben die ICONE in profan32.exe und profrun.exe nach unserem
Bedarf geändert. d.h. Wenn Sie diese Installationsroutine-DEMO in Ihrem,
Interpreter starten, kann es durchaus sein, daß Sie andere ICONE als vor-
hergesehen zu sehen bekommen. Wir haben aber eine fertige exe als DEMO
beigefügt, damit Sie die waren ICONE sehen können.
Diese Installationsroutine V 1.4 ist nun annähernd einer Kommerziellen
Installationsroutine sehr nahe. Mit dieser Installationsroutine können
Sie eine Eingeschränkte SHAREWARE einrichten, sowie eine Neuinstallierung
nach Ablauf der SHAREWARE-Frist verhindern. Diese Installationsroutine
benötigt kein Hintergrundbild, da sie durch variierbaren Farbverlauf den
Hintergrund in TRUECOLOR aufbaut. Diese Installationsroutine macht sogar
einen Festplattentest, indem sie die max. Kapazität und die min. Kapazität
ermittelt, um so ein Festplattencrash zu verhindern. d.h. Hat der Anwender
nicht genügend Platz auf seiner Festplatte, bricht die Installationsroutine
autom. ab. Diese Installationsroutine ist ein original eines unserer Pro-
gramme. d.h. Sie dürfen diese nicht zu kommerziellen Zwecken verwenden!
Wir haben diese Installationsroutine schließlich, da wir keine andere
Alternative finden konnten, in ca. 1 Jahr durch unzählige Entwicklungstests
erarbeitet. Wir erlauben allerdings mit dieser Vorlage eigene Vorstellungen
einer Installationsroutine zu erarbeiten. Wir wären auch für etwaige Ver-
besserungsvorschläge und Kommentare dankbar. Unsere erweiterte Version 1.5
ist bereits in bearbeitung. Diese werden wir voraussichtlich ab Juli 2000
offiziell benutzen. Wozu die neue Version im Stande ist, bleibt vorerst
unser Geheimnis. Sollten Sie sich zum Einsatz dieser Installationsroutine
als Kommerziellen Gebrauch entscheiden, bitten wir um 10,- DM Registrier-
ungsgebühren.
NACHTRAG:
Leider mußten wir feststellen, daß diese Routine ab PROFAN V7.0 nicht mehr
korrekt läuft. In Zeile 1133 wird mit dem Befehl HoleLaufwerksKapazität
nach der Größe der Festplatte abgefragt. Dieser Befehl wird jedoch als Un-
bekannt erkannt. Sollte Ihnen die neue Bezeichnung bekannt sein, so wären
wir Ihnen dankbar, wenn Sie uns den neuen Befehl mitteilen würden.
Nähres können Sie per Email bei: GCS-LWWN@t-online.de , erfragen oder senden.
Viel Spass beim testen.
Ihr L W W N - Soft - Team
http://www.pc-gcs.de
Zwischencode verschlüsseln
 $P+
Laufwerk und Verzeichnis ermitteln, von wo aus Installiert wird
declare from$
let from$ = @getdir$(@)
Letzter SHAREWARE-Hinweis

proc dialogos

    declare _dlg%,_ende%
    SetTimer 15000
    let _dlg%=@createdialog(_dlg%,Installation,136,72,440,312)
    @creategroupbox(_dlg%,,8,8,136,272)
    @createtext(_dlg%,ACHTUNG !,170,60,370,20)
    SetDialogFont 1
    usefont time new roman,15,0,0,0,0
    @createtext(_dlg%,,170,80,370,20)
    @createtext(_dlg%,DISPOMAN  ist  SHAREWARE !,170,110,370,20)
    @createtext(_dlg%,Sie können DISPOMAN nur einmal,170,130,370,20)
    @createtext(_dlg%,installieren !,170,150,370,20)
    @createtext(_dlg%,DISPOMAN läuft max. 30 Tage.,170,180,370,20)
    @createtext(_dlg%,Neuinstallieren nicht möglich !,170,200,370,20)
    @createtext(_dlg%,Wollen sie DISPOMAN auf Dauer ?,170,220,370,20)
    @createtext(_dlg%,Dann kontaktieren Sie L W W N - Soft.,170,240,370,20)
    SetDialogFont 0
    @createicon(_dlg%,A,56,36)
    @createicon(_dlg%,PROFAN,56,136)
    @createicon(_dlg%,EIS,56,226)
    waitinput
    @destroywindow(_dlg%)
    ChDir C:PROGRAMMEDISPOMAN
    let x%=@winexec(dispoman.exe,3)
    END

endproc

Doch noch Abbrechen?

proc geh

    declare ende%,wt%,_ende%,_dlg%,x%
    let _dlg%=@createdialog(%Hwnd,Abbrechen / Beenden,288,184,304,98)
    @createtext(_dlg%,Wollen Sie wirklich Abbrechen?,48,8,220,16)
    let wt%=@createbutton(_dlg%,NEIN,16,40,128,24)
    let ende%=@createbutton(_dlg%,Ja,152,40,128,24)
    let _ende% = 0

    whilenot _ende%

        waitinput

        if @equ(%key,2)

            let _ende% = 1

        elseif @getfocus(ende%)

            @messagebox(Sie haben Install kurz vorm Fertigstellen abgebrochen.
            DISPOMAN muß jetzt mit uninstall wieder entfernt werden!,Installation Abgebrochen!,16)
            ChDir C:\PROGRAMME\DISPOMAN
            let x%=@winexec(dsmundo.exe,3)
            let _ende% = 1
            END

        elseif @getfocus(wt%)

            @destroywindow(_dlg%)
            @messagebox(Installation erfolgreich abgeschlossen.,Installation,64)
            dialogos

        endif

    wend

    @destroywindow(_dlg%)

endproc

Programmgruppe anlegen und Verknüpfungen kopieren

proc dialog6

    declare _ende%
    declare _dlg%
    declare rt%
    declare wt%,pga%,eg%
    declare ende%,x%
    let _dlg%=@createdialog(_dlg%,Installation,136,72,440,312)
    @creategroupbox(_dlg%,,8,8,136,272)
    let rt%=@createbutton(_dlg%,zurück,152,256,80,24)
    let wt%=@createbutton(_dlg%,weiter,248,256,80,24)
    let ende%=@createbutton(_dlg%,Abbruch,344,256,80,24)
    @createicon(_dlg%,A,56,36)
    @createicon(_dlg%,PROFAN,56,136)
    @createicon(_dlg%,EIS,56,226)
    @createtext(_dlg%,Programmgruppe anlegen:,170,10,370,20)
    SetDialogFont 1
    usefont times new roman,15,0,0,0,0
    let eg%=@createedit(_dlg%,DISPOAMN,152,64,264,24)
    SetDialogFont 1
    usefont times new roman,12,0,0,0,0
    let pga%=@createmultiedit(_dlg%,Install legt die Programmgruppe an.,152,120,272,120)
    SetDialogFont 0
    ChDir $WINPATH
    ChDir STARTMENÜ\PROGRAMME
    MkDir DISPOMAN
    ChDir from$
    COPY DISPOMAN\dispoman.lnk > @add$($WINPATH,\STARTMENÜ\PROGRAMME\DISPOMAN\dispoman.lnk)
    COPY DISPOMAN\dispoplan.lnk > @add$($WINPATH,\STARTMENÜ\PROGRAMME\DISPOMAN\dispoplan.lnk)
    COPY DISPOMAN\uninstall.lnk > @add$($WINPATH,\STARTMENÜ\PROGRAMME\DISPOMAN\uninstall.lnk)
    COPY DISPOMAN\handbuch.lnk > @add$($WINPATH,\STARTMENÜ\PROGRAMME\DISPOMAN\handbuch.lnk)
    COPY DISPOMAN\hilfe.lnk > @add$($WINPATH,\STARTMENÜ\PROGRAMME\DISPOMAN\hilfe.lnk)
    COPY C:\register.ini > C:\PROGRAMME\DISPOMAN\DATEN\register.ini
    ASSIGN #1,C:\register.ini
    ERASE #1
    close #1
    let _ende% = 0

    whilenot _ende%

        waitinput

        if @equ(%key,2)

            let _ende% = 1

        elseif @getfocus(rt%)

            @messagebox(Zurück z.Z. außer Funktion,Installation,16)
            @messagebox(Wegen einer Schutzverletzung wird Setup beendet. Führen Sie Setup erneut aus.,Installation,48)
            chdir $syspath
            ASSIGN #1,-------.ini  Originalname haben wir absichtlich durch -------- geändert. Geben Sie hier einen Namen ein.
            ERASE #1
            close #1
            ASSIGN #1,-------.ini  Originalname haben wir absichtlich durch -------- geändert. Geben Sie hier einen Namen ein.
            ERASE #1
            close #1
            END

        elseif @getfocus(wt%)

            @destroywindow(_dlg%)
            @messagebox(Installation erfolgreich abgeschlossen.,Installation,64)
            dialogos

        elseif @getfocus(ende%)

            @messagebox(Setup wurde nicht vollständig ausgeführt. Sie können Setup erneut auffordern, indem Sie Setup erneut ausführen.,Installation,48)
            @destroywindow(_dlg%)
            chdir $syspath
            ASSIGN #1,-------.ini  Originalname haben wir absichtlich durch -------- geändert. Geben Sie hier einen Namen ein.
            ERASE #1
            close #1
            ASSIGN #1,-------.ini  Originalname haben wir absichtlich durch -------- geändert. Geben Sie hier einen Namen ein.
            ERASE #1
            close #1
            geh

        endif

    wend

    @destroywindow(_dlg%)

endproc

Installation mit Progressbalken (Statuszeilen)

proc _d

    declare _dlg%,_ende%,wt%,stt%,stt2%,ende%,von%,zu%,to$,zu$,fro%,too%
    declare PM_Setpos&,PM_DeltaPos&,PrgProzent%,Progress_2&,Progress_1&
    let PM_Setpos&    =$402
    let PM_DeltaPos&  =$403
    decimals 0
    let _dlg%=@createdialog(_dlg%,Installation,136,72,440,312)
    @createtext(_dlg%,Statusanzeige:,170,10,370,20)
    @createtext(_dlg%,DISPOMAN,180,80,370,20)
    @createicon (_dlg%,A,200,40)
    SetDialogFont 1
    usefont times new roman,15,0,1,1,0
    @createtext(_dlg%,Bitte Warten bis 100% erreicht sind.,30,102,570,20)
    SetDialogFont 0
    let stt%=@createtext(_dlg%,,32,10,50,24)
    let stt2%=@createtext(_dlg%,,376,115,48,24)
    Let Progress_1&=@control(msctls_progress32,@$(2),$50000000,40,140,370,20,_dlg%,101,%HInstance)[ Unterbrochen=$50810000 od.$50000000, Ununterbrochen= $50000001]
    @sendmessage(Progress_1&,PM_Setpos&,0,0)
    let prgProzent%=0
    Startpaint Progress_1&
    Endpaint
    let Progress_2&=@control(msctls_progress32,@$(2),$50800005,10,10,15,200,_dlg%,102,%HInstance)[ Ununterbrochen=$50800005 , Unterbrochen=$50000004 ]
    @sendmessage(Progress_2&,PM_Setpos&,0,0)
    let prgprozent%=0
    Startpaint Progress_2&
    Endpaint
    let to$ = C:PROGRAMMEDISPOMAN
    SetDialogFont 1
    usefont times new roman,12,0,0,0,0
    @createtext(_dlg%,Kopiere von ,30,170,60,16)
    @createtext(_dlg%,Nach ,30,200,30,16)
    let von%=@createtext(_dlg%,from$,95,170,300,16)
    let zu%=@createtext(_dlg%,to$,60,200,300,16)
    UseCursor 2
    let zu%=@createtext(_dlg%,C:WindowsDesktopdispoman.lnk,60,200,300,16)
    COPY DISPOMAN\dispoman.lnk > @add$($WINPATH,\DESKTOP\dispoman.lnk)
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:Windowslwwn.scr,60,200,300,16)
    COPY DISPOMAN\lwwn.scr > @add$($WINPATH,\lwwn.scr)
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomandsmundo.exe,60,200,300,16)
    COPY DISPOMAN\dsmundo.exe > C:\PROGRAMME\DISPOMAN\dsmundo.exe
    COPY DISPOMAN\dsmundo.exe > C:\PROGRAMME\DISPOMAN\DATEN\dsmundo.dat
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    COPY DISPOMAN\dmundo.exe > C:\PROGRAMME\DISPOMAN\DATEN\dmundo.dat
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    COPY DISPOMAN\dsm.exe > C:\PROGRAMME\DISPOMAN\DATEN\dsm.dat
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanfile_id.diz,60,200,300,16)
    COPY DISPOMAN\file_id.diz > C:\PROGRAMME\DISPOMAN\file_id.diz
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispoman§4_af.exe,60,200,300,16)
    COPY DISPOMAN\§4_af.exe > C:\PROGRAMME\DISPOMAN\§4_af.exe
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispoman§4_f.exe,60,200,300,16)
    COPY DISPOMAN\§4_f.exe > C:\PROGRAMME\DISPOMAN\§4_f.exe
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomancd.exe,60,200,300,16)
    COPY DISPOMAN\cd.exe > C:\PROGRAMME\DISPOMAN\cd.exe
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomandispoman.exe,60,200,300,16)
    COPY DISPOMAN\dispoman.exe > C:\PROGRAMME\DISPOMAN\dispoman.exe
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomandplan.exe,60,200,300,16)
    COPY DISPOMAN\dplan.exe > C:\PROGRAMME\DISPOMAN\dplan.exe
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomaneurorech.exe,60,200,300,16)
    COPY DISPOMAN\eurorech.exe > C:\PROGRAMME\DISPOMAN\eurorech.exe
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomankvo.exe,60,200,300,16)
    COPY DISPOMAN\kvo.exe > C:\PROGRAMME\DISPOMAN\kvo.exe
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomankvoans.exe,60,200,300,16)
    COPY DISPOMAN\kvoans.exe > C:\PROGRAMME\DISPOMAN\kvoans.exe
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomankvofenst.exe,60,200,300,16)
    COPY DISPOMAN\kvofenst.exe > C:\PROGRAMME\DISPOMAN\kvofenst.exe
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomann2002.exe,60,200,300,16)
    COPY DISPOMAN\rn2002.exe > C:\PROGRAMME\DISPOMAN\rn2002.exe
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomann2002an.exe,60,200,300,16)
    COPY DISPOMAN\rn2002an.exe > C:\PROGRAMME\DISPOMAN\rn2002an.exe
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispoman_attest.exe,60,200,300,16)
    COPY DISPOMAN\r_attest.exe > C:\PROGRAMME\DISPOMAN\r_attest.exe
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomansa.exe,60,200,300,16)
    COPY DISPOMAN\sa.exe > C:\PROGRAMME\DISPOMAN\sa.exe
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomansilo.exe,60,200,300,16)
    COPY DISPOMAN\silo.exe > C:\PROGRAMME\DISPOMAN\silo.exe
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanspa.exe,60,200,300,16)
    COPY DISPOMAN\spa.exe > C:\PROGRAMME\DISPOMAN\spa.exe
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanhilfe.txt,60,200,300,16)
    COPY DISPOMAN\hilfe.txt > C:\PROGRAMME\DISPOMAN\hilfe.txt
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanautor.txt,60,200,300,16)
    COPY DISPOMAN\autor.txt > C:\PROGRAMME\DISPOMAN\autor.txt
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    COPY DISPOMAN\hallo.txt > C:\PROGRAMME\DISPOMAN\hallo.txt
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    COPY DISPOMAN\bitte.bat > C:\PROGRAMME\DISPOMAN\bitte.bat
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    COPY DISPOMAN\liesmich.txt > C:\PROGRAMME\DISPOMAN\liesmich.txt
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomandispo.dll,60,200,300,16)
    COPY DISPOMAN\dispo.dll > C:\PROGRAMME\DISPOMAN\dispo.dll
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanvdbs.exe,60,200,300,16)
    COPY DISPOMAN\vdbs.exe > C:\PROGRAMME\DISPOMAN\vdbs.exe
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomankamera.exe,60,200,300,16)
    COPY DISPOMAN\kamera.exe > C:\PROGRAMME\DISPOMAN\kamera.exe
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanlizent.exe,60,200,300,16)
    COPY DISPOMAN\lizenz_s.exe > C:\PROGRAMME\DISPOMAN\lizenz_s.exe
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanversioid.id,60,200,300,16)
    COPY DISPOMAN\versioid.id > C:\PROGRAMME\DISPOMAN\versioid.id
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomansendung.dbf,60,200,300,16)
    COPY DISPOMAN\sendung.dbf > C:\PROGRAMME\DISPOMAN\sendung.dbf
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanilanz.dbf,60,200,300,16)
    COPY DISPOMAN\bilanz.dbf > C:\PROGRAMME\DISPOMAN\bilanz.dbf
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanfahrerin.dbf,60,200,300,16)
    COPY DISPOMAN\fahrerin.dbf > C:\PROGRAMME\DISPOMAN\fahrerin.dbf
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanfahrzeug.dbf,60,200,300,16)
    COPY DISPOMAN\fahrzeug.dbf > C:\PROGRAMME\DISPOMAN\fahrzeug.dbf
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanpaletten.dbf,60,200,300,16)
    COPY DISPOMAN\paletten.dbf > C:\PROGRAMME\DISPOMAN\paletten.dbf
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispoman	elefon.dbf,60,200,300,16)
    COPY DISPOMAN\telefon.dbf > C:\PROGRAMME\DISPOMAN\telefon.dbf
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispoman	ourvor.dbf,60,200,300,16)
    COPY DISPOMAN\tourvor.dbf > C:\PROGRAMME\DISPOMAN\tourvor.dbf
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispoman	w.dbf,60,200,300,16)
    COPY DISPOMAN\tw.dbf > C:\PROGRAMME\DISPOMAN\tw.dbf
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanautor.exe,60,200,300,16)
    COPY DISPOMAN\autor.exe > C:\PROGRAMME\DISPOMAN\autor.exe
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanBitmapsinst.dat,60,200,300,16)
    COPY DISPOMAN\inst.dat > C:\PROGRAMME\DISPOMAN\BITMAPS\inst.dat
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanBitmapslizenz.dat,60,200,300,16)
    COPY DISPOMAN\lizenz.dat > C:\PROGRAMME\DISPOMAN\BITMAPS\lizenz.dat
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanBitmapsepablat.dat,60,200,300,16)
    COPY DISPOMAN\repablat.dat > C:\PROGRAMME\DISPOMAN\BITMAPS\repablat.dat
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanBitmapsschrift.dat,60,200,300,16)
    COPY DISPOMAN\schrift.dat > C:\PROGRAMME\DISPOMAN\BITMAPS\schrift.dat
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanBitmapsschrift1.dat,60,200,300,16)
    COPY DISPOMAN\schrift1.dat > C:\PROGRAMME\DISPOMAN\BITMAPS\schrift1.dat
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanBitmapssp.dat,60,200,300,16)
    COPY DISPOMAN\sp.dat > C:\PROGRAMME\DISPOMAN\BITMAPS\sp.dat
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanBitmapssp2.dat,60,200,300,16)
    COPY DISPOMAN\sp2.dat > C:\PROGRAMME\DISPOMAN\BITMAPS\sp2.dat
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanBitmaps	ank.dat,60,200,300,16)
    COPY DISPOMAN\tank.dat > C:\PROGRAMME\DISPOMAN\BITMAPS\tank.dat
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanBitmaps	ruck.dat,60,200,300,16)
    COPY DISPOMAN\truck.dat > C:\PROGRAMME\DISPOMAN\BITMAPS\truck.dat
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanBitmaps	ruck2.dat,60,200,300,16)
    COPY DISPOMAN\truck2.dat > C:\PROGRAMME\DISPOMAN\BITMAPS\truck2.dat
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanBitmaps	ruck2b.dat,60,200,300,16)
    COPY DISPOMAN\truck2b.dat > C:\PROGRAMME\DISPOMAN\BITMAPS\truck2b.dat
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:Windows	ruck3.bmp,60,200,300,16)
    COPY DISPOMAN\truck3.dat > @add$($WINPATH,\truck3.bmp
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanBitmaps	ruck3a.dat,60,200,300,16)
    COPY DISPOMAN\truck3a.dat > C:\PROGRAMME\DISPOMAN\BITMAPS\truck3a.dat
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanBitmaps	ruck4.dat,60,200,300,16)
    COPY DISPOMAN\truck4.dat > C:\PROGRAMME\DISPOMAN\BITMAPS\truck4.dat
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanBitmapsvdtruck.dat,60,200,300,16)
    COPY DISPOMAN\vdtruck.dat > C:\PROGRAMME\DISPOMAN\BITMAPS\vdtruck.dat
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanBitmapsautor.dat,60,200,300,16)
    COPY DISPOMAN\autor.dat > C:\PROGRAMME\DISPOMAN\BITMAPS\autor.dat
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanBitmapsoth1a.dat,60,200,300,16)
    COPY DISPOMAN\roth1a.dat > C:\PROGRAMME\DISPOMAN\BITMAPS\roth1a.dat
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanBitmapsoth2.dat,60,200,300,16)
    COPY DISPOMAN\roth2.dat > C:\PROGRAMME\DISPOMAN\BITMAPS\roth2.dat
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanBitmapswolle.dat,60,200,300,16)
    COPY DISPOMAN\wolle.dat > C:\PROGRAMME\DISPOMAN\BITMAPS\wolle.dat
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanDatendispopln.ini,60,200,300,16)
    COPY DISPOMAN\dispopln.ini > C:\PROGRAMME\DISPOMAN\DATEN\dispopln.ini
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanDatenfahrzeug.ini,60,200,300,16)
    COPY DISPOMAN\fahrzeug.ini > C:\PROGRAMME\DISPOMAN\DATEN\fahrzeug.ini
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanDatenofferten.ini,60,200,300,16)
    COPY DISPOMAN\offerten.ini > C:\PROGRAMME\DISPOMAN\DATEN\offerten.ini
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanDatensendung.ini,60,200,300,16)
    COPY DISPOMAN\sendung.ini > C:\PROGRAMME\DISPOMAN\DATEN\sendung.ini
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanDatensilo.ini,60,200,300,16)
    COPY DISPOMAN\silo.ini > C:\PROGRAMME\DISPOMAN\DATEN\silo.ini
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanDaten	elef.ini,60,200,300,16)
    COPY DISPOMAN\telef.ini > C:\PROGRAMME\DISPOMAN\DATEN\telef.ini
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanDaten	elf.ini,60,200,300,16)
    COPY DISPOMAN\telf.ini > C:\PROGRAMME\DISPOMAN\DATEN\telf.ini
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanDaten	wrein.ini,60,200,300,16)
    COPY DISPOMAN\twrein.ini > C:\PROGRAMME\DISPOMAN\DATEN\twrein.ini
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanSfxhorn1.wav,60,200,300,16)
    COPY DISPOMAN\horn1.wav > C:\PROGRAMME\DISPOMAN\SFX\horn1.wav
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanSfxmotor1.wav,60,200,300,16)
    COPY DISPOMAN\motor1.wav > C:\PROGRAMME\DISPOMAN\SFX\motor1.wav
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanSfxsdcheck.wav,60,200,300,16)
    COPY DISPOMAN\sdcheck.wav > C:\PROGRAMME\DISPOMAN\SFX\sdcheck.wav
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanSfxsiren.wav,60,200,300,16)
    COPY DISPOMAN\siren.wav > C:\PROGRAMME\DISPOMAN\SFX\siren.wav
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanSfxstart.wav,60,200,300,16)
    COPY DISPOMAN\start.wav > C:\PROGRAMME\DISPOMAN\SFX\start.wav
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanSfxdisco.smk,60,200,300,16)
    COPY DISPOMAN\disco.smk > C:\PROGRAMME\DISPOMAN\SFX\disco.smk
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanSfxmitd.smk,60,200,300,16)
    COPY DISPOMAN\mitd.smk > C:\PROGRAMME\DISPOMAN\SFX\mitd.smk
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanSfxkufstein.smk,60,200,300,16)
    COPY DISPOMAN\kufstein.smk > C:\PROGRAMME\DISPOMAN\SFX\kufstein.smk
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanFormulare,60,200,300,16)
    COPY DISPOMAN\angebot.dat > C:\PROGRAMME\DISPOMAN\FORMULARE\angebot.dat
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanFormulare,60,200,300,16)
    COPY DISPOMAN\auftrag.dat > C:\PROGRAMME\DISPOMAN\FORMULARE\auftrag.dat
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanFormulare,60,200,300,16)
    COPY DISPOMAN\frachtbr.dat > C:\PROGRAMME\DISPOMAN\FORMULARE\frachtbr.dat
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanFormulare,60,200,300,16)
    COPY DISPOMAN\rechnung.dat > C:\PROGRAMME\DISPOMAN\FORMULARE\rechnung.dat
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanFormulare,60,200,300,16)
    COPY DISPOMAN\spedauft.dat > C:\PROGRAMME\DISPOMAN\FORMULARE\spedauft.dat
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanLoehneloehne.ini,60,200,300,16)
    COPY DISPOMAN\loehne.ini > C:\PROGRAMME\DISPOMAN\LOEHNE\loehne.ini
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanLoehnefirma.ini,60,200,300,16)
    COPY DISPOMAN\firma.ini > C:\PROGRAMME\DISPOMAN\LOEHNE\firma.ini
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanLoehneprozent.ini,60,200,300,16)
    COPY DISPOMAN\prozent.ini > C:\PROGRAMME\DISPOMAN\LOEHNE\prozent.ini
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanLoehne	est.ini,60,200,300,16)
    COPY DISPOMAN\test.ini > C:\PROGRAMME\DISPOMAN\LOEHNE\test.ini
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanLoehne	est2.ini,60,200,300,16)
    COPY DISPOMAN\test2.ini > C:\PROGRAMME\DISPOMAN\LOEHNE\test2.ini
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanHandbuchhandbuch.doc,60,200,300,16)
    COPY DISPOMAN\handbuch.doc > C:\PROGRAMME\DISPOMAN\HANDBUCH\handbuch.doc
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanGamefahne.wav,60,200,300,16)
    COPY DISPOMAN\fahne.wav > C:\PROGRAMME\DISPOMAN\GAME\fahne.wav
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanGameknall1.wav,60,200,300,16)
    COPY DISPOMAN\knall1.wav > C:\PROGRAMME\DISPOMAN\GAME\knall1.wav
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanGameknall2.wav,60,200,300,16)
    COPY DISPOMAN\knall2.wav > C:\PROGRAMME\DISPOMAN\GAME\knall2.wav
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanGamekufstein.mid,60,200,300,16)
    COPY DISPOMAN\kufstein.mid > C:\PROGRAMME\DISPOMAN\GAME\kufstein.mid
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanGameminen.001,60,200,300,16)
    COPY DISPOMAN\minen.001 > C:\PROGRAMME\DISPOMAN\GAME\minen.001
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanGameminen.002,60,200,300,16)
    COPY DISPOMAN\minen.002 > C:\PROGRAMME\DISPOMAN\GAME\minen.002
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanGameminen.003,60,200,300,16)
    COPY DISPOMAN\minen.003 > C:\PROGRAMME\DISPOMAN\GAME\minen.003
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanGameminen.dat,60,200,300,16)
    COPY DISPOMAN\minen.dat > C:\PROGRAMME\DISPOMAN\GAME\minen.dat
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanGameminen.exe,60,200,300,16)
    COPY DISPOMAN\minen.exe > C:\PROGRAMME\DISPOMAN\GAME\minen.exe
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanGamestart.wav,60,200,300,16)
    COPY DISPOMAN\start.wav > C:\PROGRAMME\DISPOMAN\GAME\start.wav
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanGame	est.wav,60,200,300,16)
    COPY DISPOMAN\test.wav > C:\PROGRAMME\DISPOMAN\GAME\test.wav
    let zu%=@createtext(_dlg%,C:ProgrammeDispomanGameziel.wav,60,200,300,16)
    COPY DISPOMAN\ziel.wav > C:\PROGRAMME\DISPOMAN\GAME\ziel.wav
    @sendmessage(Progress_1&,PM_Deltapos&,2,0)
    @sendmessage(Progress_2&,PM_Deltapos&,2,0)
    SetDialogFont 0
    settext stt%,100 %
    settext stt2%,100 %
    playsound start.mus,1
    let zu%=@createtext(_dlg%,                               ,60,200,300,16)
    let ende%=@createbutton(_dlg%,Abbrechen,128,256,100,24)
    let wt%=@createbutton(_dlg%,Fertigstellen,228,256,100,24)
    UseCursor 0
    let _ende% = 0

    whilenot _ende%

        waitinput

        if @equ(%key,2)

            let _ende% = 1

        elseif @getfocus(ende%)

            @messagebox(Setup wurde nicht vollständig ausgeführt.\nSie können Setup erneut auffordern, indem Sie\nSetup erneut ausführen. Einige Verzeichnisse\nund Komponente müssen Sie manuell wieder löschen!,Installation,48)
            let _ende% = 1
            chdir $syspath
            ASSIGN #1,-------.ini  Originalname haben wir absichtlich durch -------- geändert. Geben Sie hier einen Namen ein.
            ERASE #1
            close #1
            ASSIGN #1,-------.ini  Originalname haben wir absichtlich durch -------- geändert. Geben Sie hier einen Namen ein.
            ERASE #1
            close #1
            END

        elseif @getfocus(wt%)

            dialog6

        endif

    wend

    @destroywindow(_dlg%)

endproc

Verzeichnisse Anlegen

proc -d

    declare _dlg%
    windowstyle 16
    settimer 3000
    let _dlg%=@createwindow(%Hwnd,Installation,196,184,377,80)
    @createicon(_dlg%,A,8,8)
    @createtext(_dlg%,Install erstellt jetzt die benötigten Verzeichnisse,48,16,377,16)
    MkDir C:\PROGRAMME\DISPOMAN
    MkDir C:\PROGRAMME\DISPOMAN\BITMAPS
    MkDir C:\PROGRAMME\DISPOMAN\DATEN
    MkDir C:\PROGRAMME\DISPOMAN\FORMULARE
    MkDir C:\PROGRAMME\DISPOMAN\GAME
    MkDir C:\PROGRAMME\DISPOMAN\SFX
    MkDir C:\PROGRAMME\DISPOMAN\LOEHNE
    MkDir C:\PROGRAMME\DISPOMAN\HANDBUCH
    waitinput
    @destroywindow(_dlg%)
    killtimer
    _d

endproc

Welche Art der Installation?

proc dialog5

    declare _ende%
    declare _dlg%
    declare rt%
    declare wt%,n%,m%,b%
    declare ende%
    let _dlg%=@createdialog(_dlg%,Installation,136,72,440,312)
    @creategroupbox(_dlg%,,8,8,136,272)
    let rt%=@createbutton(_dlg%,zurück,152,256,80,24)
    let wt%=@createbutton(_dlg%,weiter,248,256,80,24)
    let ende%=@createbutton(_dlg%,Abbruch,344,256,80,24)
    @createtext(_dlg%,Setuptyp:,170,10,370,20)
    let n%=@createradiobutton(_dlg%,,280,56,16,16)
    let m%=@createradiobutton(_dlg%,,280,110,16,16)
    let b%=@createradiobutton(_dlg%,,280,164,16,16)
    @createtext(_dlg%,Minimale,296,56,128,16)
    @createtext(_dlg%,Komplette,296,110,128,16)
    @createtext(_dlg%,Benutzerdefiniert,296,164,128,16)
    setcheck n%,1
    @createicon(_dlg%,A,56,36)
    @createicon(_dlg%,PROFAN,56,136)
    @createicon(_dlg%,EIS,56,226)
    let _ende% = 0

    whilenot _ende%

        waitinput

        if @equ(%key,2)

            let _ende% = 1

        elseif @getfocus(rt%)

            @messagebox(Zurück z.Z. außer Funktion,Installation,16)
            @messagebox(Wegen einer Schutzverletzung wird Setup beendet. Führen Sie Setup erneut aus.,Installation,48)
            chdir $syspath
            ASSIGN #1,-------.ini  Originalname haben wir absichtlich durch -------- geändert. Geben Sie hier einen Namen ein.
            ERASE #1
            close #1
            ASSIGN #1,-------.ini  Originalname haben wir absichtlich durch -------- geändert. Geben Sie hier einen Namen ein.
            ERASE #1
            close #1
            END

        elseif @getfocus(wt%)

            @destroywindow(_dlg%)
            @messagebox(DISPOMAN muß komplett auf LW C: Installiert werden! Eine Auswahl auf Minimal bzw. Benutzerdefiniert ist ausgeschlossen! Sie benötigen dazu derz. ca. 11MB freien Festplattenspeicher.,Installation,48)
            -d

        elseif @getfocus(ende%)

            @messagebox(Setup wurde nicht vollständig ausgeführt. Sie können Setup erneut auffordern, indem Sie Setup erneut ausführen.,Installation,48)
            chdir $syspath
            ASSIGN #1,--------.ini  Originalname haben wir absichtlich durch -------- geändert. Geben Sie hier einen Namen ein.
            ERASE #1
            close #1
            END
            let _ende% = 1

        endif

    wend

    @destroywindow(_dlg%)

endproc

Verzeichniswahl

proc dialog4

    declare _ende%
    declare _dlg%
    declare rt%,wt%,vw%,ds%
    declare ende%
    let _dlg%=@createdialog(_dlg%,Installation,136,72,440,312)
    @creategroupbox(_dlg%,,8,8,136,272)
    let rt%=@createbutton(_dlg%,zurück,152,256,80,24)
    let wt%=@createbutton(_dlg%,weiter,248,256,80,24)
    let ende%=@createbutton(_dlg%,Abbruch,344,256,80,24)
    @creategroupbox(_dlg%,Verzeichniswahl,152,176,272,64)
    SetDialogFont 1
    usefont times new roman,14,0,1,1,0
    let vw%=@createtext(_dlg%,C:\Programme\Dispoman,160,200,168,24)
    SetDialogFont 0
    let ds%=@createbutton(_dlg%,Durchsuchen,328,200,88,24)
    @createtext(_dlg%,Installationsverzeichnis:,170,10,370,20)
    @createicon(_dlg%,A,56,36)
    @createicon(_dlg%,PROFAN,56,136)
    @createicon(_dlg%,EIS,56,226)
    let _ende% = 0

    whilenot _ende%

        waitinput

        if @equ(%key,2)

            let _ende% = 1

        elseif @getfocus(rt%)

            @messagebox(Zurück z.Z. außer Funktion,Installation,16)
            @messagebox(Wegen einer Schutzverletzung wird Setup beendet. Führen Sie Setup erneut aus.,Installation,48)
            chdir $syspath
            ASSIGN #1,--------.ini  Originalname haben wir absichtlich durch -------- geändert. Geben Sie hier einen Namen ein.
            ERASE #1
            close #1
            ASSIGN #1,--------.ini  Originalname haben wir absichtlich durch -------- geändert. Geben Sie hier einen Namen ein.
            ERASE #1
            close #1
            END

        elseif @getfocus(ds%)

            @ChooseDir$(Wählen Sie ein Verzeichnis aus...)
            @messagebox(DISPOMAN muß im vorgegebenem Verzeichnis installiert werden!,Durchsuchen,16)
            dialog5

        elseif @getfocus(wt%)

            @destroywindow(_dlg%)
            dialog5

        elseif @getfocus(ende%)

            @messagebox(Setup wurde nicht vollständig ausgeführt. Sie können Setup erneut auffordern, indem Sie Setup erneut ausführen.,Installation,48)
            chdir $syspath
            ASSIGN #1,-------.ini  Originalname haben wir absichtlich durch -------- geändert. Geben Sie hier einen Namen ein.
            ERASE #1
            close #1
            ASSIGN #1,-------.ini  Originalname haben wir absichtlich durch -------- geändert. Geben Sie hier einen Namen ein.
            ERASE #1
            close #1
            let _ende% = 1
            END

        endif

    wend

    @destroywindow(_dlg%)

endproc

Kurz Lizenzvertrag

proc dialog3

    declare _ende%
    declare _dlg%
    declare rt%
    declare wt%
    declare ende%
    let _dlg%=@createdialog(_dlg%,Installation,136,72,440,312)
    @creategroupbox(_dlg%,,8,5,136,272)
    let rt%=@createbutton(_dlg%,zurück,152,256,80,24)
    let wt%=@createbutton(_dlg%,weiter,248,256,80,24)
    let ende%=@createbutton(_dlg%,Abbruch,344,256,80,24)
    @creategroupbox(_dlg%,Lizenzvertrag:,152,5,274,247)
    @createicon(_dlg%,A,56,36)
    @createicon(_dlg%,PROFAN,56,136)
    @createicon(_dlg%,EIS,56,226)
    SetDialogFont 1
    usefont times new roman,10,0,0,0,0
    @createtext(_dlg%,ENDBENUTZER-LIZENZVERTRAG FÜR DISPOMAN,180,21,242,13)
    @createtext(_dlg%,Dieser Endbenutzerlizenzvertrag ist ein Vertrag zwischen Ihnen und,155,34,269,13)
    @createtext(_dlg%,der LWWN - Soft. Dieser Vertrag umfaßt eine Lizenz für DISPOMAN,155,47,269,13)
    @createtext(_dlg%,Sie dürfen von diesem Softwareprodukt eine kopie für eigene Zwecke,155,60,269,13)
    @createtext(_dlg%,anfertigen. Ausführlicher Vertrag, siehe im Programm unter!. Wenn,155,73,269,13)
    @createtext(_dlg%,Sie den ausführlichen Vertrag nicht zustimmen, dann müssen Sie alle,155,86,269,13)
    @createtext(_dlg%,Komponente wieder löschen! Das Softwarepaket wird sowohl durch,155,99,269,13)
    @createtext(_dlg%,deutsche Urheberrechte, als auch durch internationale Verträge über,155,112,269,13)
    @createtext(_dlg%,geistiges Eigentum geschützt. d.h. Das Eigentum und die Urheber-,155,125,267,13)
    @createtext(_dlg%,rechte an dem Produkt verbleiben bei L W W N - Soft. Diese Lizenz,155,138,267,13)
    @createtext(_dlg%,ist nicht Übertragbar! Diese Software darf nur auf einem Einzelplatz-,155,151,267,13)
    @createtext(_dlg%,rechner installiert werden! Wenn Sie diese Software auf mehreren PC´s,155,164,267,13)
    @createtext(_dlg%,nutzen wollen, müssen Sie Anzahlmäßig Lizenzen anfordern! Wenn,155,177,267,13)
    @createtext(_dlg%,Sie bereits jetzt nicht mehr zustimmen wollen, dann klicken Sie auf,155,190,267,13)
    @createtext(_dlg%,Abbruch. Wenn doch, dann auf Weiter.,155,203,267,13)
    usefont times new roman,11,0,1,1,0
    @createtext(_dlg%,© by L W W N - Soft 1998/99    ® Alle Rechte vorbehalten,155,229,267,13)
    SetDialogFont 0
    let _ende% = 0

    whilenot _ende%

        waitinput

        if @equ(%key,2)

            let _ende% = 1

        elseif @getfocus(rt%)

            @messagebox(Zurück z.Z. außer Funktion,Installation,16)
            @messagebox(Wegen einer Schutzverletzung wird Setup beendet. Führen Sie Setup erneut aus.,Installation,48)
            chdir $syspath
            ASSIGN #1,-------.ini  Originalname haben wir absichtlich durch -------- geändert. Geben Sie hier einen Namen ein.
            ERASE #1
            close #1
            ASSIGN #1,-------.ini  Originalname haben wir absichtlich durch -------- geändert. Geben Sie hier einen Namen ein.
            ERASE #1
            close #1
            END

        elseif @getfocus(wt%)

            @destroywindow(_dlg%)
            dialog4

        elseif @getfocus(ende%)

            @messagebox(Setup wurde nicht vollständig ausgeführt. Sie können Setup erneut auffordern, indem Sie Setup erneut ausführen.,Installation,48)
            chdir $syspath
            ASSIGN #1,--------.ini  Originalname haben wir absichtlich durch -------- geändert. Geben Sie hier einen Namen ein.
            ERASE #1
            close #1
            ASSIGN #1,--------.ini  Originalname haben wir absichtlich durch -------- geändert. Geben Sie hier einen Namen ein.
            ERASE #1
            close #1
            let _ende% = 1
            END

        endif

    wend

    @destroywindow(_dlg%)

endproc

Aufforderung zur Eingabe des Firmen und Benutzernamens

proc dialog2

    declare _ende%
    declare _dlg%
    declare rt%,usn1$,bnn1$,usn2$,bnn2$
    declare wt%,fn%,bn%
    declare ende%
    let usn1$=GCS - Wefers
    let bnn1$=L W W N - Soft
    let _dlg%=@createdialog(_dlg%,Installation,136,72,440,312)
    @creategroupbox(_dlg%,,8,8,136,272)
    let rt%=@createbutton(_dlg%,zurück,152,256,80,24)
    let wt%=@createbutton(_dlg%,weiter,248,256,80,24)
    let ende%=@createbutton(_dlg%,Abbruch,344,256,80,24)
    SetDialogFont 1
    usefont times new roman,14,0,1,1,0
    let bn%=@createedit(_dlg%,GCS - Wefers,152,160,272,24)
    let fn%=@createedit(_dlg%,L W W N - Soft,152,200,272,24)
    SetDialogFont 0
    @createtext(_dlg%,Name:,152,144,272,16)
    @createtext(_dlg%,Firma:,152,184,272,16)
    @createtext(_dlg%,Benutzername:,170,10,370,20)
    @createtext(_dlg%,Bitte geben Sie einen Namen,170,40,370,20)
    @createtext(_dlg%,und einen Benutzernamen ein:,170,60,370,20)
    @createicon(_dlg%,A,56,36)
    @createicon(_dlg%,PROFAN,56,136)
    @createicon(_dlg%,EIS,56,226)
    let _ende% = 0

    whilenot _ende%

        waitinput

        if @equ(%key,2)

            let _ende% = 1

        elseif @getfocus(rt%)

            @messagebox(Zurück z.Z. außer Funktion,Installation,16)
            @messagebox(Wegen einer Schutzverletzung wird Setup beendet. Führen Sie Setup erneut aus.,Installation,48)
            chdir $SysPath
            ASSIGN #1,-------.ini  Originalname haben wir absichtlich durch -------- geändert. Geben Sie hier einen Namen ein.
            ERASE #1
            close #1
            ASSIGN #1,-------.ini  Originalname haben wir absichtlich durch -------- geändert. Geben Sie hier einen Namen ein
            ERASE #1
            close #1
            END

        elseif @getfocus(wt%)

            let usn2$=@gettext$(bn%)
            let bnn2$=@gettext$(fn%)

            if @equ$(usn1$,usn2$)

                @messagebox(Sie haben keinen Benutzernamen eingegeben!
                Sie müssen Install neu starten.,Username,16)
                chdir $SysPath
                ASSIGN #1,--------.ini  Originalname haben wir absichtlich durch -------- geändert. Geben Sie hier einen Namen ein.
                ERASE #1
                close #1
                ASSIGN #1,--------.ini  Originalname haben wir absichtlich durch -------- geändert. Geben Sie hier einen Namen ein.
                ERASE #1
                close #1
                END

            else

                let usn2$=@gettext$(bn%)
                writeini C:\register.ini,Daten,R=SHAREWARE
                writeini C:\register.ini,Daten,UserName=usn2$

            endif

            if @equ$(bnn1$,bnn2$)

                @messagebox(Sie haben keinen Firmennamen eingegeben!
                Sie müssen Install neu starten.,Username,16)
                chdir $SysPath
                ASSIGN #1,--------.ini  Originalname haben wir absichtlich durch -------- geändert. Geben Sie hier einen Namen ein.
                ERASE #1
                close #1
                ASSIGN #1,--------.ini  Originalname haben wir absichtlich durch -------- geändert. Geben Sie hier einen Namen ein.
                ERASE #1
                close #1
                END

            else

                let bnn2$=@gettext$(fn%)
                writeini C:\register.ini,Daten,CompanyName=bnn2$
                writeini C:\register.ini,Install,Datum=date$(0)
                writeini C:\register.ini,Install,Uhrzeit=time$(0)

            endif

            @destroywindow(_dlg%)
            dialog3

        endif

        if @getfocus(ende%)

            @messagebox(Setup wurde nicht vollständig ausgeführt. Sie können Setup erneut auffordern, indem Sie Setup erneut ausführen.,Installation,48)
            chdir $SysPath
            ASSIGN #1,--------.ini  Originalname haben wir absichtlich durch -------- geändert. Geben Sie hier einen Namen ein.
            ERASE #1
            close #1
            ASSIGN #1,--------.ini  Originalname haben wir absichtlich durch -------- geändert. Geben Sie hier einen Namen ein.
            ERASE #1
            close #1
            let _ende% = 1
            END

        endif

    wend

    @destroywindow(_dlg%)

endproc

Erstes Begrüßungsdialog

proc dialog

    declare _ende%
    declare _dlg%
    declare rt%
    declare wt%
    declare ende%
    let _dlg%=@createdialog(_dlg%,Installation,136,72,440,312)
    @creategroupbox(_dlg%,,8,8,136,272)
    let rt%=@createbutton(_dlg%,zurück,152,256,80,24)
    let wt%=@createbutton(_dlg%,weiter,248,256,80,24)
    let ende%=@createbutton(_dlg%,Abbruch,344,256,80,24)
    @createtext(_dlg%,Willkommen bei der Installation von,170,10,370,20)
    @createtext(_dlg%,DISPOMAN Version 1.0,170,30,370,20)
    @createtext(_dlg%,Alle geöffneten Anwendungen sollten,170,60,370,20)
    @createtext(_dlg%,vorher beendet werden.,170,80,370,20)
    @createtext(_dlg%,Drücken Sie ALT und TAB um alle An-,170,110,370,20)
    @createtext(_dlg%,wendungen zu schließen, dann weiter.,170,130,370,20)
    @createtext(_dlg%,Dieses Programm ist Urheberrechtlich,170,160,370,20)
    @createtext(_dlg%,geschützt und somit Eigentum der,170,180,370,20)
    @createtext(_dlg%,L W W N - Soft !,170,200,370,20)
    @createicon(_dlg%,A,56,36)
    @createicon(_dlg%,PROFAN,56,136)
    @createicon(_dlg%,EIS,56,226)
    let _ende% = 0

    whilenot _ende%

        waitinput

        if @equ(%key,2)

            let _ende% = 1

        elseif @getfocus(rt%)

            @messagebox(Zurück beendet die Installation!\n\nSie müssen Install neu aufrufen.,Installation,48)
            chdir $syspath
            ASSIGN #1,--------.ini  Originalname haben wir absichtlich durch -------- geändert. Geben Sie hier einen Namen ein.
            ERASE #1
            close #1
            ASSIGN #1,--------.ini  Originalname haben wir absichtlich durch -------- geändert. Geben Sie hier einen Namen ein.
            ERASE #1
            close #1
            END

        elseif @getfocus(wt%)

            @destroywindow(_dlg%)
            dialog2

        elseif @getfocus(ende%)

            @messagebox(Setup wurde nicht vollständig ausgeführt. Sie können Setup erneut auffordern, indem Sie Setup erneut ausführen.,Installation,48)
            chdir $syspath
            ASSIGN #1,--------.ini  Originalname haben wir absichtlich durch -------- geändert. Geben Sie hier einen Namen ein.
            ERASE #1
            close #1
            ASSIGN #1,--------.ini  Originalname haben wir absichtlich durch -------- geändert. Geben Sie hier einen Namen ein.
            ERASE #1
            close #1
            let _ende% = 1
            END

        endif

    wend

    @destroywindow(_dlg%)

endproc

Hintergrundfarbverlauf

PROC FB

    Parameters TopColor&,EndColor&,Colors%,direction%
    declare r%,g%,b%,reddif%,greendif%,bluedif%,i%,h%
    DEF MulDiv(3) @div(@mul(@%(1),@%(2)),@%(3))
    SetTruecolor 1
    Case @lt(colors%,8): let colors%= 8
    usepen 5,0,0
    let RedDif%=@sub(GetRValue(EndColor&),GetRValue(TopColor&))
    let GreenDif%=@sub(GetGValue(EndColor&),GetGValue(TopColor&))
    let BlueDif%=@sub(GetBValue(EndColor&),GetBValue(TopColor&))

    WHILE @lt(i%,colors%)

        let r% = @add(GetRValue(TopColor&), MulDiv(i%, RedDif%, Colors%));
        let g% = @add(GetGValue(TopColor&) , MulDiv (i%, GreenDif%, Colors%));
        let b% = @add(GetBValue(TopColor&) , MulDiv (i%, BlueDif%, Colors%));
        usebrush 1, @rgb(r%,g%,b%)

        IF direction%

            rectangle MulDiv(i%,width(%hwnd),colors%),0 -@MulDiv(@add(i%,2),width(%hwnd),colors%),height(%hwnd)

        ELSE

            rectangle 0,MulDiv(i%,Height(%hwnd),colors%) - Width(%hwnd),@MulDiv(@add(i%,2),Height(%hwnd),colors%)

        ENDIF

        inc i%

    WEND

    SetTruecolor 0

ENDPROC

proc hol

    declare verlauf%
    SetTrueColor 1
    let verlauf%=255
    FB @RGB(0,0,255),@RGB(255,0,0),verlauf%,0     0=Vertikal, 1=Horizontal
    Beschriftung des Hauptfensters
    declare tab%,tic%
    cls @rgb(0,0,31)
    loadbmp setup.dat,0,0;0
    drawicon A,580,10
    let tab%=@createbutton(%Hwnd,©,614,15,24,24)
    let tic%=@createbutton(%Hwnd,I,638,15,24,24)
    usefont times new roman,36,0,1,1,0
    TextColor @RGB(0,0,0),-1
    DrawText 20,5,Der
    DrawText 20,5,        L W W N -
    DrawText 20,5,                           Soft
    DrawText 20,5,                                   Setupmanager V 1.4
    TextColor @RGB(31,31,0),-1
    DrawText 17,2,Der
    DrawText 17,2,                                   Setupmanager V 1.4
    TextColor @RGB(0,23,0),-1
    DrawText 17,2,        L W W N -
    TextColor @RGB(31,0,0),-1
    DrawText 17,2,                           Soft
    usefont times new roman,22,0,1,1,0
    TextColor @RGB(0,0,0),-1
    DrawText 20,415by
    DrawText 20,415,                                    1996 / 2000
    DrawText 20,415,         L W W N -
    DrawText 20,415,                            Soft
    TextColor @RGB(31,31,0),-1
    DrawText 17,412by
    DrawText 17,412,                                    1999 / 2000
    TextColor @RGB(0,31,0),-1
    DrawText 17,412,         L W W N -
    TextColor @RGB(31,0,0),-1
    DrawText 17,412,                            Soft
    usefont times new roman,14,0,1,1,0
    TextColor @RGB(0,0,0),-1
    DrawText 40,437Alle Rechte vorbehalten
    DrawText 40,451All Rights reserved
    TextColor @RGB(31,31,31),-1
    DrawText 37,434Alle Rechte vorbehalten
    DrawText 37,448All Rights reserved
    Speicherplatzabfrage und wieviele LW hat der Anwender?
    declare lw1$,lw2$,lw3$,lw4$,lw5$,lw6$,lw1%,lw2%,lw3%,lw4%,lw5%,slw1%,slw2%,slw3%,_dlg%
    SetTimer 3000
    let _dlg%=@createdialog(%Hwnd,Setup,184,136,368,96)
    @createtext(_dlg%,Setup prüft den benötigten Speicherplatz,72,8,344,16)
    @createicon(_dlg%,A,5,5)
    waitinput
    Def HoleLWKennung(2) ! KERNEL32.DLL,GetLogicalDriveStringsA
    declare MaxZeichen%
    declare LWKennung#
    declare LWInstall&
    Declare i%
    let MaxZeichen%=104
    Dim LWkennung#,MaxZeichen%
    let LWInstall&=HoleLWKennung(MaxZeichen%,LWKennung#)
    let lw1$ = slw1%
    let slw1% = @div&(LWInstall&,4)
    let I%=0

    whileNot @equ(i%,LWInstall&)

        string$(LWKennung#,I%)
        let I%=@add(i%,4)

    wend

    dispose LWKennung#
    Def HoleLaufwerkskapazität(5) ! KERNEL32.DLL,GetDiskFreeSpaceA
    declare Laufwerk$
    declare Laufwerk#
    declare SectperCluster#
    declare BytesperSector#
    declare Freeclusters#
    declare Clusters#
    dim Laufwerk#,10
    dim SectperCluster#,1
    dim BytesperSector#,1
    dim Freeclusters#,1
    dim Clusters#,1
    let Laufwerk$=C:\
    String Laufwerk#,0=Laufwerk$
    HoleLaufwerksKapazität(Laufwerk#,SectperCluster#,BytesperSector#,Freeclusters#,Clusters#)
    decimals 2
    let lw2$=@str$(@mul(@div(@div(long(Clusters#,0),long(SectperCluster#,0)),long(BytesperSector#,0)),1024))
    decimals 2
    let lw3$=@str$(@mul(@div(@div(long(FreeClusters#,0),long(SectperCluster#,0)),long(BytesperSector#,0)),1024))
    waitinput
    dispose Laufwerk#
    dispose SectperCluster#
    dispose BytesperSector#
    dispose Freeclusters#
    dispose Clusters#
    SetTimer 5000
    let lw6$=13.71
    let lw4$=0.1370

    if @gt$(@val(lw3$),@val(lw4$))

        let lw5$=OK.   Setup setzt fort.
        playsound start.mus,1
        @createtext(_dlg%,Setup hat ausreichen Platz gefunden.,72,8,344,16)
        @createicon(_dlg%,A,5,5)
        waitinput
        @destroywindow(_dlg%)
        UseCursor 0

    else

        playsound auh.mus,1
        @createtext(_dlg%,Setup meldet zu wenig Speicherplatz!,72,8,344,16)
        @createtext(_dlg%,         Setup wird beendet,72,24,344,16)
        @createicon(_dlg%,DOS,5,5)
        waitinput
        @destroywindow(_dlg%)
        KillTimer
        END

    endif

    SetTimer 10000
    let _dlg%=@createdialog(%Hwnd,Setup,132,152,432,164)
    @createicon(_dlg%,A,0,0)
    @createtext(_dlg%,Setup hat folgende Ergebnisse herausgefunden:,72,8,326,16)
    @createtext(_dlg%,Sie haben insgesamt:,8,40,152,16)
    let lw1%=@createtext(_dlg%,lw1$,160,40,40,16)
    @createtext(_dlg%,Laufwerke installiert.,200,40,154,16)
    @createtext(_dlg%,LW C:\ hat insgesamt:,8,56,152,16)
    let lw2%=@createtext(_dlg%,lw2$,160,56,56,16)
    @createtext(_dlg%,MB,216,56,40,16)
    @createtext(_dlg%,LW C:\ hat noch frei   :,8,72,152,16)
    let lw3%=@createtext(_dlg%,lw3$,160,72,56,16)
    @createtext(_dlg%,MB,216,72,40,16)
    @createtext(_dlg%,Setup benötigt           :,8,96,152,16)
    let lw4%=@createtext(_dlg%,lw6$,160,96,56,16)
    @createtext(_dlg%,MB,216,96,40,16)
    @createtext(_dlg%,Prüfergebnis             :,8,112,152,16)
    let lw5%=@createtext(_dlg%,lw5$,160,112,256,16)
    SetText lw1%,@str$(slw1%)
    SetText lw2%,lw2$
    SetText lw3%,lw3$
    waitinput
    decimals 0
    @destroywindow(_dlg%)
    KillTimer
    dialog
    UseCursor 0

endproc

proc weise

    declare da%
    settimer 5000
    let da%=@createdialog(%Hwnd,Installation,201,126,281,75)
    @createtext(da%,                Wie Weise . . .,8,8,256,16)
    @createtext(da%,             Eine gute Wahl . . .,8,25,256,16)
    waitinput
    @destroywindow(da%)
    killtimer
    END

endproc

Programmstart
Ist das Programm bereits installiert? Hier wird abgefragt.
declare ndatum$,phat1$,phat2$,x%,ndatum&,datum&,diff%,sec1$,sec2$,sec3$,sec4$,sec5$
let phat2$=@add$($syspath,\--------.ini)  Originalname haben wir absichtlich durch -------- geändert. Geben Sie hier einen Namen ein.
let sec1$=@readini$(c:\programme\dispoman\versioid.id,Version,V)
let sec2$=1.0
let sec3$=@readini$(C:\programme\dispoman\daten\register.ini,Install,Datum)
let sec4$=@readini$(C:\programme\dispoman\daten\register.ini,Install,Uhrzeit)
windowstyle 31
window 0,0-%maxx,%maxy
WINDOWTITLE Installationsprogramm DISPOMAN V 1.0                                                                                                 © by LWWN-Soft
cls @rgb(0,0,0)
declare first1$,first2$
let first1$=@readini$(phat2$,daten,datum)
let first2$=ndatum$
let ndatum$=date$(0)
let ndatum&=@mul(@val(@mid$(ndatum$,7,4)),365)
let ndatum&=@add(ndatum&,@mul(@val(@mid$(ndatum$,4,2)),30))
let ndatum&=@add(ndatum&,@val(@mid$(ndatum$,1,2)))

if @equ$(sec1$,sec2$)

    let sec5$=@add$(Wollen Sie Ihr System durcheinander bringen?
    DISPOMAN wurde bereits am ,sec3$)
    let sec5$=@add$(sec5$, um
    )
    let sec5$=@add$(sec5$,sec4$)
    let sec5$=@add$(sec5$, Uhr installiert.
    ©® by L W W N - Soft 1998 / 2000)
    @messagebox(sec5$,Installation,17)
    weise

else

endif

Wenn die SHAREWARE-Frist abgelaufen ist, wird hier abgefragt und das
Neuinstallieren verhindert.
declare _ende%
windowstyle 31
window 0,0-%maxx,%maxy
WINDOWTITLE Installationsprogramm DISPOMAN V 1.0                                                                                                 © by LWWN-Soft
cls @rgb(0,0,0)

if @gt$(first1$,first2$)

    @messagebox(Denks´te.
    Sie können DISPOMAN nur 1mal installieren!
    Wenn Sie DISPOMAN wieder hergestellt haben
    möchten, kontaktieren Sie L W W N - Soft.
    ©® by L W W N - Soft 1998 / 2000,Installation,16)
    END

else

endif

UseCursor 2
SetTimer 5000
declare winkel%,groesse%
cls @rgb(0,0,0)
textcolor @rgb(31,31,0),@rgb(31,0,0)
let winkel% = 150

whilenot @gt(winkel%,3600)

    let groesse% = @div(winkel%,100)
    orientation winkel%
    usefont times new roman,groesse%,0,0,1,0
    drawtext 230,150by L W W N - Soft 1998-99
    add winkel%,150

wend

waitinput
SHAREWARE-Frist einrichten
let phat1$=@add$($syspath,\--------.ini)  Originalname haben wir absichtlich durch -------- geändert. Geben Sie hier einen Namen ein.
let phat2$=@add$($syspath,\--------.ini)  Originalname haben wir absichtlich durch -------- geändert. Geben Sie hier einen Namen ein.
let ndatum$=date$(0)
let ndatum&=@mul(@val(@mid$(ndatum$,7,4)),365)
let ndatum&=@add(ndatum&,@mul(@val(@mid$(ndatum$,4,2)),30))
let ndatum&=@add(ndatum&,@val(@mid$(ndatum$,1,2)))
Writeini phat1$,daten,datum@str$(ndatum&)
Writeini phat1$,daten,V=1.0
Writeini phat2$,daten,datum=@str$(ndatum&)
Writeini phat2$,daten,V=1.0
cls
hol

wend

KillTimer
End
 
16.07.2007  
 



Zum Quelltext


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

1.070 Views

Untitledvor 0 min.
Gast.081525.08.2024
Rolf01.02.2018
Martin Kempf21.02.2015
Muemmelmann18.02.2014
Di più...

Themeninformationen

Dieses Thema hat 1 subscriber:

unbekannt (1x)


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie