Hi Sunil suggested I should ask for help on the forum. I have a password protected Ebook and would like to have an Activ Script that expires the ebook 30 days after it is first opened with the password. I know some html and php, etc, but unfortunately I have no experience at all of Activ Scripts, either how to write them or implement them. Is there anybody who could give me some advice please? Thanks a lot Colin
Posted on: 6:19 pm on March 31, 2004
Colin
I've been hoping some kind person would reply... :-) Can't anybody give me a hand, please? I'd be really grateful.
Colin
Posted on: 6:54 pm on April 13, 2004
JRSnottingham
Isn't this already a feature in Activ? I haven't the software help files to hand, but as I recall one may set a time period for an e-book to expire. Or is this only for non-password protected books? If so, apologise.
hope this helps.
Posted on: 7:14 pm on April 13, 2004
Colin
Yes, it's only for non-password protected ebooks. I know that it's possible with an Activ script to set an expiry time also for password-protected books but I don't know how to do Activ scripts. I'm still hoping someone can help. Thanks anyway for replying.
Posted on: 11:29 pm on April 13, 2004
EBookCompiler
Colin, with all due respect, I think part of the problem, is that nobody other than you, including me, is entirely sure (in detail) what you want to happen, i.e. what the user sees or what the process is. A simple clear restate
I'm thinking you a password protected ebook which runs for a limited time, then exits (?) after a set number of days (?) - is that right ?
My basic suggestion if this is correct would be
(a) To use the built-in password feature
(b) To NOT use the built-in expiry feature, instead do this using a script
- In detail
When the ebook is first run on a new PC you record the tme.
Whenever the ebook is run after that you compare the current time to the recorded time. If the expiry period is up, you display a message, exit or whatever
Is this basically what you want?
Posted on: 1:25 am on April 14, 2004
Colin
Hi Sunil. Sorry for all the confusion! Yes, what you suggested is exactly what I need. Could you help me with the script please? Thanks a lot
Colin
Posted on: 9:19 am on April 14, 2004
EBookCompiler
There's some points I'm not clear about - like does it expire on a specific date, or after a time period. Here is a crude version of the latter...
This may not be exactly right, but is close, hopefully you can refine it either on your PC, and/or by discussing it here
1. Create a text file called expire.as (if using Notepad be careful not to accidentally name it expire.as.txt or similar)
2. In Edit Add-Ins, On Start put
#!expire.as
3. Step 1 creates the script. Step tells the ebook to run it whenever it is start
4. In expire.as put something *like* - I haven't tested this so it may contain errors
REM check year is > 2000 IF({nowyear}<2000) MESSAGEBOX('Your clock is wrong') EXIT() ENDIF
REM calculate number of days since Jan 1 2000, * 10000 REM this will break in either 2038, or the 2580s, not sure which
REM julian date * 10000 SET('jd10000', ({yy}*3652500)+({mm}*306001)+({dd}*10000) )
REM julian date SET('jd',{jd10000} / 10000 )
REM get time installed INIREAD('installjd','{esbn}.ini','Install','Date','0')
IF({installjd}=0) REM not installed before - save current time for next time INIWRITE('{jd}', '{esbn}.ini','Install','Date' )
ELSE REM calculate how many days, if > 30, or they installed in the the future (by fiddling their clock) then exit
IF({installjd}>{jd}) MESSAGEBOX('Your clock is wrong') EXIT() ENDIF
SET('howlong',{jd}-{installjd}) IF({howlong}>30) MESSAGEBOX('Sorry, your time is up') EXIT() ENDIF
ENDIF
Posted on: 2:59 pm on April 14, 2004
Colin
Thanks very much Sunil. The script works fine (there was just one extra quote mark in line 11). If I could just ask you one more thing: is it possible to refine the script so that a countdown window appears each time the ebook is opened saying "This ebook will expire in 30 days" (29 days, 28 days, etc)? Thanks again Colin
Posted on: 10:10 am on April 15, 2004
EBookCompiler
Something like, Change
IF({howlong}>30) MESSAGEBOX('Sorry, your time is up') EXIT() ENDIF
to
IF({howlong}>30) MESSAGEBOX('Sorry, your time is up') EXIT() ELSE SET('timeleft',30-{howlong}) MESSAGEBOX('You have {timeleft} day(s) remaining') ENDIF
Posted on: 5:19 pm on April 15, 2004
Colin
That's brilliant Sunil. It works perfectly and is exactly what I needed. Thanks again for all your help. I really do appreciate it.
Colin
Posted on: 5:51 pm on April 15, 2004
jmiguy
How hard would it be to modify this script so you could lock the book if someone buys a password and then asks for a refund?
This way they can't get a free book out of the deal.
With any business, it is up to the individual owner of said business to ensure the success of the business. You may make more or less than any sample figures or results that might be quoted on our web sites or other publications. All business involves risk, and many businesses do not succeed. Further, Answers 2000 Limited does NOT represent that any particular individual or business is typical, or that any results or experiences achieved by any particular individual/business is necessarily typical.
Disclosure:
Our company's websites' content (including this website's content) includes advertisements for
our own company's websites, products, and services,
and for other organization's websites, products, and services.
In the case of links to other organization's websites,
our company may receive a payment, (1) if you purchase products or services,
or (2) if you sign-up for third party offers, after following links from this website.
Unless specifically otherwise stated, information about other organization's products and services,
is based on information provided by that organization,
the product/service vendor, and/or publicly available information - and should
not be taken to mean that we have used the product/service in question.
Additionally, our company's websites contain some adverts which we are paid
to display, but whose content is not selected by us, such as Google AdSense ads. For more
detailed information, please see Advertising/Endorsements Disclosures
Our sites use cookies, some of which may already be set on your computer. Use of our site
constitutes consent for this. For details, please see Privacy.
Click privacy for information about our company's privacy, data collection and data retention policies, and your rights.