Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы 40-50.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
315.9 Кб
Скачать
  1. Особенности работы с файлами.

  2. Как известно, файлы имеют различные форматы и к ним применяются различные программы для обработки. Например, файлы рисунков BMP, текстовые файлы TXT и т.п. Файлы имеют различные имена и определенное расширение, имеющее в среде MS-DOS максимально три символа. Если у файла расширение RAR, то пользователь и операционная система знает, что это архиватор, причем windosw для обработки этого файла применяет средства, указанные в специальном разделе реестра.

  3. Копирование файлов

  4. Для копирования файлов применяется функция CopyFile. Формат ее такой:

  5. CopyFile(Исходный_файл,Записуемый_файл,Флаг_перезаписи);

  6. где: Исходный_файл – полный путь и название файла, который копируется;

  7. Записуемый_файл – полный путь и название файла, куда копируется исходный файл;

  8. Флаг_перезаписи – будет или нет перезаписан файл, если таковой уже существует (true - не будет, false - будет перезаписан).

  9. CopyFile является функцией, которая возвращает флаг успешной или нет операции копирования.

  10. Например, следующая строка:

  11. if not CopyFile('c:\command.com','c:\1.com',true) then ShowMessage('Ошибка копирования');

  12. скопирует файл command.com в файл 1.com только в том случае, если последнего нет, в противном случае будет выдаваться сообщение об ошибке копирования.

  13. Перемещение файлов

  14. Для перемещения файлов применяется функция MoveFile. Она имеет следующий формат:

  15. MoveFile(Исходный_файл,Записуемый_файл);

  16. Ее параметры аналогичны вышерассмотренной команде за исключением отсутствия флага перезаписи.

  17. Пример:

  18. if not MoveFile('c:\1.com','c:\2.com') then ShowMessage('Ошибка перемещения');

  19. Переименование файлов

  20. Функция RenameFile

  21. if not RenameFile('c:\2.com','c:\3.com') then ShowMessage('Ошибка переименования');

  22. У всех вышесказанных командах параметры исходного и конечного файла имеет тип PChar. Это строковый тип с завершающимся нулем. Возможно, вы раньше слышали о таком формате строковых данных. В такую переменную можно занести строку очень большой длины. Ее размер ограничивается наличием нулевого байта в конце. Теоретически такая переменная может иметь бесконечный размер. На практике она ограничивается размерами выделяемой памяти для программы (2Гб).

  23. Преобразование обычной строковой переменной, типа String в PChar производится функцией:

  24. PChar(Строковая_переменная).

  25. При этом, для команд файловых операций возможны объединение строк. Например:

  26. procedure TForm1.Button1Click(Sender: TObject);

  27. Var InDir,OutDir:String; // объявление строковых переменных

  28. begin

  29. InDir:='c:\1\'; // каталог исходных файлов

  30. OutDir:='c:\2\'; // каталог записуемых файлов

  31. CopyFile(PChar(InDir+'1.txt'),PChar(OutDir+'1.txt'),false);

  32. CopyFile(PChar(InDir+'2.txt'),PChar(OutDir+'2.txt'),false);

  33. end;

  34. Здесь налицо операция соединения двух строковых переменных.

  35. В итоге этой процедуры будет копирование файлов c:\1\1.txt и c:\1\2.txt в каталог c:\2. Файлы копируются под теми же именами.

  36. Удаление файлов

  37. Функция DeleteFile

  38. if not DeleteFile('c:\3.com') then ShowMessage('Ошибка удаления');

  39. Работа с текстовыми файлами. Чтение из текстового файла

  40. На прошлых уроках мы как, в компоненте Memo процесс загрузки и записи текстового файла делался следующим образом:

  41. Memo1.Lines.LoadFromFile(Имя_файла); // загрузка

  42. Memo1.Lines.SaveToFile(Имя_файла); // сохранение

  43. Все это благодаря свойству Lines, в котором хранятся строки.

  44. Но на практике иногда необходимо прочитать только определенную строку или совершить операцию добавления строки в уже существующий файл.

  1. Часто используемые компоненты объектного программирования. Приведите пример.

Компонент Delphi Edit представляет собой однострочное текстовое поле, служащее для ввода данных пользователем. Основным свойством компонента Delphi Edit, передающим введённую информацию, является свойство Edit1.Text типа String. При изучении работы с Delphi Edit советую посетить страничку работа со строками Delphi, так как там описываются функции Delphi для работы с данными, представленными в текстовой форме. Например,чаще всего, судя по поисковым запросам, посетители хотят знать, как работать с числами, введёнными в компонент Edit: с целыми   X:=StrToInt(Edit1.Text); с дробными X:=StrToFloat(Edit1.Text);

Компонент Delphi Button это стандартная кнопка делфи, кнопка имеет на поверхности надпись (описывающая её назначение при нажатии). Основное событие для кнопки является OnClick, выполняемое при нажатии, при этом кнопка меняет внешний вид, подтверждая этим происходящее действие визуально. Сразу после отпускания кнопки, выполняется действия в обработчике OnClick. Кнопку можно нажать не только щелчком мыши но и комбинацией клавиш, что бы задать комбинацию необходимо перед символом используемый в комбинации поставить символ амперсанта «&». После чего пользователь вместо щелчка мыши может использовать сочетание клавиш Alt и клавишей выделенного символа. Рассмотрим наиболее необходимые

  1. Перечислите свойства компоненты Image.

  2. Компонент delphi Image предназначен для отображение на форме графических изображений по умолчанию выводит на поверхность формы изображения представленных в bmp формате. Для вывода изображений в jpg формате необходимо в дерективе uses подключить модуль JPEG. После размещения  на форме компонента Image, он принимает вид выделенной прямоугольной области(рис 1).

  3. рис 1

  4. Загрузить картинку можно в коде программы, добавив строку: Image1.Picture.LoadFromFile(<имя_файла>); Кроме этого, загрузить изображения можно с помощью Object Inspector. Для этого находим свойство Picture и слева от него нажимаем на три точки. Открывается окно Picture Editor и в нем выбираем загрузить(Load), в раскрывшемся окне выбираем файл изображения.

  5. Свойства Image

 Picture

 изображение отображающееся в поле компонента

 Width, Height

 размеры компонента. Если эти размеры меньше размера иллюстрации, а значение свойств Strech, AutoSize и Proportional равны False, то отображается часть изображения

 Proportional

 позволяет автоматически масштабировать картинки без искажения. Для выполнения масштабирования, значение свойства AutoSize должно быть равным False

 Strech

  позволяет автоматически масштабировать (сжимать или растягивать) изображение в  соответствии с размером компонента Image. Если размер компонента не пропорционален размеру изображения, то изображение будет искажено

 AutoSize

 позволяет автоматически изменять размер компонента в соответствии с размером изображения

  Center

 позволяет определять расположение изображения в поле компонента Image по горизонтали, если ширина картинки меньше ширины компонента. Если свойства равно False, то изображение прижато к правой границе, если True то изображение располагается по центру

 Canvas

  поверхность, позволяющая вывести графику

Transpa­rent

указывает прозрачный цвет фона изображения