XFlush(display);
delay(20);
end;
(* вциклеувеличиваемокно *)
for i:=0 to 39 do begin
inc(win_width,3);
inc(win_height,3);
XResizeWindow(display, win, win_width, win_height);
XFlush(display);
delay(20);
end;
end;
delay(1000);
(* пример перемещения окна *)
begin
(* вначале получаем текущие атрибуты окна *)
XGetWindowAttributes(display, win, @win_attr);
xx := win_attr.x;
y := win_attr.y;
(* затем находим окно родителя *)
begin
(* выполним запрос необходимых значений *)
XQueryTree(display, win,
@root_win,
@parent_win,
@child_windows, @num_child_windows);
(* мы должны освободить список дочерних дескрипторов, *)
(* так как он был динамически выделен XQueryTree() *)
XFree(child_windows);
end;
(* Транслируем локальные координаты в экранные, используя *)
(* корневое окно как окно, относительно которого выполняется *)
(* трансляция. Это работает потому, что корневое окно всегда *)
(*занимает весь экран, и его левый верхний угол совпадает *)
(* с левым верхним углом экрана *)
XTranslateCoordinates(display,
parent_win, win_attr.root,
xx, y,
@scr_x, @scr_y,
@child_win);
(* перемещаем окно влево *)
for i:=0 to 39 do begin
dec(scr_x,3);
XMoveWindow(display, win, scr_x, scr_y);
XFlush(display);
delay(20);
end;
(* перемещаемокновниз *)
for i:=0 to 39 do begin
inc(scr_y,3);
XMoveWindow(display, win, scr_x, scr_y);
XFlush(display);
delay(20);
end;
(* перемещаемокновправо *)
for i:=0 to 39 do begin
inc(scr_x,3);
XMoveWindow(display, win, scr_x, scr_y);
XFlush(display);
delay(20);
end;
(* перемещаемокновверх *)
for i:=0 to 39 do begin
dec(scr_y,3);
XMoveWindow(display, win, scr_x, scr_y);
XFlush(display);
delay(20);
end;
end;
delay(1000);
(* пример сворачивания и восстановления окна *)
begin
(* сворачиваемокно *)
XIconifyWindow(display, win, XDefaultScreen(display));
XFlush(display);
delay(2000);
(* восстанавливаемокно *)
XMapWindow(display, win);
XFlush(display);
delay(2000);
end;
XFlush(display);
(* короткаяпередышка *)
delay(2000);
(* закрываем соединение с Х сервером *)
XCloseDisplay(display);
end.
Задание №4 «Текстовый процессор MSWORD»
Создание таблицы. Перемещение по таблице. Вставка строк и столбцов в таблицу. Сортировка данных в таблице. Изменение ширины и высоты ячеек.
Создание таблицы
Создание новой таблицы можно осуществить тремя способами:
Нарисовать
Вставить
Создание на основе существующих данных (текста, чисел)
1. Нарисовать (создать) таблицу
Для создания таблицы со сложным заголовком целесообразно использовать способ Нарисовать таблицу, выбрав команду Таблица / Нарисовать таблицу. Появится плавающая панель инструментов Таблицы и границы, с помощью которой можно создать таблицу и осуществить ее редактирование и форматирование.
Ввод данных и перемещение по таблице
Ввод данных (текст или числа) в таблицу производится с помощью клавиатуры. Если введено больше символов, чем может поместиться в одной строке, Word автоматически перенесет символы, которые не поместились в текущей строке, на следующую строку в той же ячейке.
Наиболее простой способ перемещения по ячейкам таблицы заключается в использовании мыши. Для того чтобы перейти в требуемую ячейку, достаточно установить на нее указатель мыши и нажать левую кнопку. Ниже приведены клавиши, позволяющие перемещаться по таблице.
Комбинация клавиш | Назначение |
Tab | Перемещает курсор вправо на одну ячейку. Добавляет новую строку, если курсор расположен в последней ячейке |
Shift + Tab | Перемещает курсор влево на одну ячейку |
"стрелка вверх" и "стрелка вниз" | Перемещает курсор в последующую или предыдущую строку соответственно |
<-- и --> | Перемещает курсор на один символ в пределах ячейки. Нажатие этих клавиш соответственно в начале и конце ячейки приведет к перемещению в предыдущую или последующую ячейки |
Alt + Ноmеи Alt + End | Перемещает курсор в первую или последнюю ячейку строки соответственно |
Alt + PgUp и Alt + PgDn | Перемещает курсор в первую или последнюю строку столбца соответственно |
Для вставки новых строк/столбцов в таблицу необходимо: выделить в таблице столько строк/столбцов, сколько необходимо добавить, выбрать пункт Меню=>Таблица Добавить строки (Добавить столбцы), если такой команды нет, то выделение строк/столбцов выполнено некорректно.
Новые строки/столбцы будут вставлены перед выделенными областями.
Для вставки строк в конец таблицы поместите курсор в начало абзаца, следующего за таблицей и выберите пункт Меню=>Таблица=>Добавить строки. В диалоговом окне “Добавление строк” задайте число вставляемых строк (новые строки будут иметь формат последней строки таблицы).
Чтобы расширить таблицу вправо, вставляя новые столбцы, выделите область с правой сторона таблицы, выберите пункт Меню=>Таблица=>Добавить столбцы. В результате таблица будет расширена вправо на один столбец.
Добавление ячеек осуществляется аналогично добавлению строк и столбцов в таблицу, но при этом в диалоговом окне “Добавление ячеек” необходимо выбрать один из способов вставки новых ячеек.
Для удаления ячеек, строк или столбцов выделите соответствующую область в таблице и в меню выберите подходящий пункт Меню=>Таблица=>Удалить ячейки (Удалить строки, Удалить столбцы). Для удаления строки (столбца) можно встать в любую ячейку этой строки (столбца), выбрать пункт “Удалить ячейки” и в открывшемся окне поставить переключатель “Удалить всю строку” (“Удалить весь столбец”).
Выделенные области нельзя удалить с помощью клавиш Delete или BackSpace. Эти клавиши удаляют только содержимое ячеек.
Операция сортировки данных используется всегда для удобства нахождения нужной информации. Когда на экране (или на бумаге) отображается таблица, гораздо легче найти нужную строку, если эти строки упорядочены. Вы привыкли к тому, что табличные данные упорядочены по алфавиту, по дате, по увеличению или уменьшению значений в столбцах, содержащих числа. Но в разных ситуациях мы хотели бы сортировать строки по разным признакам (столбцам таблицы). В идеале это должно выполняться легким движением руки. Именно так и позволяет делать Access. По умолчанию, когда таблица открывается в режиме Таблицы, она упорядочивается по значению ключевого поля. Если ключевое поле для таблицы не определено, записи выводятся в порядке их ввода в таблицу. Если нужно отсортировать записи по значению другого поля, достаточно установить курсор на любую строку соответствующего столбца и нажать одну из кнопок на панели инструментов: Сортировка по возрастанию (Sort Ascending) или Сортировка по убыванию (Sort Descending).
Другой способ выполнения этой операции: щелкнуть правой кнопкой мыши по любой строке нужного столбца и выбрать из контекстного меню (рис. 2.55) соответствующую команду.
Таким образом можно упорядочить записи по любому столбцу таблицы. Ограничения существуют только на тип данных, которые можно упорядочивать — нельзя сортировать значения полей типа MEMO, гиперссылки или объекты OLE.
Чтобы правильно применять сортировку, нужно знать несколько простых правил.
При сортировке в возрастающем порядке записи, содержащие пустые поля (с пустыми значениями), указываются в списке первыми.
Числа, находящиеся в текстовых полях, сортируются как строки символов, а не как числовые значения. Если нужно отсортировать их в числовом порядке, все текстовые строки должны содержать одинаковое количество символов. Если строка содержит меньшее количество символов, то сначала нужно вставить незначащие нули.
При сохранении таблицы сохраняется и порядок ее сортировки.
Высота и ширина ячейки
Чтобы формировать вид документа в процессе его создания, недостаточно только функций записи информации в ячейки, необходимо также изменять ее визуальные параметры. Самое простое, с чего можно начать, - изменение ширины столбцов и высоты строк. Доступ к ширине столбцов можно получить, используя коллекцию Columns. Используя номер колонки в буквенном или числовом формате и свойство коллекции ColumnWidth, можно изменить ширину столбца или назначить ее. Определенная ниже функция, реализованная на Delphi, устанавливает ширину столбца.
Code: |
Function SetColumnWidth (sheet:variant;column:variant;width:real):boolean;beginSetColumnWidth:=true;tryE.ActiveWorkbook.Sheets.Item[sheet].Columns [column].ColumnWidth:=width;exceptSetColumnWidth:=false;end;End; |
Для определения ширины столбца используйте следующий оператор: width:=E.ActiveWorkbook .Sheets.Item[sheet].Columns[column].ColumnWidth;
Доступ к высоте строк можно получить, используя коллекцию Rows. Назначая номер строки и свойство коллекции RowHeight, можно изменить высоту строки или назначить ее. Определенная ниже функция, реализованная на Delphi, устанавливает высоту строки.
Code: |
Function SetRowHeight (sheet:variant;row:variant;height:real):boolean;beginSetRowHeight:=true;tryE.ActiveWorkbook.Sheets.Item[sheet].Rows[row].RowHeight:=height;exceptSetRowHeight:=false;end;End; |
Для определения высоты строки используйте следующий оператор: height:=E.ActiveWorkbook.Sheets.Item[sheet].Rows[row].RowHeight;
Задание №5 «Табличный процессор EXCEL»
Работа с функциями в EXEL. Работа с файлами.
Работа с функциями
Подготовьте таблицу для расчета ваших еженедельных трат на поездки в городском транспорте:
Создайте таблицу, пользуясь образцом. Для этого:
В ячейку B1 введите первый день недели.
В выделенной ячейке B1 в правом нижнем углу можно заметить маленький черный квадрат - Маркер заполнения. Если поместить курсор на маркер заполнения, курсор принимает форму черного крестика. Перетаскивание маркера заполнения приводит к копированию содержимого в соседние ячейки. Помимо копирования данных, функция автозаполнения позволяет создавать списки. В нашем случае, после того как вы введете в ячейку "понедельник" и произведете автозаполнение соседних ячеек, то вы получите список: "вторник", "среда" и т.д.