Здесь располагается содержимое class "clearfloat" id "рамка"

Учебный комплекс "Основы программирования и БД"

У р о к и
  1. Этапы решения задач на компьютере. Разработка программы.
  2. Понятие алгоритма. Свойства алгоритма.
  3. Формы представления алгоритмов. Графический способ записи алгоритмов. Школьный алгоритмический язык.
  4. Базовые алгоритмические структуры: базовая структура следование.
  5. Базовые алгоритмические структуры: базовая структура ветвление.
  6. Базовые алгоритмические структуры: базовая структура ЦИКЛ.
  7. Эволюция языков программирования. Классификация языков программирования.
  8. Язык Си++. Эволюция языка и его преимущества.
  9. Синтаксис языка Си++.
  10. Константы и переменные в С++. Преобразование типов данных.
  11. Операторы используемые в С++.
  12. Некоторые визуальные компоненты С++Builder.
  13. Лабораторная работа № 1 Создание простого приложения в С++Builder.
  14. Основные константы и математические функции. Команда форматированного вывода строки.
  15. Лабораторная работа № 2 Создание программы вычисления значения функции.
  16. Условные операторы выбора if.
  17. Лабораторная работа № 3 Создание программы с разветвленной структурой.
  18. Условный оператор множественного выбора switch. Безусловный переход.
  19. Лабораторная работа № 4 Создание программы со структурой ВЫБОР.
  20. Оператор цикла for (цикл со счетчиком).
  21. Лабораторная работа № 5 Создание программы c циклом ДЛЯ.
  22. Операторы цикла с условием. Прерывание цикла.
  23. Лабораторная работа № 6 Создание программы c циклом ПОКА.
  24. Одномерные массивы. Обработка строк.
  25. Лабораторная работа № 7 Создание программы обработки строк.
  26. Многомерные массивы.
  27. Лабораторная работа № 8 Создание программы обработки двумерного массива.
  28. Указатели и ссылки.
  29. Функции: объявление, описание и использование.
  30. Лабораторная работа № 9 Создание и использование функций в C++.
  31. Файлы и потоки. Файловый ввод/вывод с помощью компонентов.
  32. Лабораторная работа № 10 Работа с файлами с помощью компонентов С++Builder.
  33. Файловый вывод/вывод в двоичном режиме.
  34. Лабораторная работа № 11 Запись и чтение блоков из двоичного файла (произвольный доступ).
  35. Лабораторная работа № 12 Запись, дописывание и чтение потоков из файла.
  36. База данных, основные понятия.
  37. Классификация баз данных.
  38. Организация данных в реляционной базе данных.
  39. Проектирование БД. Нормализация данных в реляционных БД.
  40. Системы управления базами данных.
  41. Лабораторная работа № 13 Создание таблицы БД средствами MS Access.
  42. Манипуляция данными. Язык запросов SQL.
  43. Лабораторная работа № 14 Построение простых запросов в MS Access.
  44. Создание приложений работы с базами данных.
  45. Визуальные компоненты доступа к БД в C++ Builder.
  46. Лабораторная работа № 15 Создание приложения доступа к БД в С++Builder.
Дополнения

22. Файлы и потоки. Файловый ввод/вывод с помощью компонентов.

Работа с файлами в C++Builder может производиться различными  способами: использование библиотечных компонентов, работа с файлами как с потоками в стиле C, работа с файлами как с потоками в стиле C++. Рассмотрим некоторые из них.

Ввод/вывод в файл с помощью компонентов
Работа с текстовыми файлами может осуществляться с помощью методов LoadFromFile и SaveToFile, имеющихся у классов TStrings и TStringList. Эти классы описывают списки строк и обладают множеством методов, позволяющих манипулировать строками.
Не забудьте только, что если требуемый файл расположен не в текущем каталоге и вам надо указать путь к файлу, то обратные слэши в записи пути должны быть сдвоенные . Например, если вам требуется файл"c:\MyTest\Test.txt", то вы должны записать его как "c:\\MyTest\\Test.txt".
Если вы открываете файл для того, чтобы пользователь мог его просмотреть, что-то в нем отредактировать и сохранить, вы можете обойтись без описанного выше объекта типа TStringList. Для этих целей проще воспользоваться многострочными окнами редактирования типов TMemo или TRichEdit. В последнем случае вы можете работать не только с обычными текстовыми файлами, но и с файлами в обогащенном формате RTF. Свойства Lines этих компонентов имеют тип TStrings, что позволяет применять к ним непосредственно методыLoadFromFile и SaveToFile. Например:
Memo1->Lines->LoadFromFile(SFile);
RichEdit1->Lines->LoadFromFile(SFile);
Через компоненты C++Builder можно работать не только с текстовыми файлами, но и с файлами изображений и мультимедиа.
Ввод и вывод потоков
В C++ определены три класса файлового ввода/вывода:
ifstream - входные файлы для чтения
ofstream - выходные файлы для записи
fstream - файлы для чтения и записи

Чтобы использовать эти классы надо включить в модуль директиву
#include <fstream.h>

При работе с файлами этих классов можно использовать ряд присущих им методов, но, пожалуй, основным достоинством использования этих классов является возможность применять очень удобные операции поместить в поток (<<) и взять из потока (>>).
Классы Ifstream, ofstream, fstream включают конструкторы, которые автоматически открывают заданный файл.
Формат использования:
ofstream <имя_потока>("<имя файла>", <mode>);
mode – определяет способ открытия и может принимать следующие значения:
ios::app – открытие и присоединение выводимых данных к концу файла
ios::ate – поиск с конца файла
ios::binary – открывает файл в двоичном режиме
ios::in – файл открывается для ввода данных
ios::out – файл открывается для вывода данных
ios::trunk – разрушение содержимого файла перед его использованием (использование ofstream без указания режима стирает содержимое файла перед его использованием)
Некоторые значения перечисления mode можно объединять логическим сложением.
При использовании этих классов, создаются объекты потоков, связанные с файлами, конструкторами соответствующих классов. Например, операторы
ofstream outfile("Test.dat");
if(!outfile)
{
ShowMessage("Файл не удается создать");
return;
}

создают выходной поток outfile, связанный с файлом "Test.dat", создавая одновременно сам файл или, если он уже существует, урезая его длину до нуля. Если по каким-то причинам операция не может быть выполнена, значение outfile равно 0 и оператор if прерывает работу.
Аналогично может создаваться входной поток, связанный с файлом:
ifstream infile("Test.dat");
if(!infile)
{
ShowMessage(" Файл не удается открыть");
return;
}

К созданным таким образом потокам можно применять операции поместить в поток (<<) и взять из потока (>>). Преимущество этих операций, работающих с текстовыми файлами, по сравнению с рассмотренными в предыдущих разделах функциями является простота использования и автоматическое распознавание типов данных.
Операция взять из потока (>>) обладает особенностью, которую надо учитывать при вводе строк в массивы символов. Она читает не всю строку, а только последовательность символов до первого пробельного или разделительного символа. Иначе говоря, она читает не строку до символа перевода строки, а только одно слово. Это удобно, если надо производить анализ текста или искать в нем какое-то ключевое слово. Но это становится недостатком, если надо просто прочесть строку целиком.
В классе ifstream имеется еще два метода чтения из потока: get и getline. Функция get без аргументов вводит одиночный символ из указанного потока (даже, если это символ разделитель) и возвращает этот символ в качестве значения вызова функции. Этот вариант функции get возвращает EOF, когда в потоке встречается признак конца файла.