Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.04;
Скачать: CL | DM;

Вниз

какая переменная нужна функции при создании следующей программы.   Найти похожие ветки 

 
Tarquin ©   (2004-03-13 23:27) [0]

nit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

type
 TForm1 = class(TForm)
   Edit1: TEdit;
   Edit2: TEdit;
   Label1: TLabel;
   Label2: TLabel;
   Button1: TButton;
   Button2: TButton;
   Button3: TButton;
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

 type
  MF= record
  name: string[50];
  vozrast: integer;
end;

type my = class

   procedure addF(??????????);

end;

var
 Form1: TForm1;
 i: integer;
 f: file of MF;
 FF: MF;
 

implementation

{$R *.dfm}

procedure my.addF(??????????);
begin
AssignFile(f,"c:\fuck.dat");
FF.name:= form1.edit1.text;
FF.vozrast:= StrToInt(form1.edit2.Text);
rewrite(f);
write(f,FF);
closeFile(F);
showmessage("oka");

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 my.addF(???????????);
end;

end.
Что надо поставить на место вопросов??
по нажатии на кнопку данные из полей Edit1 и Edit2 должны записываться в мой файл.


 
P.N.P. ©   (2004-03-13 23:33) [1]

Ничего. убрать вопросы и все.


 
Rouse_ ©   (2004-03-13 23:34) [2]


> procedure TForm1.Button1Click(Sender: TObject);
> begin
>  my.addF(???????????);
> end;


А где создание класса my?
Второе - никакие переменные не нужны.


 
Tarquin ©   (2004-03-13 23:36) [3]

сразу после создания файла моего.

type my = class

  procedure addF(??????????);

end;


 
Tarquin ©   (2004-03-13 23:38) [4]

[Error] Unit1.pas(72): This form of method call only allowed for class methods

ошибка после того как были убраны вопросы((


 
P.N.P. ©   (2004-03-13 23:40) [5]

И скобки тоже


 
Tarquin ©   (2004-03-13 23:41) [6]

таже ошибка


 
P.N.P. ©   (2004-03-13 23:43) [7]

Создавать экземпляр my кто будет?


 
Rouse_ ©   (2004-03-13 23:43) [8]

Короче... тут одно - подучи сначала ООП... у тебя ошибки в самых азах...


 
Sergey Masloff   (2004-03-13 23:43) [9]

Блин, а где ЭКЗЕМПЛЯР класса у тебя???? Конечно ты метод ЭКЗЕМПЛЯРА вызываешь с КЛАССОМ (ТИПОМ ЭКЗЕМПЛЯРА)


 
Юрий Зотов ©   (2004-03-13 23:48) [10]

И вообще непонятно, зачем этот класс нужен. Все можно сделать прямо в Button1Click. И без глобальных переменных.


 
Tarquin ©   (2004-03-13 23:50) [11]

это будет работать медлено в больших проектах....по моему


 
P.N.P. ©   (2004-03-13 23:54) [12]


> Tarquin ©   (13.03.04 23:50) [11]
> это будет работать медлено в больших проектах....по моему


Нет.


 
Tarquin ©   (2004-03-13 23:55) [13]

спасибо всем....я разобрался заработало)

почему нет???


 
Tarquin ©   (2004-03-13 23:56) [14]

если на событие навешать 3 страницы текста---то по твоему это будет быстрее че через ООП?


 
Rouse_ ©   (2004-03-13 23:59) [15]

А при чем тут объем текста и при чем тут событие?

> это будет быстрее че через ООП?
ИМХО - орешник... :))


 
Юрий Зотов ©   (2004-03-13 23:59) [16]

> Tarquin ©   (13.03.04 23:50) [11]

Как правило, чем проще и короче код, тем быстрее он работает. В любых проектах. Кстати, и тем меньше размер проекта.

Конечно, бывают и более сложные случаи, но Ваш к ним не относится.


 
Tarquin ©   (2004-03-14 00:00) [17]

хе-хе лана....опять порвали:)))


 
Tarquin ©   (2004-03-14 00:00) [18]

Конечно, бывают и более сложные случаи, но Ваш к ним не относится.
Я понял вас....спасибо за внимание:)


 
Rouse_ ©   (2004-03-14 00:04) [19]

> Как правило, чем проще и короче код, тем быстрее он работает.
Не вполне согласен - в качестве исключения DirectX :)


 
Defunct ©   (2004-03-14 00:05) [20]

Tarquin ©   (13.03.04 23:27)  
Что надо поставить на место вопросов??
по нажатии на кнопку данные из полей Edit1 и Edit2 должны записываться в мой файл.

type
 TMyClass = class
 Private
   f: file of MF;
   FF: MF;
 Public
   procedure AddF(Field1,Field2:String);
 end;

var
Form1: TForm1;


implementation

{$R *.dfm}

procedure TMyClass.AddF;
begin
 AssignFile(f,"c:\fuck.dat");
 FF.name:= Field1;
 FF.vozrast:= StrToInt(Field2);
 rewrite(f);
 write(f,FF);
 closeFile(F);
 showmessage("oka");
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 With TMyClass.Create Do
 Try
   AddF(Edit1.Text, Edit2.Text)
 Finally
   Free;
 End
end;

Procedure TForm1.Button2Click(Sender: TObject);
Var Obj:TMyClass;
Begin
 Try
   Obj := TMyClass.Create;
   Obj.AddF(Edit1.Text, Edit2.Text);
 Finally
   Obj.Free
 End;
End;

end.


 
Юрий Зотов ©   (2004-03-14 00:07) [21]

> Tarquin ©   (13.03.04 23:56) [14]

> если на событие навешать 3 страницы текста---то по твоему это
> будет быстрее че через ООП?

Быстрее. Идеология ООП сама по себе скорости не добавляет, скорее даже наоборот. Ее преимущество совсем в другом.

Вообще, с точки зрения процессора, никакого ООП не существует. Есть код и больше ничего.


 
Defunct ©   (2004-03-14 00:17) [22]

> Быстрее. Идеология ООП сама по себе скорости не добавляет, скорее даже наоборот. Ее преимущество совсем в другом.

Полностью соглашусь с этим. Достаточно только вспомнить (на примере Delphi), что при вызове метода в стек заносится ссылка на экземпляр класса, а это как минимум одно лишнее обращение к памяти.


 
Юрий Зотов ©   (2004-03-14 09:30) [23]

> Defunct ©   (14.03.04 00:17) [22]
> при вызове метода в стек заносится ссылка на экземпляр класса

Обычно не в стек. В EAX.


 
Defunct ©   (2004-03-14 10:33) [24]

> Обычно не в стек. В EAX.
Не было бы Self, Sender бы передавался через EAX, а так через стек. сути это не меняет, на один параметр больше - на одно обращение к памяти больше, на одну команду дольше.


 
Юрий Зотов ©   (2004-03-14 14:12) [25]

> Defunct ©   (14.03.04 10:33) [24]

> Не было бы Self, Sender бы передавался через EAX, а так через
> стек.

Все равно нет. Первые три параметра по умолчанию передаются через регистры. Но сути это и правда не меняет.



Страницы: 1 вся ветка

Текущий архив: 2004.04.04;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.021 c
4-1074600279
Alexander
2004-01-20 15:04
2004.04.04
Как прочитать из commdlg.dll текстовый ресурс


3-1078611647
Rauf
2004-03-07 01:20
2004.04.04
Помогите плиз с SQL


9-1063820414
-J=A=X-
2003-09-17 21:40
2004.04.04
Game -на Delphi GLScene 3D/ HELP!!!


1-1079345970
viksoft
2004-03-15 13:19
2004.04.04
сохранить параметры в ехе файле


4-1075293731
GrayFace
2004-01-28 15:42
2004.04.04
Как получить список шрифтоф, кодировок и т.д.