Posts: 660
Threads: 142
Joined: Apr 2022
Reputation:
58
Glad you like it. just posted rotoline demo program with more routines. RotoLine line drawing (qb64phoenix.com)
Posts: 1,588
Threads: 59
Joined: Jul 2022
Reputation:
52
Umm... how to say this without sounding like a jerk.
Originally I indicated bplus' post which had the screenshot.
Dav this is awesome! To me this is good enough. But someone else (such as a lawyer) actually having access to legal pads would ask, "Why do the letters hang away from the lines like that?" When we were children, we were taught to write on the lines LOL. Such as when writing lowercase "G" write the top loop so the bottom of it hits the line, and then let that leg hang out below the line.
Aww... just disregard this post! Carry on!
Posts: 3,885
Threads: 174
Joined: Apr 2022
Reputation:
202
(10-11-2023, 05:11 PM)mnrvovrfc Wrote: Umm... how to say this without sounding like a jerk.
Originally I indicated bplus' post which had the screenshot.
Dav this is awesome! To me this is good enough. But someone else (such as a lawyer) actually having access to legal pads would ask, "Why do the letters hang away from the lines like that?" When we were children, we were taught to write on the lines LOL. Such as when writing lowercase "G" write the top loop so the bottom of it hits the line, and then let that leg hang out below the line.
Aww... just disregard this post! Carry on!
I noticed that too but I already sound like a jerk too often LOL
b = b + ...
Posts: 2,673
Threads: 325
Joined: Apr 2022
Reputation:
214
(10-11-2023, 04:15 PM)bplus Wrote: (10-11-2023, 04:10 PM)Dav Wrote: That's a good one, James. Hey, where did RotoZoom23 come from? I haven't noticed that one before.
EDIT: bplus, spiral sounds good. Will try that.
- Dav
While you were out, James fixed RotoZoom, the 23 is the year of the new and improved routine. The d on the end is for Degreed angles as opposed to Radian Angles.
Give you guys another 2 or 3 years, and you'll finally catch up to the same DisplayImage that I've been using for the last half decade... All that's left is for you to add in the MODE option for which corner of the image you want to place at the position specified.
Code: (Select All) SUB DisplayImage (Image AS LONG, x AS INTEGER, y AS INTEGER, xscale AS SINGLE, yscale AS SINGLE, angle AS SINGLE, mode AS _BYTE)
'Image is the image handle which we use to reference our image.
'x,y is the X/Y coordinates where we want the image to be at on the screen.
'angle is the angle which we wish to rotate the image.
'mode determines HOW we place the image at point X,Y.
'Mode 0 we center the image at point X,Y
'Mode 1 we place the Top Left corner of oour image at point X,Y
'Mode 2 is Bottom Left
'Mode 3 is Top Right
'Mode 4 is Bottom Right
DIM AS INTEGER px(3), py(3), w, h, w1, h1
DIM sinr AS SINGLE, cosr AS SINGLE, i AS _BYTE
w = _WIDTH(Image): h = _HEIGHT(Image)
w1 = w * xscale: h1 = h * yscale
SELECT CASE mode
CASE 0 'center
px(0) = -w1 / 2: py(0) = -h1 / 2: px(3) = w1 / 2: py(3) = -h1 / 2
px(1) = -w1 / 2: py(1) = h1 / 2: px(2) = w1 / 2: py(2) = h1 / 2
CASE 1 'top left
px(0) = 0: py(0) = 0: px(3) = w1: py(3) = 0
px(1) = 0: py(1) = h1: px(2) = w1: py(2) = h1
CASE 2 'bottom left
px(0) = 0: py(0) = -h1: px(3) = w1: py(3) = -h1
px(1) = 0: py(1) = 0: px(2) = w1: py(2) = 0
CASE 3 'top right
px(0) = -w1: py(0) = 0: px(3) = 0: py(3) = 0
px(1) = -w1: py(1) = h1: px(2) = 0: py(2) = h1
CASE 4 'bottom right
px(0) = -w1: py(0) = -h1: px(3) = 0: py(3) = -h1
px(1) = -w1: py(1) = 0: px(2) = 0: py(2) = 0
END SELECT
sinr = SIN(angle / 57.2957795131): cosr = COS(angle / 57.2957795131)
FOR i = 0 TO 3
x2 = (px(i) * cosr + sinr * py(i)) + x: y2 = (py(i) * cosr - px(i) * sinr) + y
px(i) = x2: py(i) = y2
NEXT
_MAPTRIANGLE (0, 0)-(0, h - 1)-(w - 1, h - 1), Image TO(px(0), py(0))-(px(1), py(1))-(px(2), py(2))
_MAPTRIANGLE (0, 0)-(w - 1, 0)-(w - 1, h - 1), Image TO(px(0), py(0))-(px(3), py(3))-(px(2), py(2))
END SUB
It works in angles instead of radians as well
Posts: 713
Threads: 117
Joined: Apr 2022
Reputation:
105
Quickly added a spiral paper, before heading of to work. This is the first time I ever used CIRCLE for something other than drawing a whole circle. Always something to learn.
- Dav
Code: (Select All)
'notebookpapers2.bas
'yellow, white & spiral background notebook paper.
'by Dav, OCT/2023
Screen _NewImage(800, 600, 32)
'Here's where you can load another font you want to use....
fnt& = _LoadFont("lucon.ttf", 24, "monospace")
_Font fnt&
'Call the SUB, with your title$ message
'YellowPaper "John's QB64-PE Code Notebook" '<< this one for yellow paper
'WhitePaper "John's QB64-PE Code Notebook" '<< this one for white paper
SpiralPaper "John's Spiral Notebook" '<< use this one for spiral paper
Sleep
End
'You need to call below so PRINTing text doesn't destroy background.
_PrintMode _KeepBackground
'=== show some sample information....
Color _RGB(64, 64, 64)
For y = 5 To 16
Locate y, 2: Print Date$;
Locate , 16: Print "Random Data ="; Rnd; RN;
Next: Print
'Use location 2 to print in left column, 16 for printing in the text lines.
Print
Locate , 16: Print "This is another line."
Print
Locate , 2: Print "Tuesday:"
Locate , 16: Print "Dear diary, today I wrote this...."
Sleep
Sub YellowPaper (title$)
'This SUB draws yellow notebook paper, scaled to fit current font settings.
'It also prints and centers title$ in the top title area.
fw = _FontWidth: fh = _FontHeight 'get current font width/height settings
'(the fw & fh we will use to calculate LINE drawing so they line up right with PRINT)
Cls , _RGB(255, 245, 154) 'clear screen to yellow color
'draw the two vertical brown lines, to make column/text area
Line (fw * 12, 0)-(fw * 12, _Height), _RGB(205, 185, 98)
Line (fw * 12.5, 0)-(fw * 12.5, _Height), _RGB(205, 185, 98)
'draw the text lines to bottom of screen
For y = fh - 1 To _Height Step fh
Line (0, y)-(_Width, y), _RGB(152, 160, 74)
Next
If title$ <> "" Then
'draw top brown tile area (remove this if not wanted)
Line (0, 0)-(_Width, fh * 3), _RGB(102, 19, 15), BF '<< enough for 3 lines
Color _RGB(255, 255, 0), _RGB(102, 19, 15)
'Next we print title$, centering the text in the top area
'For this we need to calcuale how many letters fit on one line, INT(_WIDTH/fw) / 2.
'I divided that by 2 to find the center spot on the line.
'So, subtract half of the title$ length from that spot to make it centered nice.
Locate 2, Int((_Width / fw) / 2) - Int(Len(title$) / 2)
Print title$; 'finally, PRINT the title$
End If
End Sub
Sub WhitePaper (title$)
'This SUB draws white notebook paper, scaled to fit current font settings.
fw = _FontWidth: fh = _FontHeight 'get current font width/height settings
'(the fw & fh we will use to calculate LINE drawing so they line up right with PRINT)
Cls , _RGB(240, 240, 240) 'clear screen to white color
'draw three holes
Circle (fw * 8, fh * 8), fw * 2, _RGB(210, 210, 210)
Paint (fw * 8 + 1, fh * 8 - 1), _RGB(210, 210, 210)
Circle (fw * 8, fh * 20), fw * 2, _RGB(210, 210, 210)
Paint (fw * 8 + 1, fh * 20 - 1), _RGB(210, 210, 210)
Circle (fw * 8, fh * 32), fw * 2, _RGB(210, 210, 210)
Paint (fw * 8 + 1, fh * 32 - 1), _RGB(210, 210, 210)
'draw the vertical line, to make column/text area
Line (fw * 12, 0)-(fw * 12, _Height), _RGB(219, 135, 151)
'draw the text lines to bottom of screen
For y = fh * 5 To _Height Step fh
Line (0, y)-(_Width, y), _RGB(139, 179, 204)
Next
If title$ <> "" Then
'Next we print title$, centering the text in the top area
'For this we need to calcuale how many letters fit on one line, INT(_WIDTH/fw) / 2.
'I divided that by 2 to find the center spot on the line.
'So, subtract half of the title$ length from that spot to make it centered nice.
Locate 2, Int((_Width / fw) / 2) - Int(Len(title$) / 2)
Color _RGB(0, 0, 0), _RGB(240, 240, 240)
Print title$; 'finally, PRINT the title$
End If
End Sub
Sub SpiralPaper (title$)
'This SUB draws spiral white notebook paper, scaled to fit current font settings.
fw = _FontWidth: fh = _FontHeight 'get current font width/height settings
'(the fw & fh we will use to calculate LINE drawing so they line up right with PRINT)
Cls , _RGB(32, 32, 32)
Line (fw * 3.5, 0)-(_Width, _Height), _RGB(240, 240, 240), BF
For y = 0 To _Height Step fh
Circle (fw * 4, y), fw * 2, _RGB(164, 164, 164), .6, _Pi * 1.4
Circle (fw * 5.6, y + (fh / 3)), fw / 2, _RGB(0, 0, 0)
Paint (fw * 5.6 + 2, y + (fh / 3) - 2), _RGB(0, 0, 0)
Next
'draw the vertical line, to make column/text area
Line (fw * 16, 0)-(fw * 16, _Height), _RGB(219, 135, 151)
'draw the text lines to bottom of screen
For y = fh * 5 To _Height Step fh
Line (fw * 3.5, y)-(_Width, y), _RGB(139, 179, 204)
Next
If title$ <> "" Then
'Next we print title$, centering the text in the top area
'For this we need to calcuale how many letters fit on one line, INT(_WIDTH/fw) / 2.
'I divided that by 2 to find the center spot on the line.
'So, subtract half of the title$ length from that spot to make it centered nice.
Locate 2, Int((_Width / fw) / 2) - Int(Len(title$) / 2) + 4 '<< added 4 for spiral offset
Color _RGB(0, 0, 0), _RGB(240, 240, 240)
Print title$; 'finally, PRINT the title$
End If
End Sub
Posts: 3,885
Threads: 174
Joined: Apr 2022
Reputation:
202
10-11-2023, 05:48 PM
(This post was last modified: 10-11-2023, 05:50 PM by bplus.)
Dav I think you've found a new calling! You have anything in 8.5x11 Inkjet and Laser
b = b + ...
Posts: 2,673
Threads: 325
Joined: Apr 2022
Reputation:
214
And I add for you an accounting ledger, as per the ones which I remember seeing and using in my youth:
Code: (Select All)
'notebookpapers2.bas
'yellow, white & spiral background notebook paper.
'by Dav, OCT/2023
$COLOR:32
SCREEN _NEWIMAGE(800, 600, 32)
'Here's where you can load another font you want to use....
fnt& = _LOADFONT("lucon.ttf", 24, "monospace")
_FONT fnt&
'Call the SUB, with your title$ message
'YellowPaper "John's QB64-PE Code Notebook" '<< this one for yellow paper
'WhitePaper "John's QB64-PE Code Notebook" '<< this one for white paper
'SpiralPaper "John's Spiral Notebook" '<< use this one for spiral paper
Ledger "Steve's Accounting Ledger"
SLEEP
END
'You need to call below so PRINTing text doesn't destroy background.
_PRINTMODE _KEEPBACKGROUND
'=== show some sample information....
COLOR _RGB(64, 64, 64)
FOR y = 5 TO 16
LOCATE y, 2: PRINT DATE$;
LOCATE , 16: PRINT "Random Data ="; RND; RN;
NEXT: PRINT
'Use location 2 to print in left column, 16 for printing in the text lines.
PRINT
LOCATE , 16: PRINT "This is another line."
PRINT
LOCATE , 2: PRINT "Tuesday:"
LOCATE , 16: PRINT "Dear diary, today I wrote this...."
SLEEP
SUB YellowPaper (title$)
'This SUB draws yellow notebook paper, scaled to fit current font settings.
'It also prints and centers title$ in the top title area.
fw = _FONTWIDTH: fh = _FONTHEIGHT 'get current font width/height settings
'(the fw & fh we will use to calculate LINE drawing so they line up right with PRINT)
CLS , _RGB(255, 245, 154) 'clear screen to yellow color
'draw the two vertical brown lines, to make column/text area
LINE (fw * 12, 0)-(fw * 12, _HEIGHT), _RGB(205, 185, 98)
LINE (fw * 12.5, 0)-(fw * 12.5, _HEIGHT), _RGB(205, 185, 98)
'draw the text lines to bottom of screen
FOR y = fh - 1 TO _HEIGHT STEP fh
LINE (0, y)-(_WIDTH, y), _RGB(152, 160, 74)
NEXT
IF title$ <> "" THEN
'draw top brown tile area (remove this if not wanted)
LINE (0, 0)-(_WIDTH, fh * 3), _RGB(102, 19, 15), BF '<< enough for 3 lines
COLOR _RGB(255, 255, 0), _RGB(102, 19, 15)
'Next we print title$, centering the text in the top area
'For this we need to calcuale how many letters fit on one line, INT(_WIDTH/fw) / 2.
'I divided that by 2 to find the center spot on the line.
'So, subtract half of the title$ length from that spot to make it centered nice.
LOCATE 2, INT((_WIDTH / fw) / 2) - INT(LEN(title$) / 2)
PRINT title$; 'finally, PRINT the title$
END IF
END SUB
SUB WhitePaper (title$)
'This SUB draws white notebook paper, scaled to fit current font settings.
fw = _FONTWIDTH: fh = _FONTHEIGHT 'get current font width/height settings
'(the fw & fh we will use to calculate LINE drawing so they line up right with PRINT)
CLS , _RGB(240, 240, 240) 'clear screen to white color
'draw three holes
CIRCLE (fw * 8, fh * 8), fw * 2, _RGB(210, 210, 210)
PAINT (fw * 8 + 1, fh * 8 - 1), _RGB(210, 210, 210)
CIRCLE (fw * 8, fh * 20), fw * 2, _RGB(210, 210, 210)
PAINT (fw * 8 + 1, fh * 20 - 1), _RGB(210, 210, 210)
CIRCLE (fw * 8, fh * 32), fw * 2, _RGB(210, 210, 210)
PAINT (fw * 8 + 1, fh * 32 - 1), _RGB(210, 210, 210)
'draw the vertical line, to make column/text area
LINE (fw * 12, 0)-(fw * 12, _HEIGHT), _RGB(219, 135, 151)
'draw the text lines to bottom of screen
FOR y = fh * 5 TO _HEIGHT STEP fh
LINE (0, y)-(_WIDTH, y), _RGB(139, 179, 204)
NEXT
IF title$ <> "" THEN
'Next we print title$, centering the text in the top area
'For this we need to calcuale how many letters fit on one line, INT(_WIDTH/fw) / 2.
'I divided that by 2 to find the center spot on the line.
'So, subtract half of the title$ length from that spot to make it centered nice.
LOCATE 2, INT((_WIDTH / fw) / 2) - INT(LEN(title$) / 2)
COLOR _RGB(0, 0, 0), _RGB(240, 240, 240)
PRINT title$; 'finally, PRINT the title$
END IF
END SUB
SUB SpiralPaper (title$)
'This SUB draws spiral white notebook paper, scaled to fit current font settings.
fw = _FONTWIDTH: fh = _FONTHEIGHT 'get current font width/height settings
'(the fw & fh we will use to calculate LINE drawing so they line up right with PRINT)
CLS , _RGB(32, 32, 32)
LINE (fw * 3.5, 0)-(_WIDTH, _HEIGHT), _RGB(240, 240, 240), BF
FOR y = 0 TO _HEIGHT STEP fh
CIRCLE (fw * 4, y), fw * 2, _RGB(164, 164, 164), .6, _PI * 1.4
CIRCLE (fw * 5.6, y + (fh / 3)), fw / 2, _RGB(0, 0, 0)
PAINT (fw * 5.6 + 2, y + (fh / 3) - 2), _RGB(0, 0, 0)
NEXT
'draw the vertical line, to make column/text area
LINE (fw * 16, 0)-(fw * 16, _HEIGHT), _RGB(219, 135, 151)
'draw the text lines to bottom of screen
FOR y = fh * 5 TO _HEIGHT STEP fh
LINE (fw * 3.5, y)-(_WIDTH, y), _RGB(139, 179, 204)
NEXT
IF title$ <> "" THEN
'Next we print title$, centering the text in the top area
'For this we need to calcuale how many letters fit on one line, INT(_WIDTH/fw) / 2.
'I divided that by 2 to find the center spot on the line.
'So, subtract half of the title$ length from that spot to make it centered nice.
LOCATE 2, INT((_WIDTH / fw) / 2) - INT(LEN(title$) / 2) + 4 '<< added 4 for spiral offset
COLOR _RGB(0, 0, 0), _RGB(240, 240, 240)
PRINT title$; 'finally, PRINT the title$
END IF
END SUB
SUB Ledger (title$)
'This SUB draws a sepia accounting ledger, scaled to fit current font settings.
fw = _FONTWIDTH: fh = _FONTHEIGHT 'get current font width/height settings
'(the fw & fh we will use to calculate LINE drawing so they line up right with PRINT)
CLS , _RGB(32, 32, 32)
LINE (0, 0)-(_WIDTH, _HEIGHT), Sepia, BF
'draw the vertical line, to make column/text area
FOR x = 0 TO _WIDTH STEP fw
LINE (x, fh * 2)-STEP(0, _HEIGHT), _RGB(139, 179, 204)
NEXT
LINE (fw * 16, 0)-(fw * 16, _HEIGHT), _RGB(219, 135, 151)
LINE (_WIDTH - (fw * 16), 0)-STEP(0, _HEIGHT), _RGB(219, 135, 151)
'draw the text lines to bottom of screen
FOR y = fh * 2 TO _HEIGHT STEP fh
LINE (0, y)-(_WIDTH, y), _RGB(139, 179, 204)
NEXT
IF title$ <> "" THEN
'Next we print title$, centering the text in the top area
'I divided that by 2 to find the center spot on the line.
'So, subtract half of the title$ length from that spot to make it centered nice.
COLOR _RGB(64, 64, 64), 0
_PRINTSTRING ((_WIDTH - _PRINTWIDTH(title$)) / 2, 1), title$
END IF
COLOR _RGB(120, 120, 120), 0
_PRINTSTRING (0, fh), "Date"
_PRINTSTRING (fw * 16, fh), "Description"
_PRINTSTRING (_WIDTH - (fw * 16), fh), "Amount"
END SUB
The grids are so that amounts all align properly in the final column, all nice and neatly for folks who like to print in these things. I remember having to use these to track such things as mileage and expenses while out on project, so that I could turn them in all nice and neat to accounting when I got back home from being out on the road.
Honestly, I don't remember if the date/description/amount titles were centered, or not. I think, if my memory isn't failing, the booklets we had were printed cheaply and left centered as I've did these, but they'd be easy enough to center in their respective areas, if anyone ever wanted.
Posts: 2,673
Threads: 325
Joined: Apr 2022
Reputation:
214
(This is similar to style ledger which we used to print stuff out in. I hope you can kinda see the resemblance, as the one in my memory is still a little different from this one.)
Posts: 713
Threads: 117
Joined: Apr 2022
Reputation:
105
10-11-2023, 08:16 PM
(This post was last modified: 10-11-2023, 08:34 PM by Dav.)
Nice. Oh yes, I know those well, Steve. My dad was a CPA and did everything old-school. Have boxes of old big ledgers and accounting paper still.
I should have stayed home and played with QB64 more - went to work and the gig was called off. The program director waited until I carried in all my music gear before coming in to tell me. While I was driving home I thought to make the spiral paper look better. Made the coil thicker and gave the paper a rounded edge.
(My friend will be surprised how his little paper request got all this attention here. lol.)
- Dav
Code: (Select All)
'notebookpapers2b.bas
'yellow, white & spiral background notebook paper.
'by Dav, OCT/2023
Screen _NewImage(800, 600, 32)
'Here's where you can load another font you want to use....
'fnt& = _LoadFont("lucon.ttf", 24, "monospace")
'_Font fnt&
'Call the SUB, with your title$ message
'YellowPaper "John's QB64-PE Code Notebook" '<< this one for yellow paper
'WhitePaper "John's QB64-PE Code Notebook" '<< this one for white paper
SpiralPaper "John's Spiral Notebook" '<< use this one for spiral paper
Sleep
End
'You need to call below so PRINTing text doesn't destroy background.
_PrintMode _KeepBackground
'=== show some sample information....
Color _RGB(64, 64, 64)
For y = 5 To 16
Locate y, 2: Print Date$;
Locate , 16: Print "Random Data ="; Rnd; RN;
Next: Print
'Use location 2 to print in left column, 16 for printing in the text lines.
Print
Locate , 16: Print "This is another line."
Print
Locate , 2: Print "Tuesday:"
Locate , 16: Print "Dear diary, today I wrote this...."
Sleep
Sub YellowPaper (title$)
'This SUB draws yellow notebook paper, scaled to fit current font settings.
'It also prints and centers title$ in the top title area.
fw = _FontWidth: fh = _FontHeight 'get current font width/height settings
'(the fw & fh we will use to calculate LINE drawing so they line up right with PRINT)
Cls , _RGB(255, 245, 154) 'clear screen to yellow color
'draw the two vertical brown lines, to make column/text area
Line (fw * 12, 0)-(fw * 12, _Height), _RGB(205, 185, 98)
Line (fw * 12.5, 0)-(fw * 12.5, _Height), _RGB(205, 185, 98)
'draw the text lines to bottom of screen
For y = fh - 1 To _Height Step fh
Line (0, y)-(_Width, y), _RGB(152, 160, 74)
Next
If title$ <> "" Then
'draw top brown tile area (remove this if not wanted)
Line (0, 0)-(_Width, fh * 3), _RGB(102, 19, 15), BF '<< enough for 3 lines
Color _RGB(255, 255, 0), _RGB(102, 19, 15)
'Next we print title$, centering the text in the top area
'For this we need to calcuale how many letters fit on one line, INT(_WIDTH/fw) / 2.
'I divided that by 2 to find the center spot on the line.
'So, subtract half of the title$ length from that spot to make it centered nice.
Locate 2, Int((_Width / fw) / 2) - Int(Len(title$) / 2)
Print title$; 'finally, PRINT the title$
End If
End Sub
Sub WhitePaper (title$)
'This SUB draws white notebook paper, scaled to fit current font settings.
fw = _FontWidth: fh = _FontHeight 'get current font width/height settings
'(the fw & fh we will use to calculate LINE drawing so they line up right with PRINT)
Cls , _RGB(240, 240, 240) 'clear screen to white color
'draw three holes
Circle (fw * 8, fh * 8), fw * 2, _RGB(210, 210, 210)
Paint (fw * 8 + 1, fh * 8 - 1), _RGB(210, 210, 210)
Circle (fw * 8, fh * 20), fw * 2, _RGB(210, 210, 210)
Paint (fw * 8 + 1, fh * 20 - 1), _RGB(210, 210, 210)
Circle (fw * 8, fh * 32), fw * 2, _RGB(210, 210, 210)
Paint (fw * 8 + 1, fh * 32 - 1), _RGB(210, 210, 210)
'draw the vertical line, to make column/text area
Line (fw * 12, 0)-(fw * 12, _Height), _RGB(219, 135, 151)
'draw the text lines to bottom of screen
For y = fh * 5 To _Height Step fh
Line (0, y)-(_Width, y), _RGB(139, 179, 204)
Next
If title$ <> "" Then
'Next we print title$, centering the text in the top area
'For this we need to calcuale how many letters fit on one line, INT(_WIDTH/fw) / 2.
'I divided that by 2 to find the center spot on the line.
'So, subtract half of the title$ length from that spot to make it centered nice.
Locate 2, Int((_Width / fw) / 2) - Int(Len(title$) / 2)
Color _RGB(0, 0, 0), _RGB(240, 240, 240)
Print title$; 'finally, PRINT the title$
End If
End Sub
Sub SpiralPaper (title$)
'This SUB draws spiral white notebook paper, scaled to fit current font settings.
fw = _FontWidth: fh = _FontHeight 'get current font width/height settings
'(the fw & fh we will use to calculate LINE drawing so they line up right with PRINT)
Cls , _RGB(32, 32, 32)
'round right corner
Circle (_Width - (fw * 4), fh), fw * 2, _RGB(240, 240, 240)
Paint (_Width - (fw * 4) + 1, fh - 1), _RGB(240, 240, 240)
'paper
Line (fw * 3.5, 0)-(_Width - fw * 4, fh * 4), _RGB(240, 240, 240), BF
Line (fw * 3.5, fh)-(_Width - fw * 2, _Height), _RGB(240, 240, 240), BF
For y = 0 To _Height Step fh
Circle (fw * 4, y), fw * 2, _RGB(164, 164, 164), .6, _Pi * 1.4
Circle (fw * 4 + 1, y + 1), fw * 2, _RGB(132, 132, 132), .6, _Pi * 1.4
Circle (fw * 4 + 2, y + 2), fw * 2, _RGB(100, 100, 100), .6, _Pi * 1.4
Circle (fw * 4 + 3, y + 3), fw * 2, _RGB(100, 100, 100), .6, _Pi * 1.4
Circle (fw * 5.6, y + (fh / 3)), fw / 2, _RGB(0, 0, 0)
Paint (fw * 5.6 + 2, y + (fh / 3) - 2), _RGB(0, 0, 0)
Next
'draw the vertical line, to make column/text area
Line (fw * 16, 0)-(fw * 16, _Height), _RGB(219, 135, 151)
'draw the text lines to bottom of screen
For y = fh * 5 To _Height Step fh
Line (fw * 3.5, y)-(_Width - (fw * 2), y), _RGB(139, 179, 204)
Next
If title$ <> "" Then
'Next we print title$, centering the text in the top area
'For this we need to calcuale how many letters fit on one line, INT(_WIDTH/fw) / 2.
'I divided that by 2 to find the center spot on the line.
'So, subtract half of the title$ length from that spot to make it centered nice.
Locate 2, Int((_Width / fw) / 2) - Int(Len(title$) / 2) + 4 '<< added 4 for spiral offset
Color _RGB(0, 0, 0), _RGB(240, 240, 240)
Print title$; 'finally, PRINT the title$
End If
End Sub
Posts: 3,885
Threads: 174
Joined: Apr 2022
Reputation:
202
Wow that is nice Dav, College Ruled paper it looks like to me.
Steve's accounting ledger page reminded me of my Accounting Daily Journal Form or page from Account Transaction Journal. I went looking for the one I made in Libre Office years ago, lost now dang it but been years, 2-3 computers ago, since I had Libre Office.
I must be using copies of copies, so I 've started my QB64pe version today. I do my shopping list on another form I redrew from QB64pe.
b = b + ...
|