Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.09.25;
Скачать: CL | DM;

Вниз

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

 
Саша У   (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]

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


 
TUser ©   (2005-08-17 18:41) [41]

Я, когда-то, эдиты использовал в качестве прямоугольников. Не умел рисовать, понимаете ли. Правда создавал их в ран-тайм.



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

Текущий архив: 2005.09.25;
Скачать: CL | DM;

Наверх




Память: 0.57 MB
Время: 0.057 c
14-1125014136
программер__
2005-08-26 03:55
2005.09.25
Научиться играть на пианино


9-1117069966
Домовенок
2005-05-26 05:12
2005.09.25
Бесплатные модели


5-1100686176
kaktus
2004-11-17 13:09
2005.09.25
Свой текстовый редактор!


2-1124105228
alex-drob
2005-08-15 15:27
2005.09.25
Как завершать поток


4-1122803140
EvgeniySpb
2005-07-31 13:45
2005.09.25
Property Sheets