воскресенье, 22 сентября 2013 г.

Исправление ошибок

В классе GameObjectDataClass исправил одну ошибку приводящую к ошибке при сохранении:
Public Function SaveClass() As String[]
  ' Функция сохраняет данные класса в строковый массив
  Dim Srm As New String[]  ' массив для результата
  Dim MaxString As Integer ' колличество строк
  Dim MaxInteger As Integer ' колличество целых чисел
  Dim MaxSingle As Integer ' колличество дробных чисел
 
  Dim a As Integer
 
  MaxString = Strings.Max
  MaxInteger = IntegerValues.Max
  MaxSingle = SingleValues.Max
 
  Srm.Add("begin game-object-data") ' заголовок
 
  If Strings.Count > 0 Then
   'строки есть
   For a = 0 To MaxString
    'перебор и запись всех строк
    Srm.Add("add-string=" & Strings[a])
   Next
  Endif
 
  If IntegerValues.Count > 0 Then
   'целые числа есть
   For a = 0 To MaxInteger
    'перебор и запись всех целых чисел
    Srm.Add("add-integer=" & LTrim(Str(IntegerValues[a]))) ' лучше всё таки при конвертировании сразу обрезать пробелы
   Next
  Endif
 
  If SingleValues.Count > 0 Then
   'дробные числа есть
   For a = 0 To MaxSingle
    'перебор и запись всех дробных чисел
    Srm.Add("add-single=" & LTrim(Str(SingleValues[a])))
   Next
  Endif
  Srm.Add("end game-object-data") 
 
  Return Srm ' собственно возврат значения
End

Проблема была в том что что при копипасте кода для всех 3х типов значений я в качестве счётчика оставил MaxString. Довольно таки рутинная ошибка.

Комментариев нет:

Отправить комментарий