28.11.2008, 22:21
|
Модератор
|
|
Регистрация: 17.04.2008
Сообщения: 8,029
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
|
|
OK. вот код, который читает файл в через callback возвращает выреанные подстроки (с 5 по 8 позиции включительно). Если будут проблемы с подключением, то пиши.
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TDataCallBack = procedure (AData : String) of object;
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
OpenDialog1: TOpenDialog;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
procedure DataCallBack(AData : String);
public
{ Public declarations }
procedure ReadDataFromFile(AFileName : String; ACallBack : TDataCallBack = Nil);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{ TForm1 }
procedure TForm1.DataCallBack(AData: String);
begin
Memo1.Lines.Add(AData);
end;
procedure TForm1.ReadDataFromFile(AFileName: String;
ACallBack: TDataCallBack);
var
F : TextFile;
Buf : String;
begin
If (@ACallBack = Nil) Or (Not FileExists(AFileName)) Then Exit;
AssignFile(F,AFileName);
Reset(F);
While Not Eof(F) Do
Begin
ReadLn(F,Buf);
If Length(Buf) >= 8 Then
ACallBack(Copy(Buf,5,4));
End;
CloseFile(F);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
If OpenDialog1.Execute Then
Begin
Memo1.Lines.Clear;
ReadDataFromFile(OpenDialog1.FileName,DataCallBack);
End;
end;
end.
|