Вверх ↑
Этот топик читают: Гость
Ответов: 16884
Рейтинг: 1239
#1: 2004-12-20 09:27:45 ЛС | профиль | цитата
Если в параметрах задать:
Width = 0
AutoSize = True
Alignment = taRight
то по идее она (Label) должна строится влево
от места ее расположения на форме.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
vip
#1.1контекстная реклама от партнеров
Ответов: 655
Рейтинг: 0
#2: 2004-12-20 13:49:20 ЛС | профиль | цитата
Это почему?, чтобы Label выравнивался слево по форме надо
ставить Align = caLeft
А, Alignment = taRight это выравнивание текста
в элементе справа.
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#3: 2004-12-20 16:00:19 ЛС | профиль | цитата
Наверное я неправильно обьяснил!
Мне нужно чтобы Тексты выравнивались по правому краю не формы,
а примерно вот так:
[code:1] Строка первая 1 : окно ввода С т р о к а в т о р а я 2 : окно ввода
и так далее : окно ввода[/code:1]
т.е. Labelки должны быть выровнены по правому краю
и надписи в них тоже, причем тексты Лабелек во время работы программы изменяются
Сейчас для того чтобы все работало так как надо нужно устанавливать размер Лабелек по самому длинному выражению,
что таки довольно неудобно.
В этих случаях HiAsm должен формировать лабельку от положения
Left влево , а он рисует ее во всех случаях только вправо
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 655
Рейтинг: 0
#4: 2004-12-20 17:11:21 ЛС | профиль | цитата
А почему Width только =0 (Этого требует программа?)
Если нет то вот схема где текст пропичатывается в лево:
[code:1]Add(Edit,9325490,175,154) {
Left=120
Top=35
Width=140
Font=[Arial,8,0,0]
Text="Введи текст"
link(onChange,5523342:doText,[])
}
Add(Label,5523342,231,154)
{
Left=20
Top=40
Width=100
Font=[Arial,8,0,0]
Caption=""
AutoSize=1
Alignment=1
}
[/code:1]
Если я правильно понял 8-)
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#5: 2004-12-20 23:20:36 ЛС | профиль | цитата
Можно и так но при 0-й длинне получается очень красивая анимация строки(если применять цветной фон Лабельки) а так уже светится даже при пустой строку лабелька на всю длинну. В Делфи это есть без проблем! Так что и здесь не помешало бы.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 9906
Рейтинг: 351
#6: 2004-12-20 23:32:13 ЛС | профиль | цитата
Если Вы знаете как это делать в Дельфи, то что Вам мешает научить этому остальных? Типа сделать такой элемент, или модифицировать существующий. Чтобы всем было счастие.....
карма: 9

0
Ответов: 16884
Рейтинг: 1239
#7: 2004-12-21 12:39:54 ЛС | профиль | цитата
[code:1]Add(MainForm,5692486,42,7) {
Left=20
Top=105
Font=[Arial,8,0,0]
}
Add(Label,5704080,161,14)
{
Left=20
Top=5
Font=[Arial,8,0,12632256]
Caption="Это строка для тестирования ! "
}
Add(Counter,9237250,105,63)
{
link(onNext,9447658:doCopy,[(152,69)(152,69)])
}
Add(Copy,9447658,161,63)
{
Position=1
link(onCopy,740034:doText,[])
link(Str,5704080:Caption,[])
link(Count,9237250:Count,[(181,53)(261,53)(261,114)(111,114)])
}
Add(Label,740034,217,63)
{
Left=45
Top=40
Width=0
Color=-16777192
Font=[Arial,8,0,0]
Caption=""
}
Add(Timer,14275748,42,63)
{
Interval=100
link(onTimer,9237250:doNext,[])
}
Add(Edit,17831,217,14)
{
Left=305
Top=35
Font=[Arial,8,0,0]
}[/code:1]


В этом примере текст появляется слева на право
а вот как сделать тоже справа на лево пока не получается.
C HiAsmом я знаком с 13 декабря 2004 года поэтому пока в коды не
лез.
Не думал что этот вопрос получит такой резонанс.

Как там у Вас это все читается т.к. я живу в Израиле и у меня комп
работает на иврите (когда копировал пример то все перевернулось
задом на перед. :lol: :)))
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 9906
Рейтинг: 351
#8: 2004-12-21 14:21:22 ЛС | профиль | цитата
1) А какой резонанс? По-моему, совершенно естественная реакция на:
В Делфи это есть без проблем!

2) Если уж очень хочется, то можно так:
Add(MainForm,5692486,91,49)
{
Left=20
Top=105
Font=[Arial,8,0,0]
}
Add(Label,5704080,210,56)
{
Left=10
Top=5
Width=290
Font=[Arial,8,0,12632256]
Caption="ytiytiuyuytghjkgmkgoiuypoiuok'lk';lo[po[p]i[piop[lkjkjhjhghgfgdfgdsdfsdfsdfg"
}
Add(Counter,9237250,154,105)
{
link(onNext,9447658:doCopy,[(201,111)(201,111)])
}
Add(Copy,9447658,210,105)
{
Position=1
link(onCopy,943065:doWork1,[])
link(Str,5704080:Caption,[])
link(Count,9237250:Count,[(230,95)(310,95)(310,156)(160,156)])
}
Add(ChildPanel,943065,266,105)
{
}
BEGIN_SDK
Pos(0,0)
Add(EditMulti,12186668,3,3)
{
WorkCount=1
Width=90
Height=109
link(doWork1,740034:doText,[(15,9)(15,20)])
}
Add(Panel,156971,30,51)
{
Left=10
Top=35
Width=290
Height=20
Font=[Arial,8,0,0]
Caption=""
BorderWidth=0
BevelInner=0
}
Add(Label,740034,28,14)
{
Left=-2
Top=2
Width=290
Align=3
Color=-16777192
Font=[Arial,8,0,0]
Caption=""
}
END_SDK
Add(Timer,14275748,91,105)
{
Interval=100
link(onTimer,9237250:doNext,[])
}
Add(Edit,17831,266,56)
{
Left=305
Top=35
Font=[Arial,8,0,0]
}
3) Копировать на форум удобнее не sha-файл, а выделенный фрагмент в поле редактора.
карма: 9

0
Ответов: 16884
Рейтинг: 1239
#9: 2004-12-21 17:47:34 ЛС | профиль | цитата
3) Копировать на форум удобнее не sha-файл, а выделенный фрагмент в поле редактора.

Согласен... но у меня интернет на одном компе (у внука) ,
а HiAsm на другом и почему-то пока не получается перенести.
Переношу на дискете текстовым файлом!

Проблема не в том, чтобы заставить строку появляться с правой стороны на левую, а в том что при свойствах Лабельки:
Длинна=0( не хочу я чтобы она высвечивалась без текста)
Текст = Справа
в дельфи это работает. Хотелось бы что бы и здесь работало. Вот и все.
Чтобы этого добиться помоему нужно нырнуть в библиотеку ( наверное
в KOL). Что это такое и с чем его едят я не знаю - раньше не встречал.
Хотелось бы гдето почитать но в Интернете не нахожу.
С уважением TAD.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 9906
Рейтинг: 351
#10: 2004-12-21 21:39:38 ЛС | профиль | цитата
Tad
давайте определимся с логической последовательностью событий:
1)
Проблема не в ТОМ, чтобы заставить строку появляться с правой стороны на левую

а за каким лешим Вы так долго рассказывали, какого эффекта следует достигнуть, подтверждая это примерами?
2)
а в том что при свойствах Лабельки:
Длинна=0( не хочу я чтобы она высвечивалась без текста)

Кто же не дает установить св-во Width элемента Label в нуль в вышеприведенном примере? Хотя при AutoSize=True должно быть по барабану.....
3)
в дельфи это работает. Хотелось бы что бы и здесь работало.

Неубедительно
Надеюсь Вы согласитесь, что соревноваться в том, кто чего и где видел нет резона, поскольку все как у всех сделать невозможно. Но даже если что-то и возможно, то данные затраты требуют более серьезного оправдания, чем наличие чего-то у кого-то (даже и у глубокоуважаемого дяди Бормана). Поэтому, учитывая п.1 настоящего сообщения ( ), следует ответить более основательно на вопрос
ЗАЧЕМ
карма: 9

0
Ответов: 16884
Рейтинг: 1239
#11: 2004-12-21 21:52:15 ЛС | профиль | цитата
Это нужно для того, чтобы пристыковать Лабель к полю ввода
вплотную не рассчитывая длинну строки если она изменяется
при работе программы(чтобы конец строки всегда упирался в поле ввода (Edit)) .
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 9906
Рейтинг: 351
#12: 2004-12-21 21:55:46 ЛС | профиль | цитата
Повторюсь однако: а разве в вышеприведенном примере не так???
карма: 9

0
Ответов: 16884
Рейтинг: 1239
#13: 2004-12-21 22:06:16 ЛС | профиль | цитата
Для разработчика это пара пустяков.
Просто там где формируется Лабель вставит что то вроде



If (Label.Width = 0)
and (Label.AutoSize = True )
and (Label.Alignment = taRight ) then
Label.Left:= Label.Left- Len(Label.Caption);

и все вопрос закрыт. А сейчас приходится городить целую программу.

А вообще мне HiAsm нравится! Dilma умница!!!!!!!!!
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 9906
Рейтинг: 351
#14: 2004-12-21 22:29:57 ЛС | профиль | цитата
Покажите программу, которую приходится ГОРОДИТЬ.
В том примере, который я приводил ровно один элемент, для достижения выше упомянутого качества. Это меньше, чем пара пустяков - это один пустяк.
=====================
А разговор этот от того, что не напрягаясь можно перечислить пару десятков таких пару-пустяковых вопросов. И не факт что HiAsm станет понятнее от реализации их всех. Здесь не работает принцип чем больше, тем лучше, ИМХО.
Почему бы не ввести лэйбэлку с привязкой за серединку, или вообще не застолбить произвольное математическое выражение. Это, по большому счету тоже пару-пустяковые вопросы.
Просто так не очень получается - как-то находятся более важные вопросы (в чем нетрудно убедиться читая форум ), и не очень верится, что расширяя номенклатуру элементов (или свойств элементов) мы делаем HiAsm более доступным для начинающих
-----
Хотя это и дискуссионный вопрос. До какой-то степени, вопрос стратегии развития проекта..............
карма: 9

0
Ответов: 8886
Рейтинг: 823
#15: 2004-12-21 22:31:15 ЛС | профиль | цитата
Думается, что это слабовато сказано! Чем больше Вы будете работать с HiAsm, тем сильнее он (HiAsm) будет Вам нравиться.
карма: 19

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)