Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.01.2008, 20:10   #1
Relrin
Пользователь
 
Регистрация: 28.12.2007
Сообщений: 18
Восклицание Помогите с OpenDialog!

Короче в программе я хочу сделать так, чтобы можно было открывать и сохранять файлы..Вот сталкнулсо с первой проблемой...

Первая - я написал в описании переменных private:

private
Order: TOrder; //Порядок определителя
f: file of real;
REC: real;
Программа постоянно ругается еще на TOrder...Как исправить, чтоб пахало норм?



Вторая - это часть кода открытия файла. Делфи постоянно ругается на неизвестный индефикатор CreateForm2! Как ето исправить?
var
x: string;
begin
if OpenDialog1.Execute then
begin
AssignFile(f,OpenDialog1.FileName);
Reset(f);
CreateForm2();
Read(f,REC);
x:=FloatToStr(REC);
Order:=StrToInt(x);
StringGrid1.ColCount:=Order;
StringGrid1.RowCount:=Order;
StringGrid2.RowCount:=Order;
for i:=0 to Order-1 do
for j:=0 to Order-1 do
begin
Read(f,REC);
StringGrid1.Cells[j,i]:=FloatToStr(REC);
end;
for i:=0 to Order-1 do
begin
Read(f,REC);
StringGrid2.Cells[0,i]:=FloatToStr(REC);
end;
Read(f,REC);
for i:=0 to Order-1 do
begin
Read(f,REC);
Val.InsertRow('x['+IntToStr(i)+']',FloatToStr(REC),true);
end;
CloseFile(f);
end;
end;
Relrin вне форума Ответить с цитированием
Старый 17.01.2008, 20:22   #2
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Ну, так Delphi не знает типа TOrder (замени на integer) и функции CreateForm2(), что она должна делать?
_Dmitry вне форума Ответить с цитированием
Старый 17.01.2008, 20:25   #3
SunKnight
Участник клуба Подтвердите свой е-майл
 
Аватар для SunKnight
 
Регистрация: 14.12.2007
Сообщений: 1,434
По умолчанию

CreateForm2() - что это такое и зачем оно надо?
Проповедую design patterns, верую в MVC, доверяю eXtrime programming.
SunKnight вне форума Ответить с цитированием
Старый 17.01.2008, 21:08   #4
Relrin
Пользователь
 
Регистрация: 28.12.2007
Сообщений: 18
По умолчанию

Цитата:
Сообщение от SunKnight Посмотреть сообщение
CreateForm2() - что это такое и зачем оно надо?
При открытии должна открывать форма, в которой буду значения переменных
Relrin вне форума Ответить с цитированием
Старый 17.01.2008, 21:28   #5
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

создать новую форму: File->New->Form
Показать на экране:
Form2.Show;
или
Form2.Visible:=True;
это одно и то же
_Dmitry вне форума Ответить с цитированием
Старый 17.01.2008, 21:30   #6
SunKnight
Участник клуба Подтвердите свой е-майл
 
Аватар для SunKnight
 
Регистрация: 14.12.2007
Сообщений: 1,434
По умолчанию

Код:
procedure TForm2.N3Click(Sender: TObject);
var f:textfile;
temp,x,y:integer;
tempstr:string;
begin
  try
  with OpenDialog1 do
  begin
    if Not Execute then Exit;
    assignfile (f,Filename);
    reset (f);
    readln (f,temp);
    sg.colcount:=temp;
    readln (f,temp);
    sg.rowcount:=temp;
    For X:=0 to sg.colcount-1 do
    For y:=0 to sg.rowcount-1 do
    begin
      readln (F, tempstr);
      sg.cells[x,y]:=tempstr;
    end;
  closefile (f);
 end;
 except
 ShowMessage('Ошибка открытия файла');
end;
end;
Может поможет.
А насчет открытия формы: Form2.Show;
Проповедую design patterns, верую в MVC, доверяю eXtrime programming.
SunKnight вне форума Ответить с цитированием
Старый 17.01.2008, 21:39   #7
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Во избежание ошибок с работой assignfile, reset, rewrite, closefile - манипулируйте директивами тобиш отключаете {$I-} нет ошибок, включаете {$I+} - проверка есть
BOBAH13 вне форума Ответить с цитированием
Старый 17.01.2008, 21:53   #8
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

+1
тогда для проверки на ошибку используйте функцию IOResult. Если IOResult=0, то нет ошибки.
Код:
{$I-}
reset(f);
{$I+}
if IOResult=0 then ... {файл открыт}
else ... {файл не открыт}
_Dmitry вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с Opendialog ZhekON Компоненты Delphi 4 14.06.2013 15:21
OpenDialog.Filter Artificial Общие вопросы Delphi 5 17.06.2008 00:00
OpenDialog Андрей= Компоненты Delphi 6 03.05.2008 15:06
OpenDialog Rahim1993 Общие вопросы Delphi 20 21.01.2008 08:26
OpenDialog.Options:=OpenDialog.Options+[ofAllowMultiSelect]; necky Компоненты Delphi 2 11.08.2007 12:53