Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.07.2010, 13:12   #11
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Ну что же, покурил мануалы. Такая операция невозможна для строк. Можно только для чисел и упорядоченным типам (элементы которых имеют отношения друг к другу).

Ps.
Цитата:
ОРДИНАЛЬНЫЕ ТИПЫ ДАННЫХ
Общие черты ординальных типов таковы:
1) всякий ординальный тип описывает конечное и упорядоченное множество значений, которые отображаются на последовательность порядковых номеровО, 1, 2ит. д., исключениемявляетсятип1п^ег, который отображает последовательность значений на себя;
2) для любого ординального типа определены минимальное и максимальное значения;
3) для всякого значения, кроме первого, определено предшествующее, и для всякого значения, кроме последнего, — последующее;
4) для любых пар однотипных значений ординальных типов допустимы операции сравнения;
5) стандартные функции Succ (x), Pred (x), Ord (x) воспринимают аргументы любого ординального типа:Succ (x) — последующее для x значение; Pred (x) — предшествующее для x значение; Ord (x) — ординальный номер значения x.
Я бы взял TStrings или уже готовый TStringList
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 19.07.2010, 17:53   #12
Lion-Tiger
Пользователь
 
Регистрация: 25.01.2009
Сообщений: 43
По умолчанию

Utkin

Огромное спасибо за разъяснение!
Хорошо, вернусь к TStrings, хоть там полностью все работает )
Безумно благодарен!

Тему можно закрывать =)
Lion-Tiger вне форума Ответить с цитированием
Старый 06.08.2023, 18:05   #13
meligo
Новичок
Джуниор
 
Регистрация: 19.07.2023
Сообщений: 2
По умолчанию

Первый пост ТопикСтартера был:
Цитата:
Сообщение от Lion-Tiger Посмотреть сообщение
то с TStrings придется делать вот так:
Код:
MyProperty.Text:=Value1+#13#10+Valu e2+#13#10+ и так далее...
А потом писали-писали, писали-писали а основного решения так и не увидели!

Вот оно, всего в одну строку!
Нужно было Text заменить на DelimitedText, а в качестве разделителей использовать в задаваемой строке пробелы - самые удобный и короткий вариант, тем более что они наряду с запятыми действуют по умолчанию:
Код:
Memo1.Lines.DelimitedText := 'Строка1 Строка2 33 44 "Строка 5"';
Сам часто пользуюсь этим способом - присвоение чрез-пробельной строки свойству DelimitedText, чтобы задать динамически в тексте программы многострочный текст.

Строки в TStrings, а значит и во всех наследниках, включая TStringList по умолчанию разделены пробелами и/или запятыми (хотя это можно настраивать - см. Delimiter и StrictDelimiter), но нас значения по-умолчанию устраивают в этой задаче. Поэтому код такой минимальный - всего одна строка!

В тех же строках, где эти разделители являются частью самой строки - такую строку следует взять в кавычки, например: "Строка 5".

Вот ещё использование этой техники в TStringList (анонимный список, не требующий даже секции var для объявления переменной):

Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
  with TStringList.Create do try
    DelimitedText := 'Строка1 Строка2 33 44 "Строка 5"';  // Загрузка и сепарация списка строк
    Memo1.Text := Text;                                   // Cброс результата в Memo1, например
    Caption := Strings[Count-1]                           // Последняя строчка списка - в заголовок формы
  finally
    Free
  end;
end;
Результат:

Код:
Строка1
Строка2
33
44
Строка 5

Последний раз редактировалось meligo; 06.08.2023 в 19:42.
meligo вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как задать в массив значение ячейки? StudentofSUSU Microsoft Office Excel 1 07.01.2010 23:43
Задать двумерный массив (матрицу) 6х4 zergon Помощь студентам 3 04.01.2010 00:29
как задать массив в программе? m.a.x.i.m Помощь студентам 14 12.12.2009 13:40
задать массив как константу...нужен совет dead-vip Паскаль, Turbo Pascal, PascalABC.NET 5 21.12.2008 16:07
задать массив типа X: array [0..N] of integer -где N переменная читаеться из EditBox Kivin13 Общие вопросы Delphi 22 06.09.2007 09:25