Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Pascal and VB.NET

50K
29 июня 2009 года
Viktor_V
2 / / 29.06.2009
Помогите пожалуйста.

Перевожу прог-у с Паскаля на VB.NET. Вобщем не очень сложно. Но уперся в следующий код (точнее объявление массива):

VAR X1, Y1: ARRAY[-1..7] OF REAL;
X2, Y2: ARRAY[-8..0] OF REAL;

В тексте прог-и идет вызов массива:
zz=X2(-1)
Не могу понять как перевести это на VB.NET. И как использовать.
И еще подскажите пожалуйста. Я перевожу REAL как DOUBLE. Это правильно?
Заранее спасибо.

P.S. Прога астрономическая. Нужна для работы.
50K
29 июня 2009 года
Viktor_V
2 / / 29.06.2009
Ответ нашел. Вопрос снимается.
241
09 июля 2009 года
Sanila_san
1.6K / / 07.06.2005
Сколько уж раз говорилось: нашёл ответ - выложи, так нет же, жадничают господа программисты. Было бы из-за чего.
5
09 июля 2009 года
hardcase
4.5K / / 09.08.2005
Цитата: Sanila_san
Сколько уж раз говорилось: нашёл ответ - выложи, так нет же, жадничают господа программисты. Было бы из-за чего.


В VB.NET нет поддержки массивов с ненулевой нижней границей: в качестве базы адресации используется 0 (в VB6 можно было сделать базой 1). Значение -1 создает пустой массив.

С другой стороны в .NET можно работать с массивами с ненулевой нижней границей, но для этого придется оперировать экземплярами класса System.Array и забыть о типизации (для простых типов это смертельно - будет постоянный boxing/unboxing).

Похоже, что топикстартер просто модифицировал алгоритмы обработки этих массивов. Хотя, как вариант, можно было бы ввести логическое смещение, равное 1 для X1, Y1 и 8 для X2, Y2, с их помощью можно оставить практически без изменения иходный алогритм - останется лишь добавлять соответствующее смещение к индексу при всех обращениях к этим массивам.

241
10 июля 2009 года
Sanila_san
1.6K / / 07.06.2005
Мне тоже показалось, что проще всего было ввести смещение, но нет никакой гарантии того, что топикстартер решил задачу точно так же. Может быть он нашёл ещё более изящный способ, а может быть наоборот. Я потому и прошу всех выкладывать решения, чего тут секретничать?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог