[prev in list] [next in list] [prev in thread] [next in thread] 

List:       nsbasic-palm
Subject:    RE: [nsbasic-palm] Re: Database array
From:       email () mverive ! com
Date:       2008-10-18 20:41:30
Message-ID: 20081018134130.8f7e0ac589efc385b41c371eccc81b85.352affa000.wbe () email ! secureserver ! net
[Download RAW message or body]

"Experience is the toughest teacher.  She gives the test first, and the
lesson later!"

You're not likely to forget the lesson about using a base of 1 for
NSBasic arrays.

However, please heed the advice regarding proper handling of
keyed-databases, or you'll likely run into a lot of trouble later...

Mike Verive

> -------- Original Message --------
> Subject: [nsbasic-palm] Re: Database array
> From: "pivic_o" <pmc696@hotmail.com>
> Date: Wed, October 15, 2008 9:42 am
> To: nsbasic-palm@yahoogroups.com
> 
> 
> Hello,
> 
> I've found my error !! 
> The thing is that I'm used to work on microcontroller in C language.
> The problem came from the way I was using the arrays!! 
> In the microcontroller if you create an array(10) you write in the
> fields from array(0) to array(9). In plam you can't, if you write in
> array(0) the palm crashes.....
> 
> So now i'm using a big array with 53 fields and save/load it in a
> keyed database. It works fine.
> 
> Thanks anyway.
> 
> 
>  
> > --- In nsbasic-palm@yahoogroups.com, email@ wrote:
> > >
> > > > I've tried to use dbPosition + dbGet and dbPut on my Keyed
> > database. But
> > > > now it seems that my database is not keyed anymore...
> > > 
> > > Your database isn't keyed anymore because you're overwriting your keys
> > > with your dbPut statements.
> > > 
> > > > dbOpen( dbName, "db_Name", 0)
> > > > dbInsert(dbName,key.text)
> > > > For i=2 to 54
> > > >     dbPosition(dbName,i,0)
> > > >     dbput(dbName,"NO")
> > > > Next
> > > > dbclose(dbName)
> > > 
> > > This code above has just written the word "NO" as the first field of
> > > records 2 through 54.  Keyed databases MUST have unique keys in each
> > > record.
> > > 
> > > > 
> > > > dbOpen( dbName, "db_Name", 0)
> > > > dbInsert(dbName,key2.text)
> > > > For i=2 to 54
> > > >     dbPosition(dbName,i,0)
> > > >     dbput(dbName,"OK")
> > > > Next
> > > > dbclose(dbName)
> > > 
> > > And now you've written the word "OK" in the first field.
> > > 
> > > > And normaly to do a list of the keys I write:
> > > > 
> > > > dbOpen( dbName, "db_Name", 0)
> > > > dbreset(dbName)
> > > > puProfile.Clear
> > > > Do
> > > >          iError = dbreadnext(dbName,theKey)
> > > >          Select Case iError
> > > >              Case 0
> > > >                  puProfile.Add theKey
> > > >              Case Else
> > > >                  Exit Do
> > > >          End Select
> > > >   Loop
> > > > dbclose(dbName)
> > > > 
> > > > Before, when i didn't use dbPut, puProfile was grouping all my
> > Keys but
> > > > now I have all the date inside the database....
> > > > Do I make sense?
> > > > 
> > > > Any idea how I can fix it?
> > > 
> > > Stop overwriting your keys using dbPut.  Remember, the first field is
> > > the key field.  Using dbPosition with an offset of 0 bytes causes the
> > > next dbPut to write at the beginning of the record, which is the key. 
> > > Remember, keys MUST be unique for databases to be accessible using
> keyed
> > > methods.
> > > 
> > > Mike Verive
> > > 
> > > 
> > > > 
> > > > Thanks.
> > > > 
> > > > --- In nsbasic-palm@yahoogroups.com, email@ wrote:
> > > > >
> > > > > You *could* use a loop to "read up" to a given record, but it's
> > > > > unnecessary, since dbPosition allows you to specify the record
> > number
> > > > > directly.  If you don't know the record number, but have the
> > key, you
> > > > > can use DBLib functions to return the record number for a
> given key.
> > > > > Note that there are different functions, based on the data
> type for
> > > > the
> > > > > key (string, integer, etc.).
> > > > >
> > > > > By the way, the reasons dbReadNext probably didn't work
> include not
> > > > > using dbReset prior to starting the loop (dbReadNext doesn't
> > > > > automatically start with the first record), and the fact that you
> > > > follow
> > > > > dbReadNext immediately with dbGet, which would start reading
> at the
> > > > > *next* record, and not the record in question.
> > > > >
> > > > > Mike Verive
> > > > >
> > > > > > -------- Original Message --------
> > > > > > Subject: [nsbasic-palm] Re: Database array
> > > > > > From: "pivic_o" pmc696@
> > > > > > Date: Fri, September 19, 2008 4:31 am
> > > > > > To: nsbasic-palm@yahoogroups.com
> > > > > >
> > > > > >
> > > > > > Hello,
> > > > > > I thought I was able to go to the "position" that I want with
> > > > dbReadnext
> > > > > > and then dbPut or dbGet the data into the database at the latest
> > > > > > location:
> > > > > >
> > > > > >     For i=0 to (value btw 1 and 53) STEP 1
> > > > > >          dbReadnext(dbName,dbUser)
> > > > > >     Next
> > > > > >
> > > > > >      dbget(dbName,sTempString(1))
> > > > > >      dbReadnext(dbName,dbUser)
> > > > > >      dbget(dbName,sTempString(2))
> > > > > >
> > > > > > But it doesn't seem to work...
> > > > > >
> > > > > > Is there any simple way to do it?
> > > > > >
> > > > > > Thanks.
> > > > > >
> > > > > >
> > > > > > > You can use dbPut with either keyed or non-keyed
> databases.  The
> > > > dbPut
> > > > > > > function merely writes data at a predetermined record
> number and
> > > > > > offset,
> > > > > > > usually by using dbPosition to set the record number and
> offset
> > > > into
> > > > > > the
> > > > > > > record (using an offset of 0 if you are starting with the
> first
> > > > > > field).
> > > > > > >
> > > > > > > The main difference between keyed and non-keyed access is
> in how
> > > > you
> > > > > > > structure the database.  Keyed access uses a binary-search
> > > > algorithm
> > > > > > to
> > > > > > > locate records according to their keys, so databases that
> are to
> > > > be
> > > > > > > accessed/manipulated using keyed methods (dbFind, dbInsert,
> > > > dbUpdate,
> > > > > > > dbDelete, dbRead) need to follow a few simple rules:
> > > > > > >
> > > > > > > 1.  The first field of each record is used as the key
> > > > > > > 2.  Data types for keys must be the same for all records
> in the
> > > > keyed
> > > > > > > database
> > > > > > > 3.  Keys must be unique (no two records in a keyed
> database can
> > > > have
> > > > > > the
> > > > > > > same key)
> > > > > > > 4.  Records must be arranged in ascending sequence by key
> > > > > > >
> > > > > > > Note that if you are *only* using NSBasic's keyed methods to
> > > > create
> > > > > > and
> > > > > > > manipulate the database, NSBasic keeps the records in the
> > correct
> > > > > > > sequence automatically, and doesn't allow duplicate keys. 
> > If you
> > > > are
> > > > > > > going to use non-keyed methods to write to the database
> > > > (dbPosition
> > > > > > and
> > > > > > > dbPut), you run the risk of corrupting the database if you
> don't
> > > > > > follow
> > > > > > > the rules.
> > > > > > >
> > > > > > > I hope this helps.  Database access (keyed and non-keyed)
> > can be a
> > > > bit
> > > > > > > tricky until you get the hang of it, but once you really
> > > > understand
> > > > > > it,
> > > > > > > it's quite simple.
> > > > > > >
> > > > > > > Mike Verive
> > > > > > >
> > > > >
> > >
> >


[Attachment #3 (text/html)]

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" \
"http://www.w3.org/TR/html4/strict.dtd"> <html>
<head>
</head>




<body style="background-color: #ffffff;">

<!--~-|**|PrettyHtmlStartT|**|-~-->
<div id="ygrp-mlmsg" style="width:655px; position:relative;">
<div id="ygrp-msg" style="width: 470px; margin:0; padding:0 25px 0 0; float:left; \
z-index:1;"> <!--~-|**|PrettyHtmlEndT|**|-~-->

    <div id="ygrp-text">
            <p>&quot;Experience is the toughest teacher.  She gives the test first, \
and the<br> lesson later!&quot;<br>
<br>
You're not likely to forget the lesson about using a base of 1 for<br>
NSBasic arrays.<br>
<br>
However, please heed the advice regarding proper handling of<br>
keyed-databases, or you'll likely run into a lot of trouble later...<br>
<br>
Mike Verive<br>
<br>
&gt; -------- Original Message --------<br>
&gt; Subject: [nsbasic-palm] Re: Database array<br>
&gt; From: &quot;pivic_o&quot; &lt;<a \
href="mailto:pmc696%40hotmail.com">pmc696@hotmail.<wbr>com</a>&gt;<br> &gt; Date: \
Wed, October 15, 2008 9:42 am<br> &gt; To: <a \
href="mailto:nsbasic-palm%40yahoogroups.com">nsbasic-palm@<wbr>yahoogroups.<wbr>com</a><br>
 &gt; <br>
&gt; <br>
&gt; Hello,<br>
&gt; <br>
&gt; I've found my error !! <br>
&gt; The thing is that I'm used to work on microcontroller in C language.<br>
&gt; The problem came from the way I was using the arrays!! <br>
&gt; In the microcontroller if you create an array(10) you write in the<br>
&gt; fields from array(0) to array(9). In plam you can't, if you write in<br>
&gt; array(0) the palm crashes.....<br>
&gt; <br>
&gt; So now i'm using a big array with 53 fields and save/load it in a<br>
&gt; keyed database. It works fine.<br>
&gt; <br>
&gt; Thanks anyway.<br>
&gt; <br>
&gt; <br>
&gt;  <br>
&gt; &gt; --- In <a href="mailto:nsbasic-palm%40yahoogroups.com">nsbasic-palm@<wbr>yahoogroups.<wbr>com</a>, \
email@ wrote:<br> &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; I've tried to use dbPosition + dbGet and dbPut on my Keyed<br>
&gt; &gt; database. But<br>
&gt; &gt; &gt; &gt; now it seems that my database is not keyed anymore...<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; Your database isn't keyed anymore because you're overwriting your \
keys<br> &gt; &gt; &gt; with your dbPut statements.<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; dbOpen( dbName, &quot;db_Name&quot;, 0)<br>
&gt; &gt; &gt; &gt; dbInsert(dbName,<wbr>key.text)<br>
&gt; &gt; &gt; &gt; For i=2 to 54<br>
&gt; &gt; &gt; &gt;     dbPosition(dbName,<wbr>i,0)<br>
&gt; &gt; &gt; &gt;     dbput(dbName,<wbr>&quot;NO&quot;)<br>
&gt; &gt; &gt; &gt; Next<br>
&gt; &gt; &gt; &gt; dbclose(dbName)<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; This code above has just written the word &quot;NO&quot; as the first \
field of<br> &gt; &gt; &gt; records 2 through 54.  Keyed databases MUST have unique \
keys in each<br> &gt; &gt; &gt; record.<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; dbOpen( dbName, &quot;db_Name&quot;, 0)<br>
&gt; &gt; &gt; &gt; dbInsert(dbName,<wbr>key2.text)<br>
&gt; &gt; &gt; &gt; For i=2 to 54<br>
&gt; &gt; &gt; &gt;     dbPosition(dbName,<wbr>i,0)<br>
&gt; &gt; &gt; &gt;     dbput(dbName,<wbr>&quot;OK&quot;)<br>
&gt; &gt; &gt; &gt; Next<br>
&gt; &gt; &gt; &gt; dbclose(dbName)<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; And now you've written the word &quot;OK&quot; in the first field.<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; And normaly to do a list of the keys I write:<br>
&gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; dbOpen( dbName, &quot;db_Name&quot;, 0)<br>
&gt; &gt; &gt; &gt; dbreset(dbName)<br>
&gt; &gt; &gt; &gt; puProfile.Clear<br>
&gt; &gt; &gt; &gt; Do<br>
&gt; &gt; &gt; &gt;          iError = dbreadnext(dbName,<wbr>theKey)<br>
&gt; &gt; &gt; &gt;          Select Case iError<br>
&gt; &gt; &gt; &gt;              Case 0<br>
&gt; &gt; &gt; &gt;                  puProfile.Add theKey<br>
&gt; &gt; &gt; &gt;              Case Else<br>
&gt; &gt; &gt; &gt;                  Exit Do<br>
&gt; &gt; &gt; &gt;          End Select<br>
&gt; &gt; &gt; &gt;   Loop<br>
&gt; &gt; &gt; &gt; dbclose(dbName)<br>
&gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; Before, when i didn't use dbPut, puProfile was grouping all \
my<br> &gt; &gt; Keys but<br>
&gt; &gt; &gt; &gt; now I have all the date inside the database....<br>
&gt; &gt; &gt; &gt; Do I make sense?<br>
&gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; Any idea how I can fix it?<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; Stop overwriting your keys using dbPut.  Remember, the first field \
is<br> &gt; &gt; &gt; the key field.  Using dbPosition with an offset of 0 bytes \
causes the<br> &gt; &gt; &gt; next dbPut to write at the beginning of the record, \
which is the key. <br> &gt; &gt; &gt; Remember, keys MUST be unique for databases to \
be accessible using<br> &gt; keyed<br>
&gt; &gt; &gt; methods.<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; Mike Verive<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; Thanks.<br>
&gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; --- In <a \
href="mailto:nsbasic-palm%40yahoogroups.com">nsbasic-palm@<wbr>yahoogroups.<wbr>com</a>, \
email@ wrote:<br> &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; You *could* use a loop to &quot;read up&quot; to a given \
record, but it's<br> &gt; &gt; &gt; &gt; &gt; unnecessary, since dbPosition allows \
you to specify the record<br> &gt; &gt; number<br>
&gt; &gt; &gt; &gt; &gt; directly.  If you don't know the record number, but have \
the<br> &gt; &gt; key, you<br>
&gt; &gt; &gt; &gt; &gt; can use DBLib functions to return the record number for \
a<br> &gt; given key.<br>
&gt; &gt; &gt; &gt; &gt; Note that there are different functions, based on the \
data<br> &gt; type for<br>
&gt; &gt; &gt; &gt; the<br>
&gt; &gt; &gt; &gt; &gt; key (string, integer, etc.).<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; By the way, the reasons dbReadNext probably didn't work<br>
&gt; include not<br>
&gt; &gt; &gt; &gt; &gt; using dbReset prior to starting the loop (dbReadNext \
doesn't<br> &gt; &gt; &gt; &gt; &gt; automatically start with the first record), and \
the fact that you<br> &gt; &gt; &gt; &gt; follow<br>
&gt; &gt; &gt; &gt; &gt; dbReadNext immediately with dbGet, which would start \
reading<br> &gt; at the<br>
&gt; &gt; &gt; &gt; &gt; *next* record, and not the record in question.<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; Mike Verive<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; -------- Original Message --------<br>
&gt; &gt; &gt; &gt; &gt; &gt; Subject: [nsbasic-palm] Re: Database array<br>
&gt; &gt; &gt; &gt; &gt; &gt; From: &quot;pivic_o&quot; pmc696@<br>
&gt; &gt; &gt; &gt; &gt; &gt; Date: Fri, September 19, 2008 4:31 am<br>
&gt; &gt; &gt; &gt; &gt; &gt; To: <a \
href="mailto:nsbasic-palm%40yahoogroups.com">nsbasic-palm@<wbr>yahoogroups.<wbr>com</a><br>
 &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; Hello,<br>
&gt; &gt; &gt; &gt; &gt; &gt; I thought I was able to go to the &quot;position&quot; \
that I want with<br> &gt; &gt; &gt; &gt; dbReadnext<br>
&gt; &gt; &gt; &gt; &gt; &gt; and then dbPut or dbGet the data into the database at \
the latest<br> &gt; &gt; &gt; &gt; &gt; &gt; location:<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt;     For i=0 to (value btw 1 and 53) STEP 1<br>
&gt; &gt; &gt; &gt; &gt; &gt;          dbReadnext(dbName,<wbr>dbUser)<br>
&gt; &gt; &gt; &gt; &gt; &gt;     Next<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt;      dbget(dbName,<wbr>sTempString(<wbr>1))<br>
&gt; &gt; &gt; &gt; &gt; &gt;      dbReadnext(dbName,<wbr>dbUser)<br>
&gt; &gt; &gt; &gt; &gt; &gt;      dbget(dbName,<wbr>sTempString(<wbr>2))<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; But it doesn't seem to work...<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; Is there any simple way to do it?<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; Thanks.<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; You can use dbPut with either keyed or \
non-keyed<br> &gt; databases.  The<br>
&gt; &gt; &gt; &gt; dbPut<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; function merely writes data at a predetermined \
record<br> &gt; number and<br>
&gt; &gt; &gt; &gt; &gt; &gt; offset,<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; usually by using dbPosition to set the record \
number and<br> &gt; offset<br>
&gt; &gt; &gt; &gt; into<br>
&gt; &gt; &gt; &gt; &gt; &gt; the<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; record (using an offset of 0 if you are starting \
with the<br> &gt; first<br>
&gt; &gt; &gt; &gt; &gt; &gt; field).<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; The main difference between keyed and non-keyed \
access is<br> &gt; in how<br>
&gt; &gt; &gt; &gt; you<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; structure the database.  Keyed access uses a \
binary-search<br> &gt; &gt; &gt; &gt; algorithm<br>
&gt; &gt; &gt; &gt; &gt; &gt; to<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; locate records according to their keys, so \
databases that<br> &gt; are to<br>
&gt; &gt; &gt; &gt; be<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; accessed/manipulate<wbr>d using keyed methods \
(dbFind, dbInsert,<br> &gt; &gt; &gt; &gt; dbUpdate,<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; dbDelete, dbRead) need to follow a few simple \
rules:<br> &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; 1.  The first field of each record is used as the \
key<br> &gt; &gt; &gt; &gt; &gt; &gt; &gt; 2.  Data types for keys must be the same \
for all records<br> &gt; in the<br>
&gt; &gt; &gt; &gt; keyed<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; database<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; 3.  Keys must be unique (no two records in a \
keyed<br> &gt; database can<br>
&gt; &gt; &gt; &gt; have<br>
&gt; &gt; &gt; &gt; &gt; &gt; the<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; same key)<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; 4.  Records must be arranged in ascending sequence \
by key<br> &gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; Note that if you are *only* using NSBasic's keyed \
methods to<br> &gt; &gt; &gt; &gt; create<br>
&gt; &gt; &gt; &gt; &gt; &gt; and<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; manipulate the database, NSBasic keeps the records \
in the<br> &gt; &gt; correct<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; sequence automatically, and doesn't allow \
duplicate keys. <br> &gt; &gt; If you<br>
&gt; &gt; &gt; &gt; are<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; going to use non-keyed methods to write to the \
database<br> &gt; &gt; &gt; &gt; (dbPosition<br>
&gt; &gt; &gt; &gt; &gt; &gt; and<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; dbPut), you run the risk of corrupting the \
database if you<br> &gt; don't<br>
&gt; &gt; &gt; &gt; &gt; &gt; follow<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; the rules.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; I hope this helps.  Database access (keyed and \
non-keyed)<br> &gt; &gt; can be a<br>
&gt; &gt; &gt; &gt; bit<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; tricky until you get the hang of it, but once you \
really<br> &gt; &gt; &gt; &gt; understand<br>
&gt; &gt; &gt; &gt; &gt; &gt; it,<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; it's quite simple.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt; Mike Verive<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt;<br>
<br>
</p>
    </div>  

    <!--~-|**|PrettyHtmlStart|**|-~-->
    <span width="1" style="color: white;">__._,_.___</span>
    <!-- Start the section with Message In topic -->
    <div id="ygrp-actbar">
              <span class="left">
          <a href="http://groups.yahoo.com/group/nsbasic-palm/message/44450;_ylc=X3oDM \
TM2ZjFwbXZoBF9TAzk3MzU5NzE0BGdycElkAzIwMTk3NTUEZ3Jwc3BJZAMxNzA1MDA2NzY1BG1zZ0lkAzU2NTI3BHNlYwNmdHIEc2xrA3Z0cGMEc3RpbWUDMTIyNDM2MjQ5NQR0cGNJZAM0NDQ1MA--">
                
            Messages in this topic          </a> (<span class="bld">25</span>)
        </span>
        <a href="http://groups.yahoo.com/group/nsbasic-palm/post;_ylc=X3oDMTJxazdvZXRl \
BF9TAzk3MzU5NzE0BGdycElkAzIwMTk3NTUEZ3Jwc3BJZAMxNzA1MDA2NzY1BG1zZ0lkAzU2NTI3BHNlYwNmdHIEc2xrA3JwbHkEc3RpbWUDMTIyNDM2MjQ5NQ--?act=reply&messageNum=56527">
  <span class="bld">
            Reply          </span> (via web post)
        </a>  | 
        <a href="http://groups.yahoo.com/group/nsbasic-palm/post;_ylc=X3oDMTJldm04Z2Ju \
BF9TAzk3MzU5NzE0BGdycElkAzIwMTk3NTUEZ3Jwc3BJZAMxNzA1MDA2NzY1BHNlYwNmdHIEc2xrA250cGMEc3RpbWUDMTIyNDM2MjQ5NQ--" \
class="bld">  Start a new topic        </a>
          </div> 
    <!-------     Start Nav Bar  ------>
    <!-- |**|begin egp html banner|**| -->
    <div id="ygrp-vitnav">
                <a href="http://groups.yahoo.com/group/nsbasic-palm/messages;_ylc=X3oD \
MTJlc3ZkMDVjBF9TAzk3MzU5NzE0BGdycElkAzIwMTk3NTUEZ3Jwc3BJZAMxNzA1MDA2NzY1BHNlYwNmdHIEc2xrA21zZ3MEc3RpbWUDMTIyNDM2MjQ5NQ--">Messages</a> \
  |    <a href="http://groups.yahoo.com/group/nsbasic-palm/files;_ylc=X3oDMTJmcGwwdWFy \
BF9TAzk3MzU5NzE0BGdycElkAzIwMTk3NTUEZ3Jwc3BJZAMxNzA1MDA2NzY1BHNlYwNmdHIEc2xrA2ZpbGVzBHN0aW1lAzEyMjQzNjI0OTU-">Files</a> \
  |    <a href="http://groups.yahoo.com/group/nsbasic-palm/photos;_ylc=X3oDMTJlMnBqa3R \
oBF9TAzk3MzU5NzE0BGdycElkAzIwMTk3NTUEZ3Jwc3BJZAMxNzA1MDA2NzY1BHNlYwNmdHIEc2xrA3Bob3QEc3RpbWUDMTIyNDM2MjQ5NQ--">Photos</a> \
  |    <a href="http://groups.yahoo.com/group/nsbasic-palm/links;_ylc=X3oDMTJmZWwzbWJz \
BF9TAzk3MzU5NzE0BGdycElkAzIwMTk3NTUEZ3Jwc3BJZAMxNzA1MDA2NzY1BHNlYwNmdHIEc2xrA2xpbmtzBHN0aW1lAzEyMjQzNjI0OTU-">Links</a> \
  
        
        
        
    </div>  
    <!-- |**|end egp html banner|**| -->

                <div id="ygrp-grft">
                  
<!-- |**|begin egp html banner|**| -->

          <BR>
Complete Searchable Archive:<BR>
 <a href="http://marc.theaimsgroup.com/?l=nsbasic-palm&r=1&w=2">http://marc.theaimsgroup.com/?l=nsbasic-palm&amp;r=1&amp;w=2</a><BR>
 <BR>
Shortcut URL to this page:<BR>
 <a href="http://groups.yahoo.com/group/nsbasic-palm">http://groups.yahoo.com/group/nsbasic-palm</a> \
 <!-- |**|end egp html banner|**| -->

              </div>
    
    <!-- yahoo logo -->
    <!-- |**|begin egp html banner|**| -->
    <div id="ygrp-ft">
      <a href="http://groups.yahoo.com/;_ylc=X3oDMTJkcHIwMmF1BF9TAzk3MzU5NzE0BGdycElkA \
                zIwMTk3NTUEZ3Jwc3BJZAMxNzA1MDA2NzY1BHNlYwNmdHIEc2xrA2dmcARzdGltZQMxMjI0MzYyNDk1">
                
      <img src="http://us.i1.yimg.com/us.yimg.com/i/yg/img/logo/ma_grp_160.gif" \
height="15" width="106" border="0" alt="Yahoo! Groups"></a> <br>  <a \
href="http://groups.yahoo.com/group/nsbasic-palm/join;_ylc=X3oDMTJmc3M1ZzZpBF9TAzk3MzU \
5NzE0BGdycElkAzIwMTk3NTUEZ3Jwc3BJZAMxNzA1MDA2NzY1BHNlYwNmdHIEc2xrA3N0bmdzBHN0aW1lAzEyMjQzNjI0OTU-">Change \
settings via the Web</a> (Yahoo! ID required) <br>  Change settings via email: <a \
href="mailto:nsbasic-palm-digest@yahoogroups.com?subject=Email Delivery: \
Digest">Switch delivery to Daily Digest</a> | <a href = \
"mailto:nsbasic-palm-traditional@yahoogroups.com?subject=Change Delivery Format: \
Traditional">Switch format to Traditional</a> <br>

      <a href="http://groups.yahoo.com/group/nsbasic-palm;_ylc=X3oDMTJkamQzdGk0BF9TAzk \
3MzU5NzE0BGdycElkAzIwMTk3NTUEZ3Jwc3BJZAMxNzA1MDA2NzY1BHNlYwNmdHIEc2xrA2hwZgRzdGltZQMxMjI0MzYyNDk1">
  Visit Your Group 
      </a> |
      <a href="http://docs.yahoo.com/info/terms/">
        Yahoo! Groups Terms of Use      </a> |
      <a href="mailto:nsbasic-palm-unsubscribe@yahoogroups.com?subject=">
        Unsubscribe      </a> 
    </div>     <!-- |**|end egp html banner|**| -->
  </div> <!-- ygrp-msg -->

  
  <!-- Sponsor -->
  <!-- |**|begin egp html banner|**| -->
  <div id="ygrp-sponsor" style="width:160px; float:right; clear:none; margin:0 0 25px \
0; background:white;">  <!-- Network content -->
    
<!-- Start Recommendations -->
<div id="ygrp-reco">
     </div>
<!-- End Recommendations -->

	    <!-- Start vitality -->
	    <div id="ygrp-vital">
	      		<div id="vithd">Recent Activity</div>
		<ul style="list-style-type:none; padding: 0; margin: 2px 0;">
		        <li style="clear: both;">
      <div class="ct" style="float: right;"><span \
style="display:none">&nbsp;</span>1</div>  <div class="cat"><a \
href="http://groups.yahoo.com/group/nsbasic-palm/members;_ylc=X3oDMTJmbDRocjhkBF9TAzk3 \
MzU5NzE0BGdycElkAzIwMTk3NTUEZ3Jwc3BJZAMxNzA1MDA2NzY1BHNlYwN2dGwEc2xrA3ZtYnJzBHN0aW1lAzEyMjQzNjI0OTU-">New \
Members</a></div>  </li>
  
		    
		    
		    
		    
		    
		</ul>
	      	      <a href="http://groups.yahoo.com/group/nsbasic-palm;_ylc=X3oDMTJlM2YwN2N \
jBF9TAzk3MzU5NzE0BGdycElkAzIwMTk3NTUEZ3Jwc3BJZAMxNzA1MDA2NzY1BHNlYwN2dGwEc2xrA3ZnaHAEc3RpbWUDMTIyNDM2MjQ5NQ--">
  Visit Your Group	      </a>
	    </div> 
	    	    	      
	    <!-- Network content -->
	    	          <div id="nc">
              <div class="ad">
                      <div id="hd1">Yahoo! Finance</div> 
<p><a href="http://us.ard.yahoo.com/SIG=13o4v9e6h/M=493064.12016257.12445664.8674578/D \
=groups/S=1705006765:NC/Y=YAHOO/EXP=1224369696/L=/B=4mjJIELaX.U-/J=1224362496182386/A= \
4507179/R=0/SIG=12de4rskk/*http://us.rd.yahoo.com/evt=50284/*http://finance.yahoo.com/personal-finance">It's \
Now Personal</a></p>  <p>Guides, news,</p> 
<p>advice & more.</p>                   </div>
                    <div class="ad">
                      <div id="hd1">Search Ads</div> 
<p><a href="http://us.ard.yahoo.com/SIG=13o1118so/M=493064.12016308.12445700.8674578/D \
=groups/S=1705006765:NC/Y=YAHOO/EXP=1224369696/L=/B=42jJIELaX.U-/J=1224362496182386/A= \
3848641/R=0/SIG=1312g85fq/*http://searchmarketing.yahoo.com/arp/srchv2.php?o=US2003&cmp=Yahoo&ctv=Groups2&s=Y&s2=&s3=&b=50">Get \
new customers.</a></p>  <p>List your web site</p> 
<p>in Yahoo! Search.</p>                  </div>
                    <div class="ad">
                      <div id="hd1">Y! Groups blog</div> 
<p><a href="http://us.ard.yahoo.com/SIG=13ot1f4di/M=493064.12016258.12582637.8674578/D \
=groups/S=1705006765:NC/Y=YAHOO/EXP=1224369696/L=/B=5GjJIELaX.U-/J=1224362496182386/A=5191953/R=0/SIG=112mhte3e/*http://www.ygroupsblog.com/blog/">The \
place to go</a></p>  <p>to stay informed</p> 
<p>on Groups news!</p>                  </div>
          </div>
	    
	  </div> 	  <!-- |**|end egp html banner|**| -->
	  <div style="clear:both; color: #FFF; font-size:1px;">.</div>
	</div> 		  <img src="http://geo.yahoo.com/serv?s=97359714/grpId=2019755/grpspId=1705006765/msgId=56527/stime=1224362495/nc1=4507179/nc2=3848641/nc3=5191953" \
width="1" height="1"> <br>  
	<span  style="color: white;">__,_._,___</span>
	<!--~-|**|PrettyHtmlEnd|**|-~-->
	</body>
	<!--~-|**|PrettyHtmlStart|**|-~-->
	<head>
<style type="text/css">
<!--
#ygrp-mkp{
  border: 1px solid #d8d8d8;
  font-family: Arial;
  margin: 14px 0px;
  padding: 0px 14px;
}
#ygrp-mkp hr{
  border: 1px solid #d8d8d8;
}
#ygrp-mkp #hd{
  color: #628c2a;
  font-size: 85%;
  font-weight: bold;
  line-height: 122%;
  margin: 10px 0px;
}
#ygrp-mkp #ads{
  margin-bottom: 10px;
}
#ygrp-mkp .ad{
  padding: 0 0;
}
#ygrp-mkp .ad a{
  color: #0000ff;
  text-decoration: none;
}
-->
</style>
</head>
	<head>
<style type="text/css">
<!--
#ygrp-sponsor #ygrp-lc{
  font-family: Arial;
}
#ygrp-sponsor #ygrp-lc #hd{
  margin: 10px 0px;
  font-weight: bold;
  font-size: 78%;
  line-height: 122%;
}
#ygrp-sponsor #ygrp-lc .ad{
  margin-bottom: 10px;
  padding: 0 0;
}
-->
</style>
</head>
	<head>
	<style type="text/css">
	<!--
	#ygrp-mlmsg {font-size:13px; font-family: \
arial,helvetica,clean,sans-serif;*font-size:small;*font:x-small;}  #ygrp-mlmsg table \
{font-size:inherit;font:100%;}  #ygrp-mlmsg select, input, textarea {font:99% \
arial,helvetica,clean,sans-serif;}  #ygrp-mlmsg pre, code {font:115% \
monospace;*font-size:100%;}  #ygrp-mlmsg * {line-height:1.22em;}
	#ygrp-text{
	    font-family: Georgia;	
	}
	#ygrp-text p{
	    margin: 0 0 1em 0;
	}
	#ygrp-tpmsgs{
	    font-family: Arial;	
	    clear: both;
	}
	#ygrp-vitnav{
		padding-top: 10px;
		font-family: Verdana;
		font-size: 77%;
		margin: 0;
	}
	#ygrp-vitnav a{
		padding: 0 1px;
	}
	#ygrp-actbar{
		clear: both;
		margin: 25px 0;
		white-space:nowrap;
		color: #666;
		text-align: right;
	}
	#ygrp-actbar .left{
		float: left;
		white-space:nowrap;
	}
	.bld{font-weight:bold;}
	#ygrp-grft{
		font-family: Verdana;
		font-size: 77%;
		padding: 15px 0;
	}
	#ygrp-ft{
	  font-family: verdana;
	  font-size: 77%;
	  border-top: 1px solid #666; 
	  padding: 5px 0; 
	}
	#ygrp-mlmsg #logo{
	  padding-bottom: 10px;
	}

	#ygrp-reco {
	margin-bottom: 20px;
	padding: 0px;
	}
	#ygrp-reco #reco-head {
		font-weight: bold;
		color: #ff7900;
	}

	#reco-grpname{
        font-weight: bold;
        margin-top: 10px;
  	}
	#reco-category{
        	font-size: 77%;
	}
	#reco-desc{
        	font-size: 77%;
	}

	#ygrp-vital{
		background-color: #e0ecee;
		margin-bottom: 20px;
		padding: 2px 0 8px 8px;
	}
	#ygrp-vital #vithd{
		font-size: 77%;
		font-family: Verdana;
		font-weight: bold;
		color: #333;
		text-transform: uppercase;
	}
	#ygrp-vital ul{
		padding: 0;
		margin: 2px 0;
	}
	#ygrp-vital ul li{
	  list-style-type: none;
	  clear: both;
	  border: 1px solid #e0ecee;  
	}
	#ygrp-vital ul li .ct{
	  font-weight: bold;
	  color: #ff7900;
	  float: right;
	  width: 2em;
	  text-align:right;
	  padding-right: .5em;
	}
	#ygrp-vital ul li .cat{
	  font-weight: bold;
	}
	#ygrp-vital a{
		text-decoration: none;
	}

	#ygrp-vital a:hover{
	  text-decoration: underline;
	}

	#ygrp-sponsor #hd{
		color: #999;
		font-size: 77%;
	}
	#ygrp-sponsor #ov{
		padding: 6px 13px;
		background-color: #e0ecee;
		margin-bottom: 20px;
	}
	#ygrp-sponsor #ov ul{
		padding: 0 0 0 8px;
		margin: 0;
	}
	#ygrp-sponsor #ov li{
		list-style-type: square;
		padding: 6px 0;
		font-size: 77%;
	}
	#ygrp-sponsor #ov li a{
		text-decoration: none;
		font-size: 130%;
	}
	#ygrp-sponsor #nc{
	  background-color: #eee;
	  margin-bottom: 20px;
	  padding: 0 8px;
	}
	#ygrp-sponsor .ad{
		padding: 8px 0;
	}
	#ygrp-sponsor .ad #hd1{
		font-family: Arial;
		font-weight: bold;
		color: #628c2a;
		font-size: 100%;
		line-height: 122%;
	}
	#ygrp-sponsor .ad a{
		text-decoration: none;
	}
	#ygrp-sponsor .ad a:hover{
		text-decoration: underline;
	}
	#ygrp-sponsor .ad p{
		margin: 0;
	}
	o{font-size: 0; }
	.MsoNormal{
	   margin: 0 0 0 0;
	}
	#ygrp-text tt{
	  font-size: 120%;
	}
	blockquote{margin: 0 0 0 4px;}
	.replbq{margin:4}
	-->
	</style>
	</head>
	<!--~-|**|PrettyHtmlEnd|**|-~-->
	</html><!--End group email -->



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic