Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> label help please 
:(
    Опции темы
muratboy31
Дата 25.2.2010, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 7.1.2010

Репутация: нет
Всего: нет



i am trying to change label caption from xml file, i have several names in xml file and i want to show them in label caption 1 by 1 randomly... 

Код

procedure TMainForm.Timer1Timer(Sender: TObject);
var
i:integer;
begin
XMLdoc.LoadFromFile('Names.xml');
With XMLdoc.ChildNodes.Nodes['School'].ChildNodes do
  begin
  With Nodes['item']+i.ChildNodes do
    begin
    Label1.Caption := Nodes['Caption'].Text;
    end;
  end;
end;


and the xml file is like that;
Цитата

<?xml version="1.0" encoding="ISO-8859-1"?>
<School>

<item1>
<Caption>Jack</Caption>
</item1>

<item2>
<Caption>Leonard</Caption>
</item2>

<item3>
<Caption>Suzan</Caption>
</item3>

</School>

PM MAIL   Вверх
Frees
Дата 25.2.2010, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 9
Всего: 54



а xml создаете сами? структура у него не корректная.


зачем item1 ... item3  можно  просто  item, 

Код


<?xml version="1.0" encoding="ISO-8859-1"?>
<School>

<item Caption = "Jack">
</item>

<item Caption = "Leonard">
</item>

<item Caption = "Suzan">
</item>

</School>


но если настаиваете на вашем варианте 

то
Код

procedure TMainForm.Timer1Timer(Sender: TObject);
var
i:integer;
begin
i := 2;
XMLdoc.LoadFromFile('Names.xml');
With XMLdoc.ChildNodes.FindNode('School').ChildNodes do
  begin
  With FindNode('item' + intToStr(i)).ChildNodes do
    begin
    Label1.Caption := FindNode('Caption').Text;
    end;
  end;
end;



Это сообщение отредактировал(а) Frees - 25.2.2010, 14:59


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
muratboy31
Дата 25.2.2010, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 7.1.2010

Репутация: нет
Всего: нет



yes i will create the xml file with every students private blog page...

example:
<?xml version="1.0" encoding="ISO-8859-1"?>
<School>
<item1>
<Caption>Jack</Caption>
<Link>www.blogger.com/Jack</Link>
</item1>

<item2>
<Caption>Leonard</Caption>
<Link>www.blogger.com/Leonard</Link>
</item2>

<item3>
<Caption>Suzan</Caption>
<Link>www.blogger.com/Suzan</Link>
</item3>
</School>

thats why i choosed item with numbers (item1, item2, item3....)

i used the code but it doesnt show anything in label object... is it because i use     XMLdoc.LoadFromFile('Names.xml');        with timer
Код

procedure TMainForm.Timer1Timer(Sender: TObject);
var
i:integer;
begin
XMLdoc.LoadFromFile('Names.xml');
With XMLdoc.ChildNodes.Nodes['School'].ChildNodes do
  begin
  With Nodes['item' + intToStr(i)].ChildNodes do
    begin
    Label1.Caption := Nodes['Caption'].Text;
    end;
  end;
end;

PM MAIL   Вверх
Frees
Дата 25.2.2010, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 9
Всего: 54



поправил код в посте выше


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
muratboy31
Дата 25.2.2010, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 7.1.2010

Репутация: нет
Всего: нет



am i doing something wrong or it doesnt change the label text ...
i attached the project file, can you please have a look ...
thanks

Это сообщение отредактировал(а) muratboy31 - 25.2.2010, 16:03
PM MAIL   Вверх
Frees
Дата 25.2.2010, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 9
Всего: 54



Код

url: string;
....
procedure TMainForm.Label1Click(Sender: TObject);
begin
  WebBrowser1.Navigate(url);
end;

procedure TMainForm.Timer1Timer(Sender: TObject);
var
i:integer;
begin
i := 2;
XMLdoc.LoadFromFile('Names.xml');
With XMLdoc.ChildNodes.FindNode('School').ChildNodes do
  begin
  With FindNode('item' + intToStr(i)).ChildNodes do
    begin
    Label1.Caption := FindNode('Caption').Text;
    url := FindNode('Link').Text;
    Label1.OnClick := Label1Click;
    end;
  end;
end;


так?

Это сообщение отредактировал(а) Frees - 25.2.2010, 15:19


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
muratboy31
Дата 25.2.2010, 15:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 7.1.2010

Репутация: нет
Всего: нет



small question is it normal that name doesnt change in the label, it always show   Leonard     item2 caption, never change...
PM MAIL   Вверх
Frees
Дата 25.2.2010, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 9
Всего: 54



Цитата(muratboy31 @  25.2.2010,  18:29 Найти цитируемый пост)
small question is it normal that name doesnt change in the label, it always show   Leonard     item2 caption, never change...


Код

procedure TMainForm.Timer1Timer(Sender: TObject);
var
i:integer;
begin
i := 2;// вот поэтому только 2 видиш



а как надо... я не пойму


Добавлено @ 15:36


Random
Код

var
i:integer;
procedure TMainForm.Timer1Timer(Sender: TObject);
begin
XMLdoc.LoadFromFile('Names.xml');
With XMLdoc.ChildNodes.FindNode('School').ChildNodes do
  begin
  i := Random(Count);
  With FindNode('item' + intToStr(i)).ChildNodes do
    begin
    Label1.Caption := FindNode('Caption').Text;
    url := FindNode('Link').Text;
    Label1.OnClick := Label1Click;
    end;
  end;
end;


Это сообщение отредактировал(а) Frees - 25.2.2010, 15:39


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
muratboy31
Дата 25.2.2010, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 7.1.2010

Репутация: нет
Всего: нет



thanks

Это сообщение отредактировал(а) muratboy31 - 25.2.2010, 16:03
PM MAIL   Вверх
muratboy31
Дата 25.2.2010, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 7.1.2010

Репутация: нет
Всего: нет



i am sorry again, what is that error mean ?

user posted image
PM MAIL   Вверх
Frees
Дата 25.2.2010, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 9
Всего: 54



Цитата(muratboy31 @  25.2.2010,  19:02 Найти цитируемый пост)
i am sorry again, what is that error mean ?

не найден item с искомым номером в файле


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
muratboy31
Дата 25.2.2010, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 7.1.2010

Репутация: нет
Всего: нет



yes but i have xml items with numbers like that ;
Цитата

<?xml version="1.0" encoding="ISO-8859-1"?>
<School>
<item1>
<Caption>Jack</Caption>
<Link>www.blogger.com/Jack</Link>
</item1>

<item2>
<Caption>Leonard</Caption>
<Link>www.blogger.com/Leonard</Link>
</item2>

<item3>
<Caption>Suzan</Caption>
<Link>www.blogger.com/Suzan</Link>
</item3>
</School>


and this is the code i use;
Код

procedure TMainForm.Timer1Timer(Sender: TObject);
var
i:integer; 
begin
XMLdoc.LoadFromFile('Names.xml');
With XMLdoc.ChildNodes.FindNode('School').ChildNodes do
  begin
  i := Random(Count);
   With FindNode('item' + intToStr(i)).ChildNodes do
    begin
    Label1.Caption := FindNode('Caption').Text;
    Link := FindNode('Link').Text;
    Label1.OnClick := Label1Click;
    end;
  end;
end;


i still get the error...


PM MAIL   Вверх
Frees
Дата 25.2.2010, 21:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 9
Всего: 54



возможно
Код

i := Random(Count  - 1) + 1;


Это сообщение отредактировал(а) Frees - 25.2.2010, 21:01


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
muratboy31
Дата 25.2.2010, 21:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 7.1.2010

Репутация: нет
Всего: нет



thanks Frees
it works but it only random only between item1 and item2... no other items

Это сообщение отредактировал(а) muratboy31 - 25.2.2010, 21:57
PM MAIL   Вверх
Frees
Дата 25.2.2010, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 9
Всего: 54



еслия я вас правельно андестент то наверно надо
i := Random(Count ) + 1;


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0569 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.