View previous topic :: View next topic |
Author |
Message |
Mac Professional Member
Joined: 08 Jul 2000 Posts: 1585 Location: Oklahoma USA
|
Posted: Sun Mar 09, 2003 5:31 pm Post subject: Code Save - snippet editor/manager (VDS3-4). |
|
|
I've been using this over a year with no problems. Feel free to
use any/all of the code as you see fit.
The top line of the edit box on the right is the title shown on the
left. Click the item on the left to load that file.
It allows ya to edit/copy/paste snippets on the fly. I have it in
VDS\TOOLS folder and it shows up on the menu. Saves files as
code000.txt, code001.txt, etc. No limit on number of files.
Here's a screen shot if ya wanna see it in action:
http://www.trinex.net/users/mac/untitled2.jpg
_____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Code: |
rem -- Thanks to Chris Gingerich (aka LiquidCode) for this idea --
rem -- VDS3 & VDS4 compatible --
rem -- %f, %g, %m, %p ,%q are used --
%p = @path(%0)
OPTION SCALE, 96
OPTION DECIMALSEP, "."
TITLE By Mac
DIALOG CREATE,Code Save,-1,0,@sysinfo(SCREENWIDTH),320
DIALOG ADD,STYLE,Style1,Courier New,10,,WHITE
DIALOG ADD,LIST,L1,30,0,155,265,,,CLICK
DIALOG ADD,EDIT,E1,30,155,@diff(@sysinfo(SCREENWIDTH),155),265,,,MULTI,SCROLL,Style1
DIALOG ADD,BITBTN,Save,5,5,50,22,,Save," Save Text To File "
DIALOG ADD,BITBTN,Copy,5,60,50,22,,Copy," Copy Selected Text To Clipboard "
DIALOG ADD,BITBTN,CopyAll,5,115,50,22,,"Copy All"," Copy All Text To Clipboard "
DIALOG ADD,BITBTN,Clear,5,170,50,22,,Clear," Clear Edit Box "
DIALOG ADD,BITBTN,Delete,5,225,50,22,,Delete," Delete This File "
DIALOG ADD,BITBTN,Help,5,285,50,22,,Help," Help "
DIALOG ADD,STATUS,Stat
DIALOG SHOW
rem -- Get ID of edit element for use in @sendmsg() --
%q = @winexists(~E1)
rem -- Add horizontal scroll to list --
%z = @sendmsg(@winexists(~L1),$0194,2000,0)
LIST CREATE, 1
GOSUB LoadList
LIST SEEK, L1, 0
goto L1CLICK
:EVLOOP
WAIT EVENT, "0.1"
goto @event()
:TIMER
rem -- Get line number (use %c to get a start point) --
%c = @sendmsg(%q,$0BB,-1,0)
%l = @succ(@sendmsg(%q,$0C9,%c,0))
rem -- Get total number of lines in document --
%n = @sendmsg(%q,$0BA,0,0)
rem -- Check if document has been modified --
if @zero(@sendmsg(@winexists(~E1),$0B8,0,0))
%m = ""
else
%m = Modified
end
DIALOG SET, Stat, "Line " %l" of "%n" lines size: "@len(@dlgtext(E1))" bytes "%f" "%m
goto EVLOOP
:L1CLICK
if %m
if @ask(Save changes to %f?@tab())
goto SaveBUTTON
end
else
DIALOG CLEAR, E1
rem -- Clear "text modified" flag --
%z = @sendmsg(%q,$0B9,0,0)
end
%x = @index(L1)
GOSUB FormatNumber
%f = code%x.txt
if @file(%p%f)
LIST LOADFILE, 1, %p%f
DIALOG SET, E1, @text(1)
end
goto EVLOOP
:CopyBUTTON
rem -- Copy selected text --
%z = @sendmsg(@winexists(~E1),$0301,0,0)
%%info = Selected Text Copied To Clipboard.
GOSUB InfoWindow
goto EVLOOP
:CopyAllBUTTON
rem -- Select all text --
DIALOG FOCUS, E1
%z = @sendmsg(%q,$0B1,0,-1)
rem -- Copy selected text --
%z = @sendmsg(@winexists(~E1),$0301,0,0)
%%info = All Text Copied To Clipboard.
GOSUB InfoWindow
goto EVLOOP
:SaveBUTTON
GOSUB SaveFile
goto EVLOOP
:ClearBUTTON
if @ask(Clear all text?@tab())
DIALOG CLEAR, E1
rem -- Clear "text modified" flag --
%z = @sendmsg(%q,$0B9,0,0)
end
goto EVLOOP
:DeleteBUTTON
if @file(%p%f)
if @ask(Delete this file?@cr()@cr()%p%f@tab())
FILE DELETE, %p%f
DIALOG CLEAR, E1
rem -- Clear "text modified" flag --
%z = @sendmsg(%q,$0B9,0,0)
if @not(@file(%p%f))
GOSUB LoadList
%%info = File Deleted...@cr()@cr()%p%f
GOSUB InfoWindow
else
WARN Error - %p%f not deleted!@tab()
end
end
else
WARN "Cannot delete, file does not exist."@tab()
end
goto EVLOOP
:HelpBUTTON
INFO "Add your snippets of code to the edit box."@cr()@cr()"The first line should be title or descriptive name."@tab()@cr()@cr()"Click list item to load existing file."@cr()@cr()"'Save' button saves code to file."@cr()@cr()"'Copy' button copies selected text to clipboard."@cr()@cr()"'Copy All' button copies all text to clipboard."@cr()@cr()"'Clear' button clears text from edit box."@cr()@cr()"'Delete' button removes file selected in list box."
goto EVLOOP
:CLOSE
if %m
GOSUB SaveFile
end
EXIT
rem ----------- GOSUB ROUTINES -----------
:SaveFile
if @both(@dlgtext(E1), %m)
if %f
if @ask(Save %f?@tab())
LIST ASSIGN, 1, @dlgtext(E1)
LIST SAVEFILE, 1, %p%f
LIST CLEAR, 1
%%info = File Saved...@cr()@cr()%p%f
GOSUB InfoWindow
GOSUB LoadList
rem -- Clear "text modified" flag --
%z = @sendmsg(%q,$0B9,0,0)
end
else
WARN "No file number selected from list."@tab()
end
else
%%info = Nothing new to save.
GOSUB InfoWindow
end
exit
:LoadList
rem -- Allow enough space in list for new code files,
rem -- when 100th item is used, we add another 100.
LIST CLEAR, 1
LIST CLEAR, L1
%x = 100
REPEAT
if @file(%pcode%x.txt)
%x = @sum(%x, 100)
end
UNTIL @not(@file(%pcode%x.txt))
%t = %x
%x = 0
REPEAT
GOSUB FormatNumber
if @file(%pcode%x.txt)
LIST LOADFILE, 1, %pcode%x.txt, WAIT
%g = @item(1, 0)
LIST ADD, L1, %x"-"%g
LIST CLEAR, 1
else
LIST ADD, L1, %x"-"
end
%x = @succ(%x)
UNTIL @greater(%x, %t)
exit
:FormatNumber
rem -- Add zeroes to make numbers 3 digit minimum -
if @equal(@len(%x), 1)
%x = 00%x
end
if @equal(@len(%x), 2)
%x = 0%x
end
exit
:InfoWindow
rem -- Let's us know if we fail to init %%info --
if @not(%%info)
%%info = "Oops, no message..."
end
%%infoheight = 16
rem -- Adjust height if @cr() found --
%%tmp = %%info
%%longest = @pos(@chr(13), %%info)
REPEAT
if @greater(@pos(@chr(13),%%tmp), 0)
if @greater(@pos(@chr(13), %%tmp), %%longest)
%%longest = @pos(@chr(13), %%tmp)
end
%%tmp = @strdel(%%tmp,1,@pos(@chr(13), %%tmp))
%%infoheight = @sum(%%infoheight, 16)
end
UNTIL @equal(0, @pos(@chr(13), %%tmp))
if @greater(@len(%%tmp),%%longest)
%%longest = @len(%%tmp)
end
%%infowidth = @prod(%%longest, 8)
rem End of new section
rem -- Create the message window --
DIALOG CREATE,"InfoWindow",-1,-1,@sum(%%infowidth,60),@sum(%%infoheight,42),NOTITLE,ONTOP
DIALOG ADD,STYLE,StyleInfo,Courier New,10,BC,DKBLUE,WHITE
DIALOG ADD,STYLE,StyleInfoTrim,,,,WHITE
DIALOG ADD,TEXT,Info1,1,1,@sum(%%infowidth,58),@sum(%%infoheight,40),,,StyleInfoTrim
DIALOG ADD,TEXT,Info2,4,4,@sum(%%infowidth,52),@sum(%%infoheight,34),@cr()%%info,,StyleInfo
DIALOG SHOW
WAIT "2"
rem -- Closes info window since it's the current one --
DIALOG CLOSE
rem -- Always kill extra CLOSE event --
%e = @event()
%%info = ""
%%tmp = ""
%%longest = ""
%%infowidth = ""
%%infoheight = ""
exit
|
Cheers, Mac _________________ VDSug.dll does file IO, check/disable menu items,
non-VDS dlls, draw functions and more...
Free download (30k dll size) at:
http://www.vdsworld.com/download.php?id=361
Last edited by Mac on Sun Mar 09, 2003 5:52 pm; edited 2 times in total |
|
Back to top |
|
|
LiquidCode Moderator Team
Joined: 05 Dec 2000 Posts: 1751 Location: Space and Time
|
Posted: Sun Mar 09, 2003 5:39 pm Post subject: |
|
|
Hey Mac, I forgot about this. I have it tucked away somewhere. I may have to start using it again. Thanks for the memories! _________________ Chris
Http://theblindhouse.com |
|
Back to top |
|
|
GeoTrail Valued Contributor
Joined: 18 Feb 2003 Posts: 572 Location: Bergen, Norway
|
Posted: Sun Mar 09, 2003 5:42 pm Post subject: |
|
|
Cool Mac.
Any possibilities of compiling it and mailing it to me? Pretty please? robert@geotrail.no _________________
|
|
Back to top |
|
|
Mac Professional Member
Joined: 08 Jul 2000 Posts: 1585 Location: Oklahoma USA
|
Posted: Sun Mar 09, 2003 5:46 pm Post subject: |
|
|
Hiya Chris,
I use it constantly - it's just too handy. Not sure, but you may
have made some modifications that I'm not using. Feel free
to post 'em if you did.
Cheers, Mac _________________ VDSug.dll does file IO, check/disable menu items,
non-VDS dlls, draw functions and more...
Free download (30k dll size) at:
http://www.vdsworld.com/download.php?id=361
|
|
Back to top |
|
|
Mac Professional Member
Joined: 08 Jul 2000 Posts: 1585 Location: Oklahoma USA
|
Posted: Sun Mar 09, 2003 5:49 pm Post subject: |
|
|
Geotrail - don't you have a registered version of VDS?
This should compile with VDS3 or VDS4.
Cheers, Mac _________________ VDSug.dll does file IO, check/disable menu items,
non-VDS dlls, draw functions and more...
Free download (30k dll size) at:
http://www.vdsworld.com/download.php?id=361
|
|
Back to top |
|
|
GeoTrail Valued Contributor
Joined: 18 Feb 2003 Posts: 572 Location: Bergen, Norway
|
Posted: Sun Mar 09, 2003 5:59 pm Post subject: |
|
|
No, I'm affraid not
But I've set my heart on getting the money for it.
I'm hoping to get payed for a job next week, so I'm crossing my fingers till then _________________
|
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You can attach files in this forum You can download files in this forum
|
|