![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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.