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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.07.2009, 18:01   #1
Рамик
Студент
Форумчанин
 
Аватар для Рамик
 
Регистрация: 18.02.2009
Сообщений: 125
Вопрос [Delphi] Пробелы

подскажите как можно установить колличество пробелов? в паскале можно было так:
Код:
'':10
или
Код:
'':i   (где i:integer)
а в делфи выдает ошибку на этом....
Рамик вне форума Ответить с цитированием
Старый 09.07.2009, 18:06   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Можете использовать функцию StringOfChar:
http://delphibasics.ru/StringOfChar.php

Код:
Label1.Caption := '1';
Label1.Caption := Label1.Caption + StringOfChar(' ',10);
Label1.Caption := Label1.Caption + '1';
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 09.07.2009, 18:08   #3
Вавел из ГМТУ
Форумчанин
 
Регистрация: 19.06.2009
Сообщений: 896
По умолчанию

В каком смысле кол-во пробелов?
Это больше похоже на кол-во знаков после запятой. В Delphi за это отвечает Format(...)
Вавел из ГМТУ вне форума Ответить с цитированием
Старый 09.07.2009, 18:11   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Вавел из ГМТУ, попробуйте в паскале написать:
Код:
write('1');
write(' ':10);
writeln('5');
и он выведет:
Код:
1          5
вот что ТС имел в виду..
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 09.07.2009, 18:14   #5
Рамик
Студент
Форумчанин
 
Аватар для Рамик
 
Регистрация: 18.02.2009
Сообщений: 125
По умолчанию

Sazary, я хотел сделать так чтобы в зависимости от длины первого слова определялась длина пробела перед вторым словом...
Рамик вне форума Ответить с цитированием
Старый 09.07.2009, 18:17   #6
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от Рамик
я хотел сделать так чтобы в зависимости от длины первого слова определялась длина пробела перед вторым словом...
Ну так нет никакой проблемы. Что-нибудь вроде этого:

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
str1,str2 : string;
begin
str1 := 'Word1';
str2 := 'Word2';
Label1.Caption := str1 + StringOfChar(' ',10-length(str1)) + str2;
end;
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 09.07.2009, 18:32   #7
Рамик
Студент
Форумчанин
 
Аватар для Рамик
 
Регистрация: 18.02.2009
Сообщений: 125
По умолчанию

Код:
procedure TForm1.Edit1Change(Sender: TObject);
var k,i:integer;
begin
i:=0;
listbox2.Clear;
with ListBox1 do
    ItemIndex := Perform(LB_SELECTSTRING, ItemIndex, LongInt(edit1.text));
i:=listbox1.perform(LB_FINDSTRING,i,integer(pchar(Edit1.Text)));
k:=i;
if (Edit1.Text='')or(i=LB_ERR) then exit;
repeat
  listbox2.items.add(ListBox1.Items[i]+'     '+listbox3.Items[i]);
  i:=listbox1.perform(LB_FINDSTRING,i,integer(pchar(Edit1.Text)));
until (i=LB_ERR)or(i=k);
end;
смотри вот тут у меня вывоит результат в лист бокс...так вот я хотел сделать так чтобы при выводе у меня во второй( и далее) строке все два столббца были выравнеными...
куда мне теперь этот код вставить?
Рамик вне форума Ответить с цитированием
Старый 09.07.2009, 18:43   #8
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Что-то вроде этого:
Код:
repeat
  listbox2.items.add(ListBox1.Items[i]+StringOfChar(' ',10-length(ListBox1.Items[i]))+listbox3.Items[i]);
  i:=listbox1.perform(LB_FINDSTRING,i,integer(pchar(Edit1.Text)));
until (i=LB_ERR)or(i=k);
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 09.07.2009, 18:52   #9
Рамик
Студент
Форумчанин
 
Аватар для Рамик
 
Регистрация: 18.02.2009
Сообщений: 125
По умолчанию

не чето не то....все равно не выравнивает...=(
Рамик вне форума Ответить с цитированием
Старый 09.07.2009, 18:55   #10
Рамик
Студент
Форумчанин
 
Аватар для Рамик
 
Регистрация: 18.02.2009
Сообщений: 125
По умолчанию

например знаешь как...
вот первая и вторая строка:
Код:
слово                    №№№№
второе слово        №№№№
видиш сколько пробелов в первой строке и сколько во второй....и второй столбец выравнен...
Рамик вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
удалить лишние пробелы со строки так чтобы между символами осталось по одному пробелу delphi MASIK Общие вопросы Delphi 7 22.12.2010 18:23
убрать пробелы zetrix Microsoft Office Excel 9 10.03.2009 10:03
Где пробелы ?!!! Evgenijj О форуме и сайтах клуба 4 07.03.2009 17:03
Процедура или функция, удаляющая окаймляющие пробелы в строке (Delphi) Аццкий прогер Помощь студентам 2 03.03.2009 04:12