|
Вопрос # 3 823/ вопрос открыт / |
|
Здравствуйте, уважаемые эксперты!
Подскажите,пожалуйста, в чем ошибка.
В первую строку символы добавляются корректно, а во вторую строку нет, добавляются в первую. Как исправить?
Приложение: Переключить в обычный режим-
- Memo1.SelStart := length(Memo1.Lines[0]);
- Memo1.SelText := '11' end;
- Memo1.SelStart := length(Memo1.Lines[0]);
- Memo1.SelText := '12' end;
- Memo1.SelStart := length(Memo1.Lines[0]);
- Memo1.SelText := '13' end;
-
- Memo1.SelStart :=length(Memo1.Lines[1]);
- Memo1.SelText := '21' end;
- Memo1.SelStart := length(Memo1.Lines[1]);
- Memo1.SelText := '22' end;
- Memo1.SelStart := length(Memo1.Lines[1]);
- Memo1.SelText := '23' end;
 |
Вопрос задал: Hi-tek (статус: 1-ый класс)
Вопрос отправлен: 27 февраля 2010, 15:38
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: min@y™
Цитата (Hi-tek):
нет, нужно именно реализовать добавление символов в существующую строку.
Так бы сразу и сказал. Вот, я набросал прямо в браузере тебе процедурку, пользуйся.
// Вставка подстроки SubStr в строку ALines[Line], начиная с символа номер Index.
// Символы нумеруются с 1 от начала строки ALines[Line].
procedure InsertSubStr(ALines: TStrings; const SubStr: string; const Line, Index: Integer);
var
Temp: string;
begin
if Line > ALines.Count - 1
then Exit;
Temp:= ALines[Line];
Insert(SubStr, Temp, Index);
ALines[Line]:= Temp;
end;
// Пример использования
Memo1.Lines.Add('Первая строка');
Memo1.Lines.Add('Вторая строка');
InsertSubStr(Memo1.Lines, '11', 0, 5);
InsertSubStr(Memo1.Lines, '22', 1, 7);
Если надо просто добавлять куски текста в конец строк, то проще так:
Memo1.Lines[0]:= Memo1.Lines[0] + '112233';
Только ума не разложу, нафига такой изврат нужен. Расскажи, а?
 |
Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 27 февраля 2010, 17:34
Оценка за ответ: 5
Комментарий к оценке: Memo1.Lines[0]:= Memo1.Lines[0] + '112233';
Спасибо огромное!!! То что нужно!
ps делаю игру, Win Life, симулятор компьютерщика, нужно было для окна установки ПО, для отображения хода установки =))
|
Мини-форум вопроса
Всего сообщений: 8; последнее сообщение — 27 февраля 2010, 18:19; участников в обсуждении: 4.
|
Ерёмин А.А. (статус: *Администратор), 27 февраля 2010, 16:13 [#1]:
А что это вообще такое? Что за end'ы повсеместно?
|
|
DNK (статус: Студент), 27 февраля 2010, 16:38 [#2]:
Удаление опухоли мозга через анус! Может сделать всё проще?Memo1.Lines.Insert(0,'Первая строка111213');
Memo1.Lines.Insert(1,'Вторая строка212223');
"Digital Networked Knight"
|
|
Hi-tek (статус: 1-ый класс), 27 февраля 2010, 17:08 [#3]:
end'ы лишние, просто забыл убрать, в оригинальном коде сложная конструкция.
|
|
Hi-tek (статус: 1-ый класс), 27 февраля 2010, 17:09 [#4]:
DNK, нет, нужно именно реализовать добавление символов в существующую строку.
|
|
min@y™ (статус: Доктор наук), 27 февраля 2010, 17:14 [#5]:
Цитата (DNK):
Удаление опухоли мозга через анус!
Блин, я гляжу, сага об XYZ - заразная болезнь. Всё больше и больше инфицированных! Эпидемия, товарищи, и, похоже, вакцины нету!
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
min@y™ (статус: Доктор наук), 27 февраля 2010, 17:55 [#6]:
Цитата (Hi-tek):
нужно было для окна установки ПО, для отображения хода установки =))
А здесь не проще ли использовать какой-нить ProgressBar или Gauge? И вообще, именно с такой постановки вопроса надо было начинать.
З.Ы. Админу: Андрюха, ты когда сделаешь возможность прицепа скриншотов? Я бы тут прицепил окно прогресса копирования из Total Commander'a.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
DNK (статус: Студент), 27 февраля 2010, 17:57 [#7]:
Цитата (Hi-tek):
нужно именно реализовать добавление символов в существующую строку Сразу бы так.
"Digital Networked Knight"
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|