Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.04.09;
Скачать: [xml.tar.bz2];

Вниз

вывод записи в стринггрид   Найти похожие ветки 

 
VAZMan ©   (2006-03-23 19:18) [0]

Кто-нить помогите, проблема с выводом информации (находящейся в файле) в стринггрид.
Вот описание кнопки регестрации:
procedure TReg.Button1Click(Sender: TObject);
var user: Tuser;
begin
assignfile(f, "c:\kurs\users.db");
reset(f);
if filesize(f)=0
 then begin
      read(f, user);
      user.RecN :=1;
      end
 else begin
      Seek(f, FileSize(f));
      with user do
       begin
       imya:=Eimya.text;
       fam:=Efam.text;
       otch:=Eotch.text;
       gr:=Egr.text;
       login:=Elogin.text;
       password:=Epassword.text;
       ocenka:=0;
       RecN:=RecN+1;
       end;
      write(f,user);
      closefile(f);
      end;
end;

А вот то, что вызывает "подвисание" всего проекта(сам вывод в стрингрид):
procedure TForm4.Button1Click(Sender: TObject);
begin
AssignFile(f, "c:\kurs\users.db");
Reset(f);
if FileSize(f) <> 0 then
 begin
 While Not EOF(f) do
    begin
    Read(f, user);
    if user.RecN >= 1 then
       begin
       Stringgrid1.Cells[0, user.RecN] := user.Imya;
       Stringgrid1.Cells[1, user.RecN] := user.fam;
       Stringgrid1.Cells[2, user.RecN] := user.otch;
       Stringgrid1.Cells[3, user.RecN] := user.gr;
       Stringgrid1.Cells[4, user.RecN] := inttostr(user.ocenka);
       end;
    end;
CloseFile(f);
 end;
end;

Подскажите, пожалуйста, что не так, или совсем не так...


 
Чародей ©   (2006-03-23 19:43) [1]

В файле было бы неплохо хранить, число записей.

> Stringgrid1.Cells[0, user.RecN]

Может писать в не существующую cell


 
VAZMan ©   (2006-03-23 19:47) [2]


> В файле было бы неплохо хранить, число записей.


так я это я пытался сделать ---> RecN, я это сделал не правильно?


 
Чародей ©   (2006-03-23 19:56) [3]

RecN - это порядковый номер, а по совтместительсву ты его используешь как колочестово записей. А что произойдет если запись из середины удалить, весь массив перелопачивать??

> if filesize(f)=0
>  then begin
>       read(f, user);
>       user.RecN :=1;
>       end

А это уже не понятно. Если файл 0, что ты и него читаешь? А для else RecN получется не инициализированным. Скажи словами что должна делать:

> procedure TReg.Button1Click(Sender: TObject);


 
VAZMan ©   (2006-03-23 20:08) [4]


> procedure TReg.Button1Click(Sender: TObject);

должна произойти просто запись данных о пользователе


 
EvS ©   (2006-03-23 20:35) [5]

> В файле было бы неплохо хранить, число записей.

>так я это я пытался сделать ---> RecN, я это сделал не правильно?

А как ты определяешь, что у тебя кол-во строк в таблице не меньше чем RecN?


 
Чародей ©   (2006-03-23 20:38) [6]

user локальная при вызове TReg.Button1Click, она имеет произвольное значение. Прогони в отладчике обе процедуры и сам поймеш.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.04.09;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.012 c
15-1142524203
Parus
2006-03-16 18:50
2006.04.09
Курсор


2-1143327111
Farpik
2006-03-26 01:51
2006.04.09
Подскажите как…


2-1143030719
Khim
2006-03-22 15:31
2006.04.09
Messagebox


2-1143531105
EHOT
2006-03-28 11:31
2006.04.09
Код клавиш


15-1141996436
oldman
2006-03-10 16:13
2006.04.09
SiS - материнки...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский