Конференция "Игры" » Список TModel
 
  • DoKi (20.12.08 15:27) [0]
    Помогите разобраться
    Я загружаю в список TModel=record значения переменных, при етом всё сохраняется как надо. А когда обращаюсь к TModel=record из других
    функций, то все значения уже равны 0.
  • DoKi (20.12.08 18:34) [1]
    Может заменить списки массивами??????????????
  • ggg © (21.12.08 05:24) [2]
    Может уже покажешь код?????????
  • DoKi (21.12.08 16:01) [3]
    type TNode=record
               name:string; // название кости, которая крепится к суставу
               parentsustav:integer; // индекс кости, к которому прикреплён сустав
              end;

    type TBonePos=record
              ugolx:integer;
               ugoly:integer;
               ugolz:integer;
               x,y,z:single;
                 end;
    type TSkelAnim=record
                   sustav  : array [0..100] of TNode;
                   nodesNum  : integer;
                   referencePose: array [0..100] of TBonePos; /
                  end;

    type TModels = array [0..1] of TModel;
  • DoKi (21.12.08 16:03) [4]
    type TNode=record
              name:string; // название кости, которая крепится к суставу
              parentsustav:integer; // индекс кости, к которому прикреплён сустав
             end;

    type TBonePos=record
             ugolx:integer;
              ugoly:integer;
              ugolz:integer;
              x,y,z:single;
                end;
    type TSkelAnim=record
                  sustav  : array [0..100] of TNode;
                  nodesNum  : integer;
                  referencePose: array [0..100] of TBonePos; /
                 end;

    type TModel=record
                   fname:string;
                   skelanim:TSkelAnim;
                  end;

    type TModels = array [0..1] of TModel;
  • DeadMeat © (21.12.08 17:24) [5]

    > DoKi

    42
  • Сергей М. © (22.12.08 08:49) [6]

    > А когда обращаюсь


    Где код обращения ?
  • DoKi (22.12.08 15:13) [7]
    вот

    assignFile(f,fname);
    reset(f);

        readln(f,s); // "version 1"
        readln(f,s); // "nodes"

          i:=0;

    repeat
     readln(f,s);
     if s<>'end' then
      begin
    models[0].skelanim.sustav[i].name:=StringWordGet(s, '"', 2);
    //writeln(F2,  models[0].skelanim.sustav[i].name,' ');
     models[0].skelanim.sustav[i].parentsustav:=StrToInt(StringWordGet (s, '"', 3));
       inc(i);
      end;
    until s='end';

    всё грузится правильно,а в из другой функции уже не читается.
    Если например нужно напечатать в фаил
    for i:=0 to 10 do
    writeln(F2, models[0].skelanim.sustav[i].parentsustav);

    всё будет по нулям.
  • Сергей М. © (22.12.08 17:03) [8]
    Похоже что функция записи и функция чтения оперируют разными массивами с именем models
Есть новые Нет новых   [134430   +4][b:0][p:0]