IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Научите меня с файлами работать ))), а учусь я на примерах )
BRS
сообщение 18.12.2004 10:14
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 45
Пол: Мужской

Репутация: -  0  +


Вобщем может кто нибудь написать сюда кое какие процедуры - а я уж в них сам разберусь...

procedure save_txt(x1,y1,x2,y2 : word; var name : string)
сохраняет в файл name.(txt?) цвета пикслелей в области x1,y1,x2,y2
procedure load_txt(---//----)
загружает предидужее а прогу

и какие процедуры для тех же целей нро не текстом...

А я пока пойду FAQ читать... )
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 6)
volvo
сообщение 19.12.2004 16:35
Сообщение #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
сообщение 19.12.2004 19:02
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 45
Пол: Мужской

Репутация: -  0  +


неработает ((( сам разобраться че то немогу...

кстати - можно слегка переписать процедуры, тк сохраняю я всегда одну и туже область x1 = 121, y1 = 0, x2 = getmaxx, y2 = getmaxy...

+ надо что б сохраненный файл был доступен всегда и сохранялся в тот же каталог где и программа...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 19.12.2004 19:03
Сообщение #4


Гость






BRS
А я и не писал "под ключ"... Я дал только каркас программы.
 К началу страницы 
+ Ответить 
BRS
сообщение 19.12.2004 20:07
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 45
Пол: Мужской

Репутация: -  0  +


тк - у меня суть проблемы что я вобще с файлами никогда не работал и неумею, но вот хочу научиться...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 20.12.2004 16:10
Сообщение #6


Гость






BRS
Посмотри теперь, я исправил там ошибку...
 К началу страницы 
+ Ответить 
BRS
сообщение 20.12.2004 17:17
Сообщение #7


Новичок
*

Группа: Пользователи
Сообщений: 45
Пол: Мужской

Репутация: -  0  +


Незнаю - не работает что то

я тему создал - про компиляцию - посмотри там исходник
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 19.06.2025 18:41
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"