Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2012, 22:44   #1
Rocky095
Пользователь
 
Регистрация: 19.11.2010
Сообщений: 13
По умолчанию

Доброго вечера, уважаемые форумчане!
Есть форма с edit ами..пользователь вводит информации и при нажатии на кнопку вся информация записывется в 2 типизированных файла(файл сведений автомобилей и файл регистрационных сведений). Эти файлы свзяны ключевым полем номерной знак. Как произвести чтение из этих типизированных файлов и записать эти данные в .txt файл..

Буду благодарен за любую информацию...Спасибо

язык delphi

Последний раз редактировалось Stilet; 08.12.2012 в 00:11.
Rocky095 вне форума Ответить с цитированием
Старый 08.12.2012, 00:18   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Насчет связки не знаю, но маршалинг можно замутить так:
Допустим тип элемента файла таков:
Код:
type
 rec=record
  nomer,Name,Vladelec,VIN:string[255];
  Color:TColor;
 end;
Тогда зная его размер можно сформировать массив
Код:
autos:array of rec;
так:
Код:
SetLength(autos,FileSize(f) div sizeof(rec));
И считать весь файл:
Код:
blockread(f,autos,length(autos)*sizeof(rec));
После в цикле повыводить в файл типа TextFile:
Код:
for i:=low(autos) to high(autos) do
 writeln(ft,
   autos[i].nomer:15,
   autos[i].Name:20,
   autos[i].Vladelec:20,
   autos[i].VIN:20,
   autos[i].Color:10
 )
Где ft - текстовый файл.
Идея понятна?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.12.2012, 00:18   #3
kventin_zhuk
БНТУ ФИТР
Форумчанин
 
Аватар для kventin_zhuk
 
Регистрация: 20.05.2012
Сообщений: 315
По умолчанию

Ну а в чем собственно вопрос?
объявляем файловую переменную для текстового файла.
Код:
var
   TxtFile: TextFile;
связываем файловую переменную с именем файла
Код:
AssignFile(TextFile,'имя файла')
создаём новый файл
Код:
rewrite(TextFile);
или открываем существующий файл
Код:
reset(TextFile);
Запись в файл:
Код:
write(TextFile,'что записываем');
закрываем файл
Код:
CloseFile(TextFile);
c типизированными файлами тоже самое, но только вместо какой-то строки будет то, что записываем.
Объявляется он так:
Код:
TypeFile: file of .....;
С++(console/builder/WinAPI/Linux), C#, Pascal, Delphi, Asm, Prolog.
< ----- Контакты
kventin_zhuk@live.com
kventin_zhuk вне форума Ответить с цитированием
Старый 08.12.2012, 00:44   #4
Rocky095
Пользователь
 
Регистрация: 19.11.2010
Сообщений: 13
По умолчанию

Вот текст задания:
1.Подготовить программу, формирующую на основе информации , вводимой пользователем с клавиатуры, два внешних типизированных файла:
файл автомобилей:марка, модель и номерной знак
файл регистрационных сведений: номерной знак, фамилия,адрес владельца, год выпуска
2. Подготовить вторую программу , формирующую сведения об автомобилях, и их владельцах на основе данных из двух внешних типизированных файлов, сформир в рез работы программы 1.

Также предусмотеть возможность вывода информации в двух режимах: 1)на экран-избирательно по запросу конкретных данных с клавиатуры, 2) польностью в текстовый файл

Я всё сделал, кроме последнего пункта( 2) польностью в текстовый файл )

вот код к 1)на экран-избирательно по запросу конкретных данных с клавиатуры
Код:
unit Unit3;

interface

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

type
  TForm3 = class(TForm)
    Edit1: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Edit6: TEdit;
    Edit5: TEdit;
    Edit4: TEdit;
    Edit2: TEdit;
    Edit7: TEdit;
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form3: TForm3;

implementation

{$R *.dfm}

procedure TForm3.Button1Click(Sender: TObject);
var
auto:TAuto;
vladelec:Tvladelec;
slovo:string;
begin
AssignFile(f1, 'autos.ttt');
AssignFile(f2, 'vladelec.ttt');
Reset(f1); 
Reset(f2);
seek(f1,filesize(f1)-1); 
slovo:=edit1.Text; 
While not EOF(f1) do begin 
read(f1,auto);
with auto do
If (nomer=slovo) then 
begin
edit7.Text:=auto.marka; 
edit2.text:=auto.model;
seek(f2,filesize(f2)-1);
end;
end;
while not EOF(f2) do begin 
read(f2,vladelec);
with vladelec do begin
If nomer=slovo then 
begin
edit4.Text:=vladelec.famil; 
edit5.Text:=vladelec.adres;
edit6.Text:=vladelec.vipusk;
end;
end;
end;
CloseFile(f2);
Closefile(f1);
end;

Последний раз редактировалось Rocky095; 08.12.2012 в 00:47.
Rocky095 вне форума Ответить с цитированием
Старый 08.12.2012, 10:52   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
begin
edit4.Text:=vladelec.famil;
edit5.Text:=vladelec.adres;
edit6.Text:=vladelec.vipusk;
end;
Вот этот код нужно менять на то что я дал. Открываешь еще один файл типа TextFile, и через writeln; выводишь в цикле в этом условии в текстовик.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запись и чтение файлов Bugrimov Общие вопросы C/C++ 14 09.11.2012 09:49
Чтение/запись файлов в сборке. Dianochka C# (си шарп) 5 26.05.2012 10:12
Чтение и запись файлов на java kostyan142 Помощь студентам 0 14.02.2010 17:53
Запись и чтение файлов Delphi DEFENEK Помощь студентам 5 09.05.2009 13:05