![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Доброе времени суток! Как можно загрузить текстовый файл в объект edit1.text?
|
|
#2
|
|||
|
|||
|
ассигнфайл
ресет реад клозефайл |
|
#3
|
||||
|
||||
|
или без напрягу
Код:
var t:TStringList;
...
t:=TStringList.Create;
t.LoadFromFile('123.txt');
Edit1.Text:=t.text; |
|
#4
|
||||
|
||||
|
на WinAPI:
Код:
var
h: THandle;
s: String;
dummy: Cardinal;
begin
h:=CreateFile('d:\Temp\Avatar.avi', GENERIC_READ, 0,
nil, OPEN_EXISTING, 0, 0);
if h<>INVALID_HANDLE_VALUE then
begin
SetLength(s, GetFileSize(h, nil));
if ReadFile(h, s[1], Length(s), dummy, nil) then Edit1.Text:=s;
CloseHandle(h);
end;
end;![]() Bargest, у тебя TStringList не прибивается ![]() |
|
#5
|
||||
|
||||
|
Длинно, да и много объявлять надо. Так короче:
Код:
with TStringList.Create
do begin
LoadFromFile('C:\sc.txt');
Edit1.Text := Text;
Free;
end;![]() |
|
#6
|
||||
|
||||
|
Ещё вариант
:Код:
ListBox1.Items.LoadFromFile('C:\1.txt');
Edit1.Text:= ListBox1.Items.Strings[0]; |
|
#7
|
||||
|
||||
|
Код:
unit ***;
interface
uses
Classes, StdCtrls;
type
TLoadableEdit = class(TEdit)
public
procedure LoadFromFile(const FileName: String);
end;
implementation
procedure TLoadableEdit.LoadFromFile(const FileName: String);
var
AStrings: TStrings;
begin
AStrings:=TStringList.Create;
try
AStrings.LoadFromFile(FileName);
Text:=AStrings.Text;
finally
AStrings.Free;
end;
end;
end.использование: Код:
var
edit: TLoadableEdit;
begin
edit:=TLoadableEdit.Create(Self); // не в счет :)
edit.Parent:=Self; // не в счет :)
edit.LoadFromFile('d:\Temp\Project1.dpr');
end;![]() |
|
#8
|
||||
|
||||
|
Ну тогда уж лучше не новый класс создавать, а старый доработать:
Код:
....
THelperEdit = class helper for TEdit
procedure LoadFromFile(FileName: String);
end;
....
procedure THelperEdit.LoadFromFile(FileName: String);
begin
with TStringList.Create
do try
LoadFromFile(FileName);
Self.Text := Text;
finally
Free;
end;
end;И все, теперь TEdit будет считать что у него есть родной метод загрузки из файла. ![]() Последний раз редактировалось Страдалецъ, 08.06.2011 в 12:21. |
|
#9
|
||||
|
||||
|
Не изменяя программу все эдиты получат новый метод:
Код:
...
interface
...
type
TEdit = class(StdCtrls.TEdit)
public
procedure LoadFromFile(FileName: String);
end;
...
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
...
implementation
{ TEdit }
procedure TEdit.LoadFromFile(FileName: String);
begin
//ToDo;
end;
{ TForm1 }
... |
|
#10
|
||||
|
||||
|
Цитата:
![]() Цитата:
![]() |