Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 26163
Рейтинг: 2127
#16: 2008-05-17 22:37:05 ЛС | профиль | цитата
Tad, ну с Trim'ом понятно, это более рациональное решение, ну а Copy-то зачем...
карма: 22

0
Гость
Ответов: 17029
Рейтинг: 0
#17: 2008-05-18 00:47:34 правка | ЛС | профиль | цитата


Редактировалось 1 раз(а), последний 2017-03-03 03:35:59
карма: 0

0
Разработчик
Ответов: 26163
Рейтинг: 2127
#18: 2008-05-18 01:13:57 ЛС | профиль | цитата
Tad, мне не понравилось, что отсчет идет не учитывая стартовой позиции от конца, это надо бы учесть. Те, если Pos=3, а Count=-4, то надо отступить 3 символа от конца и скопировать 4 символа влево.

------------ Дoбавленo:


Короче, это будет выглядеть так, полностью симметрично


procedure THICopy._work_doCopy;
var str:string;
Pos,Count:integer;
begin
str := ReadString(_Data,_data_Str,');
if str <> ' then begin
Count := ReadInteger(_Data, _data_Count, _prop_Count);
Pos := ReadInteger(_Data, _data_Position, _prop_Position);
if Count < 0 then begin // если отрицательное, то копируется с конца.
Pos := Length(str) + Count + 2 - Pos;
Count := Abs(Count);
end;
if Pos <= 0 then begin
Inc(Count, Pos-1);
Pos := 1;
end;
_hi_CreateEvent(_Data, @_event_onCopy, Copy(str,Pos,Count));
end;
end;

------------ Дoбавленo:


Ну тут возникает проблема совместимости -- кто-нибудь использовал отрицательный счетчик в своих целях, вот этого я не знаю
карма: 22

0
Ответов: 1891
Рейтинг: 110
#19: 2008-05-18 01:19:12 ЛС | профиль | цитата
nesco, главное что бы все работало как нужно, а отрицательный счётчик или положительный - это уже второстепенное. Хотя, по идее, нужно придерживаться каких-либо правил программирования
карма: 0
%time%
0
Разработчик
Ответов: 26163
Рейтинг: 2127
#20: 2008-05-18 01:24:16 ЛС | профиль | цитата
Хотя, вряд ли, это -- уже из серии нонсенсов...
------------ Дoбавленo:

Alexbootch писал(а):
Хотя, по идее, нужно придерживаться каких-либо правил программирования

Не понял, уточни каких. Разве про счетчики где-то написано. Мдаа... ну тогда проще добавить условие и прописать направление отсчета
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#21: 2008-05-18 09:27:24 ЛС | профиль | цитата
nesco писал(а):
Те, если Pos=3, а Count=-4,
если задано Count=-4, то заданное значение Pos даже не считывается.(Еще раз посмотри коды, которые я выложил в архиве)
nesco писал(а):
Мдаа... ну тогда проще добавить условие и прописать направление отсчета
вот тогда совместимость пропадет точно
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26163
Рейтинг: 2127
#22: 2008-05-18 13:46:37 ЛС | профиль | цитата
Tad,
Tad писал(а):
то заданное значение Pos даже не считывается.(Еще раз посмотри коды, которые я выложил в архиве

Можно подумать, я их не смотрел. А меня это не устраивает, если делать, то делать нормально и симметрично.
Tad писал(а):
вот тогда совместимость пропадет точно

Ну простите, отрицательный счетчик -- это нонсенс, читай посты выше...

------------ Дoбавленo:

Tad, хорошо, я оставил совместимость с твоим нонсенсом (см SVN)...
карма: 22

1
Голосовали:Konst
Ответов: 16884
Рейтинг: 1239
#23: 2008-05-21 10:22:41 ЛС | профиль | цитата
nesco писал(а):
Tad, хорошо, я оставил совместимость с твоим нонсенсом (см SVN)...
если добавил Direction, то -Count нужно выбросить.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26163
Рейтинг: 2127
#24: 2008-05-21 11:23:05 ЛС | профиль | цитата
Tad писал(а):
если добавил Direction, то -Count нужно выбросить

А кто шумел про совместимость
------------ Дoбавленo:

Откатил до rev 1009 с Direction без -Count
карма: 22

0
Гость
Ответов: 17029
Рейтинг: 0
#25: 2008-05-21 11:39:28 правка | ЛС | профиль | цитата


Редактировалось 1 раз(а), последний 2017-03-03 03:36:00
карма: 0

0
Ответов: 211
Рейтинг: 52
#26: 2009-07-04 19:42:32 ЛС | профиль | цитата
Реализация метода _var_Count класса THICharArray отлична от интерфейсной.
В секции interface: procedure, далее в implementation function.
Просьба поправить.



карма: 1
слтв
0
Разработчик
Ответов: 26163
Рейтинг: 2127
#27: 2009-07-04 19:52:42 ЛС | профиль | цитата
Исправлено.
------------ Дoбавленo в 19.54:
Minkovsky, ты, случаем, не новое FPC подгоняешь
карма: 22

0
Ответов: 211
Рейтинг: 52
#28: 2009-07-04 21:11:49 ЛС | профиль | цитата
nesco, да только фпс 2.2.2, и задача стоит сразу под КОЛ 2.88
карма: 1
слтв
0
28
Сообщение
...
Прикрепленные файлы
(файлы не залиты)