![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Здравствуйте.
В общем в программировании я полный ноль,а курсовую сдавать все-таки надо-нашел программу,почти идеально мне подходящую,программу,записывающую в memo данные,вводимые с клавиатуры в ячейки массива записей,и все было бы хорошо-но мне нужна как бы база данных,так вот,как сделать так,чтобы при нажатии на кнопку(которую я создам),вся информация,введенная в memo,сохранялась в текстовый файл,и как сделать так,чтобы потом,при нажатии на другую кнопку,информация оттуда считывалась и показывалась в том же memo? Помогите пожалуйста! Заранее спасибо. код: Код Delphi Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; const n=3; type ball=record { описание типа записи } fizik,matem,progr: integer; end; zap=record fio: string[10]; { поле фамилии студента } fak: string[3]; { поле названия факультета } oz: ball; { поле оценок } sb:real; { поле среднего балла } end; ar=array[1..n] of zap; { массив записей } type TForm1 = class(TForm) Label1: TLabel; Edit1: TEdit; Label2: TLabel; Label3: TLabel; ComboBox1: TComboBox; Edit2: TEdit; Label4: TLabel; Edit3: TEdit; Label5: TLabel; Edit4: TEdit; Memo1: TMemo; Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; RadioButton1: TRadioButton; RadioButton2: TRadioButton; procedure FormActivate(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button5Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; i:byte; mas:ar; x:zap; implementation {$R *.DFM} procedure TForm1.FormActivate(Sender: TObject); begin Edit1.SetFocus; end; procedure TForm1.Button1Click(Sender: TObject); begin { Для ввода массива записей - используем составные имена } Edit1.Setfocus; mas[i].fio:=Edit1.Text; mas[i].fak:=ComboBox1.Text; mas[i].oz.fizik:=StrToInt(Edit2.Text); mas[i].Oz.matem:=StrToInt(Edit3.Text); mas[i].Oz.progr:=StrToInt(Edit4.Text); Memo1.Lines.Add(mas[i].fio+' '+mas[i].fak+' '+IntToStr(mas[i].oz.fizik) +' '+' '+IntToStr(mas[i].oz.matem)+' '+IntToStr(mas[i].oz.progr)); inc(i); if i>n then begin Button1.Enabled:=False; exit; end else begin Edit1.clear; ComboBox1.text:=''; Edit2.clear; Edit3.clear; Edit4.clear; Edit1.Setfocus; end; { Вывод массива записей в Memo1 } end; procedure TForm1.Button2Click(Sender: TObject); begin Memo1.Clear; end; procedure TForm1.Button3Click(Sender: TObject); var i,j:integer; begin If RadioButton1.Checked=True Then Begin { Вычисление среднего балла, используем оператор присоединения WITH } Memo1.Lines.Add('Ср. балл каждого'); for i:=1 to n do with mas[i] do Begin sb:=(oz.fizik+oz.matem + oz.progr)/3; Memo1.Lines.Add(fio+' '+FloatToStr(sb)); end; end; If RadioButton2.Checked=True Then Begin { Сортировка массива записей } for i:=1 to n-1 do for j:=i downto 1 do if mas[j].sb>mas[j+1].sb then begin x:=mas[j]; mas[j]:=mas[j+1]; mas[j+1]:=x; end; { Вывод отсортированного массива } Memo1.Lines.Add('сорт. по ср.баллу'); for i:=1 to n do with mas[i] do begin Memo1.Lines.Add(mas[i].fio+' '+IntToStr(mas[i].oz.fizik)+' '+ IntToStr(mas[i].oz.matem)+' '+ IntToStr(mas[i].oz.progr)+' '+FloatToStr(mas[i].sb)); end; end; end; procedure TForm1.Button4Click(Sender: TObject); begin close end; end. |