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

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

добавление записи в файл [D7, XP]


Dot ©   (2006-01-18 12:40:00) 

Помогите студенту =)

значит код.. паскаль (ну можно и дельфи)

type Ts = record
a1: string[20];
a2: word;
end;

var
FF: File of Ts;
SS: Ts;

begin
assignfile(FF, '1.dat');
Rewrite(FF);

for i:= 1 to 10 do {добавим 10 записей}
begin
writeln('Введите запись №',i,'a1');
readln(SS.a1);
writeln('Введите запись №',i,'a2');
readln(SS.a2);
end;

READLN(FF, SS);
end;


так вот я хз прально тут или нет.. за сим и спрашиваю.. но главное.
как осуществить поиск по этим записям..
вот у меня их 10... а
как мне вывести запись №3 на экран к примеру?это главный вопрос! (помогите кодом.. если можно полностью.. обьявление записи и вывод определенной на экран)


Игорь Шевченко   (2006-01-18 16:08:00) [1]

http://www.ln.ua/~openxs/articles/smart-questions-ru.html

Читать до полного и окончательного просветления.


Dot   (2006-01-18 15:55:00) [2]

Удалено модератором


Ega23   (2006-01-18 15:45:00) [3]

Удалено модератором


kukuikar   (2006-01-18 15:43:00) [4]

Reset(F) - чтение файла
Rewrite(F) - если файла нет, то создает, если есть, то очищает его
Append(F) - добавление записи.


Dot   (2006-01-18 15:38:00) [5]

читай про это читай про то...
пляха муха я на форум обращаюсь за помощью не для того чтобы мне говороили про что читать.
не халявщиков а флеймеров убивать надо.
Насчет смены профессии извините у меня профессия с компами вообще не свзана а на кой хрен нам ввели информатику в универе на ТГВ я вообще не знаю, так что извините я паскаль первый раз в жизни увидел только недавно и надо сдавать эту шнягу. итак в обнимку с книгой сижу уже..
так что прошу искренне тому кто будет это читать.. если не можешь помочь конкретно указав где ошибка и как ее исправить то воздержитесь от комментариев.


Ega23   (2006-01-18 15:31:00) [6]


> rewrite(sup_file);


Читай про Reset, Rewrite и Append


Dot   (2006-01-18 15:29:00) [7]

Значит вот во многом разобрался но есть проблема..
итак записываю запись в файл

type
TSupply = record
 fName: array[1..100] of string[30];
 fCount: array[1..100] of integer;
 fPrice: array[1..100] of integer;
end;
....
....
        repeat
              writeln('Zapis ',i);
              writeln('vvedite naimenovanie tovara');
              readln(Supply.fName[i]);

              writeln('vvedite kol-vo tovara');
              readln(Supply.fCount[i]);

              writeln('vvedite cenu tovara');
              readln(Supply.fPrice[i]);

              writeln('Dlya exita vvedite . i najmite Enter');
              readln(m);
              if m = '.' then count_l:=true;
 inc(i);
        until count_l = true;


нормально работает... при считывании тоже замечательно..
теперь хочу Добавить в файл еще запись

     assign(sup_file,filename);
     rewrite(sup_file);
     seek(sup_file,SizeOf(Supply));
       writeln('Vvedite dannie v file');
           i:=1;
        repeat
              writeln('Zapis ',i);
              writeln('vvedite naimenovanie tovara');
              readln(Supply.fName[i]);

              writeln('vvedite kol-vo tovara');
              readln(Supply.fCount[i]);

              writeln('vvedite cenu tovara');
              readln(Supply.fPrice[i]);

              writeln('Dlya exita vvedite . i najmite Enter');
              readln(m);
              if m = '.' then count_l:=true;
 inc(i);
        until count_l = true;
      write(sup_file,Supply);
      Close(sup_file);

и получаю на выходе пустой файл.. как это объяснить? и как найти выход из сложившиейся ситуации..


Игорь Шевченко   (2006-01-18 14:05:00) [8]

Халявщики маст дай


PZ   (2006-01-18 14:02:00) [9]

program Project2;

{$APPTYPE CONSOLE}

uses
 SysUtils;

type Ts = record
 a1: string[20];
 a2: word;
end;

var
 FF: File of Ts;
 SS: Ts;
 I : Integer;

begin
 { TODO -oUser -cConsole Main : Insert code here }

 assignfile(FF, '1.dat');
 Rewrite(FF);

 for i:= 1 to 10 do {добавим 10 записей}
 begin

   writeln('‚ўҐ¤ЁвҐ § ЇЁбм ь',i,' a1');
   readln(SS.a1);
   writeln('‚ўҐ¤ЁвҐ § ЇЁбм ь',i,' a2');
   readln(SS.a2);
   Write(FF, SS);
 end;

 CloseFile(FF);

//  READLN(FF, SS);

 writeln;
 writeln;
 assignfile(FF, '1.dat');
 Reset(FF);
 Seek(FF, 2);   // Получить запись 3
 Read(FF, SS);
 Writeln(SS.a1);
 Writeln(SS.a2);
 CloseFile(FF);
 Readln;
end.


Ega23   (2006-01-18 12:58:00) [10]


> сидеть со словарем -аа ангийской справкой тоже никак не
> катит.


Меняй профессию.


Dot   (2006-01-18 12:55:00) [11]

большое спасибо..
можно все же код.
сидеть со словарем -аа ангийской справкой тоже никак не катит.
если нельзя.. то воздержитель от флейма плз


Ega23   (2006-01-18 12:49:00) [12]

Seek + F1


Наверх

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