Главная страница
    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.066 c
15-1273480342
SKIPtr
2010-05-10 12:32
2010.08.27
закртие или контроль приложений в Mozilla и оперы


11-1197745737
Vladimir Kladov
2007-12-15 22:08
2010.08.27
SOL (Соль) = Simple Objects Language


2-1267946028
serhiyiv
2010-03-07 10:13
2010.08.27
Градиент


2-1266493951
AndreyZAA
2010-02-18 14:52
2010.08.27
Поиск в базе данных с помощью Locate, SQL или только переборкой?


2-1274330451
viktooor
2010-05-20 08:40
2010.08.27
Организация печати Grid с помощью PrintGridEh





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский