Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 26164
Рейтинг: 2127
#31: 2010-08-17 14:44:13 ЛС | профиль | цитата
Добавил на SVN TrimEx вместо Trim, последний скрыл для совместимости
карма: 22

0
Разработчик
Ответов: 4698
Рейтинг: 426
#32: 2010-08-17 15:04:00 ЛС | профиль | цитата
nesco писал(а):
Добавил на SVN TrimEx вместо Trim, последний скрыл для совместимости

Ага, молодец, а базу, значится, я за тебя буду править
карма: 10
0
Разработчик
Ответов: 26164
Рейтинг: 2127
#33: 2010-08-17 15:06:54 ЛС | профиль | цитата
Assasin писал(а):
а базу, значится, я за тебя буду править

Гы. Забыл выложить, бывает
Добавлено
карма: 22

0
Разработчик
Ответов: 4698
Рейтинг: 426
#34: 2010-08-17 15:13:29 ЛС | профиль | цитата
Хм, а зачем вообще TrimEx Все равно вставляется с режимом TrimBoth по умолчанию, а значит можно изменить простой Trim и добавить в него все из TrimEx, т.е совместимость не пострадает
------------ Дoбавленo в 15.13:
Тем более компоненты Copy, Insert точно так же изменены, а не заменены на Ex-экземпляры
карма: 10
0
Разработчик
Ответов: 26164
Рейтинг: 2127
#35: 2010-08-17 15:17:46 ЛС | профиль | цитата
Assasin писал(а):
Тем более компоненты Copy, Insert точно так же изменены

Кто это сказал, у них нет множества методов, а только один, а меняется только свойство Direct, который за метод не отвечает. Те, у них нет вот такого, к примеру -- doTrim%Mode%, откуда обычного метода doTrim нет, а есть -- doTrim0, doTrim1, doTrim2. Так же точно был сделан FilePartElm, вместо FilePart
карма: 22

0
Разработчик
Ответов: 4698
Рейтинг: 426
#36: 2010-08-17 15:26:16 ЛС | профиль | цитата
nesco, ты чего мне голову морочишь Вот специально провел тест: берем схему создаем с компонентом Trim: code_20050.txt, затем сохраняем ее и нажимаем Ctrl+T, заменяем надпись "Add(Trim" на "Add(TrimEx", перезагружаем схему (или весь HiAsm), пробуем запустить и получаем тот же результат, что и с Trim. Вопрос: где пострадала совместимость?
карма: 10
0
файлы: 1code_20050.txt [303B] [205]
Ответов: 3349
Рейтинг: 233
#37: 2010-08-17 15:34:23 ЛС | профиль | цитата
nesco, а таком случае почему бы так не сделать примерно так?
code_20052.txt
карма: 1

0
файлы: 1code_20052.txt [167B] [153]
Разработчик
Ответов: 4698
Рейтинг: 426
#38: 2010-08-17 15:36:17 ЛС | профиль | цитата
Ivann писал(а):
nesco, а таком случае почему бы так не сделать примерно так?

Это называется -- индусский код
карма: 10
0
Администрация
Ответов: 15295
Рейтинг: 1519
#39: 2010-08-17 15:36:42 ЛС | профиль | цитата
Совместимость это не особенность внутренней реализации, а идентичность работы элементов при дефотных параметрах. Поэтому при чем там doTrim0, doTrim1, doTrim2 не очень понятно.
карма: 27
0
Разработчик
Ответов: 4698
Рейтинг: 426
#40: 2010-08-17 15:38:38 ЛС | профиль | цитата
nesco писал(а):
Так же точно был сделан FilePartElm, вместо FilePart

FilePartElm был сделан отдельно, в первую очередь, потому что там всего одна точка типа event, а не три, как в FilePart, не путай элементы.
Dilma писал(а):
Совместимость это не особенность внутренней реализации, а идентичность работы элементов при дефотных параметрах. Поэтому при чем там doTrim0, doTrim1, doTrim2 не очень понятно.

Вот и я про тоже
карма: 10
0
Разработчик
Ответов: 26164
Рейтинг: 2127
#41: 2010-08-17 15:43:34 ЛС | профиль | цитата
Dilma писал(а):
Поэтому при чем там doTrim0, doTrim1, doTrim2 не очень понятно

Действительно, не при чем, имя свойства не меняется при сохранении. Ща, исправлю, не проблема
карма: 22

0
Ответов: 3349
Рейтинг: 233
#42: 2010-08-17 15:45:04 ЛС | профиль | цитата
Assasin писал(а):
Это называется -- индусский код

Это был пример!
Лучше так
#pas
procedure THITrimEx._work_doTrim;
var
I, L: Integer;
begin
case _prop_Mode of
0:begin
FRes := ReadString(_Data,_data_Text,');
if _prop_Char = ' then ch := else ch := _prop_Char[1];
L := Length(FRes);
I := 1;
while (I <= L) and (FRes[I] = ch) do Inc(I);
while (L > 0) and (FRes[L] = ch) do Dec(L);
Fres := Copy(FRes, I, L-I+1);
_hi_CreateEvent(_Data,@_event_onTrim, Fres);
end;
1:begin
FRes := ReadString(_Data,_data_Text,');
if _prop_Char = ' then ch := else ch := _prop_Char[1];
L := Length(FRes);
I := 1;
while (I <= L) and (FRes[I] = ch) do Inc(I);
while (L > 0) and (FRes[L] = ch) do Dec(L);
Fres := Copy(FRes, I, L-I+1);
_hi_CreateEvent(_Data,@_event_onTrim, Fres);
end;
2:begin
FRes := ReadString(_Data,_data_Text,');
if _prop_Char = ' then ch := else ch := _prop_Char[1];
L := Length(FRes);
I := 1;
while (I <= L) and (FRes[I] = ch) do Inc(I);
while (L > 0) and (FRes[L] = ch) do Dec(L);
Fres := Copy(FRes, I, L-I+1);
_hi_CreateEvent(_Data,@_event_onTrim, Fres);
end;
end;
end;
карма: 1

0
Администрация
Ответов: 15295
Рейтинг: 1519
#43: 2010-08-17 15:50:17 ЛС | профиль | цитата
Ivann писал(а):
Это был пример!
Лучше так

это тоже индусский код, но слегка оптимизированный
карма: 27
0
Разработчик
Ответов: 26164
Рейтинг: 2127
#44: 2010-08-17 15:51:04 ЛС | профиль | цитата
nesco писал(а):
Ща, исправлю, не проблема

Исправил

Ivann писал(а):
Лучше так

И нафига нам лишний код в методе
карма: 22

0
Разработчик
Ответов: 4698
Рейтинг: 426
#45: 2010-08-17 15:55:09 ЛС | профиль | цитата
Ivann писал(а):
Лучше так

Ivann, это
Dilma писал(а):
тоже индусский код, но слегка оптимизированный

Скажи вот, зачем проверять програмно то, что можно сделать на этапе CodeGen?
карма: 10
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)