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

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


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


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

Выпуск № 265
от 30.03.2004, 13:00

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


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

Strory
Статус: Доверительный
Общий рейтинг: 163.88
[Подробней >>]
Boriss
Статус: Профессиональный
Общий рейтинг: 155.82
URL: Программирование на Паскале
[Подробней >>]
vitya
Статус: Профессиональный
Общий рейтинг: 108.97
[Подробней >>]
 
sir henry
Статус: Профессиональный
Общий рейтинг: 158.92
[Подробней >>]
Pawel
Статус: Профессиональный
Общий рейтинг: 158.45
[Подробней >>]
samum2000
Статус: Профессиональный
Общий рейтинг: 131.17
[Подробней >>]
 
Ayl
Статус: Профессиональный
Общий рейтинг: 116.6
[Подробней >>]
Grand
Статус: Опытный
Общий рейтинг: 142.02
[Подробней >>]
Vitally
Статус: Доверительный
Общий рейтинг: 136.95
[Подробней >>]
 
Dark_Lord
Статус: Профессиональный
Общий рейтинг: 109.91
[Подробней >>]
VOVAN
Статус: Доверительный
Общий рейтинг: 104.24
[Подробней >>]


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

Вопрос № 445. Уважаемые эксперты! В паскале есть ограничение на функцию GetMem(); зарезервировать можно только 64K... (ответов: 7)
Вопрос № 446. Думаю, я вас уже достал =). Но мне в самом деле очень нужно и срочно. Скажите, пожалуйста, можно ли ... (ответов: 7)
Вопрос № 447. Прошу прощения, но это опять я. =) Как можно преобразовать integer в string. Сколько в Сети не искал... (ответов: 8)

Вопросов: 3, ответов: 22


 Вопрос № 445

Уважаемые эксперты! В паскале есть ограничение на функцию GetMem(); зарезервировать можно только 64Kb. Соответственно
весь экран 1024х768х256 сохранить с помощью GetImage() не получается. Не подскажите ли решение такой проблемы? Спасибо.



Вопрос отправлен: 26.03.2004, 19:14
Отправитель: =FeanaR=

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

Отвечает Strory

Приветствую Вас, =FeanaR=!
Получится! Если слегка постараться и разбить "большой" участок экрана, который "не помещается" в 64 Кб на несколько более маленьких. Думаю, что это не сильно усложнит алгоритм (хотя, я же его не видел).
А Вы что решили за два дня написать супер-пупер графический редактор? :)

Ответ отправлен: 27.03.2004, 06:43
Отправитель: Strory


Отвечает Boriss

Доброе время суток, =FeanaR=!
Объявите массив [1..12] указателей - и все

Ответ отправлен: 27.03.2004, 09:06
Отправитель: Boriss


Отвечает vitya

Приветствую Вас, =FeanaR=!
По кусочкам. В мозаику сложи картинку.

Ответ отправлен: 27.03.2004, 09:52
Отправитель: vitya


Отвечает sir henry

Добрый день, =FeanaR=!
А Вы на FreePascal перейти не хотите? Там это и многие дурацкие ограничения сняты.

Ответ отправлен: 27.03.2004, 10:24
Отправитель: sir henry


Отвечает Pawel

Здравствуйте, =FeanaR=!
По частям сохраняй, или используй встроенный asm

Ответ отправлен: 28.03.2004, 12:50
Отправитель: Pawel


Отвечает samum2000

Приветствую вас,=FeanaR=!
Разбивай на несколько блоков по 64Kb
--------------------------
-=Experts helper: testmode=-

Ответ отправлен: 29.03.2004, 11:43
Отправитель: samum2000


Отвечает Ayl

Приветствую Вас, =FeanaR=!
Самое простое - сохраняй по частям. Высчитай, чему равен размер окна, который "влезает" в 64К и сохраняй экран такими окнами. Т.к. размер всего экрана равен 786432 байт, то сохранить весь экран в памяти у тебя, скорее всего, не получится (по крайней мере, в нижней памяти - точно). Поэтому придется сбрасывать на диск. Потом нужно будет только корректно восстановить.


Ответ отправлен: 29.03.2004, 17:44
Отправитель: Ayl


 Вопрос № 446

Думаю, я вас уже достал =). Но мне в самом деле очень нужно и срочно. Скажите, пожалуйста, можно ли в Pascal изменять количество ячеек массива во время выполнения программы? Тип массива - array [0..10, 0..10]of byte . Большое спасибо.



Вопрос отправлен: 26.03.2004, 21:17
Отправитель: =FeanaR=

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

Отвечает Grand

Доброе время суток, =FeanaR=!
Ну и вопрос. Ведь вы же при описании массива указываете его размер. И как вы собираетесь его менять, а?


Ответ отправлен: 26.03.2004, 21:52
Отправитель: Grand


Отвечает Strory

Здравствуйте, =FeanaR=!
Ну, если только этот массив динамический... Но динамические массивы стандартный Паскаль не поддерживает, поэтому придётся Вам его сделать самому. Пример приводить не буду, т.к. вопрос уже настолько изъезжен, что подписчиков уже, наверное, мутит при одном лишь упоминании о массивах и их "динамичности". Поэтому, если сами не найдёте, то пишите мне на mailto:strory@newmail.ru

Ответ отправлен: 27.03.2004, 06:36
Отправитель: Strory


Отвечает Boriss

Доброе время суток, =FeanaR=!
:)) Нет не достали. Даже приятно, что можно кому-то помочь...
Нет нельзя, но вот передавать подпрограмме массив неопределенной длины можно
О том, как решать такую проблему я писал в рассылке, статью можно найти по адресу http://www.borlpasc.narod.ru/Boris/1.htm

Ответ отправлен: 27.03.2004, 09:10
Отправитель: Boriss


Отвечает vitya

Приветствую Вас, =FeanaR=!
нет нельзя.

Ответ отправлен: 27.03.2004, 09:51
Отправитель: vitya


Отвечает sir henry

Добрый день, =FeanaR=!
Можно. Только Вам для этого придется воспользоваться объектом TCollection. Напрямую Паскаль динамические массивы не поддерживает.

Ответ отправлен: 27.03.2004, 10:23
Отправитель: sir henry


Отвечает Pawel

Приветствую Вас, =FeanaR=!
В стандортном нельзя.

Ответ отправлен: 28.03.2004, 12:54
Отправитель: Pawel


Отвечает samum2000

Приветствую вас,=FeanaR=!
Нет. Так просто не получиться. Надо использовать динамическую память и индексную арифметику. Т.е. у тебя есть указатель, который ссылается на начало массива, за ним ты резервируешь необходимый в данный момент объем памяти.
--------------------------
-=Experts helper: testmode=-

Ответ отправлен: 29.03.2004, 11:42
Отправитель: samum2000


 Вопрос № 447

Прошу прощения, но это опять я. =) Как можно преобразовать integer в string. Сколько в Сети не искал, а ничего толкового не нашёл. Заранее большое спасибо!



Вопрос отправлен: 27.03.2004, 04:24
Отправитель: =FeanaR=

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

Отвечает sir henry

Здравствуйте, =FeanaR=!
В сети можно было и не искать. Для этого есть встроенная процедура:
Str(var число:количество_знаков:знаков_после_запятой, var строка);

Ответ отправлен: 27.03.2004, 10:45
Отправитель: sir henry


Отвечает Vitally

Доброе время суток, =FeanaR=!
В приложении програмка из стандартной Борландовской справки.

Приложение:

Ответ отправлен: 29.03.2004, 21:49
Отправитель: Vitally


Отвечает Strory

Приветствую Вас, =FeanaR=!
Integer в String:
Procedure Str(N: integer; S: String);
String в Integer:
Procedure Val(S: String; N: integer; C: Code);
Скажите, а Вы вообще, когда-нибудь спите? :)
Про процедуры эти написано в хелпе, а в сети нет, потому что это само собой разумеется знать...

Ответ отправлен: 27.03.2004, 06:30
Отправитель: Strory


Отвечает Boriss

Здравствуйте, =FeanaR=!
Проще было посмотреть в учебнике (на www.turbopascal.tk) они есть в электронном виде. Про толковое в сети - не понятно..
А преобразует Str - как пользоваться, есть стандарный пример. То есть пишете Str, наводите курсор на ..., и жмете Crt+F1 - внизу "ссылка" на пример

Ответ отправлен: 27.03.2004, 09:12
Отправитель: Boriss


Отвечает Dark_Lord

Здравствуйте, =FeanaR=!
str(string, integer);

Ответ отправлен: 27.03.2004, 14:20
Отправитель: Dark_Lord


Отвечает VOVAN

Здравствуйте, =FeanaR=!
integer to string
str(integer___,string___);
string to integer
val(string__,integer__);

Ответ отправлен: 27.03.2004, 17:49
Отправитель: VOVAN


Отвечает Pawel

Добрый день, =FeanaR=!
Процедура Str(integer,string)

Ответ отправлен: 28.03.2004, 12:55
Отправитель: Pawel


Отвечает samum2000

Приветствую вас,=FeanaR=!
Integer в string: Str(myint,mystring);
--------------------------
-=Experts helper: testmode=-

Ответ отправлен: 29.03.2004, 11:42
Отправитель: samum2000



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

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

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

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

Ваше имя:

Ваш e-mail:

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


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

Ваш вопрос:


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


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


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

Программисту
Assembler (26)
C / C++ (16)
Perl (4)
Builder / Delphi (18)
Pascal (22)
Basic / VBA (4)
Java / JavaScript (6)
PHP (11)
Криптография (6)
WinAPI (14)
Радиоэлектроника (10)
Пользователю
Windows 95/98/Me (39)
Windows NT/2000/XP (52)
"Железо" (31)
Поиск информации (19)
Администратору
Windows NT/2000/XP (26)
Linux / Unix (11)
Юристу
Гражданское право (11)
Семейное право (10)
Трудовое право (11)
КоАП (8)

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




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


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

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


В избранное