Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 01.11.2010, 12:01
Аватар для Oki
Oki Oki вне форума
Прохожий
 
Регистрация: 01.11.2010
Сообщения: 4
Репутация: 10
По умолчанию Считывание и запись в файл

Прошу помочь с одной програмкой. Мне надо было написать програмку которая бы считывала текст из одного файла (*.txt) и записывала этот текст в другой но в другом должен стоять на лимит(не более 60 символов в строке) и остальное содержимое должно переноситься на следующую строку не разрывая слов. У меня есть основа этой программы, но она не входящий в пределы текст просто удаляет. Прошу помочь, вот код
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
files,files2:TextFile;
str,str2:string;
begin
str2:='';
if not FileExists('test.txt') then   exit;
AssignFile(files,'test.txt');
Reset(files);
while not Eof(files) do
  begin
    ReadLn(files, str);
     AssignFile(files2,'test2.txt');
     Append(files2);
        for i:=1 to length(str) do
        begin
        if i>60 then break;
          if str[i]<>' ' then
            str2:=str2+str[i] else
            str2:=str2+' ';
        end;
     Writeln(files2,str2);
     closefile(files2);
     str2:='';
  end;
closefile(files);
end;

end.
Ответить с цитированием
  #2  
Старый 01.11.2010, 14:11
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Код:
unit Unit1;

interface

uses
  StdCtrls,
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
  Memo: TMemo;
  Memo2: TMemo;
begin
  Memo:=TMemo.Create(Self);
  Memo.Parent:=Self;
  Memo.Font.Name:='Courier';
  Memo.WordWrap:=True;
  Canvas.Font.Assign(Memo.Font);
  Memo.ClientWidth:=Canvas.TextWidth('Wg')*30+Canvas.TextWidth('W');
  Memo.Lines.LoadFromFile('c:\Downloads\memo');
  Memo2:=TMemo.Create(Self);
  Memo2.Parent:=Self;
  Memo2.Lines.Assign(Memo.Lines);
  Memo2.Lines.SaveToFile('c:\Downloads\memo3');
  Memo2.Free;
  Memo.Free;
end;

end.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #3  
Старый 01.11.2010, 14:30
Аватар для Oki
Oki Oki вне форума
Прохожий
 
Регистрация: 01.11.2010
Сообщения: 4
Репутация: 10
По умолчанию

хм. но этот код не работает, программа не переносит текст(
Ответить с цитированием
  #4  
Старый 01.11.2010, 14:59
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

в Delphi 6 работает - ибо давно заметил такой баг за Memo
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #5  
Старый 01.11.2010, 15:11
Аватар для friz
friz friz вне форума
Местный
 
Регистрация: 04.04.2008
Адрес: Минск
Сообщения: 596
Версия Delphi: 2007 & JAVA EE
Репутация: 10670
По умолчанию

код в Д7 работает, но он не переносит слова он их разБивает

sry обписАлся
__________________
Последний раз редактировалось Admin, Сегодня в 10:32.

Последний раз редактировалось friz, 01.11.2010 в 15:51.
Ответить с цитированием
  #6  
Старый 01.11.2010, 15:17
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

чявой делает?
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 07:29.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025