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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.02.2011, 16:36   #1
Електроник
Пользователь
 
Регистрация: 27.03.2010
Сообщений: 21
Вопрос Delphi - создать свой класс

Помогите пожалуйста с созданием класса. Мне нужно просто обяснить как шаг за шагом написать код для создания своего класа, і где его писать в делфи 7
прошу простой пример навести с доступними коментариями, чтобы я мог создать потом свой класс даже сложнее, литератури много не читал по етому, а что читал ничего не понял (в делфи как бы разбираюсь но с класами дела не имел) мне бы поскорее ето виучить, надо прогу написать с класами и вообще хочу научиться

спасибо за помощь!
Електроник вне форума Ответить с цитированием
Старый 27.02.2011, 16:55   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А так:
http://seduvan.narod.ru/delphi_1.html
http://detc.usu.ru/Assets/aCOMP0091/lesson1/i5.html
Тоже не катит?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.02.2011, 17:44   #3
Електроник
Пользователь
 
Регистрация: 27.03.2010
Сообщений: 21
По умолчанию

катит, но только маловато примеров, только основы, мне бы пример такой что бы реальний код был и все расписано что для чего. Я вот не понимаю: нужно мне програму написать вроде не сложную, но с классами, для чего там они нужны если можно обойтись ?? допустим я создам свой клас, обявить его можно по примеру, а вот что дальше с ним делать? хотелось бы такое обьяснение на все случаи...а уже после етого во всех тонкстях смогу сам разобратся..!
извините за такие тупие вопроси, мне самому стыдно =) , но я просто не могу понять ..нужно чтобы кто то помог

нашол какие то примери на форуме..буду разбиратся понемножку ...
а если можно то хотел еще какие нибудь ссилки полезные
спасибо за помощь

Последний раз редактировалось Електроник; 27.02.2011 в 17:51.
Електроник вне форума Ответить с цитированием
Старый 27.02.2011, 19:07   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
допустим я создам свой клас
А вот ты создай свой класс, покажи что ты уже понимаешь, а мы подправим. Кто же знает на какой ты стадии понимания классов.
Цитата:
а если можно то хотел еще какие нибудь ссилки полезные
Да любую книгу по ООП... Тейксеру и Пачеко уж если на то пошло...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.02.2011, 23:08   #5
Електроник
Пользователь
 
Регистрация: 27.03.2010
Сообщений: 21
По умолчанию

Спасибо за помощь, буду пробовать и на днях отпишусь...
Електроник вне форума Ответить с цитированием
Старый 28.02.2011, 03:19   #6
Alt
Лжец и смутьян
Форумчанин
 
Аватар для Alt
 
Регистрация: 03.04.2009
Сообщений: 194
По умолчанию

Открываешь модуль Classes, вот тебе и очень много примеров.
Помогли тебе - помоги другому.
Alt вне форума Ответить с цитированием
Старый 17.03.2011, 16:59   #7
Електроник
Пользователь
 
Регистрация: 27.03.2010
Сообщений: 21
По умолчанию

Вот написал немного кода

unit Unit1;

interface

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

type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
type
TExpressionClass = class (TObject) //класс вычислений

private
{ Private declarations }
public
function F_Expression(str_in,str_out: String):String; //функция

end;

var
Form1: TForm1;

implementation

{$R *.dfm}
//здесь реализация функции, она должна брать строку с едит1 конвертировать в
//число и обратно в текст и присвоить едит2

function TExpressionClass.F_Expression(str_i n,str_out:String): String;
begin
str_out:=IntToStr(StrToInt(str_in)) ;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Edit2.Text:=F_Expression(Edit1.Text );
end;

end.


видает ошибку
[Error] Unit1.pas(44): Undeclared identifier: 'F_Expression'

не знаю что делать, подскажите что не так написано
СПАСИБО!
Електроник вне форума Ответить с цитированием
Старый 17.03.2011, 17:03   #8
Alt
Лжец и смутьян
Форумчанин
 
Аватар для Alt
 
Регистрация: 03.04.2009
Сообщений: 194
По умолчанию

Код:
[Error] Unit1.pas(44): Undeclared identifier: 'F_Expression'
Даже не читая кода, можно сказать - место, в котором ты вызываешь функцию/обращаешься к переменной находится вне области видимости функции/переменной.
Помогли тебе - помоги другому.
Alt вне форума Ответить с цитированием
Старый 17.03.2011, 17:10   #9
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

Тут все плохо.
Во-первых, TExpression - это класс. Чтобы вызвать его метод, сначала нужно создать его объект.

Во-вторых код метода не будет работать так, как ты планировал. Ты присваиваешь результат переменной StrOut, после выхода из метода это значение потеряется. Убери параметр StrOut, и присваивай значение переменной result.
Son Of Pain вне форума Ответить с цитированием
Старый 17.03.2011, 17:42   #10
Електроник
Пользователь
 
Регистрация: 27.03.2010
Сообщений: 21
По умолчанию

Цитата:
Сообщение от Son Of Pain Посмотреть сообщение
Тут все плохо.
Во-первых, TExpression - это класс. Чтобы вызвать его метод, сначала нужно создать его объект.
А можеш показать на примере как и где создать обьект в коде программы.


СПАСИБО УЖЕ НЕ НУЖНО, Я РАЗОБРАЛСЯ САМ))) наконец-то))

Последний раз редактировалось Електроник; 18.03.2011 в 00:20.
Електроник вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Описать класс-родитель и класс-потомок. Delphi 7 Andrew_M Помощь студентам 0 15.01.2011 14:42
свой собственный класс MediaPlayer'a nick17 Помощь студентам 2 26.11.2010 13:54
Delphi - Создать класс для вычисления суммы... Danara Помощь студентам 2 26.10.2010 13:03
Как создать свой формат? Rahim1993 Общие вопросы Delphi 2 04.03.2008 17:04