Рик Гаско - Простой учебник программирования
Название: | Простой учебник программирования | |
Автор: | Рик Гаско | |
Жанр: | Учебники и самоучители по компьютеру, Программирование: прочее | |
Изадано в серии: | Программирование | |
Издательство: | СОЛОН-Пресс | |
Год издания: | 2018 | |
ISBN: | 9785913592811 | |
Отзывы: | Комментировать | |
Рейтинг: | ||
Поделись книгой с друзьями! Помощь сайту: донат на оплату сервера |
Краткое содержание книги "Простой учебник программирования"
Книга написана необычным для многих — живым, простым и емким языком. Автор не любит длинных описаний программ, поэтому прерывается на пояснения, что делает книгу удобной для понимания и легкой в усвоении материала. Чтение учебника не утомляет, а наоборот, — захватывает. Это лучший учебник программирования, по крайней мере, из всех доступных на русском языке . Проработав книгу от начала и до конца, читатель получит ясное понимание — что это такое, программирование. Выбранный в дальнейшем конкретный язык программирования неважен, важны принципы. В первую очередь это книга для тех, кто, являясь профессионалом в своей области, хочет овладеть программированием или, по крайней мере, научиться разговаривать с программистами на равных. От самых начал до понятий достаточно глубоких. Прочтите и узнайте!
Читаем онлайн "Простой учебник программирования". [Страница - 43]
другого способа. А также появилось несколько глобальных (для нашего
модуля) переменных. Если по ним есть какието вопросы, то они
разъяснятся на следующем варианте нашей программы.
267
А теперь возникает мелкая техническая проблема а в каком виде
хранить картинки в памяти как они есть, то есть в хитром формате
BMP Или преобразовать их в какойто внутренний универсальный
формат? Опятьтаки предлагаю об этом поразмыслить на досуге, в
свободное время, которого у вас конечно предостаточно. А поскольку у
меня свободного времен экстремально мало, предлагаю не думать и
применить вариант номер один. Картинка грузится в память как файл, не
анализируя структуру файла. И как файл в памяти и хранится. Как файл
означает если, безо всяких выкрутасов и преобразований, картинку
скопировать из памяти на диск получим в точности то, что мы и
загружали.
Итак, пошли по списку процедур. Первым номером загрузить картинку,
сохранить в памяти и добавить в наши списки. Или подробнее:
procedure AddPic(
begin
end;
fName
: string);
Очень скучное но очень маленькое техническое отступление. С
переходом от ДОС к Windows многие вещи значительно упростились.
Например, намного проще стала работа с указателями. А некоторые, как
легко догадаться, совсем наоборот. Как оно было в ДОСе запускаем
программу и открываем точнее пытаемся открыть файл. В каком
каталоге программа ищет файл? Странный вопрос в том из которого
она, программа, запущена. Или нет? Вопрос, конечно, интересный и, на
самом деле, непростой. Вы позже много раз столкнётесь с этой
проблемой. В любом случае, общий алгоритм:
Перейти в текущий каталог
Проверить, существует ли файл
Узнать его размер
Выделить память в соответствующем количестве
Загрузить файл в эту память
И всё освобождать память не надо!!! Мы ведь хотим, чтобы картинка
наша оставалась в доступности на всё время выполнения программы.
Получается примерно так:
268
procedure AddPic(
fname : s t r i n g ) ;
var
F
TFile;
SR
SearchRec;
integer;
rez
begin
F i n d F i r s t ( f n a m e , A r c h i v e , SR);
i f rez
0 then begin
numOf:=numOf + 1 ;
Names[numOf]:=SR.Name);
Sizes[numOf]:=SR.Size;
3etMem( P s [ n u m O f ] ,
SR.Size);
A s s i g n ( F, SR.Name);
R e S e t ( F, 1 ) ;
B l o c k R e a d ( F, P s [ n u m O f ] ^ , S R . S i z e ) ;
Close(F);
end;
end;
А теперь заглянем чуть дальше, за границы Турбо Паскаля. Из какого
каталога/директории/папки будет загружен наш файл? Очевидно из
того, из которого запущена наша программа. Если файла там внезапно не
окажется, мы будем разочарованы. Забегая вперёд, в Windows всё не так.
Файл система будет искать в текущем каталоге, который совсем не
обязательно является тем самым из которого наша программа запущена.
Поэтому в Delphi настоятельно рекомендуется первой строкой любой
программы, работающей с файлами, сделать следующую:
ChDir(ExtractFilePath(ParamStr(0)));
Мы видим вызов процедуры, которая вызывает процедуру, которая
вызывает процедуру. У последней процедуры, кстати, тоже есть
параметр.
Поглядим, что они собственно делают, но не слева направо, а справа
налево. Это очень скучно, но это совершенно необходимо, поэтому оно
будет.
ParamStr функция возвращающая один из параметров, с которым
вызвана наша программа. Имеется в виду, что программа вызвана из
командной стоки чтото вроде pkzip rP mumu. В этом случае ParamStr(I)
вернет строку "rP', a ParamStr(2) вернет строку. "mumu". Всё это для нас
имеет сугубо исторический интерес, поскольку вряд ли придётся писать
нам программу, параметры которой передаются через командную строку.
Но вот параметр номер ноль имеет совершенно иной смысл почемуто.
269
Последний параметр возвращает полный путь к запускаемой программе
в данном случае чтото вроде "c:\pkzip.exe". Для чего нам это нужно? В
нашем случае чтобы выковырять из этого полного имени нашей
программы путь, где она, наша программа, лежит. А затем, путем
применения процедуры ChDir туда в этот каталог и перейти то есть
сделать его рабочим. А что такое рабочий каталог было объяснено
несколько раньше.
Поскольку писать этот ужас каждый раз заново совершенно невозможно,
напишем это один раз и положим в отдельный модуль, который и будем
прицеплять потом ко всем нашим программам, даже не раздумывая,
нужен он там и ли нет. Примерно так:
unit OurLib;
{
interface
{
p r o c e d u r e GoHome;
{
implementation
uses
Dos;
{
p r o c e d u r e --">
Книги схожие с «Простой учебник программирования» по жанру, серии, автору или названию:
Валерий Владимирович Трофимов, Татьяна Александровна Павловская - Основы алгоритмизации и программирования Жанр: Учебники и пособия для среднего и специального образования Год издания: 2019 Серия: Профессиональное образование |
Тейт Брюс - Семь языков за семь недель. Практическое руководство по изучению языков программирования Жанр: Учебники и самоучители по компьютеру Год издания: 2017 |
Рик Гаско - Простая математика для простых программистов Жанр: Математика Год издания: 2018 Серия: Программирование |