![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
работа со string'ом
Konus © (2007-05-07 06:26:00)есть несколько параметров (Имя, дата, информация)
на имя отведено 15 символов, на дату - 10, на информацию - 30
необходимо неиспользованные символы заполнять пробелами (например, если имя заняло 11 символов, забить после него 4 пробела, за которыми пойдет дата, занимающая 10 символов, потом информация, за которой снова заполняются пробелы)
каким образом это можно реализовать?
Konus (2007-05-07 12:00:00) [1]да, шрифт сразу сделал моноширинный, спасибо большое
второй вариант очень удобный ;)
{RASkov} (2007-05-07 08:24:00) [2]> [4] Konus (07.05.07 07:17)
Только не обижайся если в Меме(TMemo) они(строки) будут "не ровные"("столбцы плывут") - это, возможно, из-за шрифта :)
Если хочешь, чтоб в Мемо выглядело красиво, "ровняй" табами... или моноширный шрифт.
Кстати, вот вариант, чет сразу и забыл про него :)
Memo.Lines.Add(Format('%-15s%-10s%-30s', [EditName.Text, EditDate.Text, EditInfo.Text]));
Konus (2007-05-07 07:17:00) [3]большое спасибо, попробую
{RASkov} (2007-05-07 06:56:00) [4]> [2] Konus (07.05.07 06:50)
Изврат какой-то..... Попробуй так:
function SetStr(const Value: String; const NLen: Integer): String;
begin
Result:=Value;
Result:=Result+StringOfChar(' ', NLen-Length(Result));
end;
function SetLine(const AName, ADate, AInf: String): String;
begin
Result:=SetStr(AName, 15)+SetStr(ADate, 10)+SetStr(AInf, 30);
end;
Вызов
Memo.Lines.Add(SetLine(EditName.Text, EditDate.Text, EditInfo.Text));
Konus (2007-05-07 06:50:00) [5]заполняем имя, дату, информацию в разные edit, после чего все эти данные переносятся в мемо, но неиспользованные символы заполняются пробелами
Думкин (2007-05-07 06:45:00) [6]Источник данных, приемник данных? Что дано, что в итоге надо получить?
Навскидку - строка из 55 символов, которую заполняем Филлчаром пробелами. Потом копируем исходные в нужные позиции.