33 lines
2.4 KiB
Plaintext
33 lines
2.4 KiB
Plaintext
local fn Lunch_Invoice( burger_price as CFStringRef, burger_amount as CFStringRef, shake_price as CFStringRef, shake_amount as CFStringRef, tax as CFStringRef )
|
|
'~'1
|
|
DecimalNumberRef burgerPriceDecimal = fn DecimalNumberWithString( burger_price )
|
|
DecimalNumberRef burgerAmountDecimal = fn DecimalNumberWithString( burger_amount )
|
|
DecimalNumberRef burgersDecimal = fn DecimalNumberByMultiplyingBy( burgerPriceDecimal, burgerAmountDecimal )
|
|
DecimalNumberRef shakePriceDecimal = fn DecimalNumberWithString( shake_price )
|
|
DecimalNumberRef shakeAmountDecimal = fn DecimalNumberWithString( shake_amount )
|
|
DecimalNumberRef shakesDecimal = fn DecimalNumberByMultiplyingBy( shakePriceDecimal, shakeAmountDecimal )
|
|
DecimalNumberRef taxDecimal = fn DecimalNumberWithString( tax )
|
|
DecimalNumberRef subtotalDecimal = fn DecimalNumberByAdding( burgersDecimal, shakesDecimal )
|
|
DecimalNumberRef taxTotalDecimal = fn DecimalNumberByMultiplyingBy( subtotalDecimal, taxDecimal )
|
|
DecimalNumberRef adjTaxTotalDecimal = fn DecimalNumberByAdding( taxTotalDecimal, fn DecimalNumberWithString( @"0.01" ) )
|
|
DecimalNumberRef billTotalDecimal = fn DecimalNumberByAdding( subtotalDecimal, adjTaxTotalDecimal )
|
|
|
|
CFStringRef burgersString = fn DecimalNumberString( burgersDecimal )
|
|
CFStringRef shakesString = fn DecimalNumberString( shakesDecimal )
|
|
CFStringRef taxTotalString = fn DecimalNumberString( adjTaxTotalDecimal )
|
|
CFStringRef billTotalString = fn DecimalNumberString( billTotalDecimal )
|
|
|
|
printf @"%@", fn StringByPaddingToLength( @"", 55, @"-", 0 )
|
|
printf @"Item Price Quantity Cost"
|
|
printf @"Hamburgers %6s %18s %18s", fn StringUTF8String( burger_price ), fn StringUTF8String( burger_amount ), fn StringUTF8String( burgersString )
|
|
printf @"Milkshakes %6s %18s %18s", fn StringUTF8String( shake_price ), fn StringUTF8String( shake_amount ), fn StringUTF8String( shakesString )
|
|
printf @"%@", fn StringByPaddingToLength( @"", 55, @"-", 0 )
|
|
printf @"%34s %@", fn StringUTF8String( @"Subtotal:" ), fn DecimalNumberString( subtotalDecimal )
|
|
printf @"%35s %@", fn StringUTF8String( @" Tax: " ), fn StringSubstringToIndex( taxTotalString, len(taxTotalString) - 3 )
|
|
printf @"%34s %@", fn StringUTF8String( @" Total:" ), fn StringSubstringToIndex( billTotalString, len(billTotalString) - 3 )
|
|
end fn
|
|
|
|
NSLog( @"%@", fn WindowPrintViewString( 1 ) )
|
|
|
|
HandleEvents
|