Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

stuffstring


Lars ©   (2005-06-10 11:30:00) 

Is there anything like stuffstring in KOL? Replace or stuff strings into other strings by precise positioning?

I looked over my KOL 2.0 help files and couldn't find anything close yet.


Lars   (2005-06-11 06:00:00) [1]

Where is he... What does he go by here ;)? Does he talk in english to us?? hehe

Well since stuffstring is useful, should I make a unit for KOL that uses freepascal's stuffstring (later, maybe with fastcode).

I can't beleive that it calls on 50K of code.. but when I cut and paste the functions into a unit of my own, it's only 3-5 k or so./


Thaddy   (2005-06-11 00:34:00) [2]

Ask the guy!
He's pretty active on this forum. ;)


Lars   (2005-06-10 19:53:00) [3]

Ok cutting the functions out of system (MOVE) and strutils (stuffstring) makes the application now only gain about 5k or so.

I guess the initialization code is huge... in system or strutils. Or the smart linking just isn't smart enough.

Now my problem is that the regex unit I am working with (modified MHregexpr) is crashing when I use a backslash behind a square bracket.

i.e. crashes with regex.expression:= '\[text\]';
but no crash with regex.expression:= '\tex\t';

Guess I'll have to compile in delphi and compare findings.. either a regex bug or freepascal bug.


Lars   (2005-06-10 18:05:00) [4]

Calling on stuffstring from strutils brings in 50KB ...


Thaddy   (2005-06-10 14:42:00) [5]

Look at the fastmove code ;)


Lars   (2005-06-10 14:36:00) [6]

The strepeat just repeats the string... That's pretty simple, isn't it?

Here is the stuffstring function from freepascal:

Function StuffString(const AText: string; AStart, ALength: Cardinal;  const ASubText: string): string;

var i,j : longint;

begin
 j:=length(ASubText);
 i:=length(AText);
 SetLength(Result,i-ALength+j);
 move (AText[1],result[1],AStart-1);
 move (ASubText[1],result[AStart],j);
 move (AText[AStart+ALength], Result[AStart+j],i-AStart-ALength+1);
end;

Hmm have to see if I can use it, without calling on too much initialization/finalization.

I've used FastCode before but I think it was more StringReplace only? I'll have to check deeper into it.


Thaddy   (2005-06-10 13:50:00) [7]

There are lots, just keep looking ;)

strrepeat for example is a stuffing one.

Also: most of the fastcode stuff works great with kol.


Наверх

Титульная страница Поиск, карта сайта Написать письмо