Talk About Network

Google


Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Programming > Basic Misc > Re: 1980 Basic ...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 25 of 51 Topic 1442 of 1492
Post > Topic >>

Re: 1980 Basic Sought

by "Tom Lake" <tlake@[EMAIL PROTECTED] > Apr 8, 2008 at 08:29 AM

<ArarghMail804NOSPAM@[EMAIL PROTECTED]
> wrote in message 
news:vjfmv318ej8a3ls16s4ovc2qgnpvgs6gdv@[EMAIL PROTECTED]
> On Tue, 8 Apr 2008 04:35:55 -0400, "Tom Lake" <tlake@[EMAIL PROTECTED]
>
> wrote:
>
>>
>>
>><ArarghMail804NOSPAM@[EMAIL PROTECTED]
> wrote in message
>>news:ftvlv35geav069m24gptsieot401nno8uq@[EMAIL PROTECTED]
>>> On Mon, 7 Apr 2008 23:08:17 -0400, "Tom Lake" <tlake@[EMAIL PROTECTED]
>
>>> wrote:
>>>
>>> <snip>
>>>>
>>>>CHR$(PEEK(SADD(a$))) turns that ASCII value back
>>>>into a character and so the letter T will print.
>>>
>>> Ok, I see where you are going.
>>>
>>> Won't work with PDS or VBDOS far strings, as those strings are not in
>>> the "DEF SEG".
>>
>>With SSEG it does.  That's the beauty.  It returns the address of the 
>>string
>>as
>>an offset (near pointer) from the current data segment.  SADD can
>>be used with both near and far strings.  If the string is a far string,
>>use the SSEG function to determine its segment.
>>
>>a$ = "Test"
>>Segment = SSEG(a$)
>>Offset = SADD(a$)
>>DEF SEG = Segment
>>
>>? CHR$(PEEK(SADD(a$)))
>>will still print "T" no matter if a$ is near or far.
>
> All very true, but wouldn't "LEFT$(a$,1)" still be a lot easier?

Oh, you want *easy* do you?  8^)

My simple example was just to show how SSEG and SADD work.
In practice, you'd use those functions to store ML routines in the
string or to do string manipulation without fear of garbage
collection (just make sure you DON'T change the string length!)

Here's a more practical example:

To change "him" to "her" you could do this:

a$ = "him"
MID$(a$, 2) = "er"

but this would cause BASIC to make temp strings and
possibly move a$ around in memory. and trigger a garbage
collection.

If you do this:

a$ = "him"
Segment = SSEG(a$)
Offset = SADD(a$)
DEF SEG = Segment
POKE Offset + 1, ASC("e")
POKE Offset + 2, ASC("r")

This won't trigger garbage collection and is actually
faster than the MID$ method.

Tom Lake
 




 51 Posts in Topic:
1980 Basic Sought
david.williams@[EMAIL PRO  2008-03-14 09:56:13 
Re: 1980 Basic Sought
winston19842005 <bjjly  2008-03-14 10:23:56 
Re: 1980 Basic Sought
"Judson McClendon&qu  2008-03-14 09:35:58 
Re: 1980 Basic Sought
winston19842005 <bjjly  2008-03-14 10:45:09 
Re: 1980 Basic Sought
"Judson McClendon&qu  2008-03-14 11:06:08 
Re: 1980 Basic Sought
ArarghMail803NOSPAM@[EMAI  2008-03-14 18:09:14 
Re: 1980 Basic Sought
"Tom Lake" <  2008-03-14 21:29:01 
Re: 1980 Basic Sought
ArarghMail803NOSPAM@[EMAI  2008-03-14 22:58:33 
Re: 1980 Basic Sought
"R.Nicholson" &  2008-04-08 11:20:03 
Re: 1980 Basic Sought
ArarghMail804NOSPAM@[EMAI  2008-04-08 23:27:54 
Re: 1980 Basic Sought
"news@[EMAIL PROTECT  2008-04-10 01:29:14 
Re: 1980 Basic Sought
ArarghMail804NOSPAM@[EMAI  2008-04-10 04:19:38 
Re: 1980 Basic Sought
"R.Nicholson" &  2008-04-10 10:53:00 
Re: 1980 Basic Sought
"Stephen J. Rush&quo  2008-04-08 03:29:05 
Re: 1980 Basic Sought
ArarghMail804NOSPAM@[EMAI  2008-04-08 04:44:07 
Re: 1980 Basic Sought
thomas.mertes@[EMAIL PROT  2008-04-07 01:50:52 
Re: 1980 Basic Sought
"Tom Lake" <  2008-04-07 07:55:55 
Re: 1980 Basic Sought
ArarghMail804NOSPAM@[EMAI  2008-04-07 18:43:27 
Re: 1980 Basic Sought
"Tom Lake" <  2008-04-07 21:22:26 
Re: 1980 Basic Sought
ArarghMail804NOSPAM@[EMAI  2008-04-07 21:20:53 
Re: 1980 Basic Sought
"Tom Lake" <  2008-04-07 23:08:17 
Re: 1980 Basic Sought
ArarghMail804NOSPAM@[EMAI  2008-04-08 00:21:08 
Re: 1980 Basic Sought
"Tom Lake" <  2008-04-08 04:35:55 
Re: 1980 Basic Sought
ArarghMail804NOSPAM@[EMAI  2008-04-08 04:45:15 
Re: 1980 Basic Sought
"Tom Lake" <  2008-04-08 08:29:29 
Re: 1980 Basic Sought
"Judson McClendon&qu  2008-04-08 08:33:38 
Re: 1980 Basic Sought
"Tom Lake" <  2008-04-08 15:29:56 
Re: 1980 Basic Sought
ArarghMail804NOSPAM@[EMAI  2008-04-08 23:18:16 
Re: 1980 Basic Sought
"Auric__" <n  2008-04-09 20:21:32 
Re: 1980 Basic Sought
ArarghMail804NOSPAM@[EMAI  2008-04-09 15:36:54 
Re: 1980 Basic Sought
"Auric__" <n  2008-04-09 20:40:42 
Re: 1980 Basic Sought
ArarghMail804NOSPAM@[EMAI  2008-04-09 16:35:42 
Re: 1980 Basic Sought
"Auric__" <n  2008-04-09 21:58:24 
Re: 1980 Basic Sought
ArarghMail804NOSPAM@[EMAI  2008-04-09 18:42:45 
Re: 1980 Basic Sought
"Auric__" <n  2008-04-10 15:43:33 
Re: 1980 Basic Sought
"Judson McClendon&qu  2008-04-09 17:20:01 
Re: 1980 Basic Sought
ArarghMail804NOSPAM@[EMAI  2008-04-09 18:58:15 
Re: 1980 Basic Sought
"Judson McClendon&qu  2008-04-10 09:20:41 
Re: 1980 Basic Sought
ArarghMail804NOSPAM@[EMAI  2008-04-10 21:54:34 
Re: 1980 Basic Sought
"R.Nicholson" &  2008-04-08 21:51:43 
Re: 1980 Basic Sought
ArarghMail804NOSPAM@[EMAI  2008-04-09 02:52:08 
Re: 1980 Basic Sought
"Bill Leary" &l  2008-04-09 07:02:03 
Re: 1980 Basic Sought
ArarghMail804NOSPAM@[EMAI  2008-04-09 07:22:45 
Re: 1980 Basic Sought
"Judson McClendon&qu  2008-04-09 08:35:22 
Re: 1980 Basic Sought
ArarghMail804NOSPAM@[EMAI  2008-04-09 09:21:04 
Re: 1980 Basic Sought
"Judson McClendon&qu  2008-04-09 10:01:21 
Re: 1980 Basic Sought
"Bill Leary" &l  2008-04-10 01:17:20 
Re: 1980 Basic Sought
"Judson McClendon&qu  2008-03-14 09:32:59 
Re: 1980 Basic Sought
Charmed Snark <snark@[  2008-03-14 16:04:19 
Re: 1980 Basic Sought
"Judson McClendon&qu  2008-03-14 13:49:57 
Re: 1980 Basic Sought
Charmed Snark <snark@[  2008-03-15 04:11:49 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Fri Jul 25 20:24:27 CDT 2008.