Главная страница
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.019 c
1-94823
nevalex
2003-05-19 14:49
2003.05.29
Как написать компанент что-то вроде TMediaplyer?


14-95044
Scorpx
2003-05-09 08:42
2003.05.29
Изготовление форума.


14-95121
La
2003-05-12 14:17
2003.05.29
Хорошо ли работает Visual Basic 6.0 с Oracle?


3-94706
Kile
2003-05-07 17:18
2003.05.29
Помогите с фильтрацией!!!


1-94846
Pirat
2003-05-19 23:24
2003.05.29
Как повесится на 40 полях ?? :)