agenda formats
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 3383
Common Data Format 3.1
Common Data Format is a self-describing data abstraction for the storage and manipulation of multidimensional data. more>>
Common Data Format is a self-describing data abstraction for the storage and manipulation of multidimensional data in a platform- and discipline-independent fashion.
It consists of a scientific data management package (known as the "CDF Library") that allows programmers and application developers to manage and manipulate scalar, vector, and multi-dimensional data arrays.
Enhancements:
- Adds new sets of APIs to allow Standard Interface to interact with zVariables and other CDF-related information.
- Adds MingW and FreeBSD ports.
- Adds support for Intel C++ and Fortran for Linux.
- Adds the ability to create legacy CDF 2.7 files.
- Fixes a bug that prevented directories from having .cdf or .skt extensions.
<<lessIt consists of a scientific data management package (known as the "CDF Library") that allows programmers and application developers to manage and manipulate scalar, vector, and multi-dimensional data arrays.
Enhancements:
- Adds new sets of APIs to allow Standard Interface to interact with zVariables and other CDF-related information.
- Adds MingW and FreeBSD ports.
- Adds support for Intel C++ and Fortran for Linux.
- Adds the ability to create legacy CDF 2.7 files.
- Fixes a bug that prevented directories from having .cdf or .skt extensions.
Download (1.5MB)
Added: 2006-03-13 License: Public Domain Price:
1320 downloads
AnyData::Format::Mp3 0.10
AnyData::Format::Mp3 is a tied hash and DBI access to Mp3 files. more>>
AnyData::Format::Mp3 is a tied hash and DBI access to Mp3 files.
SYNOPSIS
use AnyData;
my $playlist = adTie( Passwd, [c:/My Music/] );
while (my $song = each %$playlist){
print $song->{artist} if $song->{genre} eq Reggae
}
OR
use DBI
my $dbh = DBI->connect(dbi:AnyData:);
$dbh->func(playlist,Mp3,[c:/My Music],ad_catalog);
my $playlist = $dbh->selectall_arrayref( qq{
SELECT artist, title FROM playlist WHERE genre = Reggae
});
# ... other DBI/SQL operations
This module provides a tied hash interface and a DBI/SQL interface to MP files. It creates an in-memory database or hash from the Mp3 files themselves without actually creating a separate database file. This means that the database is automatically updated just by moving files in or out of the directories.
Many mp3 (mpeg three) music files contain a header describing the song name, artist, and other information about the music.
Simply choose Mp3 as the format and give a reference to an array of directories containing mp3 files. Each file in those directories will become a record containing the fields:
song
artist
album
year
genre
filename
filesize
This module is a submodule of the AnyData.pm and DBD::AnyData.pm modules. Refer to their documentation for further details.
<<lessSYNOPSIS
use AnyData;
my $playlist = adTie( Passwd, [c:/My Music/] );
while (my $song = each %$playlist){
print $song->{artist} if $song->{genre} eq Reggae
}
OR
use DBI
my $dbh = DBI->connect(dbi:AnyData:);
$dbh->func(playlist,Mp3,[c:/My Music],ad_catalog);
my $playlist = $dbh->selectall_arrayref( qq{
SELECT artist, title FROM playlist WHERE genre = Reggae
});
# ... other DBI/SQL operations
This module provides a tied hash interface and a DBI/SQL interface to MP files. It creates an in-memory database or hash from the Mp3 files themselves without actually creating a separate database file. This means that the database is automatically updated just by moving files in or out of the directories.
Many mp3 (mpeg three) music files contain a header describing the song name, artist, and other information about the music.
Simply choose Mp3 as the format and give a reference to an array of directories containing mp3 files. Each file in those directories will become a record containing the fields:
song
artist
album
year
genre
filename
filesize
This module is a submodule of the AnyData.pm and DBD::AnyData.pm modules. Refer to their documentation for further details.
Download (0.043MB)
Added: 2006-11-07 License: GPL (GNU General Public License) Price:
1081 downloads
Agenda Displayer 1.4
Agenda is a Web-based application that let you manage your appointments. more>>
Agenda is a Web-based application that let you manage your appointments.
It can display information by day, week, month, and year. Agenda Displayer supports official holidays.
Enhancements:
- This release added a world clock, an astrological calendar, a todo handler, a login system, a countdown function, support for generating iCal files with a .ics extension, a new way to handle your annual days off, sunrise and sunset times, and moon phase classes.
<<lessIt can display information by day, week, month, and year. Agenda Displayer supports official holidays.
Enhancements:
- This release added a world clock, an astrological calendar, a todo handler, a login system, a countdown function, support for generating iCal files with a .ics extension, a new way to handle your annual days off, sunrise and sunset times, and moon phase classes.
Download (0.18MB)
Added: 2006-05-09 License: GPL (GNU General Public License) Price:
1270 downloads
Fortran::Format 0.90
Fortran::Format is a Perl module to read and write data according to a standard Fortran 77 FORMAT. more>>
Fortran::Format is a Perl module to read and write data according to a standard Fortran 77 FORMAT.
SYNOPSYS
use Fortran::Format;
my $f = Fortran::Format->new("2(N: ,I4,2X)");
print $f->write(1 .. 10);
# prints the following:
# N: 1 N: 2
# N: 3 N: 4
# N: 5 N: 6
# N: 7 N: 8
# N: 9 N: 10
# if you dont want to save the format object,
# just chain the calls:
Fortran::Format->new("2(N: ,I4,2X)")->write(1 .. 10);
This is a Perl implementation of the Fortran 77 formatted input/output facility. One possible use is for producing input files for old Fortran programs, making sure that their column-oriented records are rigorously correct. Fortran formats may also have some advantages over printf in some cases: it is very easy to output an array, reusing the format as needed; and the syntax for repeated columns is more concise. Unlike printf, for good or ill, Fortran-formatted fields never exceed their desired width. For example, compare
printf "%3d", 12345; # prints "12345"
print Fortran::Format->new("I3")->write(12345); # prints "***"
This implementation was written in pure Perl, with portability and correctness in mind. It implements the full ANSI standard for Fortran 77 Formats (or at least it should). It was not written with speed in mind, so if you need to process millions of records it may not be what you need.
<<lessSYNOPSYS
use Fortran::Format;
my $f = Fortran::Format->new("2(N: ,I4,2X)");
print $f->write(1 .. 10);
# prints the following:
# N: 1 N: 2
# N: 3 N: 4
# N: 5 N: 6
# N: 7 N: 8
# N: 9 N: 10
# if you dont want to save the format object,
# just chain the calls:
Fortran::Format->new("2(N: ,I4,2X)")->write(1 .. 10);
This is a Perl implementation of the Fortran 77 formatted input/output facility. One possible use is for producing input files for old Fortran programs, making sure that their column-oriented records are rigorously correct. Fortran formats may also have some advantages over printf in some cases: it is very easy to output an array, reusing the format as needed; and the syntax for repeated columns is more concise. Unlike printf, for good or ill, Fortran-formatted fields never exceed their desired width. For example, compare
printf "%3d", 12345; # prints "12345"
print Fortran::Format->new("I3")->write(12345); # prints "***"
This implementation was written in pure Perl, with portability and correctness in mind. It implements the full ANSI standard for Fortran 77 Formats (or at least it should). It was not written with speed in mind, so if you need to process millions of records it may not be what you need.
Download (0.018MB)
Added: 2007-04-20 License: Perl Artistic License Price:
925 downloads
Time::Format 1.02
Time::Format is a Perl module for easy-to-use date/time formatting. more>>
Time::Format is a Perl module for easy-to-use date/time formatting.
SYNOPSIS
use Time::Format qw(%time %strftime %manip);
$time{$format}
$time{$format, $unixtime}
print "Today is $time{yyyy/mm/dd}n";
print "Yesterday was $time{yyyy/mm/dd, time-24*60*60}n";
print "The time is $time{hh:mm:ss}n";
print "Another time is $time{H:mm am tz, $another_time}n";
print "Timestamp: $time{yyyymmdd.hhmmss.mmm}n";
%time also accepts Date::Manip strings and DateTime objects:
$dm = Date::Manip::ParseDate(last monday);
print "Last monday was $time{Month d, yyyy, $dm}";
$dt = DateTime->new (....);
print "Heres another date: $time{m/d/yy, $dt}";
It also accepts most ISO-8601 date/time strings:
$t = 2005/10/31T17:11:09; # date separator: / or - or .
$t = 2005-10-31 17.11.09; # in-between separator: T or _ or space
$t = 20051031_171109; # time separator: : or .
$t = 20051031171109; # separators may be omitted
$t = 2005/10/31; # date-only is okay
$t = 17:11:09; # time-only is okay
# But not:
$t = 20051031; # date-only without separators
$t = 171109; # time-only without separators
# ...because those look like epoch time numbers.
%strftime works like POSIXs strftime, if you like those %-formats.
$strftime{$format}
$strftime{$format, $unixtime}
$strftime{$format, $sec,$min,$hour, $mday,$mon,$year, $wday,$yday,$isdst}
print "POSIXish: $strftime{%A, %B %d, %Y, 0,0,0,12,11,95,2}n";
print "POSIXish: $strftime{%A, %B %d, %Y, 1054866251}n";
print "POSIXish: $strftime{%A, %B %d, %Y}n"; # current time
%manip works like Date::Manips UnixDate function.
$manip{$format};
$manip{$format, $when};
print "Date::Manip: $manip{%m/%d/%Y}n"; # current time
print "Date::Manip: $manip{%m/%d/%Y,last Tuesday}n";
These can also be used as standalone functions:
use Time::Format qw(time_format time_strftime time_manip);
print "Today is ", time_format(yyyy/mm/dd, $some_time), "n";
print "POSIXish: ", time_strftime(%A %B %d, %Y,$some_time), "n";
print "Date::Manip: ", time_manip(%m/%d/%Y,$some_time), "n";
This module creates global pseudovariables which format dates and times, according to formatting codes you pass to them in strings.
The %time formatting codes are designed to be easy to remember and use, and to take up just as many characters as the output time value whenever possible. For example, the four-digit year code is "yyyy", the three-letter month abbreviation is "Mon".
The nice thing about having a variable-like interface instead of function calls is that the values can be used inside of strings (as well as outside of strings in ordinary expressions). Dates are frequently used within strings (log messages, output, data records, etc.), so having the ability to interpolate them directly is handy.
Perl allows arbitrary expressions within curly braces of a hash, even when that hash is being interpolated into a string. This allows you to do computations on the fly while formatting times and inserting them into strings. See the "yesterday" example above.
The format strings are designed with programmers in mind. What do you need most frequently? 4-digit year, month, day, 24-based hour, minute, second -- usually with leading zeroes. These six are the easiest formats to use and remember in Time::Format: yyyy, mm, dd, hh, mm, ss. Variants on these formats follow a simple and consistent formula. This module is for everyone who is weary of trying to remember strftime(3)s arcane codes, or of endlessly writing $t[4]++; $t[5]+=1900 as you manually format times or dates.
Note that mm (and related codes) are used both for months and minutes. This is a feature. %time resolves the ambiguity by examining other nearby formatting codes. If its in the context of a year or a day, "month" is assumed. If in the context of an hour or a second, "minute" is assumed.
The format strings are not meant to encompass every date/time need ever conceived. But how often do you need the day of the year (strftimes %j) or the week number (strftimes %W)?
For capabilities that %time does not provide, %strftime provides an interface to POSIXs strftime, and %manip provides an interface to the Date::Manip modules UnixDate function.
If the companion module Time::Format_XS is also installed, Time::Format will detect and use it. This will result in a significant speed increase for %time and time_format.
<<lessSYNOPSIS
use Time::Format qw(%time %strftime %manip);
$time{$format}
$time{$format, $unixtime}
print "Today is $time{yyyy/mm/dd}n";
print "Yesterday was $time{yyyy/mm/dd, time-24*60*60}n";
print "The time is $time{hh:mm:ss}n";
print "Another time is $time{H:mm am tz, $another_time}n";
print "Timestamp: $time{yyyymmdd.hhmmss.mmm}n";
%time also accepts Date::Manip strings and DateTime objects:
$dm = Date::Manip::ParseDate(last monday);
print "Last monday was $time{Month d, yyyy, $dm}";
$dt = DateTime->new (....);
print "Heres another date: $time{m/d/yy, $dt}";
It also accepts most ISO-8601 date/time strings:
$t = 2005/10/31T17:11:09; # date separator: / or - or .
$t = 2005-10-31 17.11.09; # in-between separator: T or _ or space
$t = 20051031_171109; # time separator: : or .
$t = 20051031171109; # separators may be omitted
$t = 2005/10/31; # date-only is okay
$t = 17:11:09; # time-only is okay
# But not:
$t = 20051031; # date-only without separators
$t = 171109; # time-only without separators
# ...because those look like epoch time numbers.
%strftime works like POSIXs strftime, if you like those %-formats.
$strftime{$format}
$strftime{$format, $unixtime}
$strftime{$format, $sec,$min,$hour, $mday,$mon,$year, $wday,$yday,$isdst}
print "POSIXish: $strftime{%A, %B %d, %Y, 0,0,0,12,11,95,2}n";
print "POSIXish: $strftime{%A, %B %d, %Y, 1054866251}n";
print "POSIXish: $strftime{%A, %B %d, %Y}n"; # current time
%manip works like Date::Manips UnixDate function.
$manip{$format};
$manip{$format, $when};
print "Date::Manip: $manip{%m/%d/%Y}n"; # current time
print "Date::Manip: $manip{%m/%d/%Y,last Tuesday}n";
These can also be used as standalone functions:
use Time::Format qw(time_format time_strftime time_manip);
print "Today is ", time_format(yyyy/mm/dd, $some_time), "n";
print "POSIXish: ", time_strftime(%A %B %d, %Y,$some_time), "n";
print "Date::Manip: ", time_manip(%m/%d/%Y,$some_time), "n";
This module creates global pseudovariables which format dates and times, according to formatting codes you pass to them in strings.
The %time formatting codes are designed to be easy to remember and use, and to take up just as many characters as the output time value whenever possible. For example, the four-digit year code is "yyyy", the three-letter month abbreviation is "Mon".
The nice thing about having a variable-like interface instead of function calls is that the values can be used inside of strings (as well as outside of strings in ordinary expressions). Dates are frequently used within strings (log messages, output, data records, etc.), so having the ability to interpolate them directly is handy.
Perl allows arbitrary expressions within curly braces of a hash, even when that hash is being interpolated into a string. This allows you to do computations on the fly while formatting times and inserting them into strings. See the "yesterday" example above.
The format strings are designed with programmers in mind. What do you need most frequently? 4-digit year, month, day, 24-based hour, minute, second -- usually with leading zeroes. These six are the easiest formats to use and remember in Time::Format: yyyy, mm, dd, hh, mm, ss. Variants on these formats follow a simple and consistent formula. This module is for everyone who is weary of trying to remember strftime(3)s arcane codes, or of endlessly writing $t[4]++; $t[5]+=1900 as you manually format times or dates.
Note that mm (and related codes) are used both for months and minutes. This is a feature. %time resolves the ambiguity by examining other nearby formatting codes. If its in the context of a year or a day, "month" is assumed. If in the context of an hour or a second, "minute" is assumed.
The format strings are not meant to encompass every date/time need ever conceived. But how often do you need the day of the year (strftimes %j) or the week number (strftimes %W)?
For capabilities that %time does not provide, %strftime provides an interface to POSIXs strftime, and %manip provides an interface to the Date::Manip modules UnixDate function.
If the companion module Time::Format_XS is also installed, Time::Format will detect and use it. This will result in a significant speed increase for %time and time_format.
Download (0.038MB)
Added: 2007-07-19 License: Perl Artistic License Price:
830 downloads
Agendaroids 2002.03.07
Agendaroids is an Asteroids clone for the Agenda VR3 PDA. more>>
Agendaroids is an "Asteroids" clone for the Agenda VR3 PDA.
Agendaroids is a game where you maneuver a space ship in a field of asteroids, and shoot at them to break them into smaller pieces.
It uses vector-based graphics with fixed-point trigonometry, so it runs well even on the FPU-less VR3, but it also runs on any other Xlib-based system.
Main features:
- Smooth vector graphics
- Dark-on-light display; better for greyscale LCD screens
- Light-on-dark display for monitors and color LCDs
- Looks really cool with the backlight on!
- Rotating asteroids
- Fast, table-based trigonometric functions
- Agenda-friendly key controls (as well as PC keyboard alternative)
- Sound effects (via piezo buzzer)
- Pause and resume (even if you quit)
- ... and more!
<<lessAgendaroids is a game where you maneuver a space ship in a field of asteroids, and shoot at them to break them into smaller pieces.
It uses vector-based graphics with fixed-point trigonometry, so it runs well even on the FPU-less VR3, but it also runs on any other Xlib-based system.
Main features:
- Smooth vector graphics
- Dark-on-light display; better for greyscale LCD screens
- Light-on-dark display for monitors and color LCDs
- Looks really cool with the backlight on!
- Rotating asteroids
- Fast, table-based trigonometric functions
- Agenda-friendly key controls (as well as PC keyboard alternative)
- Sound effects (via piezo buzzer)
- Pause and resume (even if you quit)
- ... and more!
Download (0.042MB)
Added: 2006-11-25 License: GPL (GNU General Public License) Price:
1064 downloads
Tie::Formatted 0.02
Tie::Formatted is a Perl module embed sprintf() formatting in regular print(). more>>
Tie::Formatted is a Perl module embed sprintf() formatting in regular print().
SYNOPSIS
use Tie::Formatted;
print "The value is $format{$number, "%3d"} ",
"(or $format{$number, "%04x"} in hex)n";
print "some numbers: $format{ 12, 492, 1, 8753, "%04d"}n";
This module creates a global read-only hash, %format, for formatting data items with standard sprintf format specifications. Since its a hash, you can interpolate it into strings as well as use it standalone.
The hash should be "accessed" with two or more "keys". The last key is interpreted as a sprintf format for each data item specified in the preceeding arguments. This allows you to format multiple items at once using the same format for each.
Alternate name
If you prefer, you can specify a different name for the magical formatting hash by supplying it as as argument when useing the module:
use Tie::Formatted qw(z);
This makes %z the magic hash instead.
print "This is hex: $z{255, "%04x"}n";
Tie::Formatted currently supports only one format in the final argument; this may change if there is demand for it.
<<lessSYNOPSIS
use Tie::Formatted;
print "The value is $format{$number, "%3d"} ",
"(or $format{$number, "%04x"} in hex)n";
print "some numbers: $format{ 12, 492, 1, 8753, "%04d"}n";
This module creates a global read-only hash, %format, for formatting data items with standard sprintf format specifications. Since its a hash, you can interpolate it into strings as well as use it standalone.
The hash should be "accessed" with two or more "keys". The last key is interpreted as a sprintf format for each data item specified in the preceeding arguments. This allows you to format multiple items at once using the same format for each.
Alternate name
If you prefer, you can specify a different name for the magical formatting hash by supplying it as as argument when useing the module:
use Tie::Formatted qw(z);
This makes %z the magic hash instead.
print "This is hex: $z{255, "%04x"}n";
Tie::Formatted currently supports only one format in the final argument; this may change if there is demand for it.
Download (0.005MB)
Added: 2007-01-15 License: Perl Artistic License Price:
1012 downloads
Format on Save 1.1.0
Format on Save is a Eclipse plugin to automatically organizes imports and formats code when saving a Java editor. more>>
Format on Save is a Eclipse plugin to automatically organizes imports and formats code when saving a Java editor.
This is the exact equivalent as doing Ctrl-Shift-O, Ctrl-Shift-F before saving. New features: - Sort Members and Correct Indentation - preference page to configure defaults
<<lessThis is the exact equivalent as doing Ctrl-Shift-O, Ctrl-Shift-F before saving. New features: - Sort Members and Correct Indentation - preference page to configure defaults
Download (0.051MB)
Added: 2006-09-13 License: GPL (GNU General Public License) Price:
1138 downloads
DateTime::Format::Pg 0.15
DateTime::Format::Pg is a Perl module to parse and format PostgreSQL dates and times. more>>
DateTime::Format::Pg is a Perl module to parse and format PostgreSQL dates and times.
SYNOPSIS
use DateTime::Format::Pg;
my $dt = DateTime::Format::Pg->parse_datetime( 2003-01-16 23:12:01 );
# 2003-01-16T23:12:01+0200
DateTime::Format::Pg->format_datetime($dt);
This module understands the formats used by PostgreSQL for its DATE, TIME, TIMESTAMP, and INTERVAL data types. It can be used to parse these formats in order to create DateTime or DateTime::Duration objects, and it can take a DateTime or DateTime::Duration object and produce a string representing it in a format accepted by PostgreSQL.
CONSTRUCTORS
The following methods can be used to create DateTime::Format::Pg objects.
new( name => value, ... )
Creates a new DateTime::Format::Pg instance. This is generally not required for simple operations. If you wish to use a different parsing style from the default then it is more comfortable to create an object.
my $parser = DateTime::Format::Pg->new()
my $copy = $parser->new( european => 1 );
This method accepts the following options:
european
If european is set to non-zero, dates are assumed to be in european dd/mm/yyyy format. The default is to assume US mm/dd/yyyy format (because this is the default for PostgreSQL).
This option only has an effect if PostgreSQL is set to output dates in the PostgreSQL (DATE only) and SQL (DATE and TIMESTAMP) styles.
Note that you dont have to set this option if the PostgreSQL server has been set to use the ISO format, which is the default.
server_tz
This option can be set to a DateTime::TimeZone object or a string that contains a time zone name.
This value must be set to the same value as the PostgreSQL servers time zone in order to parse TIMESTAMP WITH TIMEZONE values in the PostgreSQL, SQL, and German formats correctly.
Note that you dont have to set this option if the PostgreSQL server has been set to use the ISO format, which is the default.
clone()
This method is provided for those who prefer to explicitly clone via a method called clone().
my $clone = $original->clone();
If called as a class method it will die.
<<lessSYNOPSIS
use DateTime::Format::Pg;
my $dt = DateTime::Format::Pg->parse_datetime( 2003-01-16 23:12:01 );
# 2003-01-16T23:12:01+0200
DateTime::Format::Pg->format_datetime($dt);
This module understands the formats used by PostgreSQL for its DATE, TIME, TIMESTAMP, and INTERVAL data types. It can be used to parse these formats in order to create DateTime or DateTime::Duration objects, and it can take a DateTime or DateTime::Duration object and produce a string representing it in a format accepted by PostgreSQL.
CONSTRUCTORS
The following methods can be used to create DateTime::Format::Pg objects.
new( name => value, ... )
Creates a new DateTime::Format::Pg instance. This is generally not required for simple operations. If you wish to use a different parsing style from the default then it is more comfortable to create an object.
my $parser = DateTime::Format::Pg->new()
my $copy = $parser->new( european => 1 );
This method accepts the following options:
european
If european is set to non-zero, dates are assumed to be in european dd/mm/yyyy format. The default is to assume US mm/dd/yyyy format (because this is the default for PostgreSQL).
This option only has an effect if PostgreSQL is set to output dates in the PostgreSQL (DATE only) and SQL (DATE and TIMESTAMP) styles.
Note that you dont have to set this option if the PostgreSQL server has been set to use the ISO format, which is the default.
server_tz
This option can be set to a DateTime::TimeZone object or a string that contains a time zone name.
This value must be set to the same value as the PostgreSQL servers time zone in order to parse TIMESTAMP WITH TIMEZONE values in the PostgreSQL, SQL, and German formats correctly.
Note that you dont have to set this option if the PostgreSQL server has been set to use the ISO format, which is the default.
clone()
This method is provided for those who prefer to explicitly clone via a method called clone().
my $clone = $original->clone();
If called as a class method it will die.
Download (0.019MB)
Added: 2007-05-17 License: Perl Artistic License Price:
890 downloads
IFF Format Library 0.1
IFF Format Library provides header structures and utility functions for reading and writing data files in the Interchange Files. more>>
IFF Format Library provides header structures and utility functions for reading and writing data files in the Interchange Files.
The Interchange File Format is a simple structured binary file format consisting of sized and typed chunks of data, selectively readable without having to know the format of each chunk.
This functionality is similar to what XML provides for text documents, and the IFF format can indeed be viewed as a sort of a binary XML. IFFs extensibility is an excellent way of not breaking old applications when the file format changes, making it an excellent choice for your next applications data files.
The IFF is also the simplest and the smallest such data format, ensuring that your files consist of real data rather than overhead and that your code spends more time on real work than on parsing the data file. This library defines the IFF header structures and provides simple algorithms for directly writing many of your objects as chunks and containers.
Installation:
This library can be downloaded from SourceForge, as can its sole prerequisite:
libiff - The library source package.
uSTL - An STL implementation, required.
First, unpack and install uSTL, as described in its documentation. Unpack libiff and run ./configure; make install, which will install the library to /usr/local/lib and headers to /usr/local/include. ./configure --help lists available configuration options, in the usual autoconf fashion. The one thing to be aware of is that by default the library will not be completely conforming to EA85 specification. Why that is so, and why you should take the default options anyway, is discussed in detail in the next section. If you really want to use the original EA85 format, you can to pass --with-bigendian --with-2grain to configure.
Usage:
If you are using C++, chances are you already have an object-oriented design of some kind. You have a collection of objects, related to each other in some way, and you want to write them all to a file in some way. It is, of course, possible to just write them all to the file, one after the other, but that approach makes things difficult if you ever decide to change the structure of those objects, write more or fewer of them, or explain to other people how to read your format. Hence, it is desirable to create some kind of structure in the file, to be able to determine where each objects begins and ends, and what kind of object is where. When using an IFF format, youll make simple objects into chunks, and objects containing other objects into FORMs, LISTs, or CATs.
The first task is to make each of your objects readable and writable through uSTL streams. To do that youll need to define three methods, read, write, and stream_size, and create flow operator overrides with a STD_STREAMABLE macro. Here is a typical example:
#include < iff.h > // iff header includes ustl.h, but doesnt use the namespace.
using namespace ustl; // it is recommended to leave iff:: namespace on.
/// Stores players vital statistics.
class CPlayerStats {
public:
void read (istream& is);
void write (ostream& os) const;
size_t stream_size (void) const;
private:
uint16_t m_HP;
uint16_t m_MaxHP;
uint16_t m_Mana;
uint16_t m_MaxMana;
};
// Since the object is simple, and contains no other objects,
// well make it a simple chunk.
enum { // Define a chunk format for writing this object.
fmt_PlayerStats = IFF_FMT(S,T,A,T)
}; // In a hex editor youll see STAT at the beginning of the object
// making it easy to find when you want to hack something in it.
/// Reads the object from stream p is
void CPlayerStats::read (istream& is)
{
is >> m_HP >> m_MaxHP >> m_Mana >> m_MaxMana;
}
/// Writes the object to stream p os.
void CPlayerStats::write (ostream& os) const
{
os<<less
The Interchange File Format is a simple structured binary file format consisting of sized and typed chunks of data, selectively readable without having to know the format of each chunk.
This functionality is similar to what XML provides for text documents, and the IFF format can indeed be viewed as a sort of a binary XML. IFFs extensibility is an excellent way of not breaking old applications when the file format changes, making it an excellent choice for your next applications data files.
The IFF is also the simplest and the smallest such data format, ensuring that your files consist of real data rather than overhead and that your code spends more time on real work than on parsing the data file. This library defines the IFF header structures and provides simple algorithms for directly writing many of your objects as chunks and containers.
Installation:
This library can be downloaded from SourceForge, as can its sole prerequisite:
libiff - The library source package.
uSTL - An STL implementation, required.
First, unpack and install uSTL, as described in its documentation. Unpack libiff and run ./configure; make install, which will install the library to /usr/local/lib and headers to /usr/local/include. ./configure --help lists available configuration options, in the usual autoconf fashion. The one thing to be aware of is that by default the library will not be completely conforming to EA85 specification. Why that is so, and why you should take the default options anyway, is discussed in detail in the next section. If you really want to use the original EA85 format, you can to pass --with-bigendian --with-2grain to configure.
Usage:
If you are using C++, chances are you already have an object-oriented design of some kind. You have a collection of objects, related to each other in some way, and you want to write them all to a file in some way. It is, of course, possible to just write them all to the file, one after the other, but that approach makes things difficult if you ever decide to change the structure of those objects, write more or fewer of them, or explain to other people how to read your format. Hence, it is desirable to create some kind of structure in the file, to be able to determine where each objects begins and ends, and what kind of object is where. When using an IFF format, youll make simple objects into chunks, and objects containing other objects into FORMs, LISTs, or CATs.
The first task is to make each of your objects readable and writable through uSTL streams. To do that youll need to define three methods, read, write, and stream_size, and create flow operator overrides with a STD_STREAMABLE macro. Here is a typical example:
#include < iff.h > // iff header includes ustl.h, but doesnt use the namespace.
using namespace ustl; // it is recommended to leave iff:: namespace on.
/// Stores players vital statistics.
class CPlayerStats {
public:
void read (istream& is);
void write (ostream& os) const;
size_t stream_size (void) const;
private:
uint16_t m_HP;
uint16_t m_MaxHP;
uint16_t m_Mana;
uint16_t m_MaxMana;
};
// Since the object is simple, and contains no other objects,
// well make it a simple chunk.
enum { // Define a chunk format for writing this object.
fmt_PlayerStats = IFF_FMT(S,T,A,T)
}; // In a hex editor youll see STAT at the beginning of the object
// making it easy to find when you want to hack something in it.
/// Reads the object from stream p is
void CPlayerStats::read (istream& is)
{
is >> m_HP >> m_MaxHP >> m_Mana >> m_MaxMana;
}
/// Writes the object to stream p os.
void CPlayerStats::write (ostream& os) const
{
os<<less
Download (0.026MB)
Added: 2006-12-07 License: MIT/X Consortium License Price:
1056 downloads
DateTime::Format::Strptime 1.0700
DateTime::Format::Strptime is a Perl module to parse and format strp and strf time patterns. more>>
DateTime::Format::Strptime is a Perl module to parse and format strp and strf time patterns.
SYNOPSIS
use DateTime::Format::Strptime;
my $Strp = new DateTime::Format::Strptime(
pattern => %T,
locale => en_AU,
time_zone => Australia/Melbourne,
);
my $dt = $Strp->parse_datetime(23:16:42);
$Strp->format_datetime($dt);
# 23:16:42
# Croak when things go wrong:
my $Strp = new DateTime::Format::Strptime(
pattern => %T,
locale => en_AU,
time_zone => Australia/Melbourne,
on_error => croak,
);
$newpattern = $Strp->pattern(%Q);
# Unidentified token in pattern: %Q in %Q at line 34 of script.pl
# Do something else when things go wrong:
my $Strp = new DateTime::Format::Strptime(
pattern => %T,
locale => en_AU,
time_zone => Australia/Melbourne,
on_error => &phone_police,
);
This module implements most of strptime(3), the POSIX function that is the reverse of strftime(3), for DateTime. While strftime takes a DateTime and a pattern and returns a string, strptime takes a string and a pattern and returns the DateTime object associated.
<<lessSYNOPSIS
use DateTime::Format::Strptime;
my $Strp = new DateTime::Format::Strptime(
pattern => %T,
locale => en_AU,
time_zone => Australia/Melbourne,
);
my $dt = $Strp->parse_datetime(23:16:42);
$Strp->format_datetime($dt);
# 23:16:42
# Croak when things go wrong:
my $Strp = new DateTime::Format::Strptime(
pattern => %T,
locale => en_AU,
time_zone => Australia/Melbourne,
on_error => croak,
);
$newpattern = $Strp->pattern(%Q);
# Unidentified token in pattern: %Q in %Q at line 34 of script.pl
# Do something else when things go wrong:
my $Strp = new DateTime::Format::Strptime(
pattern => %T,
locale => en_AU,
time_zone => Australia/Melbourne,
on_error => &phone_police,
);
This module implements most of strptime(3), the POSIX function that is the reverse of strftime(3), for DateTime. While strftime takes a DateTime and a pattern and returns a string, strptime takes a string and a pattern and returns the DateTime object associated.
Download (0.025MB)
Added: 2007-05-17 License: Perl Artistic License Price:
890 downloads
Test::Reporter::Date::Format 1.27
Test::Reporter::Date::Format Perl module contains date formating subroutines. more>>
Test::Reporter::Date::Format Perl module contains date formating subroutines.
SYNOPSIS
use Test::Reporter::Date::Format;
@lt = localtime(time);
print time2str($template, time);
print strftime($template, @lt);
print time2str($template, time, $zone);
print strftime($template, @lt, $zone);
print ctime(time);
print asctime(@lt);
print ctime(time, $zone);
print asctime(@lt, $zone);
This module provides routines to format dates into ASCII strings. They correspond to the C library routines strftime and ctime.
time2str(TEMPLATE, TIME [, ZONE])
time2str converts TIME into an ASCII string using the conversion specification given in TEMPLATE. ZONE if given specifies the zone which the output is required to be in, ZONE defaults to your current zone.
strftime(TEMPLATE, TIME [, ZONE])
strftime is similar to time2str with the exception that the time is passed as an array, such as the array returned by localtime.
ctime(TIME [, ZONE])
ctime calls time2str with the given arguments using the conversion specification "%a %b %e %T %Yn"
asctime(TIME [, ZONE])
asctime calls time2str with the given arguments using the conversion specification "%a %b %e %T %Yn"
<<lessSYNOPSIS
use Test::Reporter::Date::Format;
@lt = localtime(time);
print time2str($template, time);
print strftime($template, @lt);
print time2str($template, time, $zone);
print strftime($template, @lt, $zone);
print ctime(time);
print asctime(@lt);
print ctime(time, $zone);
print asctime(@lt, $zone);
This module provides routines to format dates into ASCII strings. They correspond to the C library routines strftime and ctime.
time2str(TEMPLATE, TIME [, ZONE])
time2str converts TIME into an ASCII string using the conversion specification given in TEMPLATE. ZONE if given specifies the zone which the output is required to be in, ZONE defaults to your current zone.
strftime(TEMPLATE, TIME [, ZONE])
strftime is similar to time2str with the exception that the time is passed as an array, such as the array returned by localtime.
ctime(TIME [, ZONE])
ctime calls time2str with the given arguments using the conversion specification "%a %b %e %T %Yn"
asctime(TIME [, ZONE])
asctime calls time2str with the given arguments using the conversion specification "%a %b %e %T %Yn"
Download (0.023MB)
Added: 2007-07-24 License: Perl Artistic License Price:
822 downloads
DateTime::Format::Roman 0.03
DateTime::Format::Roman is a Perl module with roman day numbering for DateTime objects. more>>
DateTime::Format::Roman is a Perl module with roman day numbering for DateTime objects.
SYNOPSIS
use DateTime::Format::Roman;
my $formatter = DateTime::Format::Roman->new(
pattern => %d %f %b %y );
my $dt = DateTime->new( year => 2003, month => 5, day => 28 );
$formatter->format_datetime($dt);
# 5 Kal Jun 2003
This module formats dates in the Roman style.
The Romans expressed their dates in relation to three fixed dates per month. For example: the Ides of March was the 15th of that month; 14 March was called "2 Ides", 13 March was called "3 Ides", etcetera. The days in the second half of the month were named after the first day of the next month, the "Kalends"; e.g. 16 March was called "17 Kalends of April".
METHODS
new( pattern => $string )
Creates a new formatter object. The optional formatting pattern defines the format of the output of format_datetime(). If no formatting pattern is given, a reasonable default is used.
format_datetime($datetime)
Retruns the formatted string. This method can be called on a formatter object (created by new()), or it can be called as a class method. In the latter case, the default pattern is used.
PATTERN SPECIFIERS
The following specifiers are allowed in the format strings given to the new() method:
%b
The abbreviated month name.
%B
The full month name.
%d
The day of the month as a decimal number (including 1 for the fixed days).
%D
The day of the month, written as a number plus the corresponding fixed day.
%f
The fixed day part of the date.
%m
The month as a decimal number (range 1 to 12).
%y
The year as a decimal number.
If a specifier is preceded by O or o, numbers will be written in uppercase and lowercase Roman numerals, respectively.
The %f specifier accepts an additional argument of 1 digit, specifying the length of the output:
%0f : abbreviated name (e.g. "Kal")
%1f : full name (e.g. "Kalends")
%2f : one-letter abbreviation (e.g. "K")
<<lessSYNOPSIS
use DateTime::Format::Roman;
my $formatter = DateTime::Format::Roman->new(
pattern => %d %f %b %y );
my $dt = DateTime->new( year => 2003, month => 5, day => 28 );
$formatter->format_datetime($dt);
# 5 Kal Jun 2003
This module formats dates in the Roman style.
The Romans expressed their dates in relation to three fixed dates per month. For example: the Ides of March was the 15th of that month; 14 March was called "2 Ides", 13 March was called "3 Ides", etcetera. The days in the second half of the month were named after the first day of the next month, the "Kalends"; e.g. 16 March was called "17 Kalends of April".
METHODS
new( pattern => $string )
Creates a new formatter object. The optional formatting pattern defines the format of the output of format_datetime(). If no formatting pattern is given, a reasonable default is used.
format_datetime($datetime)
Retruns the formatted string. This method can be called on a formatter object (created by new()), or it can be called as a class method. In the latter case, the default pattern is used.
PATTERN SPECIFIERS
The following specifiers are allowed in the format strings given to the new() method:
%b
The abbreviated month name.
%B
The full month name.
%d
The day of the month as a decimal number (including 1 for the fixed days).
%D
The day of the month, written as a number plus the corresponding fixed day.
%f
The fixed day part of the date.
%m
The month as a decimal number (range 1 to 12).
%y
The year as a decimal number.
If a specifier is preceded by O or o, numbers will be written in uppercase and lowercase Roman numerals, respectively.
The %f specifier accepts an additional argument of 1 digit, specifying the length of the output:
%0f : abbreviated name (e.g. "Kal")
%1f : full name (e.g. "Kalends")
%2f : one-letter abbreviation (e.g. "K")
Download (0.011MB)
Added: 2007-08-14 License: Perl Artistic License Price:
801 downloads
DateTime::Format::Epoch 0.10
DateTime::Format::Epoch is a Perl module that can convert DateTimes to/from epoch seconds. more>>
DateTime::Format::Epoch is a Perl module that can convert DateTimes to/from epoch seconds.
SYNOPSIS
use DateTime::Format::Epoch;
my $dt = DateTime->new( year => 1970, month => 1, day => 1 );
my $formatter = DateTime::Format::Epoch->new(
epoch => $dt,
unit => seconds,
type => int, # or float, bigint
skip_leap_secondss => 1,
start_at => 0,
local_epoch => undef,
);
my $dt2 = $formatter->parse_datetime( 1051488000 );
# 2003-04-28T00:00:00
$formatter->format_datetime($dt2);
# 1051488000
This module can convert a DateTime object (or any object that can be converted to a DateTime object) to the number of seconds since a given epoch. It can also do the reverse.
<<lessSYNOPSIS
use DateTime::Format::Epoch;
my $dt = DateTime->new( year => 1970, month => 1, day => 1 );
my $formatter = DateTime::Format::Epoch->new(
epoch => $dt,
unit => seconds,
type => int, # or float, bigint
skip_leap_secondss => 1,
start_at => 0,
local_epoch => undef,
);
my $dt2 = $formatter->parse_datetime( 1051488000 );
# 2003-04-28T00:00:00
$formatter->format_datetime($dt2);
# 1051488000
This module can convert a DateTime object (or any object that can be converted to a DateTime object) to the number of seconds since a given epoch. It can also do the reverse.
Download (0.017MB)
Added: 2006-08-15 License: Perl Artistic License Price:
1168 downloads
OODoc::Format::Pod 0.98
OODoc::Format::Pod is a Perl module to produce POD pages from the doc tree. more>>
OODoc::Format::Pod is a Perl module to produce POD pages from the doc tree.
INHERITANCE
OODoc::Format::Pod
is an OODoc::Format
is an OODoc::Object
OODoc::Format::Pod is extended by
OODoc::Format::Pod2
SYNOPSIS
my $doc = OODoc->new(...);
$doc->create
( pod
, format_options => [show_examples => NO]
, append => "extra textn"
);
Create manual pages in the POD syntax. POD is the standard document description syntax for Perl. POD can be translated to many different operating system specific manual systems, like the Unix man system.
<<lessINHERITANCE
OODoc::Format::Pod
is an OODoc::Format
is an OODoc::Object
OODoc::Format::Pod is extended by
OODoc::Format::Pod2
SYNOPSIS
my $doc = OODoc->new(...);
$doc->create
( pod
, format_options => [show_examples => NO]
, append => "extra textn"
);
Create manual pages in the POD syntax. POD is the standard document description syntax for Perl. POD can be translated to many different operating system specific manual systems, like the Unix man system.
Download (0.10MB)
Added: 2007-03-09 License: Perl Artistic License Price:
962 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above agenda formats search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed