Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Вниз

TRichEdit, вставка текста   Найти похожие ветки 

 
Fr   (2010-02-21 14:25) [0]

Есть компонент TRichEdit. В него занесен текст:

Начало строки 1: изменяемое содержимое строки
Начало строки 2: изменяемое содержимое строки
Начало строки 3: изменяемое содержимое строки
...

В run-time должно изменяться "содержимое строки" в зависимости от различных условий. Причем начало строки должно оставаться неизменным и изменение содержимого д.б. произвольным. Т.е., например, сначала изменить 2 строку (все остальные не трогаются), затем 1, потом 4 и т.д.
Каким образом можно это организовать?


 
MBo ©   (2010-02-21 14:43) [1]

1. в отдельном TStringList хранить неизменные части
или
2. В Richedit.Lines.Objects хранить длины неизменных частей


 
Anatoly Podgoretsky ©   (2010-02-21 14:44) [2]

> Fr  (21.02.2010 14:25:00)  [0]

А три нельзя трогать?
StringReplace


 
{RASkov} ©   (2010-02-21 15:51) [3]


> В Richedit.Lines.Objects хранить длины неизменных частей

Там помоему нельзя ничего хранить :)
> Fr
Задача в [0] не совсем ясна. Примерно так я понял:

with RichEdit do
 ReadOnly:=CaretPos.X<Integer(Integer(ListNoChangeLength[CaretPos.Y]));

где ListNoChangeLength: TList например, в котором хранятся длины неизменных частей, т.е. второй вариант из [1]
можно это попробывать на OnRichKeyDown....


 
Fr   (2010-02-21 16:03) [4]

Всем спасибо. Решил с помощью:

with Richedit do begin
 SelStart:=Perform(EM_LineIndex,5,0)+4; // где 4-длина неизменной части пятой строки
 SelLength:=Length(Lines[5])-5;
 SelText:=" "+Trim(tmpStr1); // в tmpStr1 изменяемая часть строки
end;


 
sniknik ©   (2010-02-21 22:09) [5]

procedure TForm1.Button1Click(Sender: TObject);
begin
 RichEdit1.Text:=
   "HGFFFG"#13#10+
   "Начало строки 1:изменяемое содержимое строки"#13#10+
   "Начало строки 2:изменяемое содержимое строки"#13#10+
   "Начало строки 3:изменяемое содержимое строки"#13#10+
   "KJ;LKAJS";
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
 RichEdit1.Lines.NameValueSeparator:= ":";
 RichEdit1.Lines.Values["Начало строки 2"]:= "TEST";
end;


 
Fr   (2010-02-22 22:18) [6]


> sniknik ©   (21.02.10 22:09) [5]

А что будет быстрее работать? Ваш вариант или мой?
Мне кажется, что Ваш. т.к. всего 2 операции присваивания, а у меня телодвижений побольше :)
Работают и Ваш и мой ...


 
sniknik ©   (2010-02-22 22:36) [7]

> А что будет быстрее работать?
хочешь об этом поговорить? или просто пример на сравнение сделаешь?
и если сравнивать то равнозначные операции (по индексу позиции, есть там такой)

> т.к. всего 2 операции присваивания
одна. т.к. первая не обязательна для каждого раза, просто раз задает разделитель. (а можно и не делать, будет стандартный = )



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.065 c
2-1267693170
00110011
2010-03-04 11:59
2010.08.27
раздел const


2-1265901983
Дмитрий
2010-02-11 18:26
2010.08.27
Проблемы с FB 2.1


3-1242293156
Ega23
2009-05-14 13:25
2010.08.27
Выполнение скрипта под разными учетными записями


2-1273530984
Серг
2010-05-11 02:36
2010.08.27
Окно cmd


2-1273989815
fallen_from_skies
2010-05-16 10:03
2010.08.27
создание программы для тестирования учащихся





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский