IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

> Мини БД, Проблема со стринггридом
Zundell
сообщение 21.04.2007 21:11
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 65
Пол: Мужской

Репутация: -  0  +


Подскажите пожалуйста,как из файла вывести в стринггрид,ну вот например вводим Имя Фамилию Отчество жмем кнопку вывести и из файла выводится так:в первой ячейке имя,во второй фамилия,в третьей Отчество.Я сделал это для Мемо,но со стринг гридом никак не разберусь...Заранее очень благодарен smile.gif

unit apprec_;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ExtCtrls, Grids;

type
  TForm1 = class(TForm)
    Label3: TLabel;
    Edit1: TEdit; // ìåäàëü
    Button1: TButton;
    Edit2: TEdit;
    Edit3: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Button2: TButton;
    Memo1: TMemo;
    StringGrid1: TStringGrid;
    procedure FormActivate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;



  // çàïèñü ôàéëà
  TStud=record
     Imya: string[25];
     Fam:  string[20];
     Ot: string[20]


   end;

var
  Form1: TForm1;
  f: file of TStud;

implementation

{$R *.DFM}


procedure TForm1.FormActivate(Sender: TObject);
var
  resp : word;
begin
AssignFile(f, 'c:\ÁàçàÄàííûõ.txt');
{$I-}
Reset(f);  Seek( f, FileSize(f));
{$I+}
memo1.Clear;
if IOResult = 0
then button1.enabled:=TRUE
else
begin
resp:=MessageDlg('Ôàéë áàçû äàííûõ íå íàéäåí.'+
'Ñîçäàòü íîâóþ ÁÄ?',mtInformation,[mbYes,mbNo],0);
if resp = mrYes then
begin
{$I-}
rewrite(f);
{$I+}
if IOResult = 0
then button1.enabled:=TRUE
else ShowMessage('Îøèáêà ñîçäàíèÿ ôàéëà ÁÄ.');
end;
end;
end;


procedure TForm1.Button1Click(Sender: TObject);
var
  Stud: TStud;
begin
  with Stud do
  begin
  Imya:=Edit1.Text;
  fam:= Edit2.Text;
  Ot:=Edit3.Text;
  end;
  write(f, Stud);
end;


procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
     CloseFile( f );
end;

procedure TForm1.Button2Click(Sender: TObject);
var
f:file of TStud;
rec:TStud;
st:string[80];
begin
AssignFile(f,'c:\ÁàçàÄàííûõ.txt');
{$I-}
Reset(f);
{$I-}
While not EOF(f) do
begin
read(f,rec);
st:=rec.Imya+' '+rec.Fam+' '+rec.Ot;
Memo1.Lines.Add(St);
end;
closeFile(f);
end;
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 2)
Zundell
сообщение 21.04.2007 21:40
Сообщение #2


Пионер
**

Группа: Пользователи
Сообщений: 65
Пол: Мужской

Репутация: -  0  +


Ребят..спасибо разобрался..терь вот что мучает,как при нажатии на ячейку стринггрида с выведенной информацией сделать так,чтобы ее можно было редактировать и резельтат редактирования этой ячейки сохранялся в файле на месте той которую изменяли?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 21.04.2007 21:40
Сообщение #3


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


В дефолтовый грид с одной фиксированной строкой и одним фиксированным столбцом:

StringGrid1.Cells[1, 1] := 'Вася';
StringGrid1.Cells[2, 1] := 'Пупкин';
StringGrid1.Cells[3, 1] := 'Петрович';


Добавлено через 2 мин.
Цитата
Ребят..спасибо разобрался..терь вот что мучает,как при нажатии на ячейку стринггрида с выведенной информацией сделать так,чтобы ее можно было редактировать


StringGrid1.Options := StringGrid1.Options + [goEditing];


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия 24.07.2025 0:40
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"