Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 918

/ вопрос открыт /

Приветствую, уважаемые эксперты!
Признаюсь что я тайком изменяю Delphi с C++ Builder (хочу научиться), но программировать я всё равно буду для удовольствия на Delphi, ну а Си для работы:( !! Ну так вот... Я только начал изучать си, но не нашел, как использовать функции стандартных модулей как в дельфи? И как Объявить стантартные модули (как в Дельфи uses...)?

Gooddy Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Gooddy (статус: 3-ий класс)
Вопрос отправлен: 12 сентября 2007, 00:05
Состояние вопроса: открыт, ответов: 3.

Ответ #1. Отвечает эксперт: Матвеев Игорь Владимирович

Здравствуйте, Груздев Денис Андреевич Wallpk!
Как же Вы учитесь без примеров? найдите побольше и разбирайте - это самый быстрый и надежный способ освоения языка.

Что косается вопроса: добавление модулей делается с помощью директивы прекомпилятора #include "имя_файла", имя файла также может быть обрамлено знаками <>. Вызов функций не отличается от Паскаля, кроме только того, что в С принято даже если функция/процедура не имеет параметров все равно завершать имя функции скобками.

Вызов методов класса также как в Delphi, только вместо точки используется ->. А вот члеты типа-записи отделяются также, точкой.

Купите какой-нибудь самоучитель по С++, т.к. по далеко не все в синтаксисе C++ можно понять из аналогии с Delphi - C++ намного более сложный язык (но и "мощный" в тоже время).

Ответ отправил: Матвеев Игорь Владимирович (статус: Студент)
Время отправки: 12 сентября 2007, 08:22
Оценка за ответ: 5

Ответ #2. Отвечает эксперт: Feniks

Здравствуйте, Груздев Денис Андреевич Wallpk!
В файле myfile.cpp вверху добавлаем хедеры, т.е. файлы *.h :
#pragma hdrstop
//------------------------
#include "имя_файла.h"
//------------------------
#pragma package...

А в файле myfile.h вверху добавлаем модули *.hpp :
#ifndef DBH
#define DBH
//------------------------
#include <Classes.hpp>
#include <Forms.hpp>
#include <ActnList.hpp>
#include <Buttons.hpp>
#include <ComCtrls.hpp>
#include <Controls.hpp>
#include <DBCGrids.hpp>
#include <DBCtrls.hpp>
#include <ExtCtrls.hpp>
#include <Mask.hpp>
#include <StdCtrls.hpp>
#include "somestruct.hpp"

Стандыртные модули/библиотеки принято брать в знаки <>, а свои, самописанные, в "".

Ответ отправил: Feniks (статус: Бакалавр)
Время отправки: 12 сентября 2007, 15:42
Оценка за ответ: 5

Комментарий к оценке: 4 года прошло =)

Ответ #3. Отвечает эксперт: Вадим К

Здравствуйте, Груздев Денис Андреевич Wallpk!
Ну почему измена? Если хочеться быть нормальным програмистом, то другие языки просто нужно знать. К тому же есть такое дело как MSDN и для получения информации оттудова Си нужен
По поводу стандартных функций. В си принято своё распределение функций по подключаемым файлам (хидерам).
Например просто так пользоваться функцией синус нельзя - компилятор не найдёт. надо подключать хидер Math.h
Для остальных нужно читать справку. Можно заметить, что некоторые подключаемые хидеры пишуться без буковки h и точки. Это последствия стандартизации и на данный момент для многих файлов допустимы оба варианта.
Также следует заметить, что дериктива include аналогична делфовскому {$I имя файла}
тоесть она просто вставляет указанный файл в указанное место. Надо помнить об этой особенности.
Теперь об отличии конструкций
#include <>
#include ""
Первая ищет файлы начиная с системых каталогов(обычно это каталог include где то в каталоге компилятора) а вторая вначале ищет файлы в каталоге файла, в котором она использована, а лишь потом в системных. Тоесть можно всегда писать в кавычках, но это немного замедлит компиляцию и затруднит понимание исходников другими пользователями

Ответ отправил: Вадим К (статус: Академик)
Время отправки: 12 сентября 2007, 16:28
Оценка за ответ: 5

Комментарий к оценке: 4 года прошло =)

Мини-форум вопроса

Мини-форум пуст.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:39
Выполнено за 0.02 сек.