Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Имя файла Delphi XE3 
:(
    Опции темы
Campus2000
Дата 26.3.2018, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 16.2.2018

Репутация: нет
Всего: нет



Как исправить, в этом коде, так что бы: программа сохраняла каждый новый файл с порядковым номером.

Сейчас сохраняет файл: New_f, новый New_New_f, следующий New_New_New_f

А нужно что бы сохраняла: New_f1, New_f2, New_f3 и так далее...

Код

procedure WriteLines(AIndices: TDictionary<Integer, Integer>; const AFileName: string);
    const
      CRLF: AnsiString = sLineBreak;
    var
      LStr: AnsiString;
      LSrcFile: TextFile;
      LDstFile: TStream;
      LIdx: Integer;
      LOffset: Integer;
    begin
      LIdx := 0;
      AssignFile(LSrcFile, AFileName);
      Reset(LSrcFile);
      try
        LDstFile := TFileStream.Create(
      ExtractFilePath(AFileName) + 'New_' + ExtractFileName(AFileName), fmCreate);
        try
          while not Eof(LSrcFile) do begin
            Readln(LSrcFile, LStr);
            LOffset := AIndices[LIdx];
            LDstFile.Position := LOffset;
            LDstFile.WriteBuffer(LStr[1], Length(LStr) * SizeOf(LStr[1]));
            LDstFile.WriteBuffer(CRLF[1], Length(CRLF) * SizeOf(CRLF[1]));
            Inc(LIdx);
          end;
        finally
          LDstFile.Free;
        end;
      finally
        Close(LSrcFile);
        ShowMessage( 'Готово' );
      end;
    end;

PM MAIL   Вверх
Snowy
Дата 27.3.2018, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Код
function NewFileName(const AFileName: string): String;
var
  fName: String;
  i:     Integer;
begin
  fName := AFileName;
  i := 0;
  while FileExists(fName) do
  begin
    inc(i);
    fName := ExtractFileName(AFileName);
    fName := ExtractFilePath(AFileName)
           + copy(fName, 1, Length(fname) - Length(ExtractFileExt(fName)))
           + '_' + IntToStr(i) + ExtractFileExt(fName);
  end;
  result := fName;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  fileName: String;
begin
  fileName := NewFileName('D:\test.log');

end;

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1247 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.