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

Вниз

Как переименовать много компонентов?   Найти похожие ветки 

 
Саша У   (2005-08-16 11:31) [0]

Накидал на форму 100 лабел, 100 едит и 100 кнопок. Сейчас надо их всех переименовать примерно так: lbValue1, lbValue2 и т.д. до lbValue100. Еще надо свойства у всех одинаковые выставить. тоже самое с едитами и кнопками. Руками замучаешься, может есть специальные средства?


 
Думкин ©   (2005-08-16 11:53) [1]

зоопарк прямо.
попробуй поправить dfm.
А свойства одинаковые - это и лево и ширина?


 
evvcom ©   (2005-08-16 11:56) [2]


> может есть специальные средства?

Есть, голова называется. Есть такая поговорка, типа, если не хочешь работать головой, то работай руками или ногами. Так что, либо меняй что-то в своих принципах построения форм (1), либо работай руками (2). Есть конечно еще Ctrl+R (3), но я бы все-таки обратил внимание на (1).


 
Саша У   (2005-08-16 12:03) [3]

Спасибо, хоть ничего и не понял. Попробую поработать головой об dfm, может что-нибудь получится.


 
Anatoly Podgoretsky ©   (2005-08-16 12:04) [4]

Разделяем задачку - переименование ручками, компонент за компонентом. А присвоение свойств скопом, отмечаем и сразу у всех меняем.


 
Саша У   (2005-08-16 12:13) [5]

>>присвоение свойств скопом

Эт я умею, только вот как сделать, например: lbValue1.Tag := 1, lbValue2.Tag := 2, и тд lbValue100.Tag := 100
Ручками, млин, на два дня муторного топтания кнопок, еще не дай бог ошибещься и незаметишь...


 
Anatoly Podgoretsky ©   (2005-08-16 12:14) [6]

Ты себе противоречишь, вот твое условие "Еще надо свойства у всех одинаковые выставить".


 
syte_ser78 ©   (2005-08-16 12:23) [7]

Саша У   (16.08.05 11:31)
Накидал на форму 100 лабел, 100 едит и 100 кнопок

?????
А че это будет если не секрет?


 
Думкин ©   (2005-08-16 12:25) [8]


> [7] syte_ser78 ©   (16.08.05 12:23)

Игра морской бой. Идет разработка поля первого игрока.


 
Думкин ©   (2005-08-16 12:26) [9]

Я бы, в таком случае, начал писать шахматы. Быстрее. Там всего 64 поля.
:о)


 
Саша У   (2005-08-16 12:30) [10]

>> [7]

Ну приврал.. Не по 100, а по 80. Смысл-то не меняется. А что будет - коммерческая тайна ;) Начал делать большой проект, юношеский максимализм понимаете ли... ;))


 
Digitman ©   (2005-08-16 12:43) [11]


> юношеский максимализм понимаете ли


понимаем ...

ОС круче мелкомягкой засандалить ... иль "гейму офигенную" отчудить ..


> Не по 100, а по 80. Смысл-то не меняется


действительно не меняется.

ибо что 100 что 80 - совершенно непонятно, на кой ляд тебе эти имена понадобились ..

если ты впоследствии намерен в своем коде ко всей этой куче обращаться ЯВНО по именам компонентов, то советую тебе переквалифицироваться в управдомы


 
syte_ser78 ©   (2005-08-16 12:55) [12]

Саша У   (16.08.05 12:30) [10]
Подозреваю чтото или типа Сандры, или типа редактора реестра.
Если угадал то лучше в первом случае вместо кучи эдитов с лабелами взять мемо (один штука), а во втором кучу чекбоксов и пару кнопок с парой обработчиков


 
Leonid Troyanovsky ©   (2005-08-16 13:02) [13]


> syte_ser78 ©   (16.08.05 12:55) [12]
> вместо кучи эдитов с лабелами взять мемо (один штука)


Тогда уж, вместо мемо лучше взять TStringGrid или TValueListEditor.

--
Regards, LVT.


 
Anatoly Podgoretsky ©   (2005-08-16 13:06) [14]

Думкин ©   (16.08.05 12:26) [9]
А у крестиков/ноликов всего 9.


 
Саша У   (2005-08-16 13:23) [15]

>>Digitman ©   (16.08.05 12:43) [11]
>>ко всей этой куче обращаться ЯВНО по именам компонентов

Это будет прога для комп.клуба. прога-сервер которая обрабатывает данные от прог-клиентов. Всего возможно подключение до 80 клиентов. Создавать эти контролы при каждом подключении нельзя, они показывают инфу даже когда клиент не подключен. А обращаться я хочу так. Я сделал класс MyClient, в нем есть эти контролы и их обработчики. При подключении клиента создается объект это класса который и рулит этими контролами. В общем задумка такая. Подскажите если неправильно задумал.


 
Anatoly Podgoretsky ©   (2005-08-16 13:30) [16]

Ну скажем табличному компоненту TStringGrid до лампочки состояние клиента, он просто отражает информацию, аналогично TLabel и позволяет ее изменять, аналогично TEdit
и что самое приятное это ОДИН компонент и у него ОДНО имя.


 
KilkennyCat ©   (2005-08-16 13:31) [17]

Лучше уж, как Леонид сказал...[13]


 
Anatoly Podgoretsky ©   (2005-08-16 13:33) [18]

Ну он тоже самое сказал, только дал больше альтернатив.


 
KilkennyCat ©   (2005-08-16 13:35) [19]

да, просто мы одновременно набирали, я чуть опоздал :)


 
Gydvin ©   (2005-08-16 13:41) [20]

А не проще утилитку небольшую написать с ричедитом или накрайняк в worde макрос!!!!!!!!!!


 
Gydvin ©   (2005-08-16 13:42) [21]

А не проще утилитку небольшую написать с ричедитом или накрайняк в worde макрос!!!!!!!!!!


 
Саша У   (2005-08-16 13:43) [22]

>>Anatoly Podgoretsky

StringGrid конечно хорошо, но хочется чтобы еще и красиво было. Уж лучше я кнопки тупо потопчу, но мои контролы посимпатичнее StringGrid-а получатся. имхо.


 
Саша У   (2005-08-16 13:47) [23]

>>Gydvin ©   (16.08.05 13:41) [20]
>>А не проще утилитку небольшую написать

Я ж поэтому и спросил! Может есть готовый инструмент?
Может кто-нить сел бы и написал бы на благо потомкам? А, мастера?


 
KilkennyCat ©   (2005-08-16 13:48) [24]


> [22] Саша У   (16.08.05 13:43)


стринггрид можно отрисовать каким угодно. Это раз.
Код проще намного, а значит надежней, ошибки сведутся к минимуму. Это два.
Время меньше, а значит - денег больше. Это три.
Дальнейшая модернизация намного проще. Это четыре.
Скорость работы программы будет выше. Это пять.


 
KilkennyCat ©   (2005-08-16 13:50) [25]


> Может кто-нить сел бы и написал бы на благо потомкам? А,
> мастера?


Могу на собственное благо только. ООО "ЭСК" к Вашим услугам :)


 
Gydvin ©   (2005-08-16 13:58) [26]

Саша У   (16.08.05 13:47) [23]

Господи, что писать  то-там.

в richedit1 кидаешь текст из dfm

for x:=0 to richedit1.lines.count-1 do begin
s:=richedit1.lines.string[x];
if pos ("label",s)>0 then begin
s:="lbValue"+inttostr(x+1)+".Tag:="+inttostr(x+1)+";";
richedit1.lines.string[x]:=s;
end;
end;

из richedit1 кидаешь текст в dfm


 
Anatoly Podgoretsky ©   (2005-08-16 14:01) [27]

Саша У   (16.08.05 13:43) [22]
Симпатичнее не надо, симпатичные быстро в корзине оказываются.


 
Gydvin ©   (2005-08-16 14:04) [28]

Gydvin ©   (16.08.05 13:58) [26]

Ну это в общих чертах. Структура DFM немного другая


 
Думкин ©   (2005-08-16 14:07) [29]

есть невизуальный клиент. На него - визуальные.
Все создавать динамически - зачем втупую создавать сразу?

MyClient, в нем есть эти контролы и их обработчики(с)

Ну так в чем проблема? Почему обработчики создаются не при создании класса, а вами - вручную в дизайне? А если 10000 юзеров?


 
Саша У   (2005-08-16 14:09) [30]

>>Anatoly Podgoretsky ©   (16.08.05 14:01) [27]

Кодить нада так чтобы в корзину не бросали. А у красивой и функциональной проги шансов укорзиниться меньше, чем у некрасивой и такой же функциональной.

>>Gydvin ©   (16.08.05 14:04) [28]

Самому писать ни времени, ни желания. Но сказал бы большое спасибо автору такой утилитки.


 
KilkennyCat ©   (2005-08-16 14:10) [31]


> А если 10000 юзеров?


оставим 100 компонентов, и добавим кнопки пролистывания страниц, тоже сотню :) сто на сто - десять тысяч.


 
Саша У   (2005-08-16 14:15) [32]

>>Думкин ©   (16.08.05 14:07) [29]
>>Все создавать динамически - зачем втупую создавать сразу?

Я ж сказал что контролы показывают инфу и без подключенного клиента.

>>Почему обработчики создаются не при создании класса, а вами - вручную в дизайне? А если 10000 юзеров?

Вручную создаются некоторые обработчики. Например, который будет менять русские Caption на английские. (мультиязычность) И некоторые создаются в классе клиента.
А клиентов надо не больше 80.


 
Думкин ©   (2005-08-16 14:23) [33]

> Саша У   (16.08.05 14:15) [32]

Ну и? Вводим 2 состояния - подключен, не подключен. И делов-то.

Некоторые - в количестве 240 штук, например, - минимум оговоренный вами. А иначе - к чему сабж?


 
syte_ser78 ©   (2005-08-16 14:25) [34]

Саша У   (16.08.05 14:15) [32]
Например, который будет менять русские Caption на английские

:))))
и правда юношеский максимализм :)


 
Думкин ©   (2005-08-16 15:06) [35]

Ты бы Саша мыло дал. Я бы бросился тут немногим в тебя, что накрапал за 5 минут.


 
Саша У   (2005-08-16 16:32) [36]

>>Думкин ©   (16.08.05 15:06) [35]

Давай, спасибо!. ahsso(эт)yandex.ru

>>syte_ser78 ©   (16.08.05 14:25) [34]
>>Например, который будет менять русские Caption на английские
>>:))))
>>и правда юношеский максимализм :)

Это не максимализм, это скорее прикол. Я при запуске все Caption-ы беру из ini-файла, в настройках можно выбрать какой файл языка использовать. Каждый может локализовать прогу под свой язык (например украинский ;) Сделал ради прикола язык "феня", тоже положу в комплект, может кому понравится ;)

Тока вот еще точно не разобрался что нужно ставить в Label.Font.Charset? Ставлю DEFAULT_CHARSET это правильно? На других языках не будет искажений?


 
syte_ser78 ©   (2005-08-16 16:42) [37]

Саша У   (16.08.05 16:32) [36]
Про другие языки не волнуйся. если кирилица нормально видна то все ок. С английскими буквами проблем не будет.


 
Игорь Шевченко ©   (2005-08-16 16:54) [38]


> StringGrid конечно хорошо, но хочется чтобы еще и красиво
> было.


ScrollBox и фреймы


 
Думкин ©   (2005-08-17 06:07) [39]

> Саша У   (16.08.05 16:32) [36]

Ушло.

Порыв есть. Дело за малым - писАть побольше, и чтобы взрослые и умные дяди - видели и критиковали. Ваши шаги сейчас угадываются с точностью 99%. Это и не плохо и не хорошо. Просто - начало.

Дерзайте. Неверный подход, вовремя осознанный - шаг к совершенству.


 
Саша У   (2005-08-17 17:13) [40]

>>Думкин ©   (17.08.05 06:07) [39]

Спасибо за хорошие слова и пример. Я организовал примерно также, рад что мое решение не оказалось кривым ;)



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

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

Наверх




Память: 0.54 MB
Время: 0.042 c
3-1123931025
kotic
2005-08-13 15:03
2005.09.25
Проблемы со вложенными запросами SQL в BDE-шке


3-1123585717
Alex--
2005-08-09 15:08
2005.09.25
Провайдер Interbase для ADO


14-1124718189
Diaskhan
2005-08-22 17:43
2005.09.25
Как можно войти в группу програмистов


6-1117626153
Rater
2005-06-01 15:42
2005.09.25
Socks через indy не работает (на FTP)


14-1125088645
ronyn
2005-08-27 00:37
2005.09.25
Что означают в Делфи разделы privat, public.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский