![]() |
|
|
#1
|
|||
|
|||
|
У меня такой вопрос... Есть на форме 44 Edit'a.Так вот реально как-то циклом записать текст из каждого Edit'a (начиная с первого и заканчивая последним) в файл?????Пробовал так:
Код:
var i:integer;
s:shortstring;
f:textfile;
Mas: Array[1..44] of Tedit;
begin
AssignFile(f,'C:\123.txt');
ReWrite(f);
try
for i:=1 to 44 do begin
s:=Mas[i].Text;
Writeln(f,s);
end
finally
CloseFile(f);
end;но ничего не получается! ![]() Кидает ошибку "Access violation ......................."!Может кто-то подскажет как решить эту проблему?просто не хочется писать Writeln(f,Edit1.text) и так до 44-го! ![]() |
|
#2
|
||||
|
||||
|
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
f: TextFile;
i: integer;
begin
AssignFile( f, 'C:\123.txt' );
Rewrite( f );
for i := 1 to 44 do
Writeln( f, TEdit( FindComponent( Format( 'Edit%d', [i] ) ) ).Text );
CloseFile( f );
end; |
|
#3
|
|||
|
|||
|
to Decoding
А как найти на форме Editы и записать в НИХ текст??? |
|
#4
|
||||
|
||||
|
Цитата:
Так-же, только не читай свойство Text, а устанавливай его! |
|
#5
|
||||
|
||||
|
To Sam
Вот так: Код:
TEdit(FindComponent('Имя эдита')).Text:='Твой текст'; |
|
#6
|
|||
|
|||
|
to Winni
А если надо не в определенный Эдит, а в 100?? Я чисто из интереса проверил твой код, он работает, НО! Если написать: Код:
for i:=1 to 100 do begin
TEdit(FindComponent('Edit'+inttostr(i)).Text:=inttostr(i);
end;То будет ошибка! Undeclared identifier: 'Text'; Как с этим бороться? |
|
#7
|
||||
|
||||
|
Ты забыл поставить ещё одну скобку:
Код:
for i:=1 to 100 do begin
TEdit(FindComponent('Edit'+inttostr(i))).Text:=inttostr(i);
end; |