Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Переходим от Delphi к C++ Builder  (Прочитано 14484 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Russian
Гость
« : 04-06-2004 14:56 » 

Делфи я учил давно, а сейчас решил перейти на C++ Builder. Сам чистый "C++" я в общих чертах уже понял так что выполнить задуманое будет не очень тяжело! Решил для практики переписать программу которую писал летом на делфи. Т.к. не все будет легко я по мере появления вопросов буду обращяться к вам. Надеюсь что на каждый вопрос будет хоть один, но правильный ответ.

Вопрос №1
=========
В делфи чтобы из ячейки DBGrid вытянуть данные нужно написать
Код:
edit1.Text{=DBGrid1.Columns[0(.Field.AsString;

А как это сделать в C++ Builder? Я по разному пытался, но без результатов.
Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #1 : 04-06-2004 15:12 » 

Сам когда-то совершил эту эволюцию. Со всеми проблемами встречался, как говорится в живую. Посмотри точно как пишутся названия всех полей. В Си есть разница между большими и маленькими буквами. Второе обрати внимание, как был создан объект. т.е. переменная объекта - это ссылка на объект или сам объект. Если это ссылка, то запись должна выглядеть так DBGrid1->Colums[0], если это сам объект, то так DBGrid1.Colums[0]. В этом есть разница между DELPHI и C++. Delphi все это распознает автоматически. В Си надо делать ручками. В VCL давно не програмировал, больше предпочитаю WinAPI, поэтому более конкретно подсказать не могу.
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Russian
Гость
« Ответ #2 : 07-06-2004 06:31 » 

Finch,
Спасибо, но проблема не решилась! Нечего не получаеться
Записан
Кот
Гость
« Ответ #3 : 07-06-2004 06:46 » 

Edit1->Text = DBGrid1->Columns[0].Items[0]->Field->AsString;

Копируем из нулевой колонки нулевой ячейки
Записан
Russian
Гость
« Ответ #4 : 07-06-2004 08:44 » 

Кот, Большое спосибо
Записан
Russian
Гость
« Ответ #5 : 07-06-2004 12:10 » 

Вопрос №2
========
Я в своей программе использую таблицу типа paradox7 и связку из:
DBGrid + DataSource + Table.
С их помощю я и провожу все манипуляции с таблицей, но может это не совсем рационально? Query я использовал и немного знаю, а вот для чего нужен Database я не знаю! Мое программа используеться для проведения разной статистики. Вводяться 1500 сотрудников по 30 полей, а потом считает количество таких и таких. Что посоветуете использовать и объясните пожалуйста для чего нужны компоненты Query и Database. Вот такая ситуация.
Записан
Кот
Гость
« Ответ #6 : 08-06-2004 07:38 » 

"Компоненты таблиц являются полноправными, гибкими и легкими в использовании компонентами доступа, достаточными для многих приложении СУБД. TTable возвращает все строки и столбцы единственной таблицы, если доступ не ограничивается установкой интервалов и фильтров. Компоненты запросов предоставляют разработчикам альтернативные возможности. TQuery обеспечивает доступ к нескольким таблицам одновременно и способна адресовать некоторое подмножество записей. Вид возвращаемого набора данных (result set) зависит от формы запроса, который может быть либо статическим, когда все параметры запроса задаются на стадии проектирования, или динамическим, когда параметры определяются во время выполнения программы.

Указанные действия записываются и реализуются на стандартизованном языке структурированных запросов SQL (Structured Query Language), принятом большинством удаленных серверов реляционных баз данных, таких как Sybase, Oracle, InterBase и SQL Server. Ha SQL можно сформулировать весьма изощренные запросы к базам данных. C++Builder передает запросы серверу, который интерпретирует их и возвращает результаты вашему приложению."

Поищи в инете статиьи Натальи Елмановой. Начальные вещи у нее хорошо освещены
Записан
Russian
Гость
« Ответ #7 : 08-06-2004 12:32 » 

Кот, хорошо, поищю...

Ты писал
Цитата
Edit1->Text = DBGrid1->Columns[0].Items[0]->Field->AsString;
Копируем из нулевой колонки нулевой ячейки

А если я не знаю номер строки? Мне нужно чтобы действия производились с выделеной строкой! Как это сделать?
Записан
Russian
Гость
« Ответ #8 : 09-06-2004 07:24 » 

http://www.codenet.ru/progr/bcb/ - хороший сайт
Записан
Kotyara
Гость
« Ответ #9 : 10-06-2004 05:02 » 

У грида свойства есть смотри их можно узнать на какой строке или ячейке ты стоишь тоесть по какой ты шёлкнул мышкой или выделенная берёшь её номер там помоему ARow и ACel и подставляешь вместо параметра, смотри хелп оттуда можно во всём разобраться достаточно просто  - используй события они обычно возвращяют номер строки и ячейки
Записан
Russian
Гость
« Ответ #10 : 10-06-2004 06:23 » 

Kotyara, спасибо, пойду проверю.
Записан
Russian
Гость
« Ответ #11 : 10-06-2004 09:04 » 

Появился конкретный вопрос - как узнать свою позицию?  ARow и ACel не получилось или я что-то недак сделал
Записан
Russian
Гость
« Ответ #12 : 12-06-2004 06:10 » 

:?:
Записан
Kotyara
Гость
« Ответ #13 : 14-06-2004 05:14 » 

Смотри почту я тебе пример отправил  8)
Записан
Russian
Гость
« Ответ #14 : 14-06-2004 12:33 » 

Kotyara, тебе очередное большое спасибо! Ага
Записан
Russian
Гость
« Ответ #15 : 25-07-2004 16:33 » 

Еще вопрос: как работать с реестром? Нужно записывать/читать из реестра
Записан
Osiris
Гость
« Ответ #16 : 29-07-2004 10:05 » 

Не могли бы вы мне сказать, чем отличается С++Builder от С++? И где их можно взять?
Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #17 : 29-07-2004 16:35 » 

М-да вопрос. С++ это язык программирования. А С++Builder это реализация языка от фирмы Borland. Есть также реализации от фирм Microsoft, Symantec и.т.д Где взять это очень сильно зависит от места твоего проживания.
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Osiris
Гость
« Ответ #18 : 30-07-2004 07:00 » 

Я имею ввиду в интернете, потому что у себя в городе я его не найду.
Записан
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #19 : 30-07-2004 08:04 » 

Osiris, хммм... ну прога то платная, так что если только мулом, ослом или козой.
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
ker_laede
Гость
« Ответ #20 : 12-08-2004 20:29 » 

Кто-нибудь помогите не могу вытенуть из Edit1->Text значение например "5" и поместить его в переменную типа int, и обратно тоже не преобразовывает. Builder постоянно ругается! Обесните пожалуйста как преобразовать!
Записан
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #21 : 12-08-2004 20:56 » 

IntToStr или что-то типа того тебе помогут незабуть завернуть это дело в try ..... catch .... что бы отловить ошибки преобразования

в хелпе есть пример с описанием исключений
Записан

Странно всё это....
KerLaede
Гость
« Ответ #22 : 15-08-2004 19:33 » 

Кто-нибудь помогите достать хороший учебник по C++Builder или хотя бы подскажите , как переводить типы данных из одного типа в другой. Пример:
AnsiString в String;
Double в Integer;
Char в String;
Char в AnsiString;
Char в Integer;
Char в Double;
И конечно наоборот!
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines