Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.04.2012, 15:50   #1
The SCS
Пользователь
 
Регистрация: 15.01.2012
Сообщений: 98
По умолчанию Передача данных в VirtualStringTree в цикле

Есть проблема с сим компонентом.

При добавлении в цикле в него строк, все предыдущие строки получают те же данные что и последняя.

Код:
//************** UPDATEGAMES **********************
procedure TUpdThread.Execute;
var
W: TWords;
Sl: TStringList;
I, ITemp: Integer;
begin
  Sl := TStringList.Create;
  W := TWords.Create;
   try
     Sl.Text := frmmain.http.Get('http://'+frmLogin.cbServer.Text+'/wormageddonweb/GameList.asp?Channel='+StringReplace(frmLogin.cbchan.Text,'#','',[]));
     frmmain.games.Clear;
     frmmain.lvGames.Clear;
     for I := 1 to Sl.Count-2 do begin
        if (Pos('<GAMELIST',Sl[I]) = 0) and (Sl[I] <> '') then begin
          W.Text := Sl[I];

          Node:=frmmain.games.GetFirstChild(frmmain.games.RootNode);
          frmmain.games.BeginUpdate;
          while Node <> nil do begin
            Data:=frmmain.games.GetNodeData(Node);
            if Data.GID = W[7] then break;
            Node:=frmmain.games.GetNextSibling(Node);
          end;

          if Node = nil then Node:=frmmain.games.InsertNode(frmmain.games.RootNode, amAddChildLast);
          Data:=frmmain.games.GetNodeData(Node);

          Data^.Pad:=StrToIntDef(W[6],2);
          Data^.Flag:={StrToIntDef(W[4],49)}0;
          Data^.Games:=W[1];
          Data^.Hoster:=W[2];
          Data^.Ip:=W[3];
          Data^.GID:=W[7];
          frmmain.games.InvalidateNode(Node);
          frmmain.games.EndUpdate;


          with frmmain.lvGames.Items.Add do begin
           if W[6] = '1' then
            ImageIndex := 84 { Locked host }
           else
            ImageIndex := 85; { Unlocked host }
           SubItemImages[Subitems.Add('')] := StrToInt(W[4]);
           SubItems.Add(W[1]);
           SubItems.Add(W[2]);
           SubItems.Add(W[3]);
           SubItems.Add(W[7]);
          end;

        end;
      end;

   except
   end;
  W.Free;
  Sl.Free;
  //Synchronize(Execute);
end;

//********************************************** MAINFRM **************************

procedure TfrmMain.gamesFreeNode(Sender: TBaseVirtualTree;
  Node: PVirtualNode);
var Data: TDataNode;
begin
Data:=Games.GetNodeData(updategames.Node);
Data^.Pad:=0;
Data^.Flag:=0;
Data^.Games:='';
Data^.Hoster:='';
Data^.Ip:='';
Data^.GID:='';
end;

//*********************************************

procedure TfrmMain.gamesGetText(Sender: TBaseVirtualTree;
  Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType;
  var CellText: WideString);
var Data: TDataNode;
begin
Data:=Sender.GetNodeData(updategames.Node);
  case Column of
    1:CellText:=IntToStr(Data^.Pad);
    2:CellText:=IntToStr(Data^.Flag);
    3:CellText:=Data^.Games;
    4:CellText:=Data^.Hoster;
    5:CellText:=Data^.Ip;
    6:CellText:=Data^.GID;
  end;
end;

//**************************************************

{ Структура }

type
  TDataNode=^TData;
    TData=record
      Pad: Integer;
      Flag: Integer;
      Games: String;
      Hoster: String;
      Ip: String;
      GID: String;
end;
Суть:
The SCS вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
VirtualStringTree - добавление данных The SCS Компоненты Delphi 1 14.04.2012 07:53
Запись данных из классов в файл (в цикле) lawliet93 Общие вопросы C/C++ 1 01.09.2011 00:30
Обновление VirtualStringTree по таймеру woofer Помощь студентам 1 22.05.2010 02:55
VirtualStringTree чужого окна akaTemporary Общие вопросы Delphi 0 29.01.2010 14:32
VirtualStringTree и редактирование текста ячейки Шульц Общие вопросы Delphi 7 10.11.2009 19:30