Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 4 976

/ вопрос открыт /

Приветствую, уважаемые эксперты!
Почему то в Labelы на 5 форме не выводятся строчки из файла

Приложение:
  1. procedure TForm1.Button2Click(Sender: TObject);
  2. var F:TextFile; CHisloS, Name:String; I:Integer; Component:TComponent;
  3.  
  4. begin
  5. OpenDialog1.Execute;
  6. AssignFile(F, OpenDialog1.FileName);
  7. Reset(F);
  8. ReadLn(F,ChisloS);
  9. I:=StrToInt(ChisloS);
  10. if I=8 then
  11. Form5.Show;
  12. ReadLn(F,Name);
  13. Form5.Label16.Caption:=Name;
  14. For I:=1 to 8 do
  15. ReadLn(F,Name);
  16. Component:=FindComponent('Form5.label'+IntToStr(I));
  17. (Component as TLabel).Caption:=Name;
  18.  
  19. end;


Адмирал Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Адмирал (статус: Посетитель)
Вопрос отправлен: 28 января 2011, 15:53
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 6; последнее сообщение — 30 января 2011, 11:38; участников в обсуждении: 3.
Адмирал

Адмирал (статус: Посетитель), 28 января 2011, 16:00 [#1]:

кстати ещё спрошу сразу, потаму что прийду наверное только завтра
как в OpenDialog ограничить тип файлов, ну тоесть чтобы можно было выбрать только .txt например
Вадим К

Вадим К (статус: Академик), 28 января 2011, 16:01 [#2]:

проблема тут FindComponent('Form5.label'+IntToStr(I));
form5.label1 - так нельзя.
нужно так
form5.FindComponent('label'+IntToStr(I));
Галочка "подтверждения прочтения" - вселенское зло.
Вадим К

Вадим К (статус: Академик), 28 января 2011, 16:03 [#3]:

а что бы только текстовые файлы - это просто
// Разрешено выбрать только .dpr и .pas файлы
openDialog.Filter :=
'Delphi project files|*.dpr|Delphi pascal files|*.pas';
разрешить только текстовые файлы
openDialog.Filter :=
'Текстовые файлы|*.txt';
либо в коде, либо в инспекторе объектов.
Галочка "подтверждения прочтения" - вселенское зло.
Адмирал

Адмирал (статус: Посетитель), 28 января 2011, 16:06 [#4]:

отображается только последняя строчка из файла, причём в 9 Label:(

28 января 2011, 20:26: Вопрос перемещён из тематического раздела Delphi » Общие вопросы по программированию в раздел Delphi » Работа с компонентами и библиотеками модератором Ерёмин А.А.

Адмирал

Адмирал (статус: Посетитель), 28 января 2011, 21:39 [#5]:

что же делать?
Шичко Игорь

Шичко Игорь (статус: 9-ый класс), 30 января 2011, 11:38 [#6]:

Цитата:

14.For I:=1 to 8 do
15.ReadLn(F,Name);
16.Component:=FindComponent('Form5.label'+IntToStr(I));
17.(Component as TLabel).Caption:=Name;


Так ведь в программе и задано чтобы записывалось в Label9.
Цикл закончился на строке 15. После перебора от 1 до 8 значение I остается равным 9, поэтому в строках 16 и 17 идет определение и запись в компонент Label9.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:47
Выполнено за 0.02 сек.