|
Post by tsh73 on Jan 29, 2021 14:51:58 GMT
honky, nice but it sertainly will not work *for everybody*
here on Win 7 I have DLLS in Program Files C:\Program Files\Just BASIC v2.0\ but sprites in Roaming C:\Users\Anatoly\AppData\Roaming\Just BASIC v2.0\
So it just prints nothing.
|
|
|
Post by honky on Jan 29, 2021 15:35:47 GMT
honky, nice but it sertainly will not work *for everybody* here on Win 7 I have DLLS in Program Files C:\Program Files\Just BASIC v2.0\ but sprites in Roaming C:\Users\Anatoly\AppData\Roaming\Just BASIC v2.0\ So it just prints nothing. Thin ! we have to find a file to open in "Just Basic". Or do otherwise. There are many ways to skin a cat After that we can deduce from the relevance of the process, since the: ".tkn" cannot be generated by program.
|
|
|
Post by B+ on Jan 29, 2021 18:42:54 GMT
Why, now I can just run that code as it is and fix paths it complains about. Nice touch. But you likely started off previos version so you lose default button. About progran "lying", not so fast, though ( First having BASIC programs have ТXТ extension is, well, unusual So file I found in my JB folder is "letter.txt" I start program, and entered "letter" It found the file - copied it - but of cource it cannot made TKN out of plain text! So check is worthy ) Now I took another progran circles.bas copied it to circles.txt run progam, entered "circles", push that button. Now it did create circles.tkn but check happens to look for circles.txt.tkn instead! That's why check fails. EDIT
as for EXE check "lying", well, it didn't for me. It created EXE and did not complain about it. May be you should allow more pause time for windows finishing copy operation.
One other thing I wouldn't do is hiding filename entered. It should stay somehow. May be add textbox and put a log of things going on in that textbox? First let me explain why I use .txt as extension. I have .bas registered in Windows to load another Basic when I click a bas file and I prefer to keep that one as first but JB allows other extensions, see Preferences, and JB works very well with .txt files edited in Notepad++ so I click a JB source with .txt extension I have it loaded in Notepad++ to read and edit, when ready to test run just load JB and run, there is no conflict between JB and Notepad++ having file open in both! sweet! The only inconvenience is trying to run a JB file with a regular .bas extension, then I have to toggle *.* files in IDE file open dialog to see all files including .bas, no biggy (no big problem). Now I took another progran circles.bas copied it to circles.txt run progam, entered "circles", push that button. Now it did create circles.tkn but check happens to look for circles.txt.tkn instead! That's why check fails. OK this might be the problem, I did fiddle with fname$ using fnameBAS$ to distinguish between the name for project and name of actual JBsource file and might have mixed things up. When reading through xxgeek's code I couldn't figure the crazy fname$ and fname0$ until much later in code, oh! that's why he had 2 names going So I might have messed up substitutions adding changing fname$ and fnameBAS$ in my code. Agreed you do want to be sure you have a real fname$ + .exe. Anyway I will check if I did mess up fname$ and fnameBAS$. I had a problem last night with pathExists() or FileExits() Function when the file or path did not exist. It was crashing JB before I got any message from the code that the file or path was bad, I couldn't tell which was causing problem because it kept crashing. So when everything was fine the code was fine but if not crash without explanation from code. Ha! Maybe a Notice "I am about to test "x-file" (name the exact file or path) to see if it exists, if JB crash then it was bad." Kind of a rough way to do things. And here if we plug in honky idea to try and mend the path or file with proper path or file dialog, as an error handler for FileExist or PathExist that would be helpful. Probably xxgeek and tsh73 already thinking on similar lines?
|
|
|
Post by B+ on Jan 29, 2021 18:50:33 GMT
xxgeek, I think your idea of pausing fine and the lying part may have been a screw up by me. I have problem sleeping too, when some little code problem refuses to work they way I think it should. I was up pretty late last couple of nights myself.
|
|
|
Post by B+ on Jan 30, 2021 4:26:56 GMT
I have made some more mods to my version of project folder maker. First off I was creating the wrong tkn file name and so of course the file wont exist. 2nd I added notices in fileExists and pathExists, so you can see what exactly is being checked by those functions. It may drive you crazy with all the notices but it would also drive you crazy if a file should exist and it doesn't because of a dang typo!!!
Speaking of typos, there is no check (in the code I was working with anyway) to see if the source file actually exists in the orig$ folder. That should be done as soon as the filename is rec'd from the user (button clicked) ie tsh73 and xxgeek have you checked how your code handles a typo for the source file? Anyway, I added that to this mod and I am not even creating the new directory for project until that is confirmed.
Also now I am checking for tkn file and really quitting if the code does not detect that file existing.
So here are my updates, easy enough to adapt paths, files, and source extension name for your system.
' Take a JB source file and create a .tkn and .exe with same basename with all needed .dll's ' for faster runs or to distribute.
' This code was originally setup up by xxgeek at JB forum Jan 27, 2021 ' https://justbasiccom.proboards.com/thread/625/jb-project-organizer
' bplus modified paths for his JB setup on Desktop and .txt extension JB source files (not .bas) ' and cleared all the unused code in xxgeeks post and made a few other mods.
' Working great! I even turned this code into an exe so I don't have to run it through JB!
' bplus Jan 29, 2021
' 2021-01-29 more mods to fix bugs and make more crash free ' I think I solved the problem of tkn seemingly not exisiting, now I really do quit if it doesn't exist!
JBpath$="C:\Program Files (x86)\Just BASIC v2.0" JBexe$="jbasic.exe" JBruntime$="jbrun2.exe" DllList$="vbas31w.sll vgui31w.sll voflr31w.sll vthk31w.dll vtk1631w.dll vtk3231w.dll vvm31w.dll vvmt31w.dll" ' ---- For bplus files and folders on Desktop in JB Folder DestPath$ = "C:\Users\marka\Desktop\Just Basic 2.0\Projects" orig$ = "C:\Users\marka\Desktop\Just Basic 2.0\2021 stuff" qq$=chr$(34) '= (") - used later to wrap quotes around file paths. a=0
'Checking all file locations for existing files res=pathExists(JBpath$) if res then a=a+1 else notice " JBpath Does not exist on the given path - > "+JBpath$ : end res=fileExists(JBpath$,JBexe$) if res then a=a+1 else notice " jbasic.exe Does not exist on the given path -> "+JBpath$+" "+JBexe$ : end res=fileExists(JBpath$,JBruntime$) if res then a=a+1 else notice " jbrun2.exe Does not exist on the given path -> "+JBpath$;"\";JBruntime$ : end res=pathExists(orig$) if res then a=a+1 else notice " Does not exist on the given path -> "+orig$ : end
nomainwin WindowWidth = 625 WindowHeight = 425 UpperLeftX=INT((DisplayWidth-WindowWidth)/2) UpperLeftY=INT((DisplayHeight-WindowHeight)/2) statictext #main.askname, "Enter the name of the JB source file below without the .bas extension, it will be used for Project Name";fname$, 32, 115, 360, 35 textbox #main.fname$, 32, 150, 260, 35 statictext #main.info, "waiting for input ....", 32, 195, 560, 25 button #main.makeproject, "Make Project", [makeprojectClick], UL, 430, 325, 115, 30 open "Project Organizer" for window_nf as #main #main, "trapclose [quit.main]" #main, "font ms_sans_serif 10" #main.fname$, "!setfocus" #main.askname, "!font Arial 10 bold" #main.fname$ "!font Arial 16 bold" #main.info, "!font Arial 10 bold" wait
[makeprojectClick] #main.fname$, "!contents? fname$" 'get file name from textbox and hide '#main.fname$, "!hide" ' as per tsh73 dont hide #main.askname, "!hide" ' <<<<<<<<< hide a label? #main.info "Setting up your JB file for distribution and/or speed." fname$=trim$(fname$) DestPath1$=DestPath$;"\";fname$ if right$(lower$(fname$),4)<>".bas" then fnameSource$ = fname$ + ".txt"
' 2021-01-29 This is important to avoid a crash with JB trying to open and copy the file to new directory, say from a stupid typo! ' here is where we need to test is the source file actually exists in case of typo res=fileExists(orig$,fnameSource$) if res then a=a+1 else notice "The JB Source File: "+orig$ +"\"+fnameSource$+" does not exist, can not continue, goodbye!" : goto [quit.main] 'ok good to go now say what should happen (moved) notice "Soon you will be prompted to save a tkn file, hit [enter] or click [save]"
run "cmd.exe /c mkdir ";qq$;DestPath1$;qq$ ' <<<<<<<< this gets made OK run "cmd.exe /c copy ";qq$;orig$;qq$;"\";qq$;fnameSource$;qq$;" ";qq$;DestPath1$;qq$;"\";qq$;fnameSource$;qq$ call pause 1000 open orig$;"\";fnameSource$ for input as #orig ' <<<<<<< typo extra $ sign open DestPath1$;"\";fnameSource$ for output as #1 print #1, input$(#orig, lof(#orig)); ' <<<<<<<<<<<<<<<<< this is interesting! close #orig close #1 call pause 1000 '################################################################################ 'Create the TKN file. A good time to cross your fingers :D 'Getting to this pont cost me a new wig & 2 bottles of Rogain :D RUN JBpath$;"\";JBexe$;" -T -A ";DestPath1$;"\";fnameSource$ '################################################################################
call pause 500 res=fileExists(DestPath1$,fname$;".tkn") ' now I am really going to quit if tkn not found after 20 trys!!! while res = 0 call pause 500 try = try + 1 if try = 20 then exit while res=fileExists(DestPath1$,fname$;".tkn") wend if res then a=a+1 else notice "The TKN file was not created - can not continue, goodbye!" : goto [quit.main]
from$=JBpath$;"\";JBruntime$ to$=DestPath1$;"\";fname$;".exe" run "cmd.exe /c copy ";qq$;from$;qq$;" ";qq$;to$;qq$ run "cmd.exe /c copy ";"from$";" ";"to$" call pause 500 'Copy the needed DLL and SLL files from Just Basic dir to New Project Dir w$="" i=0 while 1 i=i+1 w$=word$(DllList$,i) if w$="" then exit while from$=JBpath$;"\";w$ to$=DestPath1$;"\";w$ run "cmd.exe /c copy ";qq$;from$;qq$;" ";qq$;to$;qq$ wend res=fileExists(DestPath1$,fname$;".exe") if res then a=a+1 else print "The EXE file was not created" ' too late to do anything now notice "Project created, go run "+fname$+".exe, goodbye!" [quit.main] Close #main END
sub pause mil t=time$("ms")+mil while time$("ms")<t scan wend end sub
function fileExists(path$, filename$) ' modified for help deciding what is being tested notice "Checking fileExists" + chr$(13) + chr$(10) + "Path: "+path$+chr$(10) +"File: "+filename$ dim info$(0, 0) files path$, filename$, info$() fileExists = val(info$(0, 0)) 'non zero is true notice "fileExists Returned: "+str$(val(info$(0, 0))) end function
function pathExists(path$) ' modified for help deciding what is being tested notice "Checking pathExists" + chr$(13) + chr$(10) + "Path: "+path$ res = (mkdir(path$)=183) notice "pathExists Returned: "+str$(res) pathExists = res end function
|
|
|
Post by tsh73 on Jan 30, 2021 6:51:11 GMT
That's really a bit TOO MUCH notices ;) I suggest writing results to Log panel instead, like this
' Form created with the help of Freeform-J v.261006 ' Generated on Jan 30, 2021 at 09:31:39
nomainwin
WindowWidth = 550 WindowHeight = 410
UpperLeftX=int((DisplayWidth-WindowWidth)/2) UpperLeftY=int((DisplayHeight-WindowHeight)/2)
statictext #main.statictext1, "Log", 22, 81, 144, 20 texteditor #main.log, 14, 101, 504, 245 button #main.button4, "Do tests", [button4Click], UL, 14, 31, 122, 25 button #main.button5, "Clear log", [button5Click], UL, 166, 31, 122, 25 menu #main, "Edit" '<--- Texteditor Menu can be moved but not removed.
open "textbox as a log - demo" for window as #main print #main, "trapclose [quit.main]"
print #main, "font ms_sans_serif 10"
wait
[quit.main] Close #main END
[button4Click] 'Perform action for the button named 'button4' JBexe$="jbasic.exe" 'checking first path JBpath$="C:\Program Files (x86)\Just BASIC v2.0"
res=logFileExists(JBpath$,JBexe$) 'you have same res as from fileExists(JBpath$,JBexe$)
'checking second path JBpath$="C:\Program Files\Just BASIC v2.0\" res=logFileExists(JBpath$,JBexe$)
wait
[button5Click] 'Perform action for the button named 'button5' #main.log "!cls" wait
function logFileExists(path$, filename$) #main.log "Checking fileExists" #main.log " Path: "+path$+" File: "+ filename$ logFileExists=fileExists(path$, filename$) if logFileExists then #main.log " File exists" else #main.log " FAILED" end function
function fileExists(path$, filename$) dim info$(0, 0) files path$, filename$, info$() fileExists = val(info$(0, 0)) 'non zero is true end function
As for waiting for TKN - why don't just let user press button then ready?
'################################################################################ 'Create the TKN file. A good time to cross your fingers :D 'Getting to this pont cost me a new wig & 2 bottles of Rogain :D RUN JBpath$;"\";JBexe$;" -T -A ";DestPath1$;"\";fnameSource$ '################################################################################
call pause 500 notice "Waiting for..."+chr$(13)+"after saving TKN in JB, press OK here" res=fileExists(DestPath1$,fname$;".tkn")
|
|
|
Post by B+ on Jan 30, 2021 17:38:00 GMT
LOL absolutely, positively, 100% agreed! I keep forgetting we have mainwin we could print things on without need for setting up a bunch more controls. What do you think about using that to makes notes as we go through the project making process? just mod the fileExists and pathExists with a Print of names checking and result, comment out nomanwin. If all goes right it's not nearly as distracting, if things go less than right it's there to see where exactly things went bad. Oh! but would that interfere with the CMD calls for RUN of JB? Well we will see Yeah, after tkn gets made, we are told it's made from the RUN. So just have a NOTICE up "Click me when you are told TKN was made." and wait until we are told then click the notice? That might work, do we even need the call pause 500 then? Thanks
|
|
|
Post by xxgeek on Jan 30, 2021 21:22:05 GMT
I had some time today to fix a few things. I forgot to buy a SD card reader for my Raspberry Pi. It won't do a first boot from USB stick. I think you guys will like this. It's been working good for me here on both Win 10 and Linux/wine. 1.) Pick your own file now. 2.) That takes care of 2 paths. orig$, and JBpath$ - I used the default$ for JBpath$, and learned to use the file dialog. 3.)There's really no need to check some files and paths anymore since the user is picking them seconds before they are used. ( I think we can trust they are there. 4.) I commented out the liars tkn, and exe creation. We don't need them either really. We ca see the files go into the DestPath$ dir as they're made. 5.)Haven't got around to the folder dialog yet, so we have to put up with using the AppData dir, or change it manually before running, easy enough for us. Just one path to change is ok for now. I'll see what I can do for future with folder dialogs. 6)I cleaned out all the crap not being used yet. Have a go, let me know. BTW - Thanks for the ideas, and the code suggestions. @ cundo - Your code helped me learn the file dialog stuff., thanks buddy. I was almost there with the file dialog when I stopped by to check this thread . I couldn't believe my eyes. Your code was almost word for word what I was writing at the time, down to the variable names too. I changed it around later to make it easier to keep track of what I was doing, but it's basically the same code. Strange feeling when I saw your code. Thought maybe you were the guy messing with my mouse lol. My mouse has been right clicking on it's own for the past few days. Driving me up the wall. Love this forum, you guys are great. Couldn't have done this without all of you who have made suggestions and offered up code. Thanks to everyone. '################################################################################ ' This Program was made possible by tsh73 in Jan of 2019 ' Thank You for the post below tsh73 ' https://justbasiccom.proboards.com/thread/223/creating-jb-exe-programmatically ' It was exactly what I was looking for to learn to make the TKN file in a Just Basic Program 'Now I can create new projects and keep them organized with a couple of clicks. '################################################################################ 'This is working in Linux/Wine as is, and Windows 10 as is when your own "YOUR USERNAME" 'It assumes Just Basic v2.0 is installed to the default dir. Change those paths if need be 'It should also work in Windows XP as is - if YOUR USERNAME is in the path 'Don't worry about the "Projects" dir, this app creates it. 'CHECK THE PATH AND FILES - EDIT TO MATCH YOUR OWN ENVIRONMENT 'Where you see YOUR USERNAME HERE in the paths below, edit with your own username. '################################################################################ [start] JBpath$=StartupDir$ JBexe$="jbasic.exe" JBruntime$="jbrun2.exe" DllList$="vbas31w.sll vgui31w.sll voflr31w.sll vthk31w.dll vtk1631w.dll vtk3231w.dll vvm31w.dll vvmt31w.dll" DestPath$ = "C:\users\xxgee\Application Data\Just BASIC v2.0\Projects" qq$=chr$(34) '= (") - used later to wrap quotes around file paths. a=0 'Checking all file locations for existing files res=pathExists(JBpath$) if res then a=a+1 else notice " JBpath Does not exist on the given path - > ";JBpath$:end res=fileExists(JBpath$,JBexe$) if res then a=a+1 else notice " jbasic.exe Does not exist on the given path -> ";JBpath$;"\";JBexe$:end res=fileExists(JBpath$,JBruntime$) if res then a=a+1 else notice " jbrun2.exe Does not exist on the given path -> ";JBpath$;"\";JBruntime$:end nomainwin WindowWidth = 600 WindowHeight = 300 UpperLeftX=INT((DisplayWidth-WindowWidth)/2) UpperLeftY=INT((DisplayHeight-WindowHeight)/2) BackgroundColor$ = "lightgray" ForegroundColor$ = "darkblue" statictext #main.head, " Welcome to the Just Basic Program Organizer", 12, 25, 590, 45 statictext #main.info, " Open a JB Source File (.bas, or .txt)", 32, 120, 560, 45 button #main.default, "Select File", [defaultClick],UL 350, 200, 150, 35 open "Project Organizer" for dialog_nf as #main #main, "trapclose [quit.main]" #main, "font ms_sans_serif 10" #main.head, "!font Arial 16 bold" #main.info, "!font Arial 14 bold" #main.default, "!font Arial 10 bold" #main.default, "Select File" wait 'goto [filecopy] [defaultClick] filedialog "Open Your JB Source File", "c:\*.bas", fname$ if fname$ = "" then goto [prompt] goto [cont] [prompt] notice "No File Was Chosen. Project Organizer will now close":goto [quit.main] filedialog "Open Your JB Source File", "*.bas;*.txt;", fname$ [cont] for var1 = len(fname$) to 1 step -1 if mid$(fname$, var1, 1) = "\" then var2 = var1 -1 : var3 = var2 - ((len(fname$))) : exit for next var1 var3 = abs(var3) orig$ = left$(fname$, var2) fname0$ = right$(fname$, var3 -1) for var4 = len(fname0$) to 1 step -1 if mid$(fname0$, var4, 1) = "." then var5 = var4 -1 : var6 = var5 - ((len(fname0$))) : exit for next var4 var6 = abs(var6) fnamenobas$ = left$(fname0$, var5) print "fnamenobas$ = ";fnamenobas$ #main.default, "!hide" goto [begin] wait labelseparator = labelseparator + 1 a = a + 1 [begin] #main.info, "!font Arial 12 bold" #main.info, " Save tkn file to default dir when able" call pause 3500 [filecopy] DestPath1$=DestPath$;"\";fnamenobas$ 'Make dir's for Projects and ProjectName run "cmd.exe /c mkdir ";qq$;DestPath$;qq$ run "cmd.exe /c mkdir ";qq$;DestPath1$;qq$ DestPath3$ = DestPath1$;"\";fname0$ run "cmd.exe /c copy ";qq$;fname$;qq$;" ";qq$;DestPath3$;qq$ call pause 1500 open fname$ for input as #fname open DestPath1$;"\";fname0$ for output as #1 print #1, input$(#fname, lof(#fname)); close #fname close #1 do z = z + 1 #main.info, "working on it . .. ... .." #main.info, "working on it. . .. . ..." loop until z = 2000
'################################################################################ 'Create the TKN file. A good time to cross your fingers :D 'Getting to this pont cost me a new wig & 2 bottles of Rogain :D RUN JBpath$;"\";JBexe$;" -T -A ";DestPath1$;"\";fname0$ '################################################################################ call pause 2500 'copy the jbrun2.exe file to the new project dir from$=JBpath$;"\";JBruntime$ to$=DestPath1$;"\";fnamenobas$;".exe" run "cmd.exe /c copy ";qq$;from$;qq$;" ";qq$;to$;qq$ run "cmd.exe /c copy ";"from$";" ";"to$" #main.info "still working on it . . ... .. .... . . . . ." call pause 1000 'Copy the needed DLL and SLL files from Just Basic dir to New Project Dir w$="" i=0 while 1 i=i+1 w$=word$(DllList$,i) if w$="" then exit while from$=JBpath$;"\";w$ to$=DestPath1$;"\";w$ run "cmd.exe /c copy ";qq$;from$;qq$;" ";qq$;to$;qq$ wend #main.info "almost done . . ... .. .... . . . . ." call pause 2000 call pause 2000 #main.info "just about done . .. . ... . . .... ." #main.info, "Your Project was created successfully.....please wait." call pause 3000 #main.info, "The Organizer will exit after the next message appears......please wait" call pause 3000 #main.info, "Your newproject (.exe) should now open to show it worked" call pause 4000 'check new project exe file for existence 'Run the new Project first (see if tkn, or exe lie about existence later) run DestPath1$;"\";fnamenobas$+".exe" 'res=fileExists(DestPath1$,fnamenobas$) 'if res then a=a+1 else notice "The EXE file was not created - Does not exist on the given path ";DestPath1$;"\";fname0$;".exe":close #main:goto [start] 'check for new tkn existence 'tkn$ = DestPath1$;"\";fnamenobas$+".tkn" 'res=fileExists(DestPath1$,tkn$) 'if res then a=a+1 else notice DestPath1$;"\";tkn$; " The TKN file Does not exist on the given path" goto [quit.main] sub pause mil t=time$("ms")+mil while time$("ms")<t scan wend end sub function fileExists(path$, filename$) dim info$(0, 0) files path$, filename$, info$() fileExists = val(info$(0, 0)) 'non zero is true end function function pathExists(path$) pathExists = (mkdir(path$)=183) end function
[quit.main] Close #main END
PS Hold onto something when this thing revs up
|
|
|
Post by B+ on Jan 31, 2021 4:27:42 GMT
xxgeek yeah, you've heard the saying "great minds think alike." ? I think it's because they all focus on the same essential qualities, though I have to say if the variable names match exactly that's goose bump uncanny! Oh heck yeah! With filedialog I can get JB files from anywhere and make a project of it in my Projects folder, wanderfull! (sic) First I tested fileDialog for getting the needed parts of the pathed file with this code: filedialog "Select file for Project Folder", "*.txt;*.bas", source$ 'Filedialog test.txt b+ 2021-01-30 print source$ if source$ = "" then end 'if you cancel you quit for i = len(source$) to 1 step -1 if mid$(source$, i, 1) = "\" or mid$(source$, i, 1) = "/" then foundLastSlash = i :exit for next if foundLastSlash then filename$ = mid$(source$, foundLastSlash + 1) else filename$ = source$ for i = len(filename$) to 1 step -1 if mid$(filename$, i, 1) = "." then foundDot = i : exit for next projectName$ = mid$(filename$, lastSlash + 1, foundDot - lastSlash -1) print filename$, projectName$
Then I embedded that into the stuff working from my 2 mods of xxgeek code. Then I realized we don't need to open any window, this can all be done in mainwin! Got that working and then cleaned up code and here is result of all that: ' Make Project Folder.txt b+ 2021-01-30 renamed ' Take a JB source file and create a .tkn and .exe with same basename with all needed .dll's ' for faster runs or to distribute and place them all in one Folder under Projects under JB Folder.
' This code was originally setup up by xxgeek at JB forum Jan 27, 2021 ' https://justbasiccom.proboards.com/thread/625/jb-project-organizer
' bplus modified paths for his JB setup on Desktop and .txt extension JB source files (not .bas) ' and cleared all the unused code in xxgeeks post and made a few other mods. ' bplus Jan 29, 2021
' 2021-01-29 more mods to fix bugs and make more crash free ' I think I solved the problem of tkn seemingly not exisiting, now I really do quit if it doesn't exist! ' 2021-01-30 Yes use filedialog to get the JB source$ file and breakdown name to projectName$ and fileName$ ' Oh ha! there is no real reason why this cant be all done in main win!
JBpath$ = "C:\Program Files (x86)\Just BASIC v2.0" JBexe$ = "jbasic.exe" JBruntime$ = "jbrun2.exe" DllList$ = "vbas31w.sll vgui31w.sll voflr31w.sll vthk31w.dll vtk1631w.dll vtk3231w.dll vvm31w.dll vvmt31w.dll" DestPath$ = "C:\Users\marka\Desktop\Just Basic 2.0\Projects" ' >> bplus files and folders on Desktop in JB Folder qq$ = chr$(34) ' double quote - used later to wrap quotes around file paths. res = pathExists(JBpath$) ' VVVVVVVVVVVVVVVVVVVV Checking all file locations for existing files or typos if res = 0 then print JBpath$ + " not found, execution ended." : end res = fileExists(JBpath$, JBexe$) if res = 0 then print " jbasic.exe does not exist on path above, execution ended." : end res = fileExists(JBpath$, JBruntime$) if res = 0 then print " jbrun2.exe does not exist on path above, execution ended." + JBpath$ : end res = pathExists(DestPath$) if res = 0 then print DestPath$ + " does not exist, execution ended." : end filedialog "Select file for Project Folder", "*.txt;*.bas", source$ ' Filedialog test.txt b+ 2021-01-30 print : print "Selected Source: ";source$ ' this does make things so much easier!!! if source$ = "" then end 'if you cancel you quit for i = len(source$) to 1 step -1 if mid$(source$, i, 1) = "\" or mid$(source$, i, 1) = "/" then foundLastSlash = i : exit for next if foundLastSlash then filename$ = mid$(source$, foundLastSlash + 1) else filename$ = source$ for i = len(filename$) to 1 step -1 if mid$(filename$, i, 1) = "." then foundDot = i : exit for next projectName$ = mid$(filename$, lastSlash + 1, foundDot - lastSlash -1) print "JB file name: ";filename$;" and Project folder name: ";projectName$ DestPath1$ = DestPath$;"\";projectName$ notice "Soon you will be prompted to save a tkn file, hit [enter] or click [save]" run "cmd.exe /c mkdir ";qq$;DestPath1$;qq$ run "cmd.exe /c copy ";qq$;source$;qq$;" ";qq$;DestPath1$;qq$;"\";qq$;filename$;qq$ call pause 1000 open source$ for input as #orig open DestPath1$;"\";filename$ for output as #dest print #dest, input$(#orig, lof(#orig)); ' <<<<<<<<<<<<<<<<< this is interesting! close #orig : close #dest call pause 1000 'Create the TKN file. A good time to cross your fingers :D RUN JBpath$;"\";JBexe$;" -T -A ";DestPath1$;"\";filename$ from$ = JBpath$;"\";JBruntime$ : to$ = DestPath1$;"\";projectName$;".exe" run "cmd.exe /c copy ";qq$;from$;qq$;" ";qq$;to$;qq$ run "cmd.exe /c copy ";"from$";" ";"to$" call pause 500 w$ = "" : i = 0 'Copy the needed DLL and SLL files from Just Basic dir to New Project Dir while 1 i = i + 1 w$ = word$(DllList$, i) if w$ = "" then exit while from$ = JBpath$;"\";w$ : to$ = DestPath1$;"\";w$ run "cmd.exe /c copy ";qq$;from$;qq$;" ";qq$;to$;qq$ wend print : print "Project created, go run: " + projectName$ + ".exe, goodbye!"
sub pause mil t=time$("ms")+mil while time$("ms")<t scan wend end sub
function fileExists(path$, filename$) ' modified for help deciding what is being tested print : print "Checking fileExists:" : print "Path: " + path$ : print "File: " + filename$ dim info$(0, 0) files path$, filename$, info$() fileExists = val(info$(0, 0)) 'non zero is true print "fileExists Returned: "+str$(val(info$(0, 0))) end function
function pathExists(path$) ' modified for help deciding what is being tested print : print "Checking pathExists:" : print "Path: " + path$ res = (mkdir(path$)=183) print "pathExists Returned: "+str$(res) pathExists = res end function
|
|
|
Post by xxgeek on Feb 1, 2021 11:42:58 GMT
I haven't looked into the folder dialog yet, but I did find a work around for choosing your own destination dir DestPath$ from the program. Using the prompt command we can have the user enter a path and use that for making the "projects" dir, and in turn, the DestPath$\fnamenobas$ dir. No need for using the AppData dir by default anymore. prompt "Type a path of your choice to Projects folder " + chr$(13) + "Make sure to wrap the path in quotes and do NOT put \ at the end of the path ";DestPath$ User now has choice in all paths. No more messing in users files without permission. IF\when I can get the folder dialog done, I'll post it right away. It would be a better option than the "prompt" command. I've done a lot since last posting. The code is full of stuff waiting on me again so I won't post it again until I get everything completed that I'm working on as of now. B+ Your code looks neat and sparse, and it works. I'll take a hard look at it later, for coding tips. My head is spinning with the possibilities for this project. I'm happy to see people using in their own way, and for their own needs.I have certainly used a lot of free code gathered here at these forums for my own use. And I like giving some back too. Work to do.... Peace Out
|
|
|
Post by xxgeek on Feb 18, 2021 3:46:12 GMT
Update Program Organizer v.003 is ready for input. I took all the advice offered and did what I could to make it work. Fixed a couple of bugs, added a few features and got to a point where I can see many more changes ahead. So I stopped, emptied out all the excess "future" code and came up with a working copy for now.
I get so far in, and learn more and want to change it every which way, gotta rest up to enjoy using it lol
Here's what i have. Please give it a go and let me know the faults (some I see already myself)
'##################################################################### ' Visit the forums @ https://justbasiccom.proboards.com/ for more ' information on Just Basic or this program and many more, and learn ' more about programming with the 'easy to learn' Just Basic language. '##################################################################### ' Title$ = "Project Organizer v.003 for Just Basic v2.0" ' PP$ = "Purpose = To manage the projects created with Just Basic v2.0" ' and add features to help with whatever a user may want to do with: ' the projects they create. ' Currently = It creates a directory named Just Basic Projects in a directory of ' the users choice to store each project. Then it creates a directory in the ' Projects dir each time it is RUN using the name of the BAS file ' selected (minus the .bas). It then gathers the necessary .DLL and .SLL, files and the ' jbrun2.exe runtime file, copies them to the new dir and renames ' jbrun2.exe to the name of the .BAS file (minus the .bas) ' It also creates the TKN file and copies it to the new project folder. ' Allows user to add Folders to each project (bmp, media, apps), ' and a users choice of a folder name to add any files they wish. ' Alllows user to add files to each of these Folders. ' Allows user to add files to the root of the New project Folder. ' Allows user to remove the Source Code (.bas) from the Project Dir ' Allows user to Run the new project ' Thank you to all the members of the Just Basic Forums for ' your generousity and insightful helpful posts that made this possible. ' Special Mentions go to... ' [tsh73] for getting me started with making the TKN , [B+], [Rod], ' [cundo], [bluatigro],[Enzo],[xcoder],[honky],[ntech] and some I may have ' forgotten (sorry, I'm losing my mind) :D for their solicited and unsolicited ' posts on the forums that helped with learning the JB code syntax and ' structure, and of course Carl Gundel for giving away free of'charge such a ' great program as Just Basic v2.0. Thank You Carl. ' Dream Plans = a whole slew of tools, abilities like downloading ' files (freeware etc). Using Windows to provide apps at our finger tips, ' like MSpaint, Notepad, Run, 3D Builder etc etc etc. Using Windows ' Registry to do things like change Windows settings on the fly, create ' shortcuts, change screen resolution etc etc etc), Also, I have seen ' code on these forums like a Sprite Maker, a Search Engine for the ' help files, a Code generator etc, etc that could be added. '######################################################### titlebar "Project Organizer v.003 for Just Basic v2.0" [start] JBpath$ = StartupDir$ JBexe$ = "jbasic.exe" JBruntime$ = "jbrun2.exe" DllList$="vbas31w.sll vgui31w.sll voflr31w.sll vthk31w.dll vtk1631w.dll vtk3231w.dll vvm31w.dll vvmt31w.dll" qq$=chr$(34) '(") - used later to wrap quotes around file paths. a = 0 'Checking all paths and file locations for existence res=pathExists(JBpath$) if res then a = a + 1 else notice " JBpath Does not exist on the given path - > ";JBpath$;" J.B.P.O. will now close":end res=fileExists(JBpath$,JBexe$) if res then a = a + 1 else notice " jbasic.exe Does not exist on the given path -> ";JBpath$;"\";JBexe$;" J.B.P.O. will now close":end res=fileExists(JBpath$,JBruntime$) if res then a = a + 1 else notice " jbrun2.exe Does not exist on the given path -> ";JBpath$;"\";JBruntime$;" J.B.P.O. will now close":end ' setup a window nomainwin WindowWidth = 600 WindowHeight = 320 UpperLeftX=INT((DisplayWidth-WindowWidth)/2) UpperLeftY=INT((DisplayHeight-WindowHeight)/2) BackgroundColor$ = "Darkblue" ForegroundColor$ = "white"
statictext #main.header, "Project Organizer v.003 for Just Basic v2.0", 40, 20, 590, 35 statictext #main.1, "(1) Select a .bas file from your Just Basic v2.0 source collection", 15, 50, 590, 25 statictext #main.2, "(2) Provide a Path to a Folder or Drive to put your Projects Folder", 15, 70, 590, 25 statictext #main.3, " JBPO moves DLL's \ SLL's \ jbrun2.exe to the New Project Folder", 15, 90, 590, 25 statictext #main.4, " JBPO renames the jbrun2.exe to the name of the .bas file you select", 15, 110, 590, 25 statictext #main.5, " JBPO makes the TKN file in the New Project folder ", 15, 130, 590, 25 statictext #main.info, "Pick a working JB Source Code File (.bas)", 15, 167, 590, 45 statictext #main.jbforums, "Visit the Just Basic Forums @ https://justbasiccom.proboards.com/", 35, 265, 590, 20
button #main.cancel, "Cancel", [cancelClick],UL 220, 210, 135, 42 button #main.default, "Select File", [defaultClick],UL 360, 210, 135, 42 open "Project Organizer v.003 for Just Basic v2.0" for dialog_nf as #main #main, "trapclose [quit.main]" #main, "font Arial 10 bold" #main.header, "!font Arial 12 bold" #main.1, "!font Arial 8 bold" #main.2, "!font Arial 8 bold" #main.3, "!font Arial 8 bold" #main.4, "!font Arial 8 bold" #main.5, "!font Arial 8 bold" #main.info, "!font Arial 12 bold" #main.jbforums "!font Arial 8 bold" #main.default, "!font Arial 10 bold" #main.cancel, "!font Arial 10 bold" wait 'select a source file [defaultClick] filedialog "Open \ Select JB Source File", UserData$ ; "*.*", fname$ if fname$ = "" then notice "No file selected, P.O. will now close" : close #main : end for var1 = len(fname$) to 1 step -1 if mid$(fname$, var1, 1) = "\" then var2 = var1 -1 : var3 = var2 - ((len(fname$))) : exit for next var1 var3 = abs(var3) orig$ = left$(fname$, var2) fname0$ = right$(fname$, var3 -1) for var4 = len(fname0$) to 1 step -1 if mid$(fname0$, var4, 1) = "." then var5 = var4 -1 : var6 = var5 - ((len(fname0$))) : exit for next var4 var6 = abs(var6) fnamenobas$ = left$(fname0$, var5) #main.header, "The Folder you choose MUST already exist." #main.default, "!hide" #main.1, "Type a Path to an EXISTING Folder" #main.2, "!hide" #main.3, "No quotes and don't use a backslash to end the Path" #main.4, "!hide" #main.5, "See the examples below" #main.info, "e: , c: , c:\My JB Stuff , e:\Just Basic\Source" DestPath$ = UserData$ prompt "Path to Projects folder? " + chr$(13) +"Path to Dir where Projects Dir will be created";DestPath$ if DestPath$ = "" then notice "No Folder Path given, restart the Program Organizer": goto [quit.main] goto [begin] wait
[cancelClick] notice "Project Organizer will now close" close #main end wait
[begin] #main.header, "Creating Dirs, Copying Files to Project Dir" #main.default, "!hide" #main.1, "!hide" #main.3, "!hide" #main.5, "!hide"
' redefine DestPath projects$ = "Just Basic Projects" DestPath$ = DestPath$;"\";projects$
#main.info, "!font Arial 10 bold"
do z = z + 1 #main.info, "Creating Projects Folder .... . .. " call pause 100 loop until z = 15 z=0
'redefine Destpath$ DestPath1$=DestPath$;"\";fnamenobas$
'Make dir's for Projects and ProjectName run "cmd.exe /c mkdir ";qq$;DestPath$;qq$ run "cmd.exe /c mkdir ";qq$;DestPath1$;qq$ run "cmd.exe /c copy ";qq$;fnames$;qq$;" ";qq$;DestPath1$;qq$;"\";qq$;fname0$;qq$ do z = z + 1 #main.info, "Waiting for Windows to make the Folders ... . ... . " call pause 100 loop until z = 15 z=0
open fname$ for input as #fname open DestPath1$;"\";fname0$ for output as #1 print #1, input$(#fname, lof(#fname)); close #fname close #1
do z = z + 1 #main.info, "Moving BAS file to New Project Dir . ... .. " call pause 100 loop until z = 15 z=0
'################################################################################ 'Create the TKN file. A good time to cross your fingers :D 'Getting to this pont cost me a new wig & 2 bottles of Rogain :D
RUN JBpath$;"\";JBexe$;" -T -A ";DestPath1$;"\";fname0$ '################################################################################ notice "AFTER the TKN file is saved it's ok Press [OK] "
do z = z + 1 #main.info, "Moving jbrun2.exe to New Project Dir . .. .. . .." call pause 100 loop until z = 15 z = 0 'copy the jbrun2.exe file to the new project dir from$=JBpath$;"\";JBruntime$ to$=DestPath1$;"\";fnamenobas$;".exe" run "cmd.exe /c copy ";qq$;from$;qq$;" ";qq$;to$;qq$
do z = z + 1 #main.info, "Copying DLL and SLL Files to New Project Dir .. . .. .. " call pause 100 loop until z = 20 z = 0
'Copy the needed DLL and SLL files from Just Basic dir to New Project Dir w$ = "" i = 0 while 1 i = i + 1 w$=word$(DllList$,i) if w$="" then exit while from$=JBpath$;"\";w$ to$=DestPath1$;"\";w$ run "cmd.exe /c copy ";qq$;from$;qq$;" ";qq$;to$;qq$
wend
do z = z + 1 #main.info, "Almost done . ... . . . .." call pause 100 loop until z = 20 z = 0 'check new project exe and tkn files for existence res=fileExists(DestPath1$,fnamenobas$;".exe") if res then a=a+1 else notice "The EXE file was not created ": close #main : goto [start] 'check for new tkn existence tkn$ = fnamenobas$;".tkn" res=fileExists(DestPath1$,tkn$) if res then a=a+1 else notice "The TKN File was not created" : close #main : goto [start]
do z=z+1 #main.info, "Your Project was created successfully.....please wait." call pause 100 loop until z = 20 z=0
'##################################################################
[include] close #main WindowWidth = 800 WindowHeight = 600 UpperLeftX=INT((DisplayWidth-WindowWidth)/2) UpperLeftY=INT((DisplayHeight-WindowHeight)/2) BackgroundColor$ = "Darkblue" ForegroundColor$ = "white" statictext #include.header, "Include Some Files or Folders with this Project", 225, 20, 590, 35 statictext #include.1, "(1) Add a BMP Folder to this New Project Dir", 140, 85, 570, 25 statictext #include.2, "(2) Add BMP Files (.bmp) to this New BMP Dir", 140, 120, 570, 25 statictext #include.3, "(3) Add a Media Folder to this New Project Dir", 140, 155, 570, 25 statictext #include.4, "(4) Add Media Files (.wav) to this New Media Dir", 140, 190, 570, 25 statictext #include.5, "(5) Add an Apps Folder to this New Project Dir", 140, 225, 570, 25 statictext #include.6, "(6) Add Apps Files (.exe) to this New Apps Dir", 140, 260, 570, 25 statictext #include.7, "(7) Create a New Folder in this New Projects Dir", 140 , 295, 570, 25 statictext #include.8, "(8) Add any Files to the Folder you created in (7)", 140, 330, 570, 25 statictext #include.9, "(9) Add Files to the Root of this New Projects Dir", 140, 365, 570, 25 statictext #include.10, "(10) Remove .bas File from this New Project Dir", 140, 400, 570, 25 statictext #include.info, "Add Folder First then any # of Files to Folder", 135, 450, 350, 40 statictext #include.jbforums, "https://justbasiccom.proboards.com/ https://justbasic.com", 10, 545, 500, 15
button #include.1, "Add bmp Dir", [1Click],UL 560, 80, 145, 25 button #include.2, "Add bmp Files", [2Click],UL 560, 115, 145, 25 button #include.3, "Add media Dir", [3Click],UL 560, 150, 145, 25 button #include.4, "Add media Files", [4Click],UL 560, 185, 145, 25 button #include.5, "Add apps Dir", [5Click],UL 560, 220, 145, 25 button #include.6, "Add Files to apps", [6Click],UL 560, 255, 145, 25 button #include.7, "Create Dir", [7Click],UL 560, 290, 145, 25 button #include.8, "Add Files", [8Click],UL 560, 325, 145, 25 button #include.9, "Add File", [9Click],UL 560, 360, 145, 25 button #include.10, "Remove Source", [10Click],UL 560, 395, 145, 25 button #include.11, "Back", [11Click],UL 590, 525, 90, 25 button #include.default2, "Done", [default2Click],UL 525, 440, 90, 25 button #include.cancel2, "Cancel", [cancel2Click],UL 645, 440, 90, 25 button #include.makeexe, "Make Exe", [makeexeClick],UL 645, 480, 90, 25 button #include.run, "Run it", [runClick],UL 525, 480, 90, 25 open "Include Folders and Files" for dialog_nf as #include #include, "trapclose [quit.include]" #include, "font Arial 10 bold" #include.header, "!font Arial 12 bold" #include.1, "!font Arial 8 bold" #include.2, "!font Arial 8 bold" #include.3, "!font Arial 8 bold" #include.4, "!font Arial 8 bold" #include.5, "!font Arial 8 bold" #include.6, "!font Arial 8 bold" #include.7, "!font Arial 8 bold" #include.8, "!font Arial 8 bold" #include.9, "!font Arial 8 bold" #include.10, "!font Arial 8 bold" #include.11, "!font Arial 10 bold" #include.info, "!font Arial 12 bold" #include.default2, "!font Arial 10 bold" #include.cancel2, "!font Arial 10 bold" #include.makeexe, "!font Arial 10 bold"
wait
[cancel2Click] close #include goto [start] wait
[1Click] bmp$ = "bmp" run "cmd.exe /c mkdir ";qq$;DestPath1$;qq$;"\";qq$;bmp$;qq$ call pause 300 res=pathExists(DestPath1$;"\";bmp$) if res then a = a + 1 else notice bmp$;" Was not created in ";DestPath1$ notice "bmp directory was added to ";DestPath1$ wait
[2Click] filedialog "Open a bmp File - (.bmp)", "c:\*.bmp", bmpFile$ run "cmd.exe /c copy ";qq$;bmpFile$;qq$;" ";qq$;DestPath1$;qq$;"\";qq$;bmp$;qq$ call pause 300 res=fileExists(DestPath1$;"\";bmp$,bmpFile$) if res then a=a+1 else notice bmpFile$;" Was not created" notice bmpFile$;" Was created in ";DestPath1$;"\";bmp$ wait
[3Click] media$ = "media" run "cmd.exe /c mkdir ";qq$;DestPath1$;qq$;"\";qq$;media$;qq$ call pause 300 res=pathExists(DestPath1$;"\";media$) if res then a = a + 1 else notice media$;" Was not created in ";DestPath1$ notice media$;" folder created in ";DestPath1$ wait
[4Click] filedialog "Open a Media File - (.wav)", "c:\*.wav", mediaFile$ if mediaFile$ = "" then notice "No Media File Chosen"
run "cmd.exe /c copy ";qq$;mediaFile$;qq$;" ";qq$;DestPath1$;qq$;"\";qq$;media$;qq$ call pause 300 res=fileExists(DestPath1$;"\";media$,mediaFile$) if res then a = a + 1 else notice mediaFile$;" Was not created in ";DestPath1$ notice mediaFile$;" copied to ";DestPath1$;"\";media$ wait
[5Click] apps$ = "apps" run "cmd.exe /c mkdir ";qq$;DestPath1$;qq$;"\";qq$;apps$;qq$ call pause 300 res=pathExists(DestPath1$;"\";apps$) if res then a = a + 1 else notice apps$;" Was not created in ";DestPath1$ notice apps$;" folder created in ";DestPath1$;"\";apps$ wait
[6Click] filedialog "Open \ Choose a File to add to the New Apps Dir - (.exe)", "c:\*.exe*", appFile$ run "cmd.exe /c copy ";qq$;appFile$;qq$;" ";qq$;DestPath1$;qq$;"\";qq$;apps$;qq$ call pause 300 res=fileExists(DestPath1$,appFile$) if res then a = a + 1 else notice appFile$;" Was not created in ";DestPath1$ notice appFile$;" was added to ";DestPath1$;"\";apps$ wait
[7Click] prompt "Name of New Folder" + chr$(13) + "Type a Name for your New Folder";userDir$ run "cmd.exe /c mkdir ";qq$;DestPath1$;qq$;"\";qq$;userDir$;qq$ call pause 300 res=pathExists(DestPath1$;"\";userDir$) if res then a = a + 1 else notice userDir$;" Was not created in ";DestPath1$ notice userDir$;" was added to ";DestPath1$ wait
[8Click] filedialog "Add Files to Folder Created in (7)", "c:\*.*", userFile$ run "cmd.exe /c copy ";qq$;userFile$;qq$;" ";qq$;DestPath1$;qq$;"\";qq$;userDir$;qq$ call pause 300 res=fileExists(DestPath1$,userFile$) if res then a = a + 1 else notice userFile$;" Was not added to ";DestPath1$;"\";userDir$ notice userFile$;" was added to ";DestPath1$;"\";userDir$ wait
[9Click] filedialog "Add Files to root of New Project Dir", "c:\*.*", rootFile$ rootFile$ = lower$(rootFile$) run "cmd.exe /c copy ";qq$;rootFile$;qq$;" ";qq$;DestPath1$;qq$;"\";qq$;rootFile$;qq$ call pause 300 res=fileExists(DestPath1$,rootFile$) if res then a = a + 1 else notice rootFile$;" Was not added to ";DestPath1$ notice rootFile$;" Was added to ";DestPath1$ wait
[10Click] delFile$ = "yes" prompt "Are you sure you want to delete this source code file?";delFile$ if left$(delFile$, 1) <> "y" then notice "No File will be deleted" kill DestPath1$;"\";fname0$ call pause 350 res=fileExists(DestPath1$,fname0$) if res then notice fname0$;" Has not been removed from ";DestPath1$ notice fname0$;" Has been removed from ";DestPath1$ wait
[11Click] close #include goto [start] wait
[makeexeClick] run "iexpress" wait
[default2Click] close #include : goto [start] wait
[runClick] run DestPath1$;"\";fnamenobas$ wait
[quit.include] close #include goto [start]
[quit.main] close #main end
sub pause mil t=time$("ms")+mil while time$("ms")<t scan wend end sub
function fileExists(path$, filename$) dim info$(0, 0) files path$, filename$, info$() fileExists = val(info$(0, 0)) 'non zero is true end function
function pathExists(path$) pathExists = (mkdir(path$)=183) end function
|
|
Jalkhov
Member in Training
██████████████████▓░ 99%
Posts: 41
|
Post by Jalkhov on Feb 18, 2021 14:53:12 GMT
Is there any way to make the program stay open after displaying the final results? My script closes after calculating and does not give me a pass to see the results.
|
|
|
Post by xxgeek on Feb 18, 2021 17:14:47 GMT
Is there any way to make the program stay open after displaying the final results? My script closes after calculating and does not give me a pass to see the results. Not sure what you'r asking here. What is it you want to see? I can still answer you though. "Anything is possible "
|
|
Jalkhov
Member in Training
██████████████████▓░ 99%
Posts: 41
|
Post by Jalkhov on Feb 18, 2021 17:19:08 GMT
Is there any way to make the program stay open after displaying the final results? My script closes after calculating and does not give me a pass to see the results. Not sure what you'r asking here. What is it you want to see? I can still answer you though. "Anything is possible " After having my script as executable, ok, it works fine, but after the last step, that is, where it shows me the results, it closes, and not because of an error. I would like it to stay open at the end of the program and not close, I don't know if I understand what I mean.
|
|
|
Post by xxgeek on Feb 18, 2021 17:31:11 GMT
Hmm, still not really sure what you mean.
If you don't click cancel, done or back from the menu where you add files/folders it should stay open.
back and cancel take you back to the first menu to work with a new bas file if you wish.
Also, I'm still working on this project daily.
Here's a sneek peek at what.s I'm trying to accomplish. But every day I think up more new ideas and will probably never have a finished product.
nomainwin WindowWidth = 800 WindowHeight = 600 UpperLeftX=INT((DisplayWidth-WindowWidth)/2) UpperLeftY=INT((DisplayHeight-WindowHeight)/2) BackgroundColor$ = "white" ForegroundColor$ = "darkgray" menu #menu1, "Options", "P. O. Pool", popool, "AutoPilot", poauto, "Defaults", podefaults, "User Choice", pochoice, "quit P.O.", quit menu #menu1, "Create", "BMP Files", bmp, "Installer", installer, "Simple Installer", simpleinst, "Self Extracting EXE", sfx menu #menu1, "Convert", "ASCII to Hex", asc2hex, "Hex to ASCII", installer, "Colors", colors, "Add to Externals", externals menu #menu1, "Resources", "ASCII Codes", asciicodes, "Code Shells", codeshells, "JB Forums", jbforums, "Search JB Help", jbsearch, Command, command menu #menu1, "Help", "Help", help, "About", about open "Project Organizer Menu" for window as #menu1 #menu1 "trapclose [quit]" wait [quit] close #menu1 end
sub command notice "working on it!" end sub
sub popool notice "working on it" end sub
sub poauto notice "working on it" end sub
sub podefaults notice "working on it" end sub
sub pochoice goto [start] end sub
sub bmp notice "working on it" end sub
sub installer notice "working on it" end sub
sub colors notice "working on it" end sub
sub externals notice "working on it" end sub
sub sfx notice "working on it" end sub
sub ascii2hex notice "working on it" end sub
sub codeshells notice "working on it" end sub
sub jbsearch notice "working on it" end sub
sub help notice "working on it" end sub
sub about notice "working on it" end sub
sub jbforums notice "working on it" end sub
sub asciicodes notice "working on it" end sub
sub simpleinst notice "working on it" end sub
sub cmd notice "working on it" end sub
sub quit close #menu1 end end sub
|
|