Contents: vCardSplit Overview Feature list Download! System Requirements Support Known Faults Development The Future and Comments Changelog and Release Notes
I was chatting to a friend of mine, and he mentioned that he had a problem. He'd exported his contacts from the Palm Desktop to a vCard, in the hope of importing them into Outlook.
Sadly, Outlook imported the first contact from the file and then stopped.
This just wasn't on, really. But with 200+ vCards in the file, he was in for a lot of cut-and-paste editing to get them into separate files. So I offered to write something to do it for him.
vCardSplit takes a standard vCard file and exports all valid vCards from it into individual vCard files. This can be useful it you are trying to export into another system. vCardSplit also takes great care to avoid overwriting data at any point - it will never erase or overwrite a file.
vCardSplit is a very small program, hence this short list:
vCardSplit is available for distribution in the following archive files:
Download vCardSplit now! (RAR archive, 24Kb) (GnuPG signature)
Download vCardSplit now! (ZIP archive, 29Kb) (GnuPG signature)
Download vCardSplit and its source code (RAR archive, 33Kb) (GnuPG signature)
Download vCardSplit and its source code (ZIP archive, 44Kb) (GnuPG signature)
If you're not sure which version to go for, then choose the vCardSplit ZIP archive without sources, which is a tiny 23Kb and should download in under a minute.
GnuPG Signatures have been provided for advanced (and paranoid) users who wish to verify that these archives were produced by me. You'll need my key to use them, of course.
No support guaranteed is given with vCardSplit - the program is provided freely, and development and support will be fitted into my own schedule. However, you can send an email to me with bug reports or with feature requests if you wish.
No software is perfect. Especially if written by me. However, at present there are no known faults with vCardSplit.
I tested it three times, and nothing went wrong. I can't think what would go wrong, either.
If that changes, I'll let you all know here.
vCardSplit was developed with PowerBASIC's excellent Console Compiler version 3. As usual, PowerBASIC have produced a compiler which makes fast, small and completely native code - without the need for runtimes.
The icon for the executable (all executables should have icons - it's sloppy not to add them!) was created in Paint Shop Pro 8.
vCardSplit does the job it was intended to do. Although it wasn't necessarily as easy as it could have been to develop - my original test data had some duplicate entries which made me wonder why I had too many "skipped" vCards due to duplicate filenames - it has been somewhat rewarding.
The two most common queries I get are whether or not I'll make a GUI version, and why didn't I write it in Perl?
Yes, I have considered a GUI version. It's likely. I just need to figure out exactly what I want to do from here on. A GUI version that just splits vCard files seems, well, a bit silly. It might be more friendly, but I figure that if you're mucking around with vCards then you probably know what you're doing anyway, and will be able to handle the command prompt.
To be honest, I'm just not sure where to take any development from here... But if I make a decision, I'll update this page accordingly.
Why didn't I write it in Perl?
Same reason I didn't write it in Visual Basic. I don't like runtimes. Whilst a Perl script would be portable to anywhere that has a Perl interpreter, it still requires a few megabytes for that interpreter.
This program is, as you may have noticed, tiny. In fact, the changelogs show that it's never really significantly increased in size, growing on average around 2 kilobytes when I add new features.
Get me a perl script which, with a Perl environment, is less than 35K, and I'll be suitably impressed. But until then, I'm sticking with pure Win32 code. You can download this program to ANY computer running Windows 95 or Windows NT 3.51 onwards, and it'll run. Which is just what I wanted.
I suppose I should add a small postscript here. The fellow I wrote this for originally split his vCard file. But Outlook still won't import more than a few vCards at a time, as it runs out of resources and crashes when it tries all 200.
I shall refrain from saying that this is typical of Outlook... *grins*
Release 1.0 didn't actually make it to a public release, as I went on holiday. Release 1.0.2 Build 5 should be considered the first release. It is also, at the time of writing, the latest.
Changelog for vCardSplit
========================
* Notes on release
+ New behaviour/feature
- Removed behaviour/feature
# Changed behaviour/feature
Version numbering:
Version numbers are handled in the following manner:
Version x.y.z build n (year-month-day)
Where x is the major version number;
y is the minor version number;
z is the amendment version number;
and build n is the build number.
Major version numbers (x) are typically incremented when
a major feature has been added or changed
Minor version numbers (y) are typically incremented when
a minor feature has been added or changed
Amendment version numbers (z) are typically incremented
when a minor change or a small bugfix has occurred
Build numbers reflect the number of times that it took
to get the version working - a sad indictment of my
programming abilities, on most occasions
Version 1.0.2 Build 5 (2004-02-18)
* Size has now increased ever so slightly...
It's now 33,280 bytes large. If it grows at this rate,
it won't be able to fit on a 1.44Mb floppy disk sometime
in the year 4004.
When that happens, you can all have your money back. :-)
* Commented the source even more - should now be obvious
what's happening. Even if you're a blind, braindead
bumblebee with a learning disorder, who's reading the
source code whilst drunk...
* Removed variables that were declared but never used.
I probably optimised out the need for these variables,
but completely forgot to remove them.
+ If the file doesn't look like a vCard file, vCardSplit
will automatically check it for CR/LF pairs and warn
that it cannot handle UNIX-formatted text files.
+ vCardSplit is now able to skip blank lines at the start
of the file correctly. I've not seen any software export
vCards like this, but as I expended my test suite of
malformed vCards I found this simple bug, and added code
to deal with it.
+ vCardSplit also spots completely empty files and handles
them correctly.
(That was a problem I found when testing the skipping of
blank lines. Who says I never test anything?)
Version 1.0.1 Build 3 (2003-09-01)
* Release 1.0 wasn't fully released
* Back from holiday (That's why it wasn't released!)
* Size unchanged - still 32,768 bytes
# Changed the way that long filenames are generated for
export - slightly more elegant, and will now strip
multiple spaces to single spaces reliably
Version 1.0.0 Build 1 (2003-07-28)
* RELEASE 1.0! YAY!
* Added GPL Licensing to source & program
* Size has now increased to 32,768 bytes (Big license!)
+ vCardSplit.exe license at the command line will display
some terse details of the license
# Tidied up the help text
# Now opens long filenames (enclosed in quotes) correctly
Version 0.9.2 Build 3 (2003-07-27)
* Even more error checking! All test cases now work
* Size has increased to 30,720 bytes
# Now handles premature end of file correctly
(File can end without END:VCARD and the last entry will be
as if it were a truncated entry within the file, as in 0.9.1
Build 4)
Version 0.9.1 Build 4 (2003-07-27)
* Increased error checking to cope with broken vCard files
* File size now 30,208 bytes
+ Now correctly skips past badly truncated entries
(Checks for BEGIN:VCARD before END:VCARD and skips the entry)
Version 0.9.0 Build 6 (2003-07-14)
* Tidying up for final release
* Size 30,208 bytes
+ Now has an icon - nothing special
+ File also has version information embedded by compiler
# Improved logging capabilities by echoing line numbers in output
(This allows you to open the vCard input file and the log in
Notepad, and check the vCard manually)
# Fixed an incomplete sentence in the help text
# Allowed "&" (ampersand) characters back into filenames
Version 0.8.5 Build 3 (2003-07-14)
* First public release
* Size 26,112 bytes
+ Running with no options shows help
+ Shows statistics on numbers processed, skipped, existing at
end of run
+ Checks integrity by searching for "VCARD:BEGIN" on first line
+ Will skip entries with no Organisation or Full Name
+ Will not overwrite existing files
+ Will not generate bad filenames
All prior builds were alpha test builds, not intended for public release.
No documentation wass kept for those builds and their changes.