Логин: Пароль:    Регистрация Всеми возможностями сайта можно пользоваться
только после авторизации.
   Забыли пароль?

Поиск
L



Статистика
u
Пользователи онлайн: нет
Гостей онлайн: 7
Всего онлайн: 7
Зарегистрировано юзеров: 7937
Комментариев на сайте: 698
Новый юзер: Micahmum



Последние комментарии
c
Dennisvoifs прокомментировал "Урок 3 - Конструкция IF...THEN...ELSE":
Пункт коммерческого учета цена, Ктп комплектные трансформаторные подстанции москва, Производство ктп москва и не только Вы найдете на нашем специализированном сайте: - Вам к нам!https://sviloguzov.ru/
Arthurneime прокомментировал "Урок 53 - Потоки в Delphi, (часть 1/3)":
[img]https://masterfutures.ru/wp-content/uploads/2020/03/14-2.png[/img] Online trading is becoming increasingly popular, as more people learn of the earning potential of platforms such as Broker, a broker which caters to a significant audience of digital traders (12 million and counting). Known for their excellent user interface, as well as fast deposit and withdrawal times, Broker provides multiple features to help traders earn on the markets. This overview will outline just some of the key aspects traders can expect to enjoy whilst working with Broker broker. Online trading is becoming increasingly popular, as more people learn of the earning potential of platforms such as Broker, a broker which caters to a significant audience of digital traders (12 million and counting). Known for their excellent user interface, as well as fast deposit and withdrawal times, Broker provides multiple features to help traders earn on the markets. This overview will outline just some of the key aspects traders can expect to enjoy whilst working with Broker broker. Broker Broker is operated by a dedicated team, whose main priority has always been to provide the best possible user experience, and ultimately satisfaction. Whether experienced in trading or a newcomer, the platform is easy to use and very responsive. The education section deserves special mention, particularly for assisting traders to learn and implement new strategies – which can be tested on the platforms free demo Source: [url=https://bit.ly/35fv3B6/]Broker[/url] https://bit.ly/35fv3B6/ Tags: Broker

Урок 22 - Принцип работы с файлами

  В этом уроке изучим принцип работы с файлами.

   Давайте ознакомимся с набором функции необходимых для работы.

   function FileCreate(const FileName: String): integer;

   Создаёт файл в указанном пути FileName и возвращает индекс созданного файла. В случае ошибки при создании, она вернет -1.

   function FileOpen(const FileName: String; Mode: LongWord): integer;

   Открывает файл в заданном пути FileName с параметрами Mode, она также в случае ошибки вернет -1. Параметр Mode может принимать одно из следующих значений:

  • fmOpenRead - открытие только на чтение
  • fmOpenWrite - открытие только на запись
  • fmOpenReadWrite - открытие и на чтение и на запись


   function FileRead(handle: integer; var Buffer; Count: integer): integer;

   Читает открытый или созданный файл. Вместо пути она принимает индекс файла handle. Buffer - куда будет записано содержимое. Count - количество байтов которое нужно прочитать.

   function FileWrite(handle: integer; var Buffer; Count: integer): integer;

   Аналогичная функция чтению, но вместо чтения она записывает содержимое размером Count (в байтах) переменной Buffer в файл.

   function FileClose(handle: integer);

   Закрывает файл, чтобы другие программы тоже имели доступ к нему.

   function FileSearch(const Name, DirList: string): String;

   Осуществляет поиск файла Name в одной или более папках DirList, отделённых друг от друга точкой с запятой. Необходимо указывать не только название папки, но и полный адрес этой папки.
Имя файла может быть, как файловым именем, так и полным адресом файла.
Если файл будет найден, то возвращается полный адрес файла включая имя файла, в случае не нахождения искомого файла будет возвращена пустая строка.

   ПРЕДУПРЕЖДЕНИЕ: ВСЕГДА сначала поиск будет проходить в текущей папке, независимо от перечисленных директорий. Если файл обнаруживается там, то путь файла возращён не будет, а только имя файла.

   function FileSeek(Handle, Offset, Origin: Integer): Integer;

   Устанавливает позицию для чтения и записи (в байтах) для открытого файла и возвращает новую позицию в файле (байтовое смещение от начала файла). В ниже перечислены возможные значения параметра Origin. Чтобы определить текущую позицию в файле, передайте Origin значение File_Current и Offset, равное нулю.
  • File_Begin (0) - Смещение (offset) рассчитывается относительно начала файла
  • File_Current (1) - Смещение рассчитывается относительно текущей позиции в файле
  • File_End (2) - Смещение рассчитывается относительно конца файла


   Все с теорией мы покончили, теперь что-нибудь считаем. вытащим на форму 2 кнопки и Memo и напишем в обработчике события 1 кнопки OnClick следующий код:
procedure TForm1.Button1Click(Sender: TObject);
var
  F: integer;  //наш файл
  Str: string[8]; //Строка которую мы будем писать
begin
  F:= FileCreate('D:/1.txt'); //Создаём файл 
  FileWrite(F, '123456789', SizeOf(str)); //Записываем в него строку "123456789"
  FileClose(F); //Закрываем файл
end;
   функция SizeOf возвращает размер типа или самой переменно в байтах, т.к. заранее размер строки неизвестен. скомпилируем и нажмем кнопочку.

Результат


   Теперь прочитаем это. создаём обработчик события 2 кнопки OnClick и пишем код:
procedure TForm1.Button2Click(Sender: TObject);
var
  F: integer;  //наш файл
  Str: string[8]; //Строка в которую мы сохранять
begin
  F:= FileOpen('D:/MyGame/1.txt', fmOpenRead); //открываем файл на чтение
  FileRead(F, Str, SizeOf(str));  //читаем 
  Memo1.Text:=Str;  //присваиваем memo нашу строку
  FileClose(F);  //Закрываем файл
end;


Результат


Удачи!
Встретимся в следующем уроке!


Источник: www.thedelphi.ru
Автор: Савельев Александр
Опубликовано: 7 Апреля 2013
Просмотров: 23030

Урок 21 - Знакомство с компонентами (часть 12/12) Урок 23 - Функции для работы с мышью

Зарегистрируйтесь или авторизуйтесь, чтобы добавлять комментарии.



аватар Добавил: Life Jumb [Новичок] Дата: 2013-08-25
пробовал другие значения не получилось!




аватар Добавил(а): eltgm [Новичок] Дата: 2014-06-18
не понял урок(и примеры не заработали




аватар Добавил: spyman_xx [Новичок] Дата: 2014-10-07




аватар Добавил(а): Siruza [Новичок] Дата: 2015-06-15
Str: string[8]; а что означает 8 в квадратных скобках?




аватар Добавил: Admin [Сэнсэй] vk.com/savelev_a_y Дата: 2015-06-21
var s: string[n]; n - максимально возможная длина строки - целое число в диапазоне 1..255. Если этот параметр опущен, то по умолчанию он принимается равным 255.




аватар Добавил(а): N1Tron1X [Новичок] Дата: 2015-07-13
Запись в текстовик 123456789 - получается ересь) При длине строки 8 пишется не вся строка тк между цифрами вставляются пробелы, при длине строки 90 (взял просто так) - после цифр следуют символы Г Ј Фј 4 мБ ј] ґ0] °л@ 0] Hд@ ј0] p6A




аватар Добавил(а): N1Tron1X [Новичок] Дата: 2015-07-13
Подскажите куда копать. Кодировка не та?




аватар Добавил: Admin [Сэнсэй] vk.com/savelev_a_y Дата: 2015-07-20
Функции, представленные в данном уроке записывают в файл бинарные значения и предназначены для записи и чтения в делфи. То есть если открыть такие файлы в блокноте - получается "ересь". Если хотите открывать текст в блокноте, используйте функции Assing, Reset и Writeln.




аватар Добавил(а): beka21 [Новичок] Дата: 2016-01-26
Admin Where is Link For Next Page....




аватар Добавил: Admin [Сэнсэй] vk.com/savelev_a_y Дата: 2016-02-07
beka21, fixed




аватар Добавил(а): Byka [Новичок] Дата: 2017-12-16
Уважаемые гуру перелопатил весь интернет , но так и не нашел ответа. Если возможно , то сделайте урок по работе в делфи с каталогами и папками. Задача 1 есть каталог( например диск:папка 1 папка 2user) с вложенными папками и конечная папка у пользователей имеет разные имена и может находиться на разных дисках Простая задача 1 Скопировать содержание конечной папки 2 Создать в директории где лежит программа новый каталог и каждый раз при копировании надо добавлять новую папку в созданный каталог с порядковым номером + название , которое вводит пользователь 3 получить листинг папок из каталога , созданным программой и при выборе папки надо заменить содержимое конечной папки из которой копировали , на содержимое выбранной папки. Задача решается командными файлами элементарно, но хочется создать приложение.... содержимое конечной папки 3 файла - 2 текстовых *.txt и один *.rf В делфи нет встроенной функции для работы с папками нет и уроков в интернете и все уроки сводятся к копированию файлов или копированию символов из строк... Помогите пожалуйста))




аватар Добавил(а): ilya5338k [Новичок] Дата: 2018-07-05
так и не понял что возвращают функции FileOpen и FileCreate