Главная страница
    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.576 c
2-1142784849
perat
2006-03-19 19:14
2006.04.09
поиск и удаление пустых папок


2-1143049354
Fenix
2006-03-22 20:42
2006.04.09
С чего начать


15-1142602098
DillerXX
2006-03-17 16:28
2006.04.09
Чего ты бы такого скачать?


8-1129892436
olevacho_
2005-10-21 15:00
2006.04.09
Циклическое проигрывание звукового файла


3-1139836939
maximmsm
2006-02-13 16:22
2006.04.09
При попытке подключиться к удалённой базе EIBInterBaseError





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский