Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 01.11.2015, 14:40
kucher kucher вне форума
Прохожий
 
Регистрация: 16.09.2015
Сообщения: 15
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию MS Access Выбор имени компонента через ComboBox

Код:
var
strFieldOtchet1:string;
................................
case ComboBox1.ItemIndex of
0: strFieldOtchet1:='Edit1';
.............................................
memo1.lines:=strFieldOtchet1.TEXT;
Админ: пользуемся тегами для оформления кода!

в таком случае как?

Последний раз редактировалось Admin, 01.11.2015 в 14:44.
Ответить с цитированием
  #2  
Старый 01.11.2015, 14:41
kucher kucher вне форума
Прохожий
 
Регистрация: 16.09.2015
Сообщения: 15
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

чёт не работает
Ответить с цитированием
  #3  
Старый 01.11.2015, 16:08
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

memo1.lines типа TStrings, а strFieldOtchet1.TEXT - это просто string, несовпадение типов

Типа одной строкой
Код:
...
memo1.Lines.Add((FindComponent(Format('Edit%d',[ComboBox1.ItemIndex+1])) as TEdit).Text);
...
Ответить с цитированием
  #4  
Старый 01.11.2015, 17:46
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Цитата:
strFieldOtchet1:string;
strFieldOtchet1:='Edit1';
memo1.lines:=strFieldOtchet1.TEXT;
Это просто гениально.
От того, что ты в строку запишешь текст "Edit1" она ВНЕЗАПНО не станет Edit-ом. Или что, если написать на листочке бумаги "миллион рублей" то листок станет миллионом рублей? Было бы неплохо...
Edit - это компонент, который не имеет ничего общего с какими-то там строками. У его есть имя. Если надо найти по имени, то надо не пытаться убедить delphi, что строка - это edit, а, очевидно, перебрать существующие компоненты и найти такой, у которого имя равно строке "Edit1". Этим занимается функция FindComponent.
Но FindComponent - только одно из решений. Можно, например, все нужные Edit-ы сохранить в какой-нибудь массив, и брать из этого массива по номеру выбранной строки в ComboBox.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.

Последний раз редактировалось Bargest, 01.11.2015 в 17:48.
Ответить с цитированием
  #5  
Старый 02.11.2015, 00:42
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Хотелось бы еще понять, каким боком тут Акцес вписался?
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 20:03.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025