Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.29;
Скачать: CL | DM;

Вниз

Как удалить из StringList последние два символа   Найти похожие ветки 

 
OlegM ©   (2003-05-19 11:48) [0]

Привет всем
Создаю StringList программно
потом добавлюю в него T.Add("");
Длинну я получаю len:=length(T.gettext);
И в некоторых случаях мне надо удалить последние 2 саимвола, как это сделать.


 
Skier ©   (2003-05-19 11:51) [1]

1)len:=length(T.text);
2)Delete(...)


 
OlegM ©   (2003-05-19 11:58) [2]

От того и спрашиваю на Delete ошибку выдает
constant object connot be passed as var parameter


 
Lord Warlock ©   (2003-05-19 11:59) [3]

Примерчик

var a: TStringList;
i: integer;
S: String;
begin
a:=TStringList.Create;
try
a.Add("12345678");
a.Add("87654321");
for i:=0 to a.Count-1 do
if a[i]="87654321" then
begin
S:=a[i];
SetLength(S,Length(a[i])-2);
a[i]:=S;
end;
Memo1.Lines.Assign(a);
finally
a.Free;
end;
end;


 
OlegM ©   (2003-05-19 12:06) [4]

Спасибо конечно но
В стринглист я добавляю 1 раз и килобайт 300, и мемо не очень хочется использовать нет ли чего попроще?


 
Skier ©   (2003-05-19 12:10) [5]

>OlegM © (19.05.03 12:06)

> и мемо не очень хочется использовать нет ли чего попроще?
>

Дык...убери строку Memo1.Lines.Assign(a); и
будет тебе счастье без мемо.



 
OlegM ©   (2003-05-19 12:14) [6]

Я от чего стал использовать стринглист потому-что толи ограничение на размер у переменных типа стринг толи что другое
и когда я использовал переменные то вылетало, а со стринглистом нормально. А в этом примере именно с переменными.


 
Виктор Щербаков ©   (2003-05-19 12:16) [7]


> потому-что толи ограничение на размер у переменных типа
> стринг толи что другое

Может ты ShortString использовал?


 
OlegM ©   (2003-05-19 12:17) [8]

Нет именно
S:string;


 
Skier ©   (2003-05-19 12:18) [9]

>OlegM © (19.05.03 12:14)
Определённо "что другое".
{$H+} и строка может быть до 4 гигабайт (теоретически...), так
что 300 кб это вообще не проблема.


 
OlegM ©   (2003-05-19 12:23) [10]

Непонял что такое {$H+}


 
Skier ©   (2003-05-19 12:25) [11]

>OlegM © (19.05.03 12:23)
Директива компилятора, но она стоит по умолчанию, видимо у тебя
проблема в чем-то другом. Хорошо бы твой код увидеть...


 
OlegM ©   (2003-05-19 12:32) [12]

Да код то простой

S:="Update plat Set ";
...
T.Add(S+" pole5="+chr(39)+HexEditor1.AsHex+chr(39)+", ");

Так вот иногда мне нужно удалять запятую и пробел в конце


 
Skier ©   (2003-05-19 12:40) [13]

1) Если строка в списке T одна, то делай всё через string.
TStringList не нужен
2) Если не одна, то делай Lord Warlock © (19.05.03 11:59), т.е.
с доп. переменной и не извращайся...


 
OlegM ©   (2003-05-19 12:42) [14]

Ладнинько спасибо буду разбираться со string раз говорите что до 4 гб


 
Skier ©   (2003-05-19 12:47) [15]

>OlegM © (19.05.03 12:42)
Только не забудь про {$H+}, может статься что у тебя стоит
{$H-}, всякое бывает...


 
OlegM ©   (2003-05-19 12:51) [16]

>Skier
А где oна должнa стоять?


 
Skier ©   (2003-05-19 12:53) [17]

>OlegM © (19.05.03 12:51)
В начале модуля, например...


 
Vasiliy   (2003-05-19 12:54) [18]

В начале твоего юнита


 
OlegM ©   (2003-05-19 12:59) [19]

Спасибо!



Страницы: 1 вся ветка

Текущий архив: 2003.05.29;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.013 c
14-95064
race1
2003-05-09 17:01
2003.05.29
---|Ветка была без названия|---


1-94922
Holy
2003-05-17 16:03
2003.05.29
Как провести перекодировку из UTF-7 ?


4-95161
caesar
2003-04-02 10:58
2003.05.29
SystemTray


1-94831
ламерша
2003-05-19 16:05
2003.05.29
Номер теущей страницы в FastReport


1-94805
R
2003-05-19 09:46
2003.05.29
Два варианта подпрограмм