Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.09.16;
Скачать: [xml.tar.bz2];

Вниз

Помогите решить проблему!!!!!!!!   Найти похожие ветки 

 
Andy BitOff   (2002-09-05 10:31) [0]

Здравствуйте.
Подскажите пожалуйста как реализовать следующую задачу. Есть куча страниц (TabControl), на каждой странице несколько лабелов (Label) и эдитов (Edit), сколько и какие у них имена не известно. Надо прочитать текст из всех эдитов. Я пытаюсь сделать так:

var
p,i:integer;
s:string;
Tn:TcomponentName;
begin
p:=pc.ActivePageIndex; //активная страница
//проверить надо все контролы
for i:=0 to pc.Pages[p].ControlCount-1 do
begin
//если контрол лабел, то нам не надо,
//а все остальные эдиты
if pc.Pages[p].Controls[i].ClassType <> TLabel then
begin
{А здесь мы можем получить либо стринг с именем
контрола, либо TComponentName его же, НО ЧТО С
ЭТИМ ДЕЛАТЬ и как получить текст из этого контрола??? }
s:=pc.Pages[p].Controls[i].GetNamePath;
Tn:=pc.Pages[p].Controls[i].Name;
?????????????????????
end;
end;
end;

Подскажите пожалуйста. Может Вы предложите свой вариант решения этой задачи.


 
lenin   (2002-09-05 10:37) [1]

if (Controls[i] is TEdit) then
Text:=(Controls[0] as TEdit).Text;


 
Петров Денис   (2002-09-05 10:46) [2]

Все хорошо до строки "if pc.Pages[p].Controls[i].ClassType <> TLabel then".
Если уж точно анализируются TEdit"ы, то лучше написать так:
if pc.Pages[p].Controls[i].ClassType = TEdit then
(а то мало ли, вдруг на TabSheet появится какой-нибудь TImage, и все). А добраться до свойства Text можно так:

(pc.Pages[p].Controls[i] as TEdit).Text


 
lenin   (2002-09-05 10:49) [3]

Я немного ошибся правильнее будет так:
if (pc.Pages[p].Controls[i] is TEdit) then
Text:=(pc.Pages[p].Controls[i] as TEdit).Text;



 
Andy BitOff   (2002-09-05 12:59) [4]

Все дело в том, что я уверен, что там ничего другого не будет. Но текст надо прочитать не только из Edit"ов но и из Memo и Combobox. Как это сделать в одном цикле


 
Andy BitOff   (2002-09-05 14:13) [5]

Всплываем.


 
Eugene   (2002-09-05 14:23) [6]

высылай на мыло процедуру, исправлю и пришлю обратно


 
Guerrillero Che   (2002-09-05 14:37) [7]

в чем проблема то ?
добавь еще пару условий, вида
if (pc.Pages[p] is TMemo) then Text:=(pc.Pages[p].Controls[i] as TMemo).Lines.Text;


 
Andy BitOff   (2002-09-05 22:34) [8]

Да я так и сделал, всмысле добавил, но думал может через and или or.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.09.16;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
14-50944
Malder
2002-08-20 22:18
2002.09.16
AudioGalaxy - был шедевром


1-50835
Лана Розанова
2002-09-03 19:15
2002.09.16
Компонент FilterGrid


1-50688
fishca
2002-09-03 12:00
2002.09.16
Delphi7


3-50603
Gaber
2002-08-26 10:57
2002.09.16
Русский шрифт в Database Desktop


1-50684
Ionv
2002-09-04 08:10
2002.09.16
Помогите начинающему!!!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский