Вверх ↑
Этот топик читают: Гость
Ответов: 16884
Рейтинг: 1239
#61: 2015-04-01 14:02:48 ЛС | профиль | цитата
Netspirit писал(а):
Можно добавить в Copy методы doCopyFirst(Count), doCopyLast(Count). И выбросить Direction.
Он прекрасно всё это делает и без добавок
Tad писал(а):
Copy()- это готовый испытанный компонент.

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 4622
Рейтинг: 746
#62: 2015-04-01 14:17:41 ЛС | профиль | цитата
Но тебе зачем-то понадобилась "установка размера строки"?
карма: 26

0
Разработчик
Ответов: 26072
Рейтинг: 2122
#63: 2015-04-01 14:47:44 ЛС | профиль | цитата
Netspirit, что у тебя за мания добавлять методы вместо свойств, это же дополнительные точки, и невозможность установить иконку нужного метода
карма: 22

0
Ответов: 4622
Рейтинг: 746
#64: 2015-04-01 14:53:01 ЛС | профиль | цитата
Мне как-то привычнее, что-ли. Например, лишнее телодвижение в сторону свойства. А так достаточно просто связь протянуть к выбраной точке. Это субъективно. Ты главное иконки толковые нарисуй.
карма: 26

0
Разработчик
Ответов: 26072
Рейтинг: 2122
#65: 2015-04-01 17:36:15 ЛС | профиль | цитата
Добавил компонент StrPad. Для нуждающихся воткнул тип Mirror. который зеркалирует правую строку. Пустой PadString будет соответствовать пробелу. Пример работы

Add(MainForm,8240368,175,224)
{
Width=473
Height=123
Caption="str_pad"
Position=1
}
Add(Edit,15449854,308,168)
{
Left=10
Top=25
Width=120
Text="nesco"
}
Add(Label,6462822,308,126)
{
Left=45
Top=5
Caption="input"
AutoSize=1
Alignment=2
}
Add(Edit,3037108,350,168)
{
Left=135
Top=25
Width=120
Text="--=="
}
Add(Label,5437071,350,126)
{
Left=170
Top=5
Caption="pad_string"
AutoSize=1
Alignment=2
}
Add(Edit,1263994,392,168)
{
Left=260
Top=25
Width=60
Text="13"
DataType=1
}
Add(Label,5739334,392,126)
{
Left=265
Top=5
Caption="pad_length"
AutoSize=1
}
Add(ComboBox,2174022,259,168)
{
Left=330
Top=25
Width=120
Height=21
Strings=#12:STR_PAD_LEFT|13:STR_PAD_RIGHT|12:STR_PAD_BOTH|14:STR_PAD_MIRROR|
ReadOnly=0
Point(Index)
}
Add(Label,1573207,259,126)
{
Left=365
Top=5
Width=48
Height=17
Caption="pad_type"
}
Add(Button,1487632,175,266)
{
Left=330
Top=55
Width=120
TabOrder=-1
Caption="Result"
link(onClick,8508884:doEvent1,[])
}
Add(Edit,6448544,413,266)
{
Left=10
Top=55
Width=310
Font=[Courier New,11,1,0,204]
Text=""
}
Add(StrPad,6741064,343,273)
{
Point(doPadType)
link(onStrPad,6448544:doText2,[])
link(String,15449854:Text,[(349,264)(314,264)])
link(PadString,3037108:Text,[])
link(PadLength,1263994:Text,[(363,208)(398,208)])
}
Add(DoData,12216993,273,280)
{
link(onEventData,6741064:doPadType,[])
link(Data,2174022:Index,[])
}
Add(Hub,8508884,238,266)
{
link(onEvent1,12216993:doData,[(263,272)(263,286)])
link(onEvent2,6741064:doStrPad,[])
}

карма: 22

0
Ответов: 4622
Рейтинг: 746
#66: 2015-04-01 17:47:46 ЛС | профиль | цитата
Good. Непонятно, как на иконке понимать "SI". Оформление кода - не очень.
[offtop]А что, кому-нибудь реально нужно дополнять строкой, длиннее одного символа?[/offtop]
карма: 26

0
Разработчик
Ответов: 26072
Рейтинг: 2122
#67: 2015-04-01 18:03:51 ЛС | профиль | цитата
Netspirit писал(а):
Непонятно, как на иконке понимать "SI"

Пока сам не понял, сдул со StrCat-a, че-нибудь потом придумаю лучше.
Netspirit писал(а):
Оформление кода - не очень

А че не так, вроде все аккуратно
карма: 22

0
Ответов: 8889
Рейтинг: 823
#68: 2015-04-01 18:05:31 ЛС | профиль | цитата
nesco, иконка не встроилась
ГдеИконка.jpg
карма: 19

0
файлы: 1ГдеИконка.jpg [31.1KB] [514]
Разработчик
Ответов: 26072
Рейтинг: 2122
#69: 2015-04-01 18:55:19 ЛС | профиль | цитата
Леонид писал(а):
иконка не встроилась

Их четыре должно быть, на каждый тип своя
карма: 22

0
Ответов: 4622
Рейтинг: 746
#70: 2015-04-01 19:05:05 ЛС | профиль | цитата
nesco писал(а):
А че не так, вроде все аккуратно?
В основном бросается в глаза названия идентификаторов в нижнем регистре и обилие подчеркиваний.

Всем, кто пишет на Delphi рекомендую ознакомиться и принять к сведению:
http://edn.embarcadero.com/article/10280
http://jvcl.delphi-jedi.org/StyleGuide.htm
Можно что-то делать по-своему, но в основном стоит следовать.

Что у нас часто встречается: отступы, кратные 3-м (спасибо встроенному в HiAsm редактору), в if-then-else расположение begin на одной строке с if.
карма: 26

0
Разработчик
Ответов: 26072
Рейтинг: 2122
#71: 2015-04-01 19:20:11 ЛС | профиль | цитата
Netspirit писал(а):
В основном бросается в глаза названия идентификаторов в нижнем регистре и обилие подчеркиваний.

Да это наследие С-шного кода, я их сам не очень перевариваю.

Netspirit писал(а):
Что у нас часто встречается: отступы, кратные 3-м (спасибо встроенному в HiAsm редактору), в if-then-else расположение begin на одной строке с if.

Кстати, в твоих примерах именно два отступа, а не три, и begin находится на одном уровне с if или while.

// CORRECT
while (LongExpression1 or LongExpression2) do
begin
// DoSomething
// DoSomethingElse;
end;


// CORRECT 

if ((X = Y) or (Y = X) or
(Z = P) or (F = J) then
begin
S := J;
end;


Ты сам Маркса-то читал Вот прочитай сначала, а потом и говори про некорректное написание.
карма: 22

1
Голосовали:Tad
Ответов: 4622
Рейтинг: 746
#72: 2015-04-01 19:26:04 ЛС | профиль | цитата
На "одном уровне" и на "одной строке" - думаю, мы имеем в виду разные вещи.
Про отступы - я и говорю, что у нас 3, а должно быть 2, и begin на одной строке с if, а должно быть на разных.
карма: 26

0
Разработчик
Ответов: 26072
Рейтинг: 2122
#73: 2015-04-01 19:37:19 ЛС | профиль | цитата
Netspirit писал(а):
На "одном уровне" и на "одной строке" - думаю, мы имеем в виду разные вещи.

Где у меня в коде компонента begin на одном уровне с if, где у меня там три отступа вместо двух Этот код вообще написан почти по классике твоих вторых рекомендаций. Единственное, что я не сделал, так это тип не разнес с разделителем после копирования с других источников, я иногда их разношу, но тут забыл просто.

карма: 22

0
Ответов: 4622
Рейтинг: 746
#74: 2015-04-01 19:39:24 ЛС | профиль | цитата
Я не говорю, что у тебя в компоненте, я сказал, что "у нас часто встречается".
карма: 26

0
Разработчик
Ответов: 26072
Рейтинг: 2122
#75: 2015-04-01 19:42:33 ЛС | профиль | цитата
Netspirit писал(а):
Я не говорю, что у тебя в компоненте, я сказал, что "у нас часто встречается".

И как мне тогда понимать вот это
Netspirit писал(а):
Оформление кода - не очень

Извини, но после этого я твои ответы принял на свой счет. Единственное, что я делаю не так, как в описании, так это типы пишу с маленькой буквы (вместо Integer -- integer, вместо String -- string), мне так понятнее.
карма: 22

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