Форум: "Начинающим";
Текущий архив: 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