Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 22.05.2012, 14:09
Architect Architect вне форума
Прохожий
 
Регистрация: 22.05.2012
Сообщения: 3
Репутация: 10
По умолчанию Помогите с записью в файл и считыванием данных из файла

Здравствуйте.
В общем в программировании я полный ноль,а курсовую сдавать все-таки надо-нашел программу,почти идеально мне подходящую,программу,записывающую в 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.
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 18:14.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025