![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
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 - |
BRS |
![]()
Сообщение
#3
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 45 Пол: Мужской Репутация: ![]() ![]() ![]() |
неработает ((( сам разобраться че то немогу...
кстати - можно слегка переписать процедуры, тк сохраняю я всегда одну и туже область x1 = 121, y1 = 0, x2 = getmaxx, y2 = getmaxy... + надо что б сохраненный файл был доступен всегда и сохранялся в тот же каталог где и программа... |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
BRS
А я и не писал "под ключ"... Я дал только каркас программы. |
BRS |
![]()
Сообщение
#5
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 45 Пол: Мужской Репутация: ![]() ![]() ![]() |
тк - у меня суть проблемы что я вобще с файлами никогда не работал и неумею, но вот хочу научиться...
|
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
BRS
Посмотри теперь, я исправил там ошибку... |
BRS |
![]()
Сообщение
#7
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 45 Пол: Мужской Репутация: ![]() ![]() ![]() |
Незнаю - не работает что то
я тему создал - про компиляцию - посмотри там исходник |
![]() ![]() |
![]() |
Текстовая версия | 18.04.2025 19:38 |