  external VDSINOUT.DLL
  option scale,96
  dialog CREATE,ENCRYPT and DECRYPT,-1,0,523,114,nosys
  dialog ADD,BUTTON,EXIT,63,434,84,24,EXIT
  dialog ADD,EDIT,INPUT,6,228,288,19
  dialog ADD,EDIT,OUTPUT,33,230,286,19
  dialog ADD,BUTTON,BIN,6,185,40,20,IN
  dialog ADD,BUTTON,BOUT,33,186,40,20,OUT
  dialog ADD,TEXT,TIN,9,11,,,SELECT FILE TO CONVERT
  dialog ADD,TEXT,TOUT,38,9,,,SELECT DIRECTORY FOR OUPUT
  dialog ADD,BUTTON,ENC,65,6,84,24,ENCRYPT
  dialog ADD,BUTTON,DEC,65,115,84,24,DECRYPT
  dialog ADD,BUTTON,VIN,65,225,84,24,VIEW INPUT
  dialog ADD,BUTTON,VOUT,64,330,84,24,VIEW OUTPUT
  dialog SHOW
:EVLOOP
  wait EVENT
  goto @EVENT()
:BINBUTTON
  %%in = @FILEDLG("PLAIN TEXT (*.TXT)|*.TXT|DATA FILE (*.DAT)|*.DAT",SELECT FILE TO ENCRYPT/DECRYPT,*.TXT)
  dialog SET,INPUT,%%IN
  goto EVLOOP
:BOUTBUTTON
  %%out = @FILEDLG("DATA FILE (*.DAT)|*.DAT|PLAIN TEXT (*.TXT)|*.TXT",SAVE OUTPUT FILE,*.DAT,SAVE)
  dialog SET, OUTPUT,%%OUT
  goto EVLOOP
:CHECK
  %%out = @DLGTEXT(OUTPUT)
  %%in = @DLGTEXT(INPUT)
  if @NULL(%%IN)
    info SELECT AN INPUT FILE
    goto EVLOOP
  end 
  if @NULL(%%OUT)
    info SELECT AN OUTPUT FILE
    goto EVLOOP
  end 
  exit 
:ENCBUTTON
  gosub CHECK
  if @FILE(%%OUT)
    if @ASK(FILE EXISTS OVERWRITE?)
      %3 = @IO(enCRYPT,%%OUT,1,%%IN)
      info @IO(MSLIN)
      goto EVLOOP
    else 
      info PLEASE SELECT A DIFFERENT FILENAME
    end 
  else 
    list CREATE,1
    list SAVEFILE,1,%%OUT
    list CLOSE,1
    %3 = @IO(enCRYPT,%%OUT,1,%%IN)
    info @IO(MSLIN)
  end 
  goto EVLOOP
:DECBUTTON
  gosub CHECK
  if @FILE(%%OUT)
    if @ASK(FILE EXISTS OVERWRITE?)
      %1 = @IO(DeCRYPT,%%OUT,1,%%IN)
      info @IO(MSLIN)
      goto EVLOOP
    else 
      info PLEASE SELECT A DIFFERENT FILENAME
    end 
  else 
    list CREATE,1
    list SAVEFILE,1,%%OUT
    list CLOSE,1
    %3 = @IO(DeCRYPT,%%OUT,1,%%IN)
    info @IO(MSLIN)
  end 
  goto EVLOOP
:VINBUTTON
  gosub CHECK
  shell OPEN,%%IN,WAIT
  goto EVLOOP
:VOUTBUTTON
  gosub CHECK
  shell OPEN,%%OUT,WAIT
  goto EVLOOP
:EXITBUTTON
  exit 
