Консультация № 20069
21.04.2005, 20:18
0.00 руб.
0 6 6
Хочу присвоить компоненту имя (Name), которое хранится в переменной типа String, но эта переменная начинается с символов :#. Как отфильтровать эти символ или как присвоить компонету имя начиная с третьего символа переменной?
ListBox1.Name:=??????????????????????????

Обсуждение

Неизвестный
21.04.2005, 20:27
общий
это ответ
Здравствуйте, source!
String это массив of char => String[c] и в цикл вида
outstr:=‘‘;
if length(instr)>0 then
for c:=1 to Length(instr) do begin
if instr[c]<>‘#‘ then outstr:=outstr+instr[c];
end;
Это ПРИМЕРНЫЙ код, способов до фига.
Неизвестный
21.04.2005, 22:31
общий
это ответ
Здравствуйте, source!
Если правильно понял вопрос, то:
1.
s := ‘‘;
for i := 1 to length(StringVariable) do begin
case StringVariable[i] of
#1..#47: begin end;
else s := s+VariableString[i];
end;
end;
ListBox1.Name := s;
2.
ListBox1.Name := Copy(StringVariable,3,Length(StringVariable)-2);
Неизвестный
22.04.2005, 01:16
общий
это ответ
Здравствуйте, source!
Функция Pos(искомая пдстрока,имя строки) возвращает № начала подстроки в строке или 0 если не найдена.
Delete(строка,№ позиции в строке,кол-во символов)
ST:String
while pos(‘#‘,ST)<>0 do
Delete(ST,pos(‘#‘,ST),1);
ListBox1.Name:=ST;
Неизвестный
22.04.2005, 08:17
общий
это ответ
Здравствуйте, source!
Попробуйте следующее(s-переменная типа String)
Listbox1.name:=Copy(s,3,Length(s));
давно
Мастер-Эксперт
425
4118
22.04.2005, 11:43
общий
это ответ
Здравствуйте, source!
В Паскале есть отличная функция для этого дела:
Name:=Copy(Строка_откуда_надо_вырезать_часть_ее, Начальная_позиция_выреза, Количество_символов);
Вот ее и используйте.
Об авторе:
Я только в одном глубоко убеждён - не надо иметь убеждений! :)
Неизвестный
22.04.2005, 14:18
общий
это ответ
Здравствуйте, source!
Ваша проблема решается следующим образом: понадобится только функция Delete (имя_переменной_строки, позиция_с_которой_начинается_удаление, количество_удаляемых_символов). Тогда в вашем случае будет та Delete (имя_переменной, 1, 2). Из переменной удаляется только два первых символа, а остальные символы остаются как есть.
Форма ответа