Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 08.09.2008, 10:56
Аватар для _Baga_
_Baga_ _Baga_ вне форума
Прохожий
 
Регистрация: 28.08.2008
Сообщения: 12
Репутация: 10
Вопрос Посмотрите код

Мне нужно из 7-ми Edit-ов прочитать информацию, занести в файл, очистить Edit-ты и так по циклу.......

Код:
Procedure TForm1.Button1Click(Sender:TObject);
const
    n_file = 'c:\rec_file.bin';
Var
    F: File Of TRepp;
    RD: Array[0..200] of TRepp;
    PCount,j,i: integer;
begin  
    AssignFile(F, n_file);
    RD[j].FID := Edit1.Text;
    RD[j].PSurname := Edit2.Text;
    RD[j].PName := Edit3.Text;
    RD[j].PPatronymic := Edit4.Text;
    RD[j].Weight := StrToFloat(Edit5.Text);
    RD[j].Deqt := Edit6.Text;;
    RD[j].FDate := StrToDate(Edit7.Text);
    Writeln(F, RD[j]); ! Здесь выдает ошибку
    CloseFile(F);
    j:=j + 1;
    PCount:=j;
    For i := 0 To ComponentCount-1 Do ! Здесь выдает ошибку
      If Components[i] is TEdit Then
        (Components[i] as TEdit).Text := '';
end;
Ответить с цитированием
  #2  
Старый 08.09.2008, 11:33
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,097
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

1. Файл надо не только назначить (AssignFile), но и открыть (Reset, например).
2. По моему, для типизированных файлов надо пользовать write, а не writeln.
3. По поводу последней ошибки - какая ошибка вылетает? Текст в студию.
Ответить с цитированием
  #3  
Старый 08.09.2008, 11:45
Аватар для _Baga_
_Baga_ _Baga_ вне форума
Прохожий
 
Регистрация: 28.08.2008
Сообщения: 12
Репутация: 10
По умолчанию 2-я ошибка

ComponentCount неизвестный идентификатор, так же Components[i]
Ответить с цитированием
  #4  
Старый 08.09.2008, 12:30
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,097
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

попробуй так:

Код:
  For I := 0 To Self.ComponentCount-1 Do
    If Self.Components[i] Is TEdit Then
      (Self.Components[i] As TEdit).Text := '';
Ответить с цитированием
  #5  
Старый 09.09.2008, 11:22
Аватар для _Baga_
_Baga_ _Baga_ вне форума
Прохожий
 
Регистрация: 28.08.2008
Сообщения: 12
Репутация: 10
Восклицание Ошибка

Код:
Код:
For I := 0 To Self.ComponentCount-1 Do 
           If Self.Components[i] Is TEdit Then 
             (Self.Components[i] As TEdit).Text := '';
Все равно выдает ошибку Undeclared Identificator Self.
Ответить с цитированием
  #6  
Старый 09.09.2008, 13:37
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,097
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

ЧЕГО???

М-м-м... а может ты это делаешь не в форме (не в методе формы)?
Self дает ссылку на сам объект, которому принадлежит метод. Свойства ComponentCount и Components - это свойства формы. Проверь этот момент.

Ну или весь код в студию.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 01:37.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025