Главная страница
Навигация по странице:

  • Часть 2. Использование ООП для программирования ветвящихся алгоритмов.

  • Часть 3. Использование ООП для программирования циклических алгоритмов.

  • Лабораторная работа 3. ВИЗУАЛЬНОЕ ПРОГРАММИРОВАНИЕ.

  • Индивидуальные задания.

  • Практикум по дисциплине Технология разработки программного обеспечения


    Скачать 2.49 Mb.
    НазваниеПрактикум по дисциплине Технология разработки программного обеспечения
    Дата16.02.2022
    Размер2.49 Mb.
    Формат файлаpdf
    Имя файлаTRPO.pdf
    ТипПрактикум
    #364104
    страница2 из 3
    1   2   3
    Часть 1. Использование ООП для программирования линейных
    алгоритмов.
    1. Найти сумму цифр заданного четырехзначного числа.
    2. Определить число, полученное в оратном порядке цифр , заданного трехзначного числа.
    3. Вывести на экран 1 или 0в зависимости от того, равна ли сумма двух первых цифр заданного четырехзначного числа сумме двух его последних цифр.
    4. Вывести на экран 1или 0в зависимости от того, равен ли квадрат эго трехзначного числа кубу суммы цифр этого числа.
    5. Вывести на экран 1или 0в зависимости от того, есть ли среди первых дробной части заданного положительного вещественного числа цифра.
    6. Вывести на экран 1 или 0в зависимости от того, есть ли среди цифр трехзначного числа одинаковые.
    7. Присвоить целой переменной k третью от конца цифру в записи положительного целого числа n.
    8. Присвоить целой переменной k первую цифру из дробной части положительного вещественного числа.
    17

    9. Целой переменной S присвоить сумму цифр трехзначного целого числа k.
    10. Идет k­я секунда суток. Определить, сколько полных часов (h) и полных минут (m) прошло к этому моменту.
    11. Определить f ­ угол (в градусах) между положением часовой стрелки в начале суток и ее положением в h ­часов, т ­ минут и s ­ секунд (0<=Н<=11, 0<=т,s< =59).
    12. Определить h ­ полное количество часов и m ­ полное количество минут, прошедших от начала суток до того момента (в первой половине дня), когда часовая стрелка повернулась на f градусов(0<=f<360, f ­ вещественное число).
    13. Пусть k ­ целое от 1 до 365. Присвоить целой переменной n значение 1,2,3,...,6 или 7 в зависимости от того, на какой день недели (понедельник, вторник, ..., суббота или воскресенье) приходится k­й день невысокосного года, в втором 1 января ­ понедельник.
    14. Поменять местами значения целых переменных х и у, не используя дополнительные переменные.
    15. Вывести на экран 1 или 0в зависимости от того, имеют три заданных числа одинаковую четность или нет.
    Часть 2. Использование ООП для программирования ветвящихся
    алгоритмов.
    1. Известно, что из четырех чисел а1,а2,а3 и а4 одно отлично от трex других, равных между собой. Присвоить номер этого числа переменной п.
    2. По номеру n (n>0) некоторого года определить c ­ номер его столетия (учесть, что, к примеру, началом XX столетия был 1901, а не 1900 год!).
    3. Значения переменных а, b и c поменять местами так, чтобы оказаль а<=b<=с.
    4. Дано целое k от 1 до 180. Определить, какая цифра находится в k­й позиции последовательности 10111213...9899 , в которой выписаны подряд все двузначные числа.
    5. Дано натуральное k. Определить k­ю цифру в последовательности 110100100010000100000..., в которой выписаны подряд степени 10.
    6. В старояпонском календаре был принят 60­летний цикл, состоявший из пяти 12­летних подциклов. Подциклы обозначались названиями цвета: green(зеленый), red (красный), yellow
    (желтый), white(белый) и black (черный). Внутри каждого подцикла годы носили названия животных: крысы, коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, курицы, собаки и свиньи. (1984 год – год зеленой крысы ­был началом очередного цикла).
    Разработать программу, которая вводит номер некоторого года нашей эры и выводит его название по старояпонскому календарю.
    7. Если сумма трех попарно различных действительных чисел х, у, z меньше единицы, то наименьшее из этих трех чисел заменить полусуммой двух в противном случае заменить меньшее из х и у полусуммой двул оставшихся значений,
    8. Для целого числа k от 1 до 99 вывести фразу "мне k лет", учитывая при этом, что при некоторых значениях kслово "лет" надо заменить на слово "год" или "года".
    9. Для натурального числа k вывести фразу "мы выпили k бутылок пива", согласно окончание слова "бутылка" с числом k.
    10. Type курс=(С,В,Ю,3); {север, восток, юг, запад}
    Приказ=(вперед, вправо, назад, влево);
    Var К1, К2 :курс; ПР:приказ;
    Корабль сначала шел по курсу К1, а затем его курс был изменен согласно прикаказу ПР1.
    Определить К2 ­ новый курс корабля.
    11. Туре месяц = (январь, февраль, март, апрель, май, июнь, июль, август, сентябрь, октябрь,
    ноя6рь,декабрь);
    день=1...31;
    Var d1,d2:день;
    m1,т2:месяц;
    18

    t:boolean;
    Переменной tприсвоить значение 1 если дата d1, m1предшествует (в рамках года) дате d2, m2,
    и значение 0 в других случаях.
    12. Туре нота=(до, ре, ми, фа, солmь, ля, си);
    интервал=(секунда, терция, кварта, квинта, секста, септима);
    var n1, n2 : нота;
    i : интервал;
    Определить i­й интервал, образованный нотами п1 и п2(п1<>п2): секунда ­ это интервал из двух соседних (по кругу) нот (например, ре и ми, си и до), терция ­ интервал через ноту (например, фа и ля, си и ре) и т.д.
    13. Туре единица=(дециметр, километр, метр, милиметр, санптиметр);
    длина=real;
    var х : длина;
    Р : единица;
    Значение переменной х, означающее некоторую длину в единицах р, заменить на величину этой же длины в метрах.
    14. Туре сезон=(зима, весна, лето, осенъ);
    Var m : месяц; {определение «месяц» см. в 26}
    S : сезон;
    Определить S­сезон, на который приходится месяц m.
    15. Var k: 1...9;
    Вывести значение переменной k римскими цифрами.
    Часть 3. Использование ООП для программирования циклических
    алгоритмов.
    1. Подсчитать k ­ количество цифр в десятичной записи целого ­ n неотрицательного числа n.
    2. Переменной t присвоить значение 1 или 0 в зависимости от того, является ли натуральное число k степенью 3.
    3. Дано n вещественных чисел. Вычислить разность между максимальным и минимальным из них.
    4. Дана непустая последовательность различных натуральных чисел, за которойследует 0.
    Определить порядковый номер наименьшего из них.
    5. Даны целое n>0 и последовательность из n вещественных чисел, среди которых есть хотя бы одно отрицательное число. Найти величину наибольшего среди отрицательных чисел этой последовательности.
    6. Дано n вещественных чисел. Определить, образуют ли они возврастающую последовательность.
    7. Дана последовательность из n целых чисел. Определить, со скольких отрицательных чисел она начинается.
    8. Определить k ­ количество трехзначных натуральных чисел, сумма цифр которых равна n(1<=n<=27). Операции деления (/, div и mod) не использовать.
    9. Вывести на экран в возрастающем порядке все трехзначные числа, в десятичной записи которых нет одинаковых цифр (операции деления не использовать).
    10. Переменной t присвоить значение 1 или 0 в зависимости от того, можно или нет натуральное число n представить в виде трех полных квадратов.
    11. Дано натуральное число n. Выяснить, входит ли цифра 3 в запись числа n{2}.
    12. Дано натуральное число n. Найти сумму его цифр
    13. Дано целое n>0, за которым следует n вещественных чисел. Определить, сколько среди них отрицательных.
    14. Дано натуральное число n. Переставить местами первую и последнюю цифры числа n.
    19

    15. Дано натуральное число n. Заменить порядок следования цифр числа n на оборот.
    Лабораторная работа 3.
    ВИЗУАЛЬНОЕ ПРОГРАММИРОВАНИЕ.
    Цель работы: приобретение навыков работы с визуальными компонентами.
    Общие положения
    Меню – один из распространенных элементов пользовательского интерфейса. Меню представляет собой список пунктов, объединенных по функциональному признаку, каждый из которых обозначает команду или вложенное меню (подменю).
    Главное меню располагается в верхней части формы под ее заголовком и содержит наиболее общие команды приложения. В Delphi главное меню представлено компонентом
    MainMenu.
    Для создания и изменения меню в процессе разработки приложения в среде Delphi предназначен Конструктор меню (Menu Designer). Запуск Конструктора меню можно выполнить по команде Menu Designer… контекстного меню компонента MainMenu, а также с помощью двойного щелчка кнопкой мыши на этот компонент. При конструировании меню имеет тот же вид, что и при выполнении приложения.
    Наименование пункта меню задается путем присвоения нужного значения его свойству
    Caption. Кроме того, в Delphi у компонента MainMenu доступны такие свойства как Checked и
    Bitmap, определяющие соответственно:

    Checked = true/false – наличие/отсутствие отметки

    у пункта меню (для отметки выбора);

    Bitmap = рисунок, определяющий наличие картинки перед названием пункта в меню.
    Для закрепления процедуры за выбором некоторого пункта меню (событие OnClick), на этапе проектирования приложения следует выбрать этот пункт с помощью клавиатуры или мыши.
    Пример написания программы
    Задание. Используя компонент MainMenu создать приложение, которое при выборе определенного пункта меню обеспечивает:
    - вывод на экран сообщения «Привет!»;
    - ввод пользователем некоторого числа (аргумента);
    - вычисление cos, sin, tg, ctg, введенного аргумента;
    - вывод формул для вычисления arccos(x), arcsin(x), actg(x),arcctg(x);
    - выход из программы.
    Реализация.
    Создали новую форму и расположили на ней компоненты: MainMenu, Bevel, Label, Edit,
    Image, согласно рисунку 1.
    20

    Рис 1. Расположение компонент на форме
    Компоненты Bevel, Label и Edit располагаем на форме в следующей последовательности: сначала Bevel, затем Label и Edit – так как Bevel должен оказаться «снизу» Label’a и Edit’a.
    Четыре компонента Image располагаем на форме произвольным образом. Свойству
    Picture компонента Image1 (Image1.Picture) присваиваем значение arccos.bmp (загружаем рисунок из каталога e:\5381\Урок\Menu\). Соответственно в Image2.Picture загружаем arcsin.bmp, в Image3.Picture ­ arctg.bmp, в Image4.Picture ­ arcctg.bmp.
    Создание главного меню происходит в следующей последовательности:
    1. Помещаем на форму компонент MainMenu, двойным щелчком на компоненте вызываем
    Дизайнер Меню;
    2. Проектируем меню согласно рисунку 2 (вставка разделителя осуществляется вводом символа ‘­’ в поле Caption):
    Рис 2. Проектирование главного меню программы
    3. Кроме свойств Caption элементов Главного Меню, меняем свойство Name подпунктов меню
    «Функция» следующим образом:
    Пункт подменю
    «Функция»
    (сверху вниз)
    Свойство Caption
    Свойство Name
    Первый
    Cos(x)
    cosx1
    Второй
    Sin(x)
    sinx1 21

    Третий
    Tg(x)
    tgx1
    Четвертый
    Ctg(x)
    ctgx1
    Пятый – разделитель
    ­
    Не меняем
    Шестой
    Arccos(x)’
    arccosx1
    Седьмой
    Arcsin(x)’
    arcsinx1
    Восьмой
    Arctg(x)’
    arctgx1
    Девятый
    Arcctg(x)’
    arcctg1 4. Закрываем Дизайнер Меню и теперь за каждым пунктом меню закрепляем процедуру программы. Для этого просто щелкаем мышью на нужном пункте главного меню (оно уже появилось в форме).
    В программу необходимо добавить следующие процедуры (закрепить за …):

    за пунктом меню (п. Меню) «Привет!»:
    //выдача сообщения при выборе п.Меню "привет"
    procedure TForm1.N4Click(Sender: TObject);
    begin
    ShowMessage('Привет мир, Windows и пользователь!ж:)'+#13#10+'Это мы из МГВРК!');
    end;
    #13#10 – символ конца строки. С его помощью осуществляется переход на другую строку в окне выдачи сообщения. ‘ ж:)’ = – символ “смешной рожицы с челочкой”

    за п. Меню «Аргумент»:
    //выбор пункта меню "Аргумент"
    procedure TForm1.N7Click(Sender: TObject);
    begin label1.Caption:='Введите значение x:';
    edit1.Visible:=true;
    form1.activecontrol:=Edit1;
    end;

    за п. Меню «Выход»:
    //выбор п.Меню "Выход" - выход из приложения procedure TForm1.N2Click(Sender: TObject);
    begin close;
    end;

    за пунктами Меню cos(x), sin(x), tg(x), ctg(x):
    //обработка выборов п.п.Меню "Функция" до разделителя:
    //cos(x), sin(x), tg(x), ctg(x) осуществляется ОДНОЙ процедурой procedure TForm1.cosx1Click(Sender: TObject);
    var cod:Integer;
    ws,resstr:String;
    begin ws:=Edit1.text;
    val(ws,x,cod);
    try //начало блока try...except..end with Sender As TMenuItem do //будем обрабатывать Sender как пункт Меню begin
    //объект Sender вызвал эту процедуру if (Sender = cosx1) then //если sender ­ это cosx1 (т.е.cos(x)), тогда:
    begin str(cos(x):1:4,ws);//сразу преобразуем значение функции в строку
    Resstr:='Cos(x) = ';//и определим начало результирующей строки end;
    if (Sender = sinx1) then begin str(sin(x):1:4,ws);
    Resstr:='Sin(x) = ';
    end;
    if (Sender = tgx1)then begin str(tan(x):1:4,ws);
    Resstr:='tg(x) = ';
    end;
    if (Sender = ctgx1)then begin str(cotan(x):1:4,ws);
    Resstr:='Ctg(x) = ';
    end;
    end;
    22
    except //если в блоке try...except возникла ошибка, она обрабатывается ЗДЕСЬ
    ShowMessage(
    'А существует ли значение выбранной функции для Вашего аргумента?');
    exit; //а мы просто о ней сообщим end;
    ShowMessage(Resstr + ws);
    end;

    за событием OnKeyPress элемента Edit1:
    //выполняется при вводе символов в Edit procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin if not (key in ['0'..'9','-']) then key:=#0;
    end;

    за пунктом меню arccos(x)':
    //выбор п.Меню arccos(x)'
    procedure TForm1.arccosx1Click(Sender: TObject);
    begin //прямое преобразование Sender в элемент меню TMenuItem
    TMenuItem(Sender).checked:= not (TMenuItem(Sender).checked);
    if (TMenuItem(Sender).checked) then image1.visible:=true else image1.visible:=false;
    end;

    за пунктом меню arcsin(x)':
    //выбор п.Меню arcsin(x)'
    procedure TForm1.arcsinx1Click(Sender: TObject);
    begin
    TMenuItem(Sender).checked:= not (TMenuItem(Sender).checked);
    if (TMenuItem(Sender).checked) then image2.visible:=true else image2.visible:=false;
    end;

    за пунктом меню arctg(x)':
    //выбор п.Меню arctg(x)'
    procedure TForm1.arctgx1Click(Sender: TObject);
    begin
    TMenuItem(Sender).checked:= not (TMenuItem(Sender).checked);
    if (TMenuItem(Sender).checked) then image3.visible:=true else image3.visible:=false;
    end;

    за пунктом меню arcctg(x)':
    //выбор п.Меню arcctg(x)'
    procedure TForm1.arcctgx1Click(Sender: TObject);
    begin
    TMenuItem(Sender).checked:= not (TMenuItem(Sender).checked);
    if (TMenuItem(Sender).checked) then image4.visible:=true else image4.visible:=false;
    end;
    На рисунке 3 изображен вид работающей программы.
    23

    Рис. 3. Работающее программное приложение.
    Индивидуальные задания.
    Ниже приведено 15 вариантов задач. По указанию преподавателя выберите свое индивидуальное задание. Уточните условие задания, количество, наименование, типы исходных данных. В соответствии с этим установите количество визуальных компонент в форме.
    Во всех заданиях скалярные переменные вводить с помощью компонента TEdit с соответствующим пояснением в виде компонента TLabel. Скалярный результат выводить в виде компонента TLabel. Массивы представлять на форме в виде компонентов TStringGrid, в которых
    0­й столбец и 0­ю строку использовать для отображения индексов массивов. Вычисления выполнять после нажатия соответствующих кнопок визуального компонента MainMenu.
    1. Задана матрица размером NxM. Получить массив В, присвоив его k­му элементу значение 0, если все элементы k­го столбца матрицы нулевые, и значение 1 в противном случае.
    2. Задана матрица размером NxM. Получить массив В, присвоив его k­му элементу значение 1, если элементы k­й строки матрицы упорядочены по убыванию, и значение 0 в противном случае.
    3. Задана матрица размером NxM. Получить массив В, присвоив его k­му значение 1, если k­я строка матрицы симметрична, и значение 0 в противном случае.
    4. Задана матрица размером NxM. Определить k ­ количество "особых" элементов матрицы, считая элемент "особым", если он больше суммы остальных элементов своего столбца.
    5. Задана матрица размером NxM. Определить k ­ количество "особых" в матрицы, считая элемент "особым", если в его строке слева от него находятся элементы, меньшие его, а справа ­ большие.
    6. Задана символьная матрица размером NxM. Определить k ­ количество различных элементов матрицы (т.е. повторяющиеся элементы считать один раз).
    7. Дана матрица размером NxM. Упорядочить ее строки по неубыванию их первых элементов.
    8. Дана матрица размером NxM. Упорядочить ее строки по неубыванию суммы их элементов.
    9. Дана матрица размером NxM. Упорядочить ее строки по неубыванию их наибольших элементов.
    24

    10. Определить, является ли заданная квадратная матрица n­го порядка симметричной относительно побочной диагонали.
    11. Для матрицы размером NxM вывести на экран все ее седловые точки. Элемент матрицы называется седловой точкой, если он является наименьшим в своей строке и одновременно наибольшим в своем столбце, или наоборот.
    12. В матрице n­го порядка переставить строки так, чтобы на главной диагонали матрицы были расположены элементы, наибольшие по абсолютной величине.
    13. В матрице n­го порядка найти максимальный среди элементов, лежащих ниже побочной диагонали, и минимальный среди элементов, лежащих выше главной диагонали.
    14. В матрице размером NхМ поменять местами строку, содержащую элемент с наибольшим значением, со строкой, содержащей элемент с наименьшим значением.
    15. Из матрицы n­го порядка получить матрицу порядка n­1 путем удаления из исходной матрицы строки и столбца, на пересечении которых расположен элемент с наибольшим по модулю значением.
    25

    Лабораторная работа 4.
    ИСПОЛЬЗОВАНИЕ ТЕХНОЛОГИЙ OLE И СОМ В ВИЗУАЛЬНОМ
    ПРОГРАММИРОВАНИИ.
    Цель работы: познакомиться на конкретных примерах с технологиями OLE и СОМ.
    Основные понятия.
    На протяжении многих лет программисты стремятся придумать способы, позволяющие использовать уже написанные коды. Например, если в программе нужна работа с таблицами, то зачем придумывать велосипед, если есть Microsoft Excel. Технология, позволяющая вызвать из вашей программы Excel или даже встроить это приложение в свою систему, называется OLE.
    Студентам предлагается познакомиться на лабораторном занятии с этой технологией.
    Еще одним шагом в эволюции программирования стала технология СОМ. По сути, именно она лежит в основе технологии OLE, и именно с помощью нее реализуется сложное взаимодействие между приложениями, написанными разными программистами и на разных языках. На этом занятии предлагается рассмотреть использование СОМ­серверов Delphi для работы с Word и Excel.
    Программа 1 (OLE технологии).
    Шаг 1. Создайте новую форму.
    Шаг 2. Расположите на ней компоненты: OLEContainer (закладка System) и кнопку (Button).
    Шаг 3. Создайте файл Excel. Занесите в него свои ФИО. Сохраниете его ‘H:\l.xls’.
    Шаг 4. Создайте процедуру обработки сообщения о нажатии на кнопку:
    procedure TForml.ButtonlClick(Sender: TObject); begin
    OLEContainerl.CreateLinkToFile('H:\1.xls',FALSE); end;
    Шаг 5. Скомпилируйте приложение. Нажмите на кнопку. Убедитесь, что в OLEContainer будет загружен созданный вами файл 1 .xls.
    Шаг 6. Щелкните 2 раза на OLEConatainer, и вы увидите, что будет запущен Microsoft Excel с загруженным в него вашим фалом. Внесите в файл изменения. Сохраните файл и закройте
    Excel. Нажмите в своем приложении кнопку и убедитесь, что в OLEContainer отобразились изменения файла (рис. 1).
    Шаг 7. Измените процедуру обработки сообщения о нажатии на кнопку следующим образом:
    procedure TForml.ButtonlClick(Sender: TObject); begin
    OLEContainerl. CreateObj ectFromFile (' H::\l .xls ' , false) ;
    end;
    Шаг 8. Добавьте еще одну кнопку на форму и напишите для нее обработчик события нажатия на нее:
    procedure TForml.Button2Click(Sender: TObject);
    begin
    OLEContainerl.Close; end;
    Шаг 9. Скомпилируйте проект. Нажмите на кнопку «Загрузить файл». В OLEContainer'e отобразится содержимое файла.
    Щелкните 2 раза на OLEContainer. Вы получите результат, показанный на рис. 2.
    Excel будет встроен в ваше приложение, и в нем будет открыт ваш файл. Для того чтобы выйти из режима редактирования, нажмите кнопку «Закрыть файл».
    Шаг 10. Теперь снова поменяйте процедуру для первой кнопки:
    procedure TForml.ButtonlClick(Sender: TObject);
    26
    begin
    OLEContainerl.InsertObjectDialog; end;
    Шаг 11. Скомпилируйте проект. Теперь при нажатии на кнопку «Загрузить файл» будет появляться стандартная форма, показанная на рис. 3. В ней показаны все программы, которые вы можите встраивать или связывать со своей программой.
    Рис.1. Иллюстрация шага 6.
    Рис.2. Иллюстрация шага 9.
    27

    Рис.3. Иллюстрация шага 11.
    Можно создать новый объект этих программ или использовать объекты из файла, также есть возможность связывать объект или внедрять в приложение (рис. 4).
    Рис. 4. Иллюстрация шага 11.
    Шаг 12. Поэкспериментируйте с различными приложениями.
    Программа
    2
    (СОМ
    сервера
    Delphi).
    I
    Рассмотрим также, как можно использовать СОМ­технологии для внесения изменений в документы других программ.
    Следующая программа предназначена для записи данных из вашей программы в документ
    Excel и считывания информации из документа.
    1 1.Найдите на закладке
    Servers компонент
    ExcelApplication и
    поместите его на форму нового приложения. Установите свойство этого компонента
    AutoQuit=true. 1 2.Создайте файл 'H:\2.xls\
    I
    3.Поместите на форму одну кнопку. Дайте ей название «Записать данные». Напишите для нее обработчик события нажатия на кнопку:
    procedure
    TForml.ButtonlClick(Sender:
    TObject);
    1
    var Filenamel:01eVariant;
    28
    begin
    ExcelApplicationl.Connect;
    //Запись в существующий файл
    Filenamel: = 'Н:\2.xls ' ;
    ExcelApplicationl.Workbooks.Open(Filenamel, EmptyParam,
    EmptyParam,EmptyParam, EmptyParam, EmptyParam,
    EmptyParam, EmptyParam,EmptyParam, EmptyParam,
    EmptyParam, EmptyParam, false, 0);
    //Установка цвета заливки ячейки Excel
    ExcelApplicationl.Range[Edit2.Text,Edit2.Text].Interior .Colorlndex := 5;
    //Занесение информации в определенную ячейку таблицы
    ExcelApplicationl.Range[Edit2.Text,Edit2.Text].Value:=
    Editl.Text;
    ExcelApplicationl.Disconnect; end;
    4.Добавьте на форму два компонента Label и Edit, как показано на рисунке.
    5. Скомпилируйте проект. Внесите текст для вставки в
    Excel и номер ячейки (он состоит из буквы ­ номер столбца, и цифры ­ номер строки) (рис. 5).
    Рис.5. Иллюстрация шага 5.
    После нажатия на кнопку программа спросит вас: «Сохранить изменения в файле?».
    Сохраните. Потом откройте файл и убедитесь, что данные записаны в нужную ячейку.
    6. Добавьте в предыдущую процедуру для наглядности следующую строку:
    ExcelApplicationl.Visible[0]:=TRUE;
    //Установка цвета заливки ячейки Excel
    7. Скомпилируйте проект еще раз. Теперь Excel будет запущен не в фоновом режиме, как это было ранее.
    Примечание. При программировании работы с Excel и Word рекомендуем написать макрос в самом Excel или Word, а потом перенести код макроса в свою программу с учетом небольших особенностей синтаксиса выбранного языка.
    8. Измените название элементов на форме.
    9. Измените процедуру нажатия на кнопку следующим образом:
    procedure TFcrml.ButtonlClick(Sender: TObject);
    var FileNamel: OleVariant;
    begin
    ExcelApplicationl.Connect;
    Filename1: = 'D:\2.xls
    1
    ;
    ExcelApplicationl.Workbooks.Open(Filenamel, EmptyParam,
    29

    EmptyParam, EmptyParam, EmptyParam, EmptyParam,
    EmptyParam,
    EmptyParam, EmptyParam, EmptyParam, EmptyParam,
    EmptyParam, false, 0);
    Editl.Text:=ExcelApplication1.Range[Edit2.Text, EmptyParam].Text;
    ExcelAppiicationl.Disconnect; end;
    10. Создайте программу для записи информации в документ Word. Для этого измените форму проекта, как показано на рис. 6 (добавьте компоненты WordApplication и WordFont) и перепишите обработчик нажатия на кнопку:
    procedure TForml.ButtonlClick(Sender: TObject);
    begin
    WordApplicationl.Connect;
    //создание нового документа
    WordApplicationl.Documents.Add(EmptyParam,EmptyParam);
    WordApplicationl.Visible:=true;
    //Установка шрифта
    WordFontl .ConnectTo (WcrdApplicationl. Selection . Font) ;
    WordFontl.Bold:=3;
    WordFontl.Size:=17;
    //Вставка текста
    WordApplicationl.Selection.InsertAfter(Editl.Text);
    WordApplicationl.Disconnect;
    end;
    Рис.6. Форма с компонентами WordApplication и WordFont.
    1   2   3


    написать администратору сайта