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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка создания файла 
:(
    Опции темы
neic
Дата 17.12.2009, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Ругается на то, что файл отсутствует:

Код

Append(f);


Файла реально нет, но(!), на следующей строке указано, что нужно делать:
Код

if IOResult<> 0 then
    Rewrite(f); // если файла нет и нужно его создать или перезаписать.


Полностью:
Код

unit Unit3;

interface

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

type
  TForm3 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form3: TForm3;

implementation

uses Unit1;

{$R *.dfm}

procedure TForm3.Button1Click(Sender: TObject);
var
    f: TextFile; // файл — база данных
      fname:string;
begin
    fname:='c:\pogoda1.txt';
    AssignFile(f, fname);
    Append(f);
    if IOResult<> 0 then
    Rewrite(f); // если файла нет и нужно его создать или перезаписать.
    writeln(f, edit1.text);
    writeln(f, edit2.text);
    closefile(f);

    form1.StringGrid1.Cells[0,0]:='1';
end;

end.


Что ему (делфи) не хватает???
PM MAIL WWW ICQ Skype   Вверх
Akella
Дата 17.12.2009, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


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

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



Код

AssignFile(f, fname);
Reset(f);

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


Опытный
**


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

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



Выдаёт это

Присоединённый файл ( Кол-во скачиваний: 8 )
Присоединённый файл  __________.png 9,27 Kb
PM MAIL WWW ICQ Skype   Вверх
neic
Дата 17.12.2009, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Написал так:
Код

    fname:='c:\pogoda1.txt';
    AssignFile(f, fname);
    Reset(f);
    if IOResult<> 0 then
      begin
      Rewrite(f); // если файла нет и нужно его создать или перезаписать.
      end
    else
      begin
      Append(f);
    end;
    writeln(f, edit1.text);
    writeln(f, edit2.text);
    closefile(f);


Это сообщение отредактировал(а) neic - 17.12.2009, 12:23
PM MAIL WWW ICQ Skype   Вверх
Данкинг
Дата 17.12.2009, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Код

AssignFile(f, fname);
if not fileexists(fname) then rewrite(fname) else append (fname);




--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Snowy
Дата 17.12.2009, 12:27 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



2010 год на носу, а люди всё ещё пользуются AssignFile...
"В то время, когда космические корабли бороздят просторы большого театра..." ©
PM MAIL   Вверх
neic
Дата 17.12.2009, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Snowy
А что ты предлагаешь? В 7 делфи.

Добавлено через 2 минуты и 22 секунды
Данкинг
спасибо.

Только подредактировать пришлось:
Код

if not fileexists(fname) then rewrite(f) else append (f);

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


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Дык, а что такого: AssignFile и мне нравится. smile Наглядно и понятно.

Это сообщение отредактировал(а) Данкинг - 17.12.2009, 12:52


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Snowy
Дата 17.12.2009, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Да какая разница, какая дельфи.
TStream (любой), TStringList...
Зачем пользоваться методами, оставшимися в наследство от DOS?
PM MAIL   Вверх
Данкинг
Дата 17.12.2009, 13:45 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Ну так а если надо считать текстовый файл в миллион строк - сколько времени он будет грузиться в TStringList ?

Это сообщение отредактировал(а) Данкинг - 17.12.2009, 13:45


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Snowy
Дата 17.12.2009, 13:53 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Судя по коду, там до миллиона лет 200 активного пользования.
А для больших размеров - стримы. И форматы посеръёзнее текстовых.
PM MAIL   Вверх
Akella
Дата 17.12.2009, 17:14 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


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

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



Snowy, а если нужно загрузить 100 строк текстового файла. А файл размером 5-10 мегабайт.
PM MAIL   Вверх
Snowy
Дата 17.12.2009, 17:58 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Ага, особенно, если это последние 5 строк...
Что за попытки выискать мифическую ситуацию?
Мне подобные что-то никогда не попадаются.

Что касается первоначального вопроса - ответ есть в справке по IOResult ( {$I-} )
PM MAIL   Вверх
Akella
Дата 17.12.2009, 22:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


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

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



У меня есть такая ситуация. Например, когда пользователю нужно показать кусок файла, чтобы он выбрал, нужно ли выполнять Dos->Win или нет для дальнейшей обработки текста.
PM MAIL   Вверх
Snowy
Дата 18.12.2009, 11:24 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Ну так тем более - в стрим загружаешь 200 символов и показываешь.
Небольшой - это в символах.
В строках может быть совсем не небольшим.

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

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

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

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

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


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

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


 




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


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

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