| 
| 
 | Вопрос # 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' для моей задачи кажется второе лучше. |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |