Форум: "Основная";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];
ВнизV kakom file i kak hraniti peremennuyu tipa: TmyData=record... Найти похожие ветки
← →
AndersoNRules (2004-07-12 20:56) [0]TmyData= record
Address:String[15];
ID:Integer;
end;
Nujno v kakomto file hraniti permennuyu tipa TmyData, toesti ne odnu a mnogo ih, poryadka 1000. Podskajite pls kak luchse(shtob mojno bilo schitivati kak mojno bistrey) hraniti takuyu peremennuyu i kakom file?
← →
Anatoly Podgoretsky © (2004-07-12 21:07) [1]В типизированом
← →
Rem (2004-07-12 21:08) [2]var
f: file of TMyData;
MyData: TMyData;
begin
AssignFile(f, "MyDataFile.ext");
Rewrite(f);
// or
Reset(f);
// ...
Write(f, MyData);
// ...
Read(f, MyData);
// ...
CloseFile(f);
end;
См. информацию по работе с типизированными файлами.
← →
AndersoNRules (2004-07-12 21:17) [3]>Rem (12.07.04 21:08) [2]
gde mojno pochitati pro tipizirovanniye fili? a help"a hvatit?
← →
Anatoly Podgoretsky © (2004-07-12 21:35) [4]http://podgoretsky.com/cgi-bin/dlcounter/npscnt?file=http://podgoretsky.com/ftp/Docs/Delphi/Podgoretsky/PasFiles.html&fi le_id=app-files
← →
AndersoNRules (2004-07-12 21:50) [5]spasibo!
← →
Delphin © (2004-07-12 23:19) [6]Hi! Вот небольшой приемер, писал не давно. Говорю сразу, что код корявый, но работоспособный
type
TMember=Record
Nam,Fam,Phone,Nick:String[25];
End;
................
var
Form4: TForm4;
F,TF:File of TMember;
I,C:Integer;
Member:Tmember;
...............
//Save Record
Seek(F,I);
Inc(I);
member.Nam:=Edit1.Text;
Member.Fam:=Edit2.Text;
Member.Phone:=Edit3.Text;
Member.Nick:=Edit4.Text;
Write(F,Member);
//First Record
Seek(F,0);
IF Not EOF(F) Then
Read(F,Member);
Edit1.Text:=Member.Nam;
Edit2.Text:=Member.Fam;
Edit3.Text:=Member.Phone;
Edit4.Text:=Member.Nick;
//Prev. Record
IF EOF(F) Then
Dec(I);
Dec(I);
If I<0 Then I:=0;
Seek(F,I);
IF Not EOF(F) Then
Read(F,Member);
Edit1.Text:=Member.Nam;
Edit2.Text:=Member.Fam;
Edit3.Text:=Member.Phone;
Edit4.Text:=Member.Nick;
//Next Record
I:=FilePos(F);
IF Not Eof(F)
Then Begin
Seek(F,I);
Read(F,Member);
Inc(I);
Edit1.Text:=Member.Nam;
Edit2.Text:=Member.Fam;
Edit3.Text:=Member.Phone;
Edit4.Text:=Member.Nick;
End;
//Last Record
While Not EOF(F) Do Begin
I:=FilePos(F);
Seek(F,I);
Read(F,Member);
Inc(I);
Edit1.Text:=Member.Nam;
Edit2.Text:=Member.Fam;
Edit3.Text:=Member.Phone;
Edit4.Text:=Member.Nick;
End;
//Delete record (тут ооочень коряво, но работает :)
Var
P,S,FS,FP:Integer;
begin
S:=0;
P:=I;
Seek(F,S);
AssignFile(TF,"Member.Tmp");
IF Not FileExists("Member.Tmp") Then
Rewrite (TF);
Seek(F,0);
While Not EOF(F) DO
Read(F,Member);
FP:=FilePos(F);
Seek(F,S);
IF FP<>I Then Begin
///Dec(P); //For last P-1
While P>S Do Begin
Seek(F,S);
Seek(TF,S);
Read(F,Member);
Write(TF,Member);
Inc(S);
End;
I:=FilePos(TF);
FS:=S+1;
While Not EOF(F) Do Begin
Seek(TF,S);
Seek(F,FS);
IF Not EOF(F) Then
Read(F,Member);
Write(TF,Member);
Inc(FS);
Inc(S);
End;
end
Else
IF FP=I Then Begin
While P-1>S Do Begin
Seek(F,S);
Seek(TF,S);
Read(F,Member);
Write(TF,Member);
Inc(S);
End;
Edit1.Text:=EmptyStr;
Edit2.Text:=Emptystr;
Edit3.Text:=EmptyStr;
Edit4.Text:=EmptyStr;
End;
CloseFile(F);
Erase(F);
CloseFile(TF);
Rename(TF,"Member.Dat");
AssignFile(F,"Member.Dat");
IF Not FileExists("Member.Dat") Then
Rewrite (F)
Else
Reset(F);
I:=FilePos(F);
While Not EOF(F) Do
Read(F,Member);
I:=FilePos(F);
Edit1.Text:=Member.Nam;
Edit2.Text:=Member.Fam;
Edit3.Text:=Member.Phone;
Edit4.Text:=Member.Nick;
IF I=0 Then Begin
Edit1.Text:=EmptyStr;
Edit2.Text:=Emptystr;
Edit3.Text:=EmptyStr;
Edit4.Text:=EmptyStr;
end;
//Search (По Полю "Member.Nam")
procedure TForm4.Edit7Change(Sender: TObject);
Var SearchResult,SS:String;
M,Sl:Integer;
begin
M:=0;
Seek(F,0);
SS:=Edit7.Text;
While (SS<>SearchResult)And(Not EOF(F)) Do Begin
SL:=Length(SS);
Seek(F,M);
Read(F,Member);
SearchResult:=Copy(Member.Nam,1,Sl);
Inc(M);
End;
Edit1.Text:=Member.Nam;
Edit2.Text:=Member.Fam;
Edit3.Text:=Member.Phone;
Edit4.Text:=Member.Nick;
end;
З.Ы
Критика, комментарии, предложения - приветствуются
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.041 c