Форум: "Начинающим";
Текущий архив: 2006.05.21;
Скачать: [xml.tar.bz2];
ВнизКак записать record в файл и потом ее считать?Плииз ОЧЕНЬ срочно Найти похожие ветки
← →
NightHunter © (2006-04-28 01:47) [0]Знаю что такая тема уже была, но вообще не могу ее найти.
Вот у меня есть запись Balance=record ...... end;
Описал я файл так
Var
F:file of Balance;
Теперь при выполненении такого кода:
AssignFile(f,"d:\Foma1.fan");
rewrite(f);
writeln(f,Balance);
closeFile(f);
Выдает ошибку Illegal type in write/writeln statement Плииз очень срочно надо на завтра сдать прогу :) подскажите как записать эту запись в файл а потом считать ее из него!
← →
Джо © (2006-04-28 01:53) [1]> Balance=record ...... end;
Интересует то, что на месте многоточия.
← →
Германн © (2006-04-28 01:53) [2]А ты понимаешь разницу между процедурами Write и Writeln?
Имхо, нет. Тогда замени вторую на первую, сдай завтра прогу и "не лезь больше сюда"!
← →
Германн © (2006-04-28 01:58) [3]
> Джо © (28.04.06 01:53) [1]
>
> > Balance=record ...... end;
>
> Интересует то, что на месте многоточия.
Когда сабж связан со "сдачей", имхо, то что расположено "на месте многоточия" - скорее всего не имеет никакого отношения к реальности. И, следовательно "неинтересно".
← →
NightHunter © (2006-04-28 02:05) [4]Спасибо начало работать но вот в чем еще тогда вопрос как записать масив из этих же рекордов
типа
цикл по i
write(F,Balance[i])
А считывать
цикл по i
read(F,Balance[i])
Но вот в чем проблема оно работает не коректно!
← →
NightHunter © (2006-04-28 02:06) [5]Не корректность заключается в том что там где при записи стоит число при чтении уже 0 :)
← →
Германн © (2006-04-28 02:48) [6]
> NightHunter © (28.04.06 02:05) [4]
>
> Спасибо начало работать но вот в чем еще тогда вопрос как
> записать масив из этих же рекордов
>
> типа
> цикл по i
> write(F,Balance[i])
>
> А считывать
> цикл по i
> read(F,Balance[i])
>
> Но вот в чем проблема оно работает не коректно!
> <Цитата>
> NightHunter © (28.04.06 02:06) [5]
>
> Не корректность заключается в том что там где при записи
> стоит число при чтении уже 0 :)
>
Переведи на русский! Имхо.
← →
NightHunter © (2006-04-28 03:00) [7]Типа у меня есть масив из двух записей:
1: 2 5 4 8 2 0
2: 6 8 9 7 0 0
Так вот записую этот масив в файл считую его и получаю такую картину
1: 2 5 4 8 2 0
2: 0 6 8 9 7 0
← →
NightHunter © (2006-04-28 03:01) [8]У меня рекорд имеет такой вид
Balance=record
A1,A2,A3,A4,A5,A6:integer;
end;
← →
Германн © (2006-04-28 03:11) [9]
> 1: 2 5 4 8 2 0
> 2: 6 8 9 7 0 0
> Так вот записую этот масив в файл считую его и получаю такую
> картину
>
> 1: 2 5 4 8 2 0
> 2: 0 6 8 9 7 0
>
И это не наводит тебя ни какие мысли?
← →
NightHunter © (2006-04-28 03:21) [10]Вообще наводит! что он смещается на 1 символ но КАК! И КАК эту богодельню исправить (уже часа 2 бьюся) Думаю что если не получится в течении ближайших 30 мин буду эту всю фигню писать через строковой тип через разделитель :)
← →
Джо © (2006-04-28 03:25) [11]Показал бы, все-таки реальный код как оно там записывается и считывается...
← →
NightHunter © (2006-04-28 03:35) [12]procedure TfrmMain.Button1Click(Sender: TObject);
Var
F:textfile;
s:string;
a:array [1..86] of real;
b:array [1..46] of real;
i,j:integer;
Balance:rcBalansForma1;
f1:file of rcBalansForma1;
arBalance:array [1..5] of rcBalance;
begin
for j:=1 to 5 do Begin
AssignFile(f,"d:\form"+IntToStr(j)+".txt");
reset(f);
for i:=1 to 86 do
begin
readln(f,s);
A[i]:=strtoFloat(s);
end;
closeFile(f);
for i:=1 to 86 do
ShowMessage(FloatToStr(A[i]));//Это просто для проверки было вставлено
Balance.A1:=A[1];
Balance.A2:=A[2];
Balance.A3:=A[3];
Balance.A4:=A[4];
Balance.A5:=A[5];
Balance.A6:=A[6];
Balance.A7:=A[7];
Balance.A8:=A[8];
Balance.A9:=A[9];
Balance.A10:=A[10];
Balance.A11:=A[11];
Balance.A12:=A[12];
Balance.A13:=A[13];
Balance.A14:=A[14];
Balance.A15:=A[15];
Balance.A16:=A[16];
Balance.A17:=A[17];
Balance.A18:=A[18];
Balance.A19:=A[19];
Balance.A20:=A[20];
Balance.A21:=A[21];
Balance.A22:=A[22];
Balance.A23:=A[23];
Balance.A24:=A[24];
Balance.A25:=A[25];
Balance.A26:=A[26];
Balance.A27:=A[27];
Balance.A28:=A[28];
Balance.A29:=A[29];
Balance.A30:=A[30];
Balance.A31:=A[31];
Balance.A32:=A[32];
Balance.A33:=A[33];
Balance.A34:=A[34];
Balance.A35:=A[35];
Balance.A36:=A[36];
Balance.A37:=A[37];
Balance.A38:=A[38];
Balance.A39:=A[39];
Balance.A40:=A[40];
Balance.A41:=A[41];
Balance.A42:=A[42];
Balance.A43:=A[43];
Balance.A44:=A[44];
Balance.A45:=A[45];
Balance.A46:=A[46];
Balance.A47:=A[47];
Balance.P1:=A[48];
Balance.P2:=A[49];
Balance.P3:=A[50];
Balance.P4:=A[51];
Balance.P5:=A[52];
Balance.P6:=A[53];
Balance.P7:=A[54];
Balance.P8:=A[55];
Balance.P9:=A[56];
Balance.P10:=A[57];
Balance.P11:=A[58];
Balance.P12:=A[59];
Balance.P13:=A[60];
Balance.P14:=A[61];
Balance.P15:=A[62];
Balance.P16:=A[63];
Balance.P17:=A[64];
Balance.P18:=A[65];
Balance.P19:=A[66];
Balance.P20:=A[67];
Balance.P21:=A[68];
Balance.P22:=A[69];
Balance.P23:=A[70];
Balance.P24:=A[71];
Balance.P25:=A[72];
Balance.P26:=A[73];
Balance.P27:=A[74];
Balance.P28:=A[75];
Balance.P29:=A[76];
Balance.P30:=A[77];
Balance.P31:=A[78];
Balance.P32:=A[79];
Balance.P33:=A[80];
Balance.P34:=A[81];
Balance.P35:=A[82];
Balance.P36:=A[83];
Balance.P37:=A[84];
Balance.P38:=A[85];
Balance.P39:=A[86];
arBalance[j]:=Balance;
end;
AssignFile(F1,"d:\Forma1.fan");
rewrite(f1);
for j:=1 to 5 do write(f1,arBalance[j]);
CloseFile(F1);
end;
← →
NightHunter © (2006-04-28 03:36) [13]Так я его записую потом вот так считую
AssignFile(FileOfForm1,"d:\forma1.fan");
reset(FileOfForm1);
for j:=1 to 5 do read(FileOfForm1,BalanceF1[i]);
CloseFile(FileOfForm1);
← →
NightHunter © (2006-04-28 03:44) [14]Все спасибо всем я уже накатал мини продцедуру записи и чтения через строковый тип!
← →
Плохиш © (2006-04-28 11:07) [15]
> NightHunter © (28.04.06 03:00) [7]
> Типа у меня есть масив из двух записей:
> 1: 2 5 4 8 2 0
> 2: 6 8 9 7 0 0
> Так вот записую этот масив в файл считую его и получаю такую
> картину
>
> 1: 2 5 4 8 2 0
> 2: 0 6 8 9 7 0
Чё ж вы делаете такое? Даже, когда я был знаком с паскалем пол года, у меня так не получалось.
А читать ту не форматированную кучу буквав из [12] я не осилил.
← →
isasa © (2006-04-28 11:11) [16]NightHunter © (28.04.06 01:47)
Вот у меня есть запись Balance=record ...... end;
Я бы еще добавил
Balance=packed record ...... end;
а то преподаватель может не прочесть готовый файл.
← →
ЮЮ © (2006-04-28 11:36) [17]>А читать ту не форматированную кучу буквав из [12] я не осилил.
Построчная оплата исходников, ИМХО :)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.05.21;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.011 c