|
Вопрос # 3 556/ вопрос открыт / |
|
Приветствую, уважаемые эксперты!Прошу ответить начинаюшему! Создал строку string пустую с определенным размером пример 100 теперь хочу ее заполнять прицельно по нужным позициям например с 12 по 20 поставить 1 а остальные чтоб остались как и были 0-ми
 |
Вопрос задал: ramazan (статус: Посетитель)
Вопрос отправлен: 22 декабря 2009, 10:13
Состояние вопроса: открыт, ответов: 2.
|
Ответ #1. Отвечает эксперт: Вадим К
Здравствуйте, ramazan!
Заполнить нужными символами просто - emptystr[1] := '2' и первый символ в строке уже два.
что бы с 12 под 20 заполнить единичками, это просто
for i:= 12 to 20 do
emptystr[i] := '1';
Но я вижу маленькое недополнимания в вопросе. в фразе "остальные чтоб остались как и были 0-ми"
Дело в том, что надо различать символ "0" и байт с значением(кодом) 0. функция SetLength не обещает заполнения ни тем, ни другим. Поэтому придется заполнять ручками. Но! если какой то символ в строке имеет код 0, то это значит, что это конец строки! И если символы с 12 по 20 будут иметь код 1 или "1", а остальные 0 (код 0), то строка будет пустой.
Поэтому, наверно правильный код для Вас выглядит так:
for i:= 1 to size do
emptystr[i] := '0';
for i:= 12 to 20 do
emptystr[i] := '1';
Но если все таки захочется вписать туда код 0 или 1, а не символ (странно это конечно), то тогда надо просто заменить '0' на #0 и так дальше. или на chr(0).
 |
Ответ отправил: Вадим К (статус: Академик)
Время отправки: 22 декабря 2009, 10:44
Оценка за ответ: 5
|
Ответ #2. Отвечает эксперт: min@y™
Доступ к символам по индексу:
emptystr[Index]:= <символ>;
Цитата:
а остальные чтоб остались как и были 0-ми
После SetLength() в строке символы будут не нулевыми, а в общем случае там будет случайны мусор.
 |
Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 22 декабря 2009, 10:46
Оценка за ответ: 4
Комментарий к оценке: Спасибо!
|
Мини-форум вопроса
Всего сообщений: 2; последнее сообщение — 22 декабря 2009, 15:11; участников в обсуждении: 2.
|
Яуген Таляныч (статус: Посетитель), 22 декабря 2009, 14:56 [#1]:
Мне кажется, автору надо бы взять не string, a array of byte.
Обнулить, конечно, самому.
|
|
ramazan (статус: Посетитель), 22 декабря 2009, 15:11 [#2]:
спасибо!Всем ! Прочитал все что вы мне посоветовали. И на счет того #0 ,#1 или '1','0' для моей задачи кажется второе лучше.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|