RosettaCodeData/Task/Arrays/FutureBasic/arrays.basic

185 lines
3.1 KiB
Text
Raw Permalink Normal View History

2023-09-01 09:35:06 -07:00
window 1, @"FutureBasic Arrays", (0,0,480,450)
2023-07-01 11:58:00 -04:00
begin globals
2024-11-04 20:28:54 -08:00
dynamic gA1(10) as long
dynamic gA2(10) as Str255
2023-07-01 11:58:00 -04:00
end globals
void local fn CType
long i
text ,, fn ColorGray
print @"// C-type fixed-length"
text
2024-11-04 20:28:54 -08:00
long a1(4) = {10,5,12,8,7}
2023-07-01 11:58:00 -04:00
for i = 0 to 4
print a1(i),
next
print
a1(0) = 24
a1(2) = 18
a1(4) = 76
for i = 0 to 4
print a1(i),
next
print
2024-11-04 20:28:54 -08:00
CFStringRef a2(4) = {@"Alpha",@"Bravo",@"Tango",@"Delta",@"Echo"}
2023-07-01 11:58:00 -04:00
for i = 0 to 4
print a2(i),
next
print
a2(2) = @"Charlie"
for i = 0 to 4
print a2(i),
next
print : print
end fn
void local fn CTypeDynamic
long i
text ,, fn ColorGray
print @"// C-type dynamic"
text
gA1(0) = 46
gA1(1) = 38
gA1(10) = 67
for i = 0 to fn DynamicNextElement( dynamic(gA1) ) - 1
2023-09-01 09:35:06 -07:00
print gA1(i),
next
print
gA1(5) = 19
gA1(10) = 22
for i = 0 to fn DynamicNextElement( dynamic(gA1) ) - 1
print gA1(i),
next
print
gA2(0) = "Kilo"
gA2(1) = "Lima"
gA2(5) = "Mike"
for i = 0 to fn DynamicNextElement( dynamic(gA2) ) - 1
print gA2(i),
next
print
gA2(1) = "November"
gA2(6) = "Oscar"
for i = 0 to fn DynamicNextElement( dynamic(gA2) ) - 1
print gA2(i),
next
print : print
2023-07-01 11:58:00 -04:00
end fn
void local fn CoreFoundationImmutable
long i
text ,, fn ColorGray
print @"// CoreFoundation (CF) immutable"
text
CFArrayRef a5 = @[@10,@5,@12,@8,@7]
for i = 0 to 4
print a5[i],
next
print
CFArrayRef a6 = @[@"Alpha",@"Bravo",@"Charlie",@"Delta",@"Echo"]
for i = 0 to 4
print a6[i],
next
print : print
end fn
void local fn CoreFoundationMutableFixedLength
long i
text ,, fn ColorGray
print @"// CoreFoundation (CF) mutable, fixed-length"
text
CFMutableArrayRef a1 = fn MutableArrayWithCapacity(3)
2024-11-04 20:28:54 -08:00
a1[0] = @79 : a1[1] = @43 : a1[2] = @101
2023-07-01 11:58:00 -04:00
for i = 0 to len(a1) - 1
print a1[i],
next
print
2024-11-04 20:28:54 -08:00
a1[2] = @15
2023-07-01 11:58:00 -04:00
for i = 0 to len(a1) - 1
print a1[i],
next
print
CFMutableArrayRef a2 = fn MutableArrayWithCapacity(4)
2024-11-04 20:28:54 -08:00
a2[0] = @"Whisky" : a2[1] = @"Oscar" : a2[2] = @"Yankee" : a2[3] = @"Sierra"
2023-07-01 11:58:00 -04:00
for i = 0 to len(a2) - 1
print a2[i],
next
print
2024-11-04 20:28:54 -08:00
a2[1] = @"Xray"
a2[3] = @"Zulu"
2023-07-01 11:58:00 -04:00
for i = 0 to len(a2) - 1
print a2[i],
next
print : print
end fn
void local fn CoreFoundationMutableDynamic
long i
text ,, fn ColorGray
print @"// CoreFoundation (CF) mutable, dynamic"
text
CFMutableArrayRef a1 = fn MutableArrayWithCapacity(0)
MutableArrayAddObject( a1, @"Juliet" )
MutableArrayAddObject( a1, @"Golf" )
MutableArrayAddObject( a1, @"India" )
for i = 0 to len(a1) - 1
print a1[i],
next
print
2024-11-04 20:28:54 -08:00
a1[0] = @"Foxtrot"
a1[2] = @"Hotel"
2023-07-01 11:58:00 -04:00
for i = 0 to len(a1) - 1
print a1[i],
next
2023-09-01 09:35:06 -07:00
print : print
end fn
void local fn FB_MDA
long i
text ,, fn ColorGray
print @"// FB MDA - mutable, dynamic, multi-dimensional"
text
2024-11-04 20:28:54 -08:00
mda() = {@"Alpha",@"Romeo",@"Mike"}
2023-09-01 09:35:06 -07:00
for i = 0 to mda_count - 1
print mda(i),
next
print
mda_swap(0),(2)
mda(1) = @"Delta"
for i = 0 to mda_count - 1
print mda(i),
next
2023-07-01 11:58:00 -04:00
end fn
fn CType
fn CTypeDynamic
fn CoreFoundationImmutable
fn CoreFoundationMutableFixedLength
fn CoreFoundationMutableDynamic
2023-09-01 09:35:06 -07:00
fn FB_MDA
2023-07-01 11:58:00 -04:00
HandleEvents