15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/******************************************************************** 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * COPYRIGHT: 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 1999-2002, International Business Machines Corporation and 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * others. All Rights Reserved. 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) ********************************************************************/ 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 7868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "unicode/unistr.h" 8116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "unicode/msgfmt.h" 9eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "unicode/calendar.h" 10010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#include <stdio.h> 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <stdlib.h> 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "util.h" 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// The message format pattern. It takes a single argument, an integer, 15868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// and formats it as "no", "one", or a number, using a NumberFormat. 16cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)static UnicodeString PATTERN( 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) "Received {0,choice,0#no|1#one|1& {0,number,integer}} arguments" 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) " on {1,date,long}." 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)); 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int main(int argc, char **argv) { 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) UErrorCode status = U_ZERO_ERROR; 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) UnicodeString str; 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) FieldPosition pos; 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Create a message format 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) MessageFormat msg(PATTERN, status); 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) check(status, "MessageFormat::ct"); 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Create the argument list 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Formattable msgArgs[2]; 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) msgArgs[0].setLong(argc-1); 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) msgArgs[1].setDate(Calendar::getNow()); 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Format the arguments 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) msg.format(msgArgs, 2, str, pos, status); 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) check(status, "MessageFormat::format"); 392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) printf("Message: "); 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) uprintf(str); 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) printf("\n"); 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) printf("Exiting successfully\n"); 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return 0; 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)