Code: Select all
Structure SQUAREDATA
SquareNumber.i
Array InnerSquare.i(8)
ReadOnly.b
EndStructure
Dim squareData.SQUAREDATA(82)
Code: Select all
Structure SQUAREDATA
SquareNumber.i
Array InnerSquare.i(8)
ReadOnly.b
EndStructure
Dim squareData.SQUAREDATA(82) ;Array range is 0-81
#FileHandle = 0
#SizeOfDataStructure = SizeOf(SQUAREDATA) * 82
Procedure InsertData(Array squareData.SQUAREDATA(1))
For j = 0 To 81
For k = 0 To 7
squareData(j)\InnerSquare(k) = j*k
Next
Next
EndProcedure
Procedure SaveSquareData(Array squareData.SQUAREDATA(1))
FileNamePath$ = SaveFileRequester("Save test file", "", "Test file *.tst|*.tst", 0)
Extension$ = GetExtensionPart(FileNamePath$)
If Extension$ = "" And FileNamePath$<>""
FileNamePath$ = FileNamePath$ +".tst"
EndIf
If FileNamePath$<>""
If CreateFile(#FileHandle, FileNamePath$)
WriteData(#FileHandle, @squareData(), #SizeOfDataStructure)
CloseFile(#FileHandle)
Else
MessageRequester("WARNING", "Cannot create this file", #PB_MessageRequester_Warning)
EndIf
EndIf
EndProcedure
InsertData(squareData())
SaveSquareData(squareData())
For j = 0 To 81 ;Check the contents of the array
For k = 0 To 7
Debug squareData(j)\InnerSquare(k)
Next
Next
Code: Select all
Structure SQUAREDATA
SquareNumber.i
Array InnerSquare.i(8)
ReadOnly.b
EndStructure
Dim squareData.SQUAREDATA(82) ;Array range is 0-81
#FileHandle = 0
#SizeOfDataStructure = SizeOf(SQUAREDATA) * 82
Procedure LoadSquareData(Array squareData.SQUAREDATA(1))
FileNamePath$ = OpenFileRequester("Open test file", "", "Test file *.tst|*.tst", 0)
If FileNamePath$<>""
If OpenFile(#FileHandle,FileNamePath$)
ReadData(#FileHandle,@squareData(), #SizeOfDataStructure)
CloseFile(#FileHandle)
result=#True
EndIf
EndIf
ProcedureReturn result
EndProcedure
LoadSquareData(squareData())
For j = 0 To 81
For k = 0 To 7
Debug squareData(j)\InnerSquare(k)
Next
Next
I am using Windows 10 (64k).