*Anyone get the reference? Haha*
Resident Mort
The Scripter's Companion​
Current News / Status:
Resident Mort is currently Under Development
Resident Mort is planned to be a background EXE that will extend the functionality of MortScript available to developers through the usage of the "PostMessage" function.
Resident Mort is planned to extend functionality by adding extra, possibly more complex, functions or even adding in the ability for more complex GUIs.
Features (Green = Implemented, Blue = In Testing, Orange = Planned, Red = Failed):
GetProcessList - Gets a list of Running Programs
GetRecentApps - Gets a list of Recent Apps (10)
CreateScript - Creates a MortScript with the provided info
MakeFile - Makes a file of any kind with the provided info
MakeFolder - Makes a folder at the specified location
RegToEvent - Registers a File to an event​
UnRegFromEvent - Unregisters a File from an event
IsIdEventRegistered - Checks to see if a File is registered to an event.
DispImg - Displays an Image to the screen [and gets where the user Presses]
MakeForm - The Initial call for setting up an 'advanced GUI' form
FormAddObject -A Call that will add one of the predefined objects to the form being created
DeployForm - The Final call for setting up an 'advanced GUI' form, displays it to the user
This application is being made for MortScripters, to possibly make some projects easier. Since I don't use MortScript so much any more, I do rely on you the developers who use MortScript, to tell me what you want in the program.
Since I have a good deal of Functions there, I will commence work on a primary release
Saved For Future Use - Features and Screenshots
like the idea! advanced guis would be very useful
so this is a compiler? I am not sure what this is about
-sorry
No, this is a Resident App, an EXE that is always running in the background. It will have certain functions in it which can be accessed by MortScripters.
All the functions can be called with PostMessage ( I will provide documentation on how to do so, when I make a first release ). Then the results will either be written in the REGISTRY, written to a FILE, or copied to the CLIPBOARD (depending on how the scripter wants to handle the task).
Does this clarify it a bit?
Thanks for sharing!
A small update:
I am using this 'decent' planning utility, to help me keep track of my growing projects. According to this utility, the program is close to 30% complete. Then again, this is just a 'decent' utility haha. I would say, in my estimation (since some Code is "Copy + Paste"), I am close to 60% to 75% done.
A small change in my plans:
While I originally had the intentions of making this program as simple as a PostMessage in MortScript, I found out the following two Limitations:
1) MortScript's PostMessage/SendMessage only support(s) sending Numbers in the wParam and lParam parameters...very disheartening.
2) Due to #1, I made an assistant EXE, which would be run instead of calling PostMessage [this way I could do it Natively in my own control], but it is MUCH harder to transfer data between two applications that I would have thought! Due to Virtual Stacks and Memory Allocation 'rules', I couldn't EASILY do this.
So Here is my change:
In order to use Resident Mort, scripters will have to do about 3 or 4 commands to run. The only real commands that need to be used are PostMessage and RegWriteString (Did I get those right?).
In any case, my Resident Mort will read the Registry for corresponding wParam and lParam values and use those [in the future I will attempt Clipboard integration, to avoid Registry Interfacing].
When I release this program to the public, I will try to include a MortScript file that shows how to use all the functions. I don't remember much of MortScript [unfortunately], but I was thinking it could be helpful to make a "Library" of MortScript functions so a script will only have to call that function. But that is if some kind dev. would like to help out later on
Anyways, Thats that for this update. Expect a result in the coming week.
That sounds interesting for adv. gui functions.
Cyclonezephyrxz7 said:
1) MortScript's PostMessage/SendMessage only support(s) sending Numbers in the wParam and lParam parameters...very disheartening.
Click to expand...
Click to collapse
That's not MortScript's fault, it is design of whole Windows CE kernel, more here
I'd go with background EXE, that would listen to messages WM_USER+somenumber, maybe even region (for different actions, so you'd have both lParam and wParam free for another parameters). If you need help with this part, drop me PM on MSN, I had to study this a bit in the PinchToZoom project myself.
@OndraSter : Yeah, I know that Windows CE has limitations, however it is not impossible. Such an ability could be implemented in a code-update to MortScript. I did my reseach (if you look at #2, I mention that I found it much harder to transfer data between exe's that I had hoped) and found that you can transfer data via SendMessage (the Synchronous method) using a TRANSFERDATASTRUCT and WM_COPYDATA. If MortScripts interpreter could identify a SendMessage with a String value in either wParam or lParam, then it would create such a structure and transfer it, the receiving app would HAVE to take care of deleting the data though, or you have mis-used RAM.
As for how it is going to work now, I did not consider using WM_USER + a value, mainly because my program won't be using other Messages, and will only act if the correct wParam/lParam are provided (preventing accidental execution if the System decides to post a message with the same ID). I have it mostly covered, and I am closing in on finishing (currently with Reg data retrieval only, no Clipboard yet). I have completed 3 of the 7 Proposed Functions (MakeFile, MakeFolder, CreateScript) and I would have finished RegToEvents, but I got sorta lazy hehe. DispImg shouldn't take me more than a few minutes when I get to it, and once I get the API calls for Processes and figure out how to read the MRU reg-entry, I will have the last 3 complete!
As for Clipboard data retrieval, unless I am using the entirely wrong API calls, MortScript has an interesting way of using the Clipboard...I tried copying simple strings like "hello world" to the clipboard using MortScript, then trying to retrieve them in my Resident Mort, but the clipboard always comes up empty... Any ideas anyone?
Thats that for now I am about ready to release....any other functions you want implemented?
As for how it is going to work now, I did not consider using WM_USER + a value, mainly because my program won't be using other Messages, and will only act if the correct wParam/lParam are provided (preventing accidental execution if the System decides to post a message with the same ID).
Click to expand...
Click to collapse
http://msdn.microsoft.com/en-us/library/ms644947(v=VS.85).aspx
Good idea, the only downside being that it will generate the Message Numbers each time it is run... It is not assured that the Post / Send Message MsgIDs will remain constant.
Thanks for the link however
Cyclone,
Sorry about taking so long to post here...
How about, when the BT is on, this reports what is "out there" based on what the BT stack is telling you.
That is, it should read the surrounding area, then report that is saw my BT dongle. In the car, it should report that it saw my BT GPS unit.
Then, I can use that information to change my profile. That is, when it sees the BT dongle, regular phone calls. When it sees the BT GPS unit, run speaker mode, or connect to the GPS unit for phone calls.
Thanks!
--Ironhead
P.S. it would need to support the Touch Pro 2, Rhodium (my understanding is that it is Widcomm BT stack)
I"ll see what I can manage. I am really 'grid-locked' in my work on a couple of projects already So a release of this may have to wait a while....Sorry
I wish I had caught you a little sooner...
AutohotkeyCE may be a better base to work from than Mortscript...
http://www.autohotkey.net/~Micha/AutohotkeyCE/html/index.htm
In fact... AHKCE should be able to cater to all of your needs without the separate resident app
Yeah, I have seen that before. This project is really just a little challenge for myself to expand upon MortScript [because I know it is widely used].
Thank you for the link/suggestion however
I've been playing with Mortscripts for a while, I'm really thinking I can do everything I want, right from there...
EXCEPT:
Actually getting the information from the BT stack. I just need to see if there are any registered BT devices around my phone (so I can tell if I am in my car, at home, at work, etc.).
--Ironhead
Bumpity bump!
Hehe...Yeah, sorry for the lack of work on this. Check out FFP_LockScreen. I am working on a new release. I have very little time now, and I can't manage more than just one or two projects at a time. Once I release FFP_LS 3.0, I can devote some time MAYBE to this project. It all depends on how quickly the XDA-Marketplace idea takes off.
Sorry =\
I you can add a tool to make an GUI... it s must be soo cool...
Related
My fourth message of the day ... I'm inspired !!!
I'm one of a little runners and cyclers group whose want evolve in my sport and use new technology to practice sports.
3 of our have baught and HTC trinity to have an all in one solution : GSM, music player and GPS.
We have test a lot of offroad program, gps tuner,beegps,nimo,noni,... and we are not satisfacted about them... We have ideas which the best program must have but we are so poor programers to do it.
So I would like to know if some of best programers of this forum could make it for us ?
Are you interested ?
We could send you all of ours ideas, with explained pictures ...
PS sorry if it's not the good place to post this ...
thank
Bike GPS
I have a Dopod D810 and I am developing a GPS application for it, mainly because nothing I tried out there did everything I wanted, and was suitable for use on a bike.
My app is a
- Raster-based GPS application
- Music Player
- Phone 'answerer'
- Text message display
- Big buttons (so you can press them while riding)
- Good reliability
I initially developed it for my Dell Axim X51v.
It supports importing/exporting routes and tracks to and from GPX and KML files, and can do playback of tracks. (ie it works with Google Maps/Earth routes and tracks)
It supports importing locations from names files.
It supports maps in TFW, SDW, JPG and BSB formats.
Any music files supported by windows media player are supported.
If you have any maps in one of the above format, this is for you!
wahou !
it's look like what i'm looking for ... without pearhaps a graph which expose speed and altitude during the trip... but i'm so interested ! what is the programation language use ? could you send me sources ?if you want, I can send you some draws to complet with option your soft ?
Its done in C++; sorry, I'm not going to release the source, but I'm happy to get any ideas you have.
oh, I forgot, there's a PC version off the same code base which makes it easier to see playback, build routes, etc. I'll add some speed/altitude/time graphs to it over the weekend some time if I get a chance.
I'll also eventually put the installers on my web site.
ok... it's not a problem that you don't release source... just ... could you send me just how you get speed, altitude and position ... you dialogue with the P3600 GPS... is there library or only code lines ?
My idea...
-make a rotation of your cards in function your deplacement like tomtom.
-on my soft, i would like record precedent trip to do versus when I take the same road. This versus could compare KM all long the time and bip me when i'm late.
-the graph which compare my speed and variation of altitude all long my trip
-instant speed/speed trip/time/km
Initially, I used the GPS API in the microsoft SDK, but its not reliable enough (sometimes it stops signalling updates on its event), so I wrote my own from scratch and the NMEA documentation.
- Sorry, I'm not familiar with tomtom, so I'm not sure what your after with your first request.
- Its not exactly easy to track a previously taken path and map it to the current path, but it could be done. The biggest problem is storage of your previous paths. I have about 24GB of old tracks saved! I'm waiting for an 8GB mini SD !
I'll have a look into the idea though.
- Displaying (and even graphing) current speed/time/altitude, ect are trivial and I already do that. I'll look into graphing.
Is anyone else interested in this app?
I would be interested in this for cycling and hiking.
Sorry for this question but why don't you let members of this forum download sources of your GPS API ? Or directly the API compiled to let other programing theirs applications if it is better than windows API ?
For my application I need only to know :
- Altitude
- trip point (x,y)
- how to solve to have speed (v=D/t)
Have you seen http://gpsdash.com/news.php
I'm always looking for more choice...here is one that many of my sport crazed friends are using. I may start using it for tracking my motorcycle rides too. Here is the software http://www.rungps.net/Wiki.jsp?page=HomeEN . Here is the online tracking server http://www.gps-sport.net/index.jsp .
The reason I'm not releasing source is because I may, at some time in the future, make this into a commercial product and I don't want to ruin my chances with that.
The other is that I don't really think it is of much benefit to most people to release source for an application. I think it is far more useful to make a library of the useful functionality, with a well documented API of the thing, so that people can start at a higher level to implement their ideas. Since I don't yet have such a library, I can't release that either .
I went riding on the weekend (its nice and sunny here), so I didn't get any more done on this.
From other people's responses, it looks like there's plenty to choose from anyway.
Once again, Yannn, there is documentation in the Microsoft SDK on how to access the gps (its called gpsapi).
Finally
I have finally decided to release an early version of this software.
Its at
http://www.lukepaton.com/BikeGPS/
If you are able to set things up for yourself, and want to give it a try, go ahead. I haven't got a huge amount of time to support it, so it might take some playing around to get it working, particularly at first. There isn't a manual or help for it, so go looking through all the menus and see what you can find!
To get started, from the View menu, have a look at settings, and set up your paths and then from the Map|File menu, choose, Re-Read All Maps.
Cheers,
Luke
Hi Luke
Thanks for the release. On first run, I got the message:
"Open File \CF Card\Data\BikeGPSMaps.mdt failed"
When I hit OK it closes. I made this directory path and chucked a .jpg in it and then it ran.
I see in Settings>Paths your default project is pointing to your compact flash card so I changed these to \Storage Card\...\
I have had a good look through the menus, it seems to be a pretty nice useful kit. I like the .sid support and export to .csv, even converts from OziExplorer Probably wouldn't use the player or sms fuctionality though.
Logged some data to the .gps_log file, will try and use it later.
Just can't see where to open map image. When I click open map it doesn't have anything in the list to select... No need to bother yourself with a full user manual, but it would be good to load a map background.
Sorry, I first developed it for a Dell Axim, and an iPaq before that. They have CF Cards...
To get it to have some maps to open, Map|File|Re read all maps looks in the map path (Settings|Paths|Map Path) (Mine is \Storage Card\Maps\).
It prompts you for the kind of files to load (KAP, TIF, SID, MAP).
Yes, MAP is from Oziexplorer - some of the map CDs I bought used MAP files, but the code to interpret map files is a bit of a mess, and it doesn't support oziexplorer ozf files...
After that, Map|File|Open Map|All Maps should give you something to open.
You have to select a single map (multiple selection is for delete).
Anyway, its good to see that someone could even get the thing installed
Cannot access menu, progrram will stop after prompt of missing file, it is not installed in memory card/data either. Also shortcut is missing.
Hi Fimae,
I used resco to add a shortcut, but the install program is supposed to put it in 'programs'.
Not sure what you mean by 'cant access menu'. There are about 7 menus, not including popups. Is the main menu visible?
See above about storage card. I'll make it allow you to browse for the storage card the first time it runs.
Thanks for your feedback.
Luke
Now I'm all motivated
I've done an update which should make it easier to work out whats going on when first installing. It will prompt for the path to your files.
At the first prompt, enter /Storage Card/, or wherever your storage will be.
It automatically creates Data/ and Maps/, so put your maps under /Storage Card/Maps/.
The web page now displays the last version and update date.
what about the mount ???
Hi, plz tell me if ur using any good cycle mount to hold trinity securely on the handle bar? where & how much u bought it for??? Anyone???
After trying Arkon mounts and a few cheapies, I found the best was a metal case,
(like this http://cgi.ebay.com.au/Metal-Hard-C...yZ150774QQssPageNameZWDVWQQrdZ1QQcmdZViewItem) attached using double sided tape and a cable tie!
The problem with the Arkon-style mount is that they don't hold the device securely enough and are too bulky.
sthawk said:
Hi Fimae,
I used resco to add a shortcut, but the install program is supposed to put it in 'programs'.
Not sure what you mean by 'cant access menu'. There are about 7 menus, not including popups. Is the main menu visible?
See above about storage card. I'll make it allow you to browse for the storage card the first time it runs.
Thanks for your feedback.
Luke
Click to expand...
Click to collapse
I ment that program stops to error dialog, and when i click it ok, application exits without seeing any menus. But now it worked wery well after writing \Storage Card\, thank you wery much.
I know this must be stupid question (like where is the any key) but i really does not understand what kind of form i have to use to copy maps to Bike gps? I have route66 and tomtom navigator maps (and for testing only miomap) in my storage card, i supposed that i cannot use map files from those apps?
Hello Everyone,
I am a avid, aspiring developer, and as such I felt it would be mutually beneficial to start this thread. The Point of this this is for you [the users] to post up ideas for programs, and some sketch-ups of designs, and in return, I will try to make, and maintain, these applications.
In doing this, I will get the experience I need, and you [the users] will get the results that you [hopefully] want.
Below is [or will be soon enough] a list of programs that are developed or in the process of consideration.
Please refer to HERE for a updated list of projects...that will be my new place for updates!
Project List:
AutoSend - Scheduled SMS Sender [V3.0]
CMail - A Replacement tmail for Devs and Advanced Users[V1.0]
CSlide - A "Slide-To" like application that utilizes the JOGGR Bar for a Finger-Friendly Action Slider! [Concept]
Export-Studio - A FREE alternative app to export Contacts and SMS[V4.0 + Command Line Version]
Appointmentor - A command-line based app for creating appointments quickly and easily [V1.0]
ContactRetriever - A command-line based app for getting info on a specific contact! [V3.0]
CSort - A Command-Line based List Sorter (designed with MortScripters in mind) [V1.0]
*As you can see, the list is sort of pathetic now, but with your help, I can bulk it up*
SMS messenger
I would like an SMS type of instant messenger. The kind my Tmobile WM 6.0 came with. Like "Oz Instant Messaging". I have tried all the different cab files out there for OZ and can't get any of them to work with 3VO Rom. I do not have a data package with my phone and want to use an SMS type of messenger. Thanks for any help.
rrgongora said:
I would like an SMS type of instant messenger. The kind my Tmobile WM 6.0 came with. Like "Oz Instant Messaging". I have tried all the different cab files out there for OZ and can't get any of them to work with 3VO Rom. I do not have a data package with my phone and want to use an SMS type of messenger. Thanks for any help.
Click to expand...
Click to collapse
I will do what I can after I release the current SMS project I am working on.
I am aware that different messengers (or atleast AIM) has a number that you can txt to do chatting. I suppose what you are asking for is a GUI for performing such tasks? If so, once I fully comprehend the entire aspect of sending a SMS, i can probably make this GUI. Otherwise, please explain.
CycloneSender - AutoSend
Here is my FIRST RELEASE of an exe application for the Excalibur (EVER!).
NOTE: DUE TO THE RELEASE OF CMessageSuite, UPDATES WILL NOT BE PROVIDED FOR THIS PROGRAM ANY LONGER
CycloneSender - AutoSend[V3.5]
Basically, what this program does is allow you to program in set Dates and Times for SMS/TXT Messages to be sent. You can program events (with the application) up to 4 years in the future, down to the minute!
This program includes:
A Simple, Easy to Use GUI
Decent RAM/CPU Usage (there is always room for improvement)
An effective automating system (no need to monitor)
IT IS TOTALLY FREE (well, Donations are accepted )
To Install:
Simply download the attached .cab file and place it on your phone.
Run the .cab file and that is it.
To Use:
In the Start Menu, there is a new folder for my applications, navigate to that and there are two links
"CycloneSender" will run the actual application.
"Check for New" will run the automated portion of this app and check to see if there are pending events for the day, and if so, it will take the necessary actions.
Tips:
When you EXIT the main application, the automated portion of the app is run (so that newly programmed events can be parsed)
This program is accurate to the MINUTE, therefore if you set a message for 17:00 (Yes, it is in 24-hour mode), and the automated portion runs at 16:55:33, then the text message will be sent at 17:00:33 (Implementation for accuracy to the second may be included in newer released)
Known Bugs/Issues:
Unknown Results occur when two messages are scheduled for the EXACT SAME TIME [I will test this out]
When you add a recipient, you cannot delete it (will be fixed soon)
V3.0 UPDATE
This update owes big thanks to XDA user Mohitsapru. Thanks to his help, the efficiency of this application has well more than doubled! In this new version, there is no constantly running application and uses LESS ram! Same GUI, etc. ENJOY
(NEW CAB IS POSTED BELOW)
V3.5 UPDATE
This update allows you to program in MULTIPLE recipients. All recipients will receive the message at the same time. Also, some code optimization.
While I did the coding (for 99% of the part) myself, credit has to go to HowdyKeith who made the restart script for me (which plays a decently big part in making the program run smoothly) and to many other users on this forum that have helped me learn what I have.
With all that said, Enjoy the Application (and remember, donations appreciated )
Could i suggest you provide the proper info about the what it does in your first post next time thanks sounds kinda cool might try it one day.
screenshots???
Cyclonezephyrxz7 said:
CycloneSender - AutoSend[V1.0]
Basically, what this program does is allow you to program in set Dates and Times for SMS/TXT Messages to be sent. You can program events (with the application) up to 4 years in the future, down to the minute!
This program includes:
A Simple, Easy to Use GUI
Decent RAM/CPU Usage (there is always room for improvement)
An effective automating system (no need to monitor)
IT IS TOTALLY FREE (well, Donations are accepted )
Click to expand...
Click to collapse
Is This What You Meant, Taalon927?
doesn't "Power SMS" do the same thing?
roloracer said:
doesn't "Power SMS" do the same thing?
Click to expand...
Click to collapse
Yes, and probably a little bit more, but Power SMS costs $$, while the one I am actively developing (as per request, bug report, etc.) comes at no charge to users (unless they so choose to donate, but that is not mandatory).
The point of doing this is mutually beneficial:
1- I get some more coding 'experience'/'knowledge'
2- Users get products that are free of charge!
All i need are ideas!
Speaking of which:
UPDATE
-I should have a basic release of CMail.exe tomorrow, allowing users to send SMS and E-Mail through command line interfaces (MortScript especially).
-While it doesn't seem like a gigantic improvement over tmail now, it can be once I add more features onto it (need Ideas!!!)...
All looking good and know what you mean using as a learnin block too
Will give a shot tom when got some free time... Keep up the good work
UPDATE
As per request, ScreenShots are posted in the AutoSend Post!
Also, New CONCEPTUAL project posted in First Post (CSlide) ... Will start on that once bugs in AutoSend are cleared and CMail is released...
EDIT:: New Update: Thanks to loads of help from mohitsapru , I will be releasing a much more energy efficient version of AutoSend in the next day or so. CMail may be delayed a little bit...
Cyclonezephyrxz7 said:
UPDATE
As per request, ScreenShots are posted in the AutoSend Post!
Also, New CONCEPTUAL project posted in First Post (CSlide) ... Will start on that once bugs in AutoSend are cleared and CMail is released...
EDIT:: New Update: Thanks to loads of help from mohitsapru , I will be releasing a much more energy efficient version of AutoSend in the next day or so. CMail may be delayed a little bit...
Click to expand...
Click to collapse
Thanks for referring me
I saw that you are also facing problem of wait cursor!! well did u fix it or is it still there? if u dint, i have fix for that. lemme know if u need that
Ok Here it is:
If it is a console app use:
Code:
[LEFT][FONT=Arial] [DllImport([COLOR=#a31515]"coredll.dll"[/COLOR])][/FONT][/LEFT]
[FONT=Arial] [COLOR=blue]public[/COLOR] [COLOR=blue]static[/COLOR] [COLOR=blue]extern[/COLOR] [COLOR=#2b91af]IntPtr[/COLOR] SetCursor([COLOR=#2b91af]IntPtr[/COLOR] hCursor);[/FONT]
[FONT=Arial] [COLOR=blue]static[/COLOR] [COLOR=blue]void[/COLOR] Main([COLOR=blue]string[/COLOR][] args)[/FONT]
[FONT=Arial] {[/FONT]
[FONT=Arial] [COLOR=#2b91af]IntPtr[/COLOR] hOldCursor = SetCursor([COLOR=#2b91af]IntPtr[/COLOR].Zero);[/FONT]
[FONT=Arial] [COLOR=blue]while[/COLOR] ([COLOR=blue]true[/COLOR])[/FONT]
[FONT=Arial] {[/FONT]
[FONT=Arial] System.Threading.[COLOR=#2b91af]Thread[/COLOR].Sleep(1000);[/FONT]
[FONT=Arial] }[/FONT]
[LEFT][FONT=Arial] [COLOR=green]//SetCursor(hOldCursor); [/COLOR][/FONT][/LEFT]
[FONT=Arial] }[/FONT]
for normal windows form code u can use
Cursor.current = Cursors.Default
Cyclonezephyrxz7 said:
I will do what I can after I release the current SMS project I am working on.
I am aware that different messengers (or atleast AIM) has a number that you can txt to do chatting. I suppose what you are asking for is a GUI for performing such tasks? If so, once I fully comprehend the entire aspect of sending a SMS, i can probably make this GUI. Otherwise, please explain.
Click to expand...
Click to collapse
I am not sure what type of program it was. It was OZ messenger as far as the research I have done. It was an IM application that came with my T-mobile DASH. It did not require any type of data plan to run the application. It was a simple text messenger. I was told by others in these forums that it was OZ messenger, but the ones I find here will not seem to work with my 3VO Rom. I hope that clears things up....it's only confused me more.
Well, I am not going to reinvent the wheel since that will only produce a square wheel and a waste of some time. Haha Basically, I don't want to attempt to recreate a working app because I will end up making a pretty buggy, CPU intensive one . I believe that with OZ Messenger you may have to search for a CONFIGURATION of your connection settings (if using T-Mobile, atleast for me, I had to do some tinkering once). It plagued me for a while to get it working, but now it works on my phone!
Good Luck
CMAIL V1.0
This program is an alternative to tmail.exe that was created so that people can either use it on their own, or use it WITH an application of their own. It is similar to the sender executable which is supplied with CycloneSender V1.0, however works differently.
This program includes:
A constantly maintained Documentation of ALL its functions.
The ability to Send SMS messages
A light-weight, command-line based program
To Install:
No real install...Just take the file and unzip it and put the CMail.exe where-ever you want.
To Use:
As I mentioned, the Documentation is supplied (in the compressed file) and it contains all the methods you can call on in.
In order to execute, you have to use MortScript to run it, an application of your own, or CeleCMD ... or even a Shortcut if you can figure that out.
*DISCLAIMER* THIS IS 100% COMMAND-LINE BASED, AND AS SUCH IS NOT RECOMMENDED FOR GENERAL END-USERS UNLESS THEY ARE AWARE ON HOW TO USE THE APPLICATION. (No damages can really be done to the phone using this incorrectly...)
Known Bugs/Issues
None so far (YES!)
Future Ideas:
MMS (?)
E-Mail
Please remember that I use my own time to make these free, useful alternatives! I couldn't do this without the help of other XDA Forum members. (Donations are appreciated!)
Please Comment and give me ideas for more functions
Export-Studio[V4.0]
This application is a very useful free alternative to those expensive Contact backup applications. It will backup/export your Contacts and SMS[V2].
UPDATE: V2.5 Released. Command-Line and GUI versions bundled into ONE EXE.
UPDATE: V3.0 Released. Now you can export Contacts in VCF format!
UPDATE: V3.1 Released. Fixes error with missing DLL.
UPDATE: V4.0 Released. Expands the export capabilities of Contacts!
This program includes:
A super-simple, lightweight GUI
The Ability to backup Contacts and SMS
Three modes of exporting: TXT and CSV and VCF
A comand-line based version of the GUI program
To Install:
Simply download the CAB file, and install it
Then navigate to Start Menu > CycloneApps > ExportStudio
and voila!
To use:
First, run the app and you will see 3 areas : What you want to output, the output format, and the folder to write to.
Select what you want to ouput
Make sure to ONLY PUT THE FOLDER in the folder text box, or you will get errors or weird results...
Once set up, click export, and the application will do its thing!
If you want to use the command-line feature, then just run the same EXE as for the GUI with parameters afterwards (see documentation)
Tips:
While the CSV format can be opened in Excel or the likes, I find that the TXT format is more organized.
Known Bugs/Issues:
There may be some slight errors in the CSV file (this is tested with OpenOffice on Windows Vista).
None others... YAY
Remember please, that I did this coding on my own and with the motivation and help of other users on the XDA Forums. I do this to practice coding for myself and to provide free alternatives of apps for the users of our beloved Excalibur. While the programs are 100% free, donations are appreciated .
UPDATE:
CycloneSender AutoSend V3.0 Just released! Enjoy the improvements (no noticable changes in GUI).
Progress is being made on Export Studio
Requests for new applications are MORE THAN WELCOME
UPDATE
ExportStudio V2.0 IS NOW OUT WITH SMS BACKUP CAPABILITIES!
More Ideas are welcome!
Cyclonezephyrxz7 said:
The point of doing this is mutually beneficial:
1- I get some more coding 'experience'/'knowledge'
2- Users get products that are free of charge!
All i need are ideas!
Click to expand...
Click to collapse
You should rewrite that SMS Bubbles app in my ROM and make it more "usable".
ookba said:
You should rewrite that SMS Bubbles app in my ROM and make it more "usable".
Click to expand...
Click to collapse
I'm in the process of learning C++, so until then I wouldn't really be able to make a worth-while SMSBubbles since C# isn't the fastest or most versatile language (in terms of gfx).
Hello Everyone,
I am a avid, aspiring developer, and as such I felt it would be mutually beneficial to start this thread. The Point of this this is for you [the users] to post up ideas for programs, and some sketch-ups of designs, and in return, I will try to make, and maintain, these applications.
In doing this, I will get the experience I need, and you [the users] will get the results that you [hopefully] want.
Below is [or will be soon enough] a list of programs that are developed or in the process of consideration.
Project List:
AutoSend - Scheduled SMS Sender [V3.5][NO LONGER BEING UPDATED]
CMail - A Replacement tmail for Devs and Advanced Users[V1.0]
Export-Studio - A FREE alternative app to export Contacts and SMS[V4.0 + Command Line Version]
Appointmentor - A command-line based app for creating appointments quickly and easily [V1.5]
ContactRetriever - A command-line based app for getting info on a specific contact! [V3.5]
CDL - A Command-Line based File downloader (designed with MortScripter's in mind) [Release Delayed]
CSort - A Command-Line based List Sorter (designed with MortScripters in mind) [V2.0]
ImgResize - A Command-Line based Image Resizer (Resize + Crop) [V2.0]
All2Reg - Based off of Msg2Reg, this will export MANY things to registry [Coming Soon]
TornadoClean - A utility for deleting old files/SMS/MMS/EMAILS with certain 'traits' specified by the user [Conceptual - PsuedoCode Stage]
CBRunner - [Idea courtesy of HowdyKeith] Runs EXE's (and possibly other file types like MP3, etc.) In the background so MortScripters can do their stuff! [V1.0]
CMessageSuite - A Re-Make of AutoSend with more features! [V1.0]
*As you can see, the list is sort of pathetic now, but with your help, I can bulk it up*
UPDATE:
A command-line version of Export Studio is now posted for all you Scripters!
Appointmentor[V1.5]
This program allows scripters and devs to quickly and easily make appointments. This program features the ability to set every parameter that a user could set thru the calendar itself (I believe...)
This Program Includes:
A documentation explaining all parameters
A small cmd-line app for creating appointments.
To Install:
Just download and extract the ZIP file to anywhere on your phone, and you are done!
To use:
Follow the parameters in the documentation, but as for running it, run it like any other command-line based program.
Tips:
Not all parameters must be set, as I have preset defaults (shown in documentation).
EDIT: DOWNLOADS REUPLOADED
V1.5 Update:
In this update, you can DELETE scheduled appointments. This feature has not been thoroughly tested, so errors may occur. Will test in near future. (If users could post back successes/failures it would help).
Please test it out!
*While I coded this on my own, credit must be given to google and this forum for its constant help in everything I do. Please don't forget that while these apps are free, donations are appreciated!*
Update:
I fixed up a major issue in Appointmentor and re-uploaded it. Now it should work. All documentation is provided in the ZIP file. Please test and post results and ideas!!!!
Image Resizer [V2.0](Command-Line Utility)
This application is a command-line based app for resizing images.
All instructions are provided in the Documentation.txt
Enjoy!
V1.5 Update:
In this version of the program, Cropping is now available. Look at the docs to find out how to use it. I also fixed an issue with Naming, so now the outputted file has the ACTUAL size of the image (not what is inputted in some cases). Also, you can use PERCENTAGE to resize/crop. Lastly, you can now simply convert your file from one extension to another.
V2.0 Update:
In this version, BatchCropping and BatchResizing is now available. Look at the docs to find out how to use it. This comes in handy when dealing with many pics in a folder. Please report back any bugs that are found
DISCLAIMER::::::
I did not code this program fully by myself. For the original Image Resizing project visit:
http://blogs.msdn.com/acoat/archive/2007/05/09/resize-images-a-thumbnail-maker.aspx
All Credit for the actual Image Resizing functions of this app go to the original author:
Username on msdn blogs is : acoat
Name (?) : Andrew Coates
ContactRetriever V3.5
This application allows a scripter or dev to export a specific contact's data for easy use!
This program includes:
A simple, easy to follow documentation and functionality
A light-weight solution for getting contact info.
A SUPER EASY GUI (contacts menu) when not wanting to start it in CommandLine mode.
The ability to export specific contacts (or many) as VCF files
To Install/Use
Just unzip the ZIP file and read the documentation!
(To use the GUI, just run the app WITHOUT parameters, to use the CMD run it WITH paramteres)
Bugs:
None so far!
V3.5 Update:
In this version, you can find contacts by partial (or full) phone numbers! Read the docs for more info.
Please remember that while I did the coding on my own, help came from XDA and Google and the millions of resources on the net. Please remember that while this application is free, Donations are greatly appreciated!
Enjoy!
UPDATE:::
Export-Studio 2.5 Is now out.
2.5 Has the ability to set the NUMBER of Contacts/SMS to be exported (with a safeguard that if the number is too high or is 0, it will set it to the maximum).
Expect an upgrade to Export-Studio 3.0 Soon (ability to export to VCF, and maybe MMS implementations).
Expect a new CMail to come out (ability to send E-Mail's via commandline and maybe MMS implementations).
Contact related app...
I've been searching for an app that allows to browse the contact list (with a scrollable list of names for a GUI... similar to Outlook or any other contact manager) and retrieves a selected contact full name as a reg key (my point would be using it in conjunction with MortScript and go2contact to add a dynamic contact launcher feature to my HS++ skin... guess it would be usefull for other skinning engines too).
Would you be willing to do such an app?
frmariam said:
I've been searching for an app that allows to browse the contact list (with a scrollable list of names for a GUI... similar to Outlook or any other contact manager) and retrieves a selected contact full name as a reg key (my point would be using it in conjunction with MortScript and go2contact to add a dynamic contact launcher feature to my HS++ skin... guess it would be usefull for other skinning engines too).
Would you be willing to do such an app?
Click to expand...
Click to collapse
Sure would be! I will just implement a GUI into ContactRetriever! Expect a release in 10 minutes TOPS.
UPDATE::
Export-Studio 3.0 Now released - Can export Contacts as vCard (VCF) format!
UPDATE::
ContactRetriever 1.5 NOW released - Has a really simple GUI (same functions)!!
UPDATE::
ContactRetriever 2.0 NOW released - Ability to export as VCF, control # of contacts, and WILDCARD'ing
Thank you so much! Just tried it and this was what I was looking for.
There seems to be an issue though... I can only get stuff from the first contact in the list... Also the name will be in all caps and have an underscore before it... I can't get any other contatcs info in the reg...
how about Cdown.exe -url "http:.../file.zip" -outp ".../file-Downd.zip"
as smartphones cant do that w/mort atm...
howdykeith said:
how about Cdown.exe -url "http:.../file.zip" -outp ".../file-Downd.zip"
as smartphones cant do that w/mort atm...
Click to expand...
Click to collapse
Added to project list....WOrking on it
Thank you so much for fixing ContactRetriever
While the paint is still fresh... Any chance on creating a value for the selected contact named "LastSelectedContact" (or something else) where the contact name is the data (without the preceding underscore and case sensitive like Outlook). Would really make it a lot easier to MortScript (I really have no idea how to get just the desired part of the key and remove the underscore).
Hope I'm not abusing of your good will...
Hey, so I can't really make a key that is for "lastcontact" because the command-line users may export a whole bunch of them (as you can see, I implemented the ability to export based on Wildcards)....
As for removing the underscore and such, I put that there as a standard for users so that they know what WAS created by my program, or what was created by something else that may have used the same area (rare, but possible).
Anyways, if you want to format it, do a substring on the Key name using the indexOf the _ as the ending for the first and that + 1 for the start of the second, then bring it all to lowercase then make the first uppercase (through substringing?) I don't know the mort-commands, but I am sure you can figure it out by asking HowdyKeith or posting on the MortScript thread or reading the Manual on Mort's website.
Good Luck
Thanks for the info. I've been reading the txt manual of Mortscript and it's kind of incomplete compared to the pdf... I'll read it tomorrow (must sleep) but until now I didn't find a function that returns the reg key (because it'll be random). I'm sure the substring bit will help.
Just found my contact list got sort of messed up by some app I used (guess it's too late to find out which one...) All the names (first and last) are now stored in the first name box... I didn't notice it before so I didn't get why was there a _ before the name even when I had a last name too.
Ok.
How about CSort.exe -inp "/path/Unsorted.txt" -outp "/path/sorted.txt"
maybe the option to dump the output into a regkey:
Sorted1=Alimoney
Sorted2=Bingo
...
If we r dumping to a reg folder, why not import from a registry folder too?
So i know u got the picture taking exe.
what about calling the Camera get picture class? Like your contact retriever calls the GUI.
I have to think about it to see if that makes sense.
howdykeith said:
So i know u got the picture taking exe.
what about calling the Camera get picture class? Like your contact retriever calls the GUI.
I have to think about it to see if that makes sense.
Click to expand...
Click to collapse
I am using Managed C# code, and the most 'power' that I get in terms of taking photos is just to start up the 'dialog' with certain paramters....so in MortScript, a script can just call it, then send the "ENTER" button to start and "ENTER" to stop (if it is a video) or save (if it is a photo)....
*FYI: The Camera App I am developing is currently in Private Beta, release soon enough*
So as far as contacts posted to the reg from contact retriever.
It probly should always delete the prior searches unless you give it a command -keep
For the advanced hacker: SQL database access and posting.
Do u have a Microsoft Bluetooth stack? There is no toggler for Widcomm Bluetooth. PhoneAlarm controls the bt just fine, so it's not impossible.
Can you turn on and off the flash? Other apps do it, so that's a low priority. But if you could and u added that function to an all in one tool, that would be cool.
Make a contact from a command line.
Can u change the power profiles? Normal/Headset/Auto...
Can u get the accelerometer info? i dont have one. Detect stylus removed from a command line?
I really hope u can get the sorter to the registry, so i am holding my breath til then.
Thanks Dude.
A lot of people I spoke to whilst leaning programming didn't want to help with the Visual Basic side of things and started moaning about me not using C# - but that was my choice to make. So I make this post with similar minded people in mind - maybe there is someone else out there that doesn't want to learn C# to code apps?!?
A while back I started learning about Windows Mobile development but I left it a bit late in the OS's lifecycle and sadly lost my motivation for producing apps for it.
Now that I have left my Windows Mobile development behind I am willing to contribute my, slightly messy but, working code to anyone that might find a use for it.
I am willing to donate my code to the community in the hope someone will finish it off - if they can decypher my workings - or make use of it in their own projects.
It's an Alarm Clock in the Metro UI style (see attached screenshots) which wakes the device at the set time and sounds an alarm and is written in VB and is for Windows Mobile 6 and above. Most of the functionality is already in place.
It requires the Smart Device Framework libraries to be installed on the PC used to code it.
Working Features:
One working alarm which wakes the device when required
Snooze function
Customisable colours - working selector screen with 46 colours to choose (you can even use a custom hex colour if the XML settings file is manually edited)
Selection of different date formats
Rotation support for WVGA devices works...sort of but could probably be tweaked.
Things left to finish:
Add additional alarm(s)
Allow naming of alarms
Put dialogue in place to select a sound for the alarm(s)
Put an 'if -> then' statement in place in the alarm sounding procedure to vibrate the device if vibration is enabled
Graphics are minimal to reduce on memory usage but I think it looks quite good...even if I do say so myself (Please see the screenshots attached)
The program was never finished due to changing my main OS on my phone from Windows Mobile to WP7 and Android and I don't think I'll be returning to Windows Mobile 6.5 development.
The following imports are required:
Imports System.IO
Imports System.Threading
Imports System.Media
Imports OpenNETCF
Imports OpenNETCF.WindowsCE
Imports OpenNETCF.AppSettings
...and the following references in the project references:
OpenNETCF.AppSettings
OptnNETCF.WindowsCE
The app creates an XML file for the settings which is stored in the program folder and in its current state it works for 1 alarm with one alarm tone ('alarm.wav' in the resources folder).
Any questions...feel free to ask. There is one menu template which is configured in various procs to create the menus for alarms and preferences so it can look more complicated than it actually is in the code.
Glad to see some people may have found this useful! Keep me updated with any developments, it'd be interesting to see if this goes anywhere....I ask for no credit.
Hi thank you for the source code. I prefer C# syntax wise but they share the same runtime environment and get compiled into the same MSIL language so in theory they are the same. Just some things are done differently. Cheers again.
sb.oddworld said:
Hi thank you for the source code. I prefer C# syntax wise but they share the same runtime environment and get compiled into the same MSIL language so in theory they are the same. Just some things are done differently. Cheers again.
Click to expand...
Click to collapse
No problem at all. Some of the form layouts can be a little confusing so if you need a hand just yell. Glad that it might be of use to someone.
Thanks welki1979 being a non C programmer I fully appreciate how hard it is to find suitable code to get examples from. Even if it turns out to be totally useless it is still a very nice gesture.
Ok got it up and running (didn't need the Smart Device Framework listed above as I already had Microsoft .NET Compact Frameworkwork 3.5 installed).
First impressions... It's really cool (especially the random item close), haven't had much chance to go through the code yet as it threw up an exception when I first ran it that needed to be sorted out first.
What I was hoping to see was the application being triggered from one of the menus items but instead it just fires up on load.
I was hoping to learn how to code it so it could be fired off the start menu icons, but I can't seem to work out how those applications are triggered.
Not sure what value I can add to the program, but given enough time to learn a bit more about mobile coding I might be able to add something.
I have a PhoneGap application designed to work on multiple mobile platforms. I'm loading a dynamic HTML content from an external page on the Internet using jQuery Mobile. The problematic system is Windows Phone 7.
This is what I get from the external page, with the URL of the script tag already replaced to load from the phone instead of from the net to save bandwidth:
HTML:
<script type="text/javascript" charset="utf-8" src="x-wmapp1:/app/www/test.js"></script>
This works fine on Android, iPhone and even BlackBerry when I replaced the x-wmapp1: part by a respective counterpart (e.g. file:///android_asset/www/ on Android). However, on Windows Phone 7 it doesn't seem to work at all.
When I try to load the same URL via $.getScript function, it always returns a 404 eror, even if I try and load it with a relative path only.
Any suggestions?
First of all, this type of question may be better suited to the Software Development or Apps and Games sub-forums, as a lot of the people who hang out here are more familiar with homebrew hacks. I'll give it a shot, though.
First of all, what kind of path are you trying to use? I haven't tried loading scripts or images in HTML or JS, but to dynamically load content within the app itself typically requires some care with regard to the path. For example, is the JS file being built into the assembly (as a resource) or included alongside it (as content)? How about the HTML page?
This is a kind of lame approach, but one option that's sure to work is just inlining the scripts in the page, directly. That won't increase the total app size or load time at all, although it might make maintaining the app take a little bit more effort.
Thanks for the reply, I will try to post this into the more appropriate forum.
With regards to paths - you can see the path in the HTML snippet I provided in the original question. It's all a bit specific and we cannot afford to load JS directly from page, since that does increase the size of the resulting HTML, sent from an external PHP page, thus increasing bandwidth. This is the first reason why we chose to have all JS and CSS files directly bundled with the application and load them internally rather than from Internet.
Also, all of JS files are included alongside the application as content. I'm using the same approach for all images, since if they were included as a resource, they would not show in the application.
GoodDayToDie said:
First of all, this type of question may be better suited to the Software Development or Apps and Games sub-forums, as a lot of the people who hang out here are more familiar with homebrew hacks. I'll give it a shot, though.
First of all, what kind of path are you trying to use? I haven't tried loading scripts or images in HTML or JS, but to dynamically load content within the app itself typically requires some care with regard to the path. For example, is the JS file being built into the assembly (as a resource) or included alongside it (as content)? How about the HTML page?
This is a kind of lame approach, but one option that's sure to work is just inlining the scripts in the page, directly. That won't increase the total app size or load time at all, although it might make maintaining the app take a little bit more effort.
Click to expand...
Click to collapse
First question: have you set the IsScriptEnabled proerty on the control to True? It defaults to False, preventing scripting within the control. Also, changing it only takes effect
on navigation, so if you already loaded the page and then set this property, it still won't work.
Anyhow, I missed that your HTML was coming externally, and only the scripts and stylesheets were local. That's... interesting, and seems reasonable enough, and I can't find any info online that exactly matches your use case. The way you're structuring the script src URI looks weird to me, but I haven't messed with the WebBrowserControl very much at all.
One solution, though a bit hacky:
Use the WebBrowserControl's InvokeScript function to dynamically load scripts into your pages. To do this, you would first need to load the script file content into a .NET String object. The GetResourceStream function is probably your best friend here, combined with ReadToEnd(). Then, just invoke the eval() JS function, which should be built-in, and pass it the JS file content. That will load the JS into the web page, creating objects (including functions) and executing instructions as the files are eval()ed.
Of course, you'd need to do this on every page navigation, but you can actually automate it such that the page itself requests that the app load those scripts. In your app, bind the script-loading function to the ScriptNotify event handler, probably with some parameter such as the name of the script to load. Then, on each page served from your server to the app, instead of including standard <script src=...> tags, use <script>window.external.notify('load localscript1.js')</script> and so on; this will trigger the app's ScriptNotify function for you.
I hope that helps. I can see your use case, but somewhat surprisingly, I couldn't find anybody else online who had either run into your problem or written a tutorial on doing it your way.
Thank you for your reply, it was very informative. One question though - why do you think the way I'm structuring the SCRIPT URI is wierd? I tried to mess around with relative URIs and the such, however those would load the JavaScript file from Internet rather than from the application itself.
The problem I'm running into with your proposed solutions, however is that:
1. the project is a PhoneGap/Cordova application, using its own components, so I have no idea where I would look for IsScriptEnabled here (although this all worked on an older PhoneGap release, so I'm guessing they have it set up correctly)
2. injecting a script programmatically on each navigation would require me to rewrite much of the code we already use for other platforms, not to mention those custom Cordova components, which I don't even know if they can handle such thing
As for my user case - I was surprised to be the only guy on the internet with this methodology in place as well. So it either works for everyone else or nobody really thought of doing it my way, since it's basically an Internet application (maybe the don't want to disclose their sources, who knows).
CyberGhost636 said:
1. the project is a PhoneGap/Cordova application, using its own components, so I have no idea where I would look for IsScriptEnabled here (although this all worked on an older PhoneGap release, so I'm guessing they have it set up correctly)
Click to expand...
Click to collapse
In the WebBrowser properties.
CyberGhost636 said:
As for my user case - I was surprised to be the only guy on the internet with this methodology in place as well.
Click to expand...
Click to collapse
Of course you not "the only guy". I've tried to port/run a few HTML java-script based games on WP7 (Digger and couple more) more then year ago; they runs well with one HUGE exception - touch screen events are freezing scripts execution and make games not playable.
The "x-wmapp1:" URI scheme was what I was referring to. Not sure where that comes from, but I haven't done anything really with the WebBrowser control.
I have no knowledge of PhoneGap or Cordova; I assume they're "we write your app for you" frameworks? One would assume that such tools would know to set IsScriptEnabled, but you may have to do so manually. A bit of web searching on that direction may be fruitful - maybe earlier versions enabled scripting by default, and now it's disabled by default so you have to specify an option somewhere?
Injecting the script on navigation really doesn't require any major change to the server-side code. I mean, is sending
<script>window.external.notify('load localscript1.js')</script>
really much different from sending
<script type="text/javascript" charset="utf-8" src="x-wmapp1:/app/www/test.js"></script>
? If that's too different, you could instead send
<script src="http://yourserver.com/LoadLocalScripts.js"></script>
and put "LoadLocalScripts.js" on your server with the following code:
window.external.notify('load localscript1.js');
This has only a trivial increase in server traffic and load time, but lets you continue using external scripts instead of inline ones. Very little server-side change needed at all.
Now, the additional client-side code to support the window.external.notify and call InvokeScript... normally I'd say that's dead easy, because it is if you have any experience with the .NET framework, but in your case I get the feeling that this isn't so? I code to the framework, or to the underlying native code, and I tend to code "raw" (very little auto-generated code), so I'm not going to be able to help you solve the problems with a "make me an app" wizard unless I can see the code it generates for you.
For what it's worth, here's the approximate raw code that I'd use (it's over-simplified, but close enough):
void HandleNotify (String param) {
String[] parts = param.split(" ");
if (parts[0] == "load") LoadScript(parts[1]);
}
void LoadScript (String script) {
String content = Application.GetResourceStream(new Uri(script, UriType.Absolute)).ReadToEnd();
theBrowserControl.InvokeScript("eval", content);
}
void theBrowserControl_Loaded (...event handler args here...) {
theBrowserControl.IsScriptEnabled = true;
theBrowserControl.ScriptNotify += HandleNotify;
theBrowserControl.Navigate("http://yoursite.com");
}
the URI comes from Windows Phone itself, with this code, you can see for yourself:
var a = document.createElement('a');
a.setAttribute('href', '.');
alert(a.href);
also, I've been informed that this works in Cordova 2.0, so it might be a 1.8.1 bug... will try and see how it goes
thanks for your help so far!
Looks like it was a problem with PhoneGap 1.8.1 - after upgading to Cordova 2.0 (PhoneGap got renamed) it all works now... thanks for all the help!