Главная
Регистрация
Вход
Авторизироваться
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 3 из 3
  • «
  • 1
  • 2
  • 3
Модератор форума: ADMIN, Nextik  
Форум » MidletPascal » Основной » Библиотека процедур! (Библиотека процедур на все случаи жизни!)
Библиотека процедур!
IcedДата: Воскресенье, 12.09.2010, 19:56 | Сообщение # 31
Новичок
Группа: Пользователи
Сообщений: 13
Награды: 0
Репутация: « 7 »
Статус: Offline
Не работает, мож я чета не так понял.
inc(a) это тоже самое что и a:=a+1, пародия на a++
 
EdelonДата: Понедельник, 13.09.2010, 14:32 | Сообщение # 32
Группа: Удаленные





так и есть. есть в борланде (с подменой по макросу) вариант inc(n,k); где n что увеличиваем а k на сколько увеличивает за один вызов.
собственно с inc-ом ещ можно и пережить... но фак не возвращаемости из процедур печалит... так же сложно без указателей и переобьявления типов... пример
Code
var  
  cnt    :integer;
begin
  cnt:=-320;
  writeln(cnt);
  writeln(word(cnt));
end.

для тех кто таким еще не пользоывался поясняю: переменная cnt была обьявлена как знаковое слово (1полярность+15занчение=16бит) в первом writeln мы обратилисть по типу. во втором мы попросили отобразить его как беззнаковое слово (16значение=16бит). этот приём применяется не только к write, сам лично не раз применял чтоб хранить и обрабатывать pointer как longint
 
fnc12Дата: Понедельник, 13.09.2010, 16:49 | Сообщение # 33
Группа: Удаленные





Edelon, я не понял практическую значимость твоего метода.
 
12121Дата: Понедельник, 13.09.2010, 17:47 | Сообщение # 34
Программист
Группа: Проверенные
Сообщений: 357
Награды: 4
Репутация: « 290 »
Статус: Offline
но фак не возвращаемости из процедур печалит...
Это как понять ? !
1 значение можно вернуть. Если надо больше то используем глобальные переменные/массивы.
тип integer 32 битный а не 16 битный. Неужели мало ?
Указатели только создают кучу проблем. Без них вполне можно обойтись. Попробуй убедить меня в обратном.
 
EdelonДата: Среда, 15.09.2010, 16:14 | Сообщение # 35
Группа: Удаленные





Quote (fnc12)
Edelon, я не понял практическую значимость твоего метода.

в частности пример из борланда: всем известно что в борланде функция не может вернуть тип запись. К примеру координаты X Y (integer 16bit) одной переменной. Но если их вложить в longint (32bit) и обратится как к записи:

Code
type coord = record
   x,y   :integer;
   end;

var
   arr   :array[0..10] of coord;
   cnt   :integer;

function some_act(somein:integer):longint;
var temp:coord;
begin
   temt.x:=somein+10;
   temt.y:=trunc(somein/10);
   some_act:=longint(temp);{ возвращаем ответ в "нужном" типе}
end;

BEGIN
   for cnt:=0 to 10 do
   longint(arr[cnt]):=some_act(cnt); {обращаемся к записи в выходном типе функции и наполняем массив}

   for cnt:=0 to 10 do
   putpixel(arr[cnt].x,arr[cnt].y,cnt); {отрисовываем}
END.

собственно идея в том что можно вернуть несколько параметров при выходе из одной функции (как известно прыжки в программе требуют не мало времени) без использования var в декларации. если 32 разряда не хватает можно объявить string[сколько надо] каким то типом и обращаться к нему. Главное чтоб в памяти типы были соразмерны (весили одинаково), иначе последствия непредсказуемы (затрешь соседнюю ячейку или не дописав оставишь шум).

Именно за счёт этого финта я смог в борланд паскале реализовать динамический массив: есть возможность зарезервировать память определённого объёма и получить указатель на её начало. но вот адресоваться к произвольному элементу, не получается. Тип pointer не допускает арифметических операций над собой, и весит 32 бита. а вот тип longint имеет арифметику и весит столько же. В общем обрабатываем указатель как лонгинт и получаем ссылку на произвольный элемент выделенной памяти.

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

Сообщение отредактировал Edelon - Среда, 15.09.2010, 16:58
 
EdelonДата: Среда, 15.09.2010, 17:09 | Сообщение # 36
Группа: Удаленные





Quote (12121)
Указатели только создают кучу проблем. Без них вполне можно обойтись. Попробуй убедить меня в обратном.

то что создают кучу проблем спору нет. но как по мне это не великая цена за динамичность кода. к примеру как ты предложишь ввести в программу новый объект без указателя?
а метод с указателем вполне понятный и привычный: запросить объём памяти который тебе нужен а вответ получить ссылку на неё.
 
EdelonДата: Среда, 15.09.2010, 17:49 | Сообщение # 37
Группа: Удаленные





Quote (12121)
но фак не возвращаемости из процедур печалит...

это была опечатка :\ фак=факт
Quote (12121)
тип integer 32 битный а не 16 битный.

в мидлет паскале он таки 32битный. а я в примере приводил код борланд паскаля с учетом его спецификации.
 
ArthurSipДата: Понедельник, 06.02.2017, 04:34 | Сообщение # 38
Новичок
Группа: Пользователи
Сообщений: 1
Награды: 0
Репутация: « 0 »
Статус: Offline
Click <a href=https://excellenthost.ru>girls ass in mirror</a> to talk to hot girls in your city!
 
aLerifreerneДата: Понедельник, 06.02.2017, 12:23 | Сообщение # 39
Новичок
Группа: Пользователи
Сообщений: 18
Награды: 0
Репутация: « 0 »
Статус: Offline
http://uluifehime.ru/ - http://www.tourprom.ru/site_media/images/aircompanyphoto/cache/vim-avia-shema-salona_1_w800.jpg

http://uneroah.ru/ - >> Авиабилеты онлайн <<

И будет действовать только на некоторые направления.
авиабилеты со скидками Важное правило — покупать авиабилеты в ночь со вторника на среду.
Что еще было хорошо, так это очень дружелюбный и обходительный персонал, салон самолета был безупречно чист, да и просто лететь с ними было удовольствием.
Спецпредложения на авиабилеты Ловите спецпредложения, скидки, акции и распродажи авиабилетов, пока они не разлетелись. Без него вы не получите скидку, даже при предоставлении проездного билета.
КАК ПОЛЬЗОВАТЬСЯ ЭЛЕКТРОННЫМ АВИАБИЛЕТОМ?
Предоставление документа, подтверждающего особые достижения в учебной и вне учебной деятельности, а также подтверждающего отнесение студента к определенной категории граждан если оно предполагается ; Предоставление академического отпуска, отпуска по беременности и родам или отпуска по уходу за ребенком при наличии на данное действие достаточных оснований.

Источник: http://udeevacymi.ru/page/na-aviabileti-dejstvuet-skidka-studentam-/ - на авиабилеты действует скидка студентам?
--------------------------------------
Tags: купить авиабилет москва калининград , авиабилеты наличие мест , краснодар-санкт-петербург авиа , авиабилеты москва-сочи дешево , дешевые авиабилеты казань москва , самые дешевые авиабилеты в самарканд
 
aLerifreerneДата: Четверг, 09.02.2017, 14:18 | Сообщение # 40
Новичок
Группа: Пользователи
Сообщений: 18
Награды: 0
Репутация: « 0 »
Статус: Offline
http://uqoowyveda.ru/ - http://www.randrs.ru/photo/0-0/5218_besb.jpg

http://useoqinaba.ru/ - >> Авиабилеты онлайн <<

А если немного постараться, то скидку можно увеличить вплоть до того, что авиабилеты будут бесплатными!
авиабилеты со скидками К временным скидкам на авиабилеты относятся скидки, предоставляемые некоторыми авиакомпаниями, а также туристическими фирмами в виде скидочных тарифов, разнообразных акций и бонусных программ.
Я подумала, что недостающие 3000 я накоплю ещё очень нескоро, а у миль тоже есть срок годности.
Используйте вашу учетную запись Мой Мир Mail. У правительства России есть договор только с небольшим количеством авиакомпаний, которые могут предоставить льготные скидки студентам.
Предложение действует на путешествия в страны Европы в период с 12 сентября до 15 декабря 2016г.
Скидки официальный магазин дарит не только студентам, но и их родителям, преподавателям, учителям, сотрудникам учебных заведений.

Источник: http://owufiyp.ru/page/krasnoyarsk-zakaz-aviabiletov/ - красноярск заказ авиабилетов
--------------------------------------
Tags: авиабилеты в екатеринбурге , алматы москва авиабилеты , авиабилеты болгария , купить авиабилет уфа-москва , авиабилеты в румынию , авиабилеты москва волгоград цены
 
MichaelTopДата: Вторник, 14.02.2017, 18:03 | Сообщение # 41
Новичок
Группа: Пользователи
Сообщений: 2
Награды: 0
Репутация: « 0 »
Статус: Offline
https://goo.gl/t1UIW7 - Белоснежная улыбказ за 7 дней
Инновационная система отбеливания зубов в домашних условиях.
Результат уже через 3 дня
=https://goo.gl/t1UIW7 - [IMG - http://i.piccy.info/i9/193d81992cc279ebfd36ec15bc5dc6cf/1487077743/8235/1118895/100637056_240.jpg[/IMG - [/URL - [URL=http://i.piccy.info/a3c/2017-02-14-13-09/i9-10845294/240x240-r - [IMG - http://i.piccy.info/a3/2017-02-14-13-09/i9-10845294/240x240-r/i.gif[/IMG - [/URL -
Это абсолютно безопасно и не влияет
на чувствительность эмали зубов!
Отбеливать зубы можно в любом месте,в любое время.
Простой и доступный всем процесс отбеливания!
Всё что нужно - это выделить себе несколько минут свободного времени.
https://goo.gl/t1UIW7 - Узнать подробнее - https://goo.gl/t1UIW7
 
Форум » MidletPascal » Основной » Библиотека процедур! (Библиотека процедур на все случаи жизни!)
  • Страница 3 из 3
  • «
  • 1
  • 2
  • 3
Поиск: