Quote Originally Posted by Acetronics View Post
Thanks, Dave ... nice tool. ( heuuu .. could you just keep the last opened folder in the "open" window ??? )
Thanks.
That is one of the things I will add on the next version (someday).

BTW. Here is the source code, written in Liberty Basic.
I will most likely use Python the next time.
Code:
[setup.main.Window]

    '-----Begin code for #main

    nomainwin
    WindowWidth = 550
    WindowHeight = 225
    UpperLeftX=int((DisplayWidth-WindowWidth)/2)
    UpperLeftY=int((DisplayHeight-WindowHeight)/2)


    '-----Begin GUI objects code

    statictext #main.statictext1, "Code Path and Name",   5,  47, 155,  20
  '  TextboxColor$ = "white"
    textbox #main.name,   5,  67, 530,  25
    statictext #main.statictext3, "Program Memory",   5, 122, 120,  20
    statictext #main.statictext4, "Chip",  10,  17,  27,  20
    textbox #main.chip,  45,  17, 100,  25
    statictext #main.statictext6, "Free", 240, 102, 105,  20
    textbox #main.ByteWord, 130, 122, 50,  25
    textbox #main.FreeWord, 210, 122, 100,  25
    statictext #main.statictext8, " Used", 355, 102,  55,  20
    textbox #main.UsedWords, 325, 122, 100,  25
    statictext #main.statictext12, "Percent Used", 440, 102,  82,  20
    textbox #main.PercentWord, 435, 122, 100,  25
    button #main.btOPEN,"OPEN",[btOPEN], UL, 345,  17,  80,  25
    button #main.btREFRESH,"REFRESH",[btREFRESH], UL, 440,  17,  95,  25
    statictext #main.statictext16, "SRAM (BYTES)",  35, 152, 120,  20
 '   statictext #main.statictext15, "EEPROM (BYTES)",  30, 177, 140,  20
    textbox #main.ramF, 210, 152, 100,  25
 '   textbox #main.eepF, 210, 182, 100,  25
    textbox #main.ramU, 325, 152, 100,  25
 '   textbox #main.eepU, 325, 182, 100,  25
    textbox #main.ramP, 435, 152, 100,  25
 '   textbox #main.eepP, 435, 182, 100,  25
    statictext #main.txtWORKING, "WORKING", 185,  17,  85,  20
    statictext #main.txtFINISHED, "FINISHED", 185,  17,  75,  20


    '-----End GUI objects code

    open "LST VIEW" for window as #main
    print #main.UsedWords, "!font ms_sans_serif 10 bold"
    print #main, "font ms_sans_serif 10"
    print #main.statictext3, "!font ms_sans_serif 10 bold"
    print #main.statictext16, "!font ms_sans_serif 10 bold"
 '   print #main.statictext15, "!font ms_sans_serif 10 bold"
    print #main.txtWORKING, "!font ms_sans_serif 10 bold"
    print #main.txtFINISHED, "!font ms_sans_serif 10 bold"
    print #main, "trapclose [quit.main]"

    [main.inputLoop]   'wait here for input event
   ' print #handle.ext, "!hide"
    print #main.txtWORKING, "!hide"
    print #main.txtFINISHED, "!hide"
    wait

    [btOPEN]   'Perform action for the button named 'btOPEN'
    filedialog "OPEN ","C:\*.lst", openfile$
    if openfile$ = "" then wait
    [rFresh]
    open openfile$ for input as #Lfile
    print #main.name, openfile$
    print #main.txtWORKING, "!show"
    print #main.txtFINISHED, "!hide"
    [LOOPcn]
    line input #Lfile, line$
    if mid$(line$,29,9)= "RAM_START" then RS$ = mid$(line$,68,6)
    if mid$(line$,29,7)= "RAM_END" then RE$ = mid$(line$,68,6)
    if mid$(line$,69,11)= "RAM_START +" then RFIN$ = mid$(line$,81,6)
   ' if mid$(line$,29,9)= "RAM_START" then #main.ramF,mid$(line$,68,6)
   ' if mid$(line$,29,7)= "RAM_END" then #main.ramU,mid$(line$,68,6)
    if mid$(line$,1,26)= "Program Memory Bytes Used:" then #main.UsedWords,mid$(line$,27,92)
    if mid$(line$,1,26)= "Program Memory Words Used:" then #main.UsedWords,mid$(line$,27,92)
    if mid$(line$,1,26)= "Program Memory Bytes Free:" then #main.FreeWord,mid$(line$,27,92)
    if mid$(line$,1,26)= "Program Memory Words Free:" then #main.FreeWord,mid$(line$,27,92)
    if mid$(line$,1,2)= "__" then #main.chip,mid$(line$,3,12)
    if eof(#Lfile) = -1 then [closeFILE1]
    goto [LOOPcn]
    '###################################################
    [closeFILE1]
    close #Lfile
    open openfile$ for input as #Lfile
    [LOOPpm]
    line input #Lfile, line$
    if mid$(line$,1,26)= "Program Memory Bytes Used:" then #main.ByteWord,mid$(line$,16,5)
    if mid$(line$,1,26)= "Program Memory Words Used:" then #main.ByteWord,mid$(line$,16,5)
    if eof(#Lfile) = -1 then [closeFILE2]
    goto [LOOPpm]
    '####################################################
    [closeFILE2]
    close #Lfile
    print #main.chip, "!contents? cName$"
    bFile$ = "C:\PBP\";(trim$(cName$));".bas"
  '  print #main.eepP,bFile$
   goto [closeFILE]
    wait

    [btREFRESH]   'Perform action for the button named 'btREFRESH'
    if openfile$ = "" then [rfERROR]'notice "SELECT FILE"
    goto [rFresh]
    wait

    [closeFILE]
  '  close #Lfile
    print #main.UsedWords,"!contents? UW"
    print #main.FreeWord,"!contents? FW"
    TW = UW + FW
    PW = (UW / TW) * 100
    print #main.PercentWord,using("###.##",PW)
    ramS = hexdec(RS$)
    ramE = hexdec(RE$)
    ramT = ramE - ramS + 1
    ramF = hexdec(RFIN$)
    ramU = ramF - ramS
    ramFree = ramT - ramU
    ramP = (ramU / ramT) * 100
    print #main.ramF,ramFree
    print #main.ramU,ramU
    print #main.ramP,using("###.##",ramP)
    print #main.txtWORKING, "!hide"
    print #main.txtFINISHED, "!show"
    wait

    [rfERROR]
    notice "SELECT FILE"
    goto [main.inputLoop]
    wait

    [quit.main] 'End the program
    close #main
    end