| 
| 
 | Вопрос # 918/ вопрос открыт / | 
 |  Приветствую, уважаемые эксперты!Признаюсь что я тайком изменяю Delphi с C++ Builder  (хочу научиться), но программировать я всё равно буду для удовольствия на Delphi, ну а Си для работы:( !! Ну так вот... Я только начал изучать си, но не нашел, как использовать функции стандартных модулей как в дельфи? И как Объявить стантартные модули (как в Дельфи uses...)?
 
|  |   Вопрос задал: Gooddy (статус: 3-ий класс)Вопрос отправлен: 12 сентября 2007, 00:05
 Состояние вопроса: открыт, ответов: 3.
 |  Ответ #1. Отвечает эксперт: Матвеев Игорь Владимирович Здравствуйте, Груздев Денис Андреевич Wallpk!Как же Вы учитесь без примеров? найдите побольше и разбирайте - это самый быстрый и надежный способ освоения языка.
 
 Что косается вопроса: добавление модулей делается с помощью директивы прекомпилятора #include "имя_файла", имя файла также может быть обрамлено знаками <>. Вызов функций не отличается от Паскаля, кроме только того, что в С принято даже если функция/процедура не имеет параметров все равно завершать имя функции скобками.
 
 Вызов методов класса также как в Delphi, только вместо точки используется ->. А вот члеты типа-записи отделяются также, точкой.
 
 Купите какой-нибудь самоучитель по С++, т.к. по далеко не все в синтаксисе C++ можно понять из аналогии с Delphi - C++ намного более сложный язык (но и "мощный" в тоже время).
 Ответ #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 года прошло =) |  
 Мини-форум вопросаМини-форум пуст. Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |