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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.04.2009, 22:32   #1
ТРОЯН=)
Пользователь
 
Регистрация: 06.12.2008
Сообщений: 58
По умолчанию Абзацы(Паскаль)

Привет всем подскажите пожалуйста как в файлах к строкам добавлять пробелы?Нужно выровнять по центру или по правому краю.
ТРОЯН=) вне форума Ответить с цитированием
Старый 19.04.2009, 22:44   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Ну, файл - не экран консоли. И размер окна текстового редактора можно менять. Но это я так.
Объявляете файл как текстовый. Читаете строку (до знака перевода строки). Потом добавляете пробелы функцией include.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 19.04.2009, 22:48   #3
ТРОЯН=)
Пользователь
 
Регистрация: 06.12.2008
Сообщений: 58
По умолчанию

спс сейчас попробую)
ТРОЯН=) вне форума Ответить с цитированием
Старый 19.04.2009, 23:18   #4
ТРОЯН=)
Пользователь
 
Регистрация: 06.12.2008
Сообщений: 58
По умолчанию

А как вообще эта функция работает?Пробелы в неё писать нельзя - как я понял(ошибку типа выдаёт).Вот написал чтот незнаю как дальше

Код:
Program file14;
uses crt;
 var
 f:text;
 fn:string;
 s,m:string;
cline, k,i:integer;

begin
clrscr;
 writeln('‚ўҐ¤ЁвҐ Ё¬п д*©«*');
 readln(fn);
 fn:=fn+'.txt';
 assign(f,fn);
 reset(f);
cline:=0;
while not eof(f) do
 begin
readln(f,m);
cline:=cline+1;
end;
for i:= 1 to cline do begin
 while not eoln(f) do
readln(f,s);
{а сюда эту вставку пробелов надо}

end;
end.
ТРОЯН=) вне форума Ответить с цитированием
Старый 19.04.2009, 23:27   #5
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Я имел в виду вот что: читаете очередную строку, вставляете пробелы (в строку, то есть в строковую переменную), а потом пишете эту строку в файл.
То есть, тут тоже через временный файл.

На счет функции: сорри, перепутал. Не include, а insert:
Код:
Procedure Insert (SubS: String; var S: String; Index: Integer)
Вставляет подстроку SubS в строку S в позиции Index.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]

Последний раз редактировалось Sazary; 19.04.2009 в 23:37.
Sazary вне форума Ответить с цитированием
Старый 19.04.2009, 23:47   #6
ТРОЯН=)
Пользователь
 
Регистрация: 06.12.2008
Сообщений: 58
По умолчанию

Код:
  
Program file14;
uses crt;
 var
 f,f1:text;
 fn:string;
 s,m,subs:string;
cline, k,i:integer;

begin

clrscr;
 writeln('‚ўҐ¤ЁвҐ Ё¬п д*©«*');
 readln(fn);
 fn:=fn+'.txt';
 assign(f,fn);
 reset(f);
 assign(f1,'ff');
 rewrite(f1);
cline:=0;
subs:='    ';
while not eof(f) do
 begin
read(f,m);
insert(subs,m,1);
write(f,m);{Блин если здесь убрать файл(ф) то выводит в консоли нормально с отступами а если оставить -бут ошибка } 
readln;
end;
close(f);
close(f1);
erase(f);
rename(f1,fn);
end.
end.

 end;
 end.
ТРОЯН=) вне форума Ответить с цитированием
Старый 20.04.2009, 00:08   #7
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Так ведь тут:
Код:
write(f,m);
не f нужно писать, а f1 )
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 20.04.2009, 00:32   #8
ТРОЯН=)
Пользователь
 
Регистрация: 06.12.2008
Сообщений: 58
По умолчанию

Блин нифига чёт неполучается-т.е. программа только 1 строку копирует
(зацыкливается прога и стоит)я эти бегины и энды уже по разному перестовлял-неполучается.
ТРОЯН=) вне форума Ответить с цитированием
Старый 20.04.2009, 00:36   #9
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Блин нифига чёт неполучается-т.е. программа только 1 строку копирует
(зацыкливается прога и стоит)я эти бегины и энды уже по разному перестовлял-неполучается.
Замените в цикле:
Код:
read(f,m);
insert(subs,m,1);
write(f,m);
на
Код:
readln(f,m);
insert(subs,m,1);
writeln(f1,m);
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 20.04.2009, 00:41   #10
ТРОЯН=)
Пользователь
 
Регистрация: 06.12.2008
Сообщений: 58
По умолчанию

УРАААААААААААААААААА!!!!СПАСИБО-Это была последняя задача))теперь постораюсь сделать выравнивание на правый край , а завтра получю 5 по программированию)))))
ТРОЯН=) вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль, Борланд Паскаль-в чем разница??? Vremya-Dengy Паскаль, Turbo Pascal, PascalABC.NET 13 31.05.2011 18:23
Паскаль Сова Паскаль, Turbo Pascal, PascalABC.NET 3 09.02.2009 11:53
Паскаль Alfis Паскаль, Turbo Pascal, PascalABC.NET 2 07.12.2008 15:28
Поменять местами абзацы Иллидан Microsoft Office Word 1 16.09.2008 08:14