![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
BRS |
![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 45 Пол: Мужской Репутация: ![]() ![]() ![]() |
Вобщем может кто нибудь написать сюда кое какие процедуры - а я уж в них сам разберусь...
procedure save_txt(x1,y1,x2,y2 : word; var name : string) сохраняет в файл name.(txt?) цвета пикслелей в области x1,y1,x2,y2 procedure load_txt(---//----) загружает предидужее а прогу и какие процедуры для тех же целей нро не текстом... А я пока пойду FAQ читать... ) |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
BRS
Текстовый файл здесь не пойдет. Используй бестиповый (хотя это тоже извращение, гораздо удобнее работать с getimage / putimage): Код uses graph; procedure save_colors(x1, x2, y1, y2: integer; s: string); type arr = array[1 .. maxint div sizeof(word)] of word; var data: ^arr; i, j, k, size: integer; f: file; begin size := (x2 - x1 + 1)*(y2 - y1 + 1)*sizeof(word); getmem(data, size); k := 0; for i := x1 to x2 do for j := y1 to y2 do begin inc(k); data^[k] := getpixel(i, j); end; assign(f, s); rewrite(f, size); blockwrite(f, data^, 1); close(f); freemem(data, size) end; procedure load_colors(x1, x2, y1, y2: integer; s: string); type arr = array[1 .. maxint div sizeof(word)] of word; var data: ^arr; i, j, k, size: integer; f: file; begin size := (x2 - x1 + 1)*(y2 - y1 + 1)*sizeof(word); getmem(data, size); assign(f, s); reset(f, size); blockread(f, data^, 1); close(f); k := 0; for i := x1 to x2 do for j := y1 to y2 do begin inc(k); putpixel(i, j, data^[k]); end; freemem(data, size) end; Нашел ошибку, исправил... Сообщение отредактировано: volvo - 20.12.2004 16:08 |
BRS |
![]()
Сообщение
#3
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 45 Пол: Мужской Репутация: ![]() ![]() ![]() |
неработает ((( сам разобраться че то немогу...
кстати - можно слегка переписать процедуры, тк сохраняю я всегда одну и туже область x1 = 121, y1 = 0, x2 = getmaxx, y2 = getmaxy... + надо что б сохраненный файл был доступен всегда и сохранялся в тот же каталог где и программа... |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
BRS
А я и не писал "под ключ"... Я дал только каркас программы. |
BRS |
![]()
Сообщение
#5
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 45 Пол: Мужской Репутация: ![]() ![]() ![]() |
тк - у меня суть проблемы что я вобще с файлами никогда не работал и неумею, но вот хочу научиться...
|
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
BRS
Посмотри теперь, я исправил там ошибку... |
BRS |
![]()
Сообщение
#7
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 45 Пол: Мужской Репутация: ![]() ![]() ![]() |
Незнаю - не работает что то
я тему создал - про компиляцию - посмотри там исходник |
![]() ![]() |
![]() |
Текстовая версия | 19.06.2025 18:41 |