![]() |
|
|
#1
|
||||
|
||||
|
помогите выдрать данный клас без ничего лишнего из модуля classes...
прост нужно сделать размер моей проги наиболее минимальный, а при подключении classes прога сразу увеличивается аш на 70кб.. ( |
|
#2
|
||||
|
||||
|
Не выйдет. Он использует массу методов и свойств наследников. А зачем это нужно? Оптимизатор и так достаточно неплохо мусор чистит.
|
|
#3
|
||||
|
||||
|
хм... не получится говоришь?! а как же DJ Phoenix вытащил TClientSocket из тоже немаленького модуля?! все таки это реально!) что за оптимизатор?
|
|
#4
|
||||
|
||||
|
ну или хотябы подскажи как можно распарсить по строкам переменную типа string? (мне ТСтрингЛист нужен исключительно изза того что он многострочен, и удобно работать со строками)
|
|
#5
|
||||
|
||||
|
Ну вытащить конечно все можно, тут вы пожалуй правы, но это будет уже не TStringList класс.
Каков итоговый результат вашего распарсинга строки ожидается? А оптимизатор имеется ввиду встроенный в компилятор Дельфи. Вы представляете сколько было-бы мусора, если-бы он тащил в приложение все подряд? |
|
#6
|
||||
|
||||
|
ну допустим есть массив
a: array [1..99] of string; и есть переменная s:string; для компа эта переменная s - одно целое, но если вывести её так: ShowMessage(); то мы видим много строк... так вот как этото текст из переменной s разобрать построчно в массив a ? |
|
#8
|
||||
|
||||
|
Т.е. вам видимо нужно вот такое:
Код:
Var
a: Array of String;
...
while Pos(#13#10,s) <> 0
do begin
SetLength(a, Length(a)+1);
a[High(a)] := Copy(s, 1, Pos(#13#10,s))
s := Copy(s, Pos(#13#10,s)+2,Length(s));
end; |
|
#9
|
|||
|
|||
|
Страдалецъ, можно еще проще:
Код:
var L : TStringList; S : String; begin L := TStringList.Create; L.Text := S; // Далее пользуем список строк L ... L.Free; |
|
#10
|
||||
|
||||
|
Imikle , я же написал что TStringList не нужно использовать! а ты мне тут его втыкаешь xD
p.s. почитай предыдущие сообщения начиная с первого)))) |