Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на языке Pascal


Информационный Канал Subscribe.Ru


RusFAQ.ru: Программирование на языке Pascal

Выпуск № 237
от 02.02.2004, 13:30

Администратор:
Имя: Sensey
URL: Информационный ресурс
ICQ: 105679124
Украина, Харьков
О рассылке:
Задано вопросов: 410
Отправлено ответов: 1453
Активность: 354.3 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

sir henry
Статус: Профессиональный
Общий рейтинг: 159.34
[Подробней >>]
Boriss
Статус: Профессиональный
Общий рейтинг: 150.47
URL: Программирование на Паскале
[Подробней >>]
Pawel
Статус: Опытный
Общий рейтинг: 163.7
[Подробней >>]
 
Strory
Статус: Начальный
Общий рейтинг: 146.66
[Подробней >>]
Vitally
Статус: Доверительный
Общий рейтинг: 154.9
[Подробней >>]
samum2000
Статус: Опытный
Общий рейтинг: 120
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 408. Добрый день! Подскажите пожалуйсто модуль для работы с bmp, или продцедуру вывода на экран bmp файл... (ответов: 4)
Вопрос № 409. Здравствуйте, уважаемые эксперты ! Сейчас пишу программу на Делфи и возник чисто Паскалевский вопрос... (ответов: 6)

Вопросов: 2, ответов: 10


 Вопрос № 408

Добрый день!
Подскажите пожалуйсто модуль для работы с bmp, или продцедуру вывода на экран bmp файла известного размера и битности цвета(скорость не критична, поэтому если можно на Pascale, без вставок asm).
Большое спасибо.



Вопрос отправлен: 30.01.2004, 01:04
Отправитель: WinN

[Следующий вопрос >>] [Список вопросов]

Отвечает sir henry

Добрый день, WinN!
Вот статеечка по этому поводу, как Вы просили, без асма :)
http://pascal.sources.ru/articles/099.htm


Ответ отправлен: 30.01.2004, 04:51
Отправитель: sir henry


Отвечает Boriss

Приветствую Вас, WinN!
Есть например, (не проверял, правда, как работает):
http://pascal.sources.ru/graph/bmp2pas.htm
http://www.karatetski.narod.ru/pascal/sources/BMP.ZIP
http://psc.h11.ru/text/sprite4.shtml

Ответ отправлен: 30.01.2004, 15:58
Отправитель: Boriss


Отвечает Pawel

Доброе время суток, WinN!
Поищите на http://pascal.sources.ru

Ответ отправлен: 30.01.2004, 18:51
Отправитель: Pawel


Отвечает Strory

Добрый день, WinN!
Стандартного модуля или процедуры для этих целей нет (к сожалению). Да и просто процедурой Вам, думаю, не обойтись. Нужен ещё модуль для VESA режима, и т.д. и т.п. ИМХО, лучше всего, если Вы посмотрите всё что Вам нужно на http://pascal.sources.ru/ Там есть и модуль для работы с VESA режимом и исходники просмотрщиков BMP'шек и GIF'ов. Думаю и для Вас это будет удобнее.
Удачи :)

Ответ отправлен: 30.01.2004, 19:20
Отправитель: Strory


 Вопрос № 409

Здравствуйте, уважаемые эксперты !
Сейчас пишу программу на Делфи и возник чисто
Паскалевский вопрос. Как создать массив чисел
размером, который пользователь укажет во время
выполнения программы. Чтобы было понятно, мне нужно
создать массив чисел, а размерность массива должна
быть равна числу записей в БД. А как известно
число записей БД величина переменная и доступна
только для чтения во время выполнения программы.



Вопрос отправлен: 30.01.2004, 12:26
Отправитель: Sergey N.

[Следующий вопрос >>] [Список вопросов]

Отвечает Vitally

Приветствую Вас, Sergey N.!
Для дельфи:
var mas:array of integer; {объявление массива переменной длинны}
Далее, в тексте программы:
SetLength(Mas,NewSize); Где NewSize - нужное количество элементов.
Для многомерных массивов:
Var mas:array of array of byte;
mas2:array of array of array of Integer;
и т.д.
SetLength(mas,NewSize);
SetLength(mas[0]),100);
SetLength(mas[1],200);
и т.д.
Урезать массив можно также: SetLength(Mas,NewSize-100); Хотя Borland советует использовать Copy.

Ответ отправлен: 30.01.2004, 16:36
Отправитель: Vitally


Отвечает sir henry

Добрый день, Sergey N.!
Если Вы программируете на Дельфи, то нет ничего проще:
var
my_array: array of любой_тип; {Объявление безразмерного массива}
Begin
{Выделение памяти под массив}
SetLength(my_array, величина);
End;

Ответ отправлен: 31.01.2004, 04:00
Отправитель: sir henry


Отвечает Pawel

Приветствую Вас, Sergey N.!
Это называется динамический массив.
Var mas:array of integer; длину не указываем
Чтобы установить длинну вызываем SetLength(Mas,size);

Ответ отправлен: 30.01.2004, 18:47
Отправитель: Pawel


Отвечает samum2000

Добрый день, Sergey N.!
На самом деле вопрос чисто дельфийский, если так можно выразиться. При написании подобных программ на паскале возникали серьезные трудности, приходилось работать с динамической памятью и т.п. (см. ответы на вопросы 318, 325).
В Delphi все гораздо проще. В определении переменных пишите
a: array of integer;
Это создаст динамический массив. Далее при помощи функции setlength(dynarray, length) задаете длинну массива, и в дальнейшем её можно использовать для увеличения массива. Только тут надо иметь ввиду такую особенность - массив начинается с нулевого элемента, т.е. если напишешь setlength(a,5), то обращение a[5] вызовет ошибку (элементы 0, 1, 2, 3, 4 - 5 нет).
Попутного ветра!

Ответ отправлен: 02.02.2004, 08:21
Отправитель: samum2000


Отвечает Boriss

Доброе время суток, Sergey N.!
Ну так Вы пишете в Delphi - а там динамические массивы поддерживаются, так что эта "паскалевская" проблема там не существует

Приложение:

Ответ отправлен: 30.01.2004, 15:05
Отправитель: Boriss


Отвечает Strory

Приветствую Вас, Sergey N.!
Если я Вас правильно понял, Вам нужно создать одномерный динамический массив. Если так, то проблема решается созданием указателя на одномерный массив. Например, как в приложении. А вообще, чтобы всё хорошо понять, нужно вплотную заняться указателями.
Удачи :)

Приложение:

Ответ отправлен: 30.01.2004, 19:20
Отправитель: Strory



Форма отправки вопроса

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (24)
C / C++ (15)
Perl (2)
Builder / Delphi (17)
Pascal (18)
Basic / VBA (7)
Java / JavaScript (3)
PHP (11)
Криптография (4)
WinAPI (10)
Радиоэлектроника (5)
Пользователю
Windows 95/98/Me (45)
Windows NT/2000/XP (62)
"Железо" (36)
Поиск информации (17)
Администратору
Windows NT/2000/XP (34)
Linux / Unix (12)
Юристу
Гражданское право (16)
Семейное право (10)
Трудовое право (12)
КоАП (11)

Отправить вопрос всем экспертам выбранной рассылки.




Задать вопрос | Регистрация эксперта | Поиск в базе | Чат | Форумы | Новости
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.


Яндекс цитирования
© 2001-2004 Россия, Москва. Авторское право: Калашников О.А.

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное