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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.08.2009, 12:00   #1
Лонли-Локли
Пользователь
 
Регистрация: 26.08.2009
Сообщений: 16
По умолчанию переход из одного типа в другой

Помогите с проблемой, про блема в следующем. Толи я не понимаю задания, толи моих знаний не достаточно что бы решить вот эту часть задачи:

Есть несколько типов заданных мной, вот код:

type Tp1 = 1..1;
type Tp2 = 2..2;
type Tp3 = 3..3;

т.е. состоящие из одной цифры. Как сделать так что бы при выполнении определённого условия один тип переходил в другой Tp1 в Тр2, а Тр3

а ещё вопрос, как оформить запись в файлд переменной типа рекорд)
Лонли-Локли вне форума Ответить с цитированием
Старый 27.08.2009, 12:04   #2
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Проверять щас лень, но если мягкий вариант
Код:
Tp1(Tp2)
не работает, то можно жесткий
Код:
type pTp1 = ^Tp1;
var
  tp1: Tp1;
begin
  tp1 := pTp1(@Tp2)^;
Что-то в таком духе, лучше написать исходя из данных не могу

Что на счет структуры (записи), то либо по полям в текстовом режиме пишем в файл, иначе можно в бинарном просто как буфер данных записать, т.е. указываем переменную вашу и размер структуры (SizeOf(MyRecord); По паскалевски, можно использовать BlockWrite и File
BOBAH13 вне форума Ответить с цитированием
Старый 27.08.2009, 12:06   #3
DarkEvil
Форумчанин
 
Аватар для DarkEvil
 
Регистрация: 08.05.2009
Сообщений: 247
По умолчанию

type trec = record
x : integer;
y : dword;
end;
---------------
var f: file of trec; rec : trec;
---------------
begin
---------------
write(f, rec);
Мой сайт
Цитата:
Сообщение от Scream In Darkness
Кровь не даёт покоя! Кровь не знает сна!
Кровь бежит на волю – Вены рвёт сама!

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

Цитата:
один тип переходил в другой
Всмысле?
Цитата:
как оформить запись в файлд переменной типа рекорд)
f:File of zapis где Zapis=record...
ну и write(f,zz) где zz - переменная типа zapis
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.08.2009, 12:24   #5
Лонли-Локли
Пользователь
 
Регистрация: 26.08.2009
Сообщений: 16
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Всмысле?

f:File of zapis где Zapis=record...
ну и write(f,zz) где zz - переменная типа zapis
в смысле если определённые условия выполняются то Tp1 должен стать Tp2 и соответственно вместо 1 в поле memo вписывается 2 и т.д. обязательно сделать через переход из одного типа в другой

Код:

Tp1(Tp2)

мне ужасно стыдно, куда это вписать?((
Лонли-Локли вне форума Ответить с цитированием
Старый 27.08.2009, 12:26   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
то Tp1 должен стать Tp2
Это не возможно. Ты же о типах говоришь а не о переменных.
Короче - давай задачу подробно и без panic
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.08.2009, 12:32   #7
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Что-то типа этого, надеюсь
Код:
type
  Tp1 = 1..1;
  Tp2 = 2..2;
  Tp3 = 3..3;

  TMyRecUnion = record
    case Integer of
      0: (
        t1: Tp1;
        );
      1: (
        t2: Tp2;
        );
      2: (
        t3: Tp3;
        );
  end;

procedure TForm1.FormCreate(Sender: TObject);
var
  mru: TMyRecUnion;
begin
  mru.t1 := 1;
  ShowMessageFmt('%d', [mru.t3]);
  mru.t2 := 2;
  ShowMessageFmt('%d', [mru.t3]);
end;
BOBAH13 вне форума Ответить с цитированием
Старый 27.08.2009, 12:32   #8
Лонли-Локли
Пользователь
 
Регистрация: 26.08.2009
Сообщений: 16
По умолчанию

Необходимо разработать элементарный макет дисконтной системы по
следующим параметрам:

- В системе заводиться список карт (просто числовые коды). (как я понял сделать через запись)
- У каждой карты определён свой тип.Задал вот так
type Tp1 = 1..1;
type Tp2 = 2..2;
type Tp3 = 3..3;
- У типа определены условия перехода на другой тип в простейшем случае накопление определённой суммы для карты. (Вот с этим проблема)
Лонли-Локли вне форума Ответить с цитированием
Старый 27.08.2009, 12:39   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Лонли-Локли
Тебе нужны не типы множества, за которые ты схватился а константы:
Код:
const tp1=1;tp2=2...
или перечисления
Код:
type tipe=(tip1,tip2,tip3);
посмотри в хелпе enumerated types, там все четко описано
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перенос компонентов с одного компа на другой Vladya Помощь студентам 0 06.06.2009 21:38
Переменные одного типа Xeon332 PHP 3 01.03.2009 13:59
Переход к другой процедуре Detka Общие вопросы Delphi 7 13.07.2008 16:50
Перенос проги с одного ПК на другой Azef Помощь студентам 2 13.05.2008 18:07
Перенос из одного Image в другой Dimitriys Компоненты Delphi 5 14.07.2007 23:32