0 / 0 / 1
Регистрация: 04.10.2011
Сообщений: 4
1

Работа с текстовыми файлами. Разбиение текста на строки определенной длины.

16.10.2011, 15:33. Показов 2318. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Разбить произвольный текст находящийся в файле, на строки определенной длины. При переносе слов предусмотреть вывод дефиса.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.10.2011, 15:33
Ответы с готовыми решениями:

Работа со строками и текстовыми файлами. Статистический анализ текста
Для указанного текстового файла составьте список слов, которые: - встречаются в нем более одного...

Работа с текстовыми файлами на Delphi. Удаление ненужного текста
Помогите пожалуйста! Дан текстовый файл примерное содержание которого:...

Работа с текстовыми файлами
Добрый день программисты! Я тут задумал код в программу который должен открывать несколько...

Работа с текстовыми файлами
Доброго времени суток. Как мне дописывать текстовый файл. В программе есть rewrite(), но после...

2
5705 / 2296 / 466
Регистрация: 20.11.2009
Сообщений: 7,720
Записей в блоге: 1
16.10.2011, 15:58 2
перенос должен производиться по грамматике? т.е. чтобы по слогам перенести, а не в каком-то месте? если так, то очень мощная программа это будет - анализ слов
0
0 / 0 / 1
Регистрация: 04.10.2011
Сообщений: 4
17.10.2011, 18:17  [ТС] 3
Лучший ответ Сообщение было отмечено LIFE4RUS как решение

Решение

да нет, без грамматики я думаю.. так как это начальное задание для работы с файлами это врядли будет очень сложное..

Добавлено через 21 час 32 минуты
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
procedure TForm1.Button1Click(Sender: TObject);
var f,g:textfile;
i,j,k,l:integer;
s,s1,s2:string;
begin
assignfile(f,'c:\1.txt');
{$I-}
reset(f);
{$I+}
while not eof (f) do
 
    begin
readln(f,s);
memo1.Lines.add(s);
    end;
     k:=strtoint(edit1.Text);
      i:=1;
      l:=length(s) div k;
     while i<=length(s) do
        begin
        s1:=COPY(S,i,k+1);
      if i+k*l<(s1[k+1]<>(' ')) and (s1[k]<>(' ')) and (s1<>copy(s,length(s)-k+1,k)) then
         begin
    s1:=concat(copy(s1,0,k),'-');
    memo2.lines.add(s1);
         end
    else
 memo2.lines.add(copy(s1,0,k)) ;
    i:=i+k ;
         end;
 
end;
у меня получился такой вот код, но проблема в том что не могу никак избавиться от дефиса в последней строке, может подскажет кто нибудь как это сделать?
0
17.10.2011, 18:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.10.2011, 18:17
Помогаю со студенческими работами здесь

Работа с текстовыми файлами
1. Дан текстовый файл литерных величин. Группы символов, разделенные пробелами (одним или...

работа с текстовыми файлами
Дан текстовый файл, каждая строка которого изображает целое число, дополненное слева и справа...

Работа с текстовыми файлами
Программа работает( считывает данные из текстовика и щитает, потом записывает результат(фамилии с...

Работа с текстовыми файлами
Доброго времени суток, форумчане ! Есть две простенькие процедуры записи в файл и чтение из...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru