Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ошибка на AssignFile [D6, Win95/98]


Игорь_ ©   (2004-10-20 15:26:00) 

Господа объясните почему не работает

type
 TMyString=string[80];

 Student= record
   Name:string[10];
   Ball:Integer;
 end;
 ff= file of Student;
var
 fName: TMyString; // имя файла

Выдает ошибку на команду AssignFile(ff,fName);


Игорь_   (2004-10-20 16:10:00) [1]

Ega23 - Спасибо. Ошибку осознал. Так все заработало.


Ega23   (2004-10-20 16:04:00) [2]

Ты объявил тип данных ff, который представляет из себя file of Student.

procedure TForm1.N1Click(Sender: TObject);
//Запись в файл
var
f:ff
begin

    fName:='C:\Temp\AAAA.dat';

    AssignFile( f,fName);   ЗДЕСЬ ОШИБКА
    Rewrite(ff); // открыть для перезаписи
    // Запись в файл
    For i:=0 to Memo1.Lines.Count do
      writeln(ff,Memo1.Lines[i]);
    CloseFile(ff);//закрыть файл}
end;


Так, надеюсь, понятно будет.


Jay   (2004-10-20 16:03:00) [3]

Пропиши в var ff:


Игорь_   (2004-10-20 16:01:00) [4]

Разницу я чувствовал.
Но вот вопрос в методичке:

Объявите типизированный файл для сохранения данных создан-ного типа Student:
ff = ___________

там прописано ff = это что ошибка или что ???


begin...end   (2004-10-20 15:55:00) [5]

ff =file of Student

ff :file of Student

Почувствуйте разницу...


Игорь_   (2004-10-20 15:52:00) [6]

interface

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

type
 TMyString=string[80];

 Student= record
   Name:string[10];
   Ball:Integer;
 end;
 ff= file of Student;
 TForm1 = class(TForm)
  ......
var
 Form1: TForm1;
 i:Integer;
 buf: string;//буфер хранения строки
 fName: TMyString; // имя файла

procedure TForm1.N1Click(Sender: TObject);
//Запись в файл
begin

     fName:='C:\Temp\AAAA.dat';

     AssignFile(ff,fName);   ЗДЕСЬ ОШИБКА
     Rewrite(ff); // открыть для перезаписи
     // Запись в файл
     For i:=0 to Memo1.Lines.Count do
       writeln(ff,Memo1.Lines[i]);
     CloseFile(ff);//закрыть файл}
end;


Ega23   (2004-10-20 15:47:00) [7]

Полный код приведи.


begin...end   (2004-10-20 15:47:00) [8]

А ларчик просто открывался... :о(


Игорь_   (2004-10-20 15:46:00) [9]

Всем, всем, всем...
Ошибка [Error] Unit1.pas(77): '(' expected but ',' found

ff= file of Student - объявление типизированного файла.

Путь к файлу умещается в 80 символов


-=SS=-   (2004-10-20 15:41:00) [10]

Student= record
  Name:string[10];
  Ball:Integer;
end;

var
ff : file of Student;
fName: String; // имя файла
 AssignFile(FF,FName);


-=SS=-   (2004-10-20 15:33:00) [11]

Будет выдавать ошибку если путь к файлу больше 80 символов.
А чем тебе просто string не устраивает при указании имени файла ????


Jay   (2004-10-20 15:32:00) [12]

fName строго String должно быть, выдаёт наверное несовместимость типов


begin...end   (2004-10-20 15:31:00) [13]

Да, и ff - это что? Судя по тому, как ты написал, так это вообще ТИП.


begin...end   (2004-10-20 15:29:00) [14]

Какую ошибку конкретно?


Наверх

Титульная страница Поиск, карта сайта Написать письмо