Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

IBDatabase1->DatabaseName = КАК ???

6.6K
08 мая 2005 года
TitGen
32 / / 05.05.2005
Господа ! Объясните как правильно нужно в РеалТайме
задать имя БД для TIBaDatabase. Пробовал вот так:

1) DataModule1->IBDatabase1->DatabaseName = (char *)Ansi_String.data();
2) DataModule1->IBDatabase1->DatabaseName = Ansi_String.c_str();

Оба варианта вызывают Access Violation 8-((

И еще вопрос:
Так-как в проекте есть ДатаМодуль, то последовательность событий
такая: (распихал везде по событиям ShowMessage 8-))

1) OnCreate Main Form
2) Before Connect DataBase //??????? А ведь ДатаМодуль со всеми компонентами
3) After Connect DataBase //??????? еще не создан по идее
4) On Create DataModule //???????
5) On Show MainForm

Вопрос такой:
1) Где ( в каком месте) лучше задавать имя базы данных и как ?
2) Как задавать параметры ее-же ??
3) Может примерчик где есть ?

Весьма на Вас надеюсь.
10
08 мая 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by TitGen
Оба варианта вызывают Access Violation 8-((


Гм. А просто Ansi_String?

6.6K
08 мая 2005 года
TitGen
32 / / 05.05.2005
Цитата:
Originally posted by Freeman
Гм. А просто Ansi_String?


Несовпадение типов.

246
09 мая 2005 года
GIZMO
1.8K / / 30.07.2004
Цитата:
Originally posted by TitGen
Несовпадение типов.


Лечишь... Вот только что присвоил:

 
Код:
IBDatabase1->DatabaseName = edDatabaseName->Text;
IBDatabase1->CreateDatabase();
6.6K
10 мая 2005 года
TitGen
32 / / 05.05.2005
Цитата:
Originally posted by GIZMO
Лечишь... Вот только что присвоил:
 
Код:
IBDatabase1->DatabaseName = edDatabaseName->Text;
IBDatabase1->CreateDatabase();



Мдя ?
edDatabaseName->Text
А вот эта стрелочка в этой конструкции тебе ни о чем не говорит ? И еще надо посмотреть какому классу принадлежит твой edDatabaseName ?

246
11 мая 2005 года
GIZMO
1.8K / / 30.07.2004
Цитата:
Originally posted by TitGen
Мдя ?
И еще надо посмотреть какому классу принадлежит твой edDatabaseName ?


TEdit т. е. как сказал Freeman AnsiString.

1
11 мая 2005 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by TitGen
Господа ! Объясните как правильно нужно в РеалТайме
задать имя БД для TIBaDatabase. Пробовал вот так:

Вопрос такой:
1) Где ( в каком месте) лучше задавать имя базы данных и как ?
2) Как задавать параметры ее-же ??
3) Может примерчик где есть ?

Весьма на Вас надеюсь.


Ты на всякий случай проверяй - существует ли дата модуль в момент присвоения имени базы данных? А создавать лучше - дата модуль - в конструкторе формы. А создавать компонент и присваивать параметры лучше присваивать паблик-функцией. И создать свойство позволяющее проверить - создана ли база.

6.6K
11 мая 2005 года
TitGen
32 / / 05.05.2005
Цитата:
Originally posted by GIZMO
TEdit т. е. как сказал Freeman AnsiString.



Мдя ...
Читаю хелп:
>TCustomEdit::Text (это раз)
Далее:
__property TCaption Text = {read=GetText,... (это два)
> typedef Widestring TCaption; (это три)
Т.Е. Widestring уже сам по себе класс, и спускаться можно наверное долго...

Теперь класс TIBDatabase:
property DatabaseName: String;

Мне так кажется, что WideString && String несколько разные вещи... Или я не прав ?

10
11 мая 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by TitGen

> typedef Widestring TCaption; (это три)


Хы-хы-хы! С этого-то и начинать надо было! Где вы такие компоненты откопали? tnt или .NET?

6.6K
11 мая 2005 года
TitGen
32 / / 05.05.2005
Цитата:
Originally posted by kot_
Ты на всякий случай проверяй - существует ли дата модуль в момент присвоения имени базы данных?



Кстати, не подскажешь как
(к стыду своему признаю, что в расширениях С++
типа ON... IN не силен... )
Фрагментик не кинешь ?

6.6K
11 мая 2005 года
TitGen
32 / / 05.05.2005
Цитата:
Originally posted by Freeman
Хы-хы-хы! С этого-то и начинать надо было! Где вы такие компоненты откопали? tnt или .NET?



Пользую родные IBExpress , которые с С++Build v.6
За ФибПлюс буржуи денег просят, а мне для дипломного, т.е. на 1 раз (диплом кстати не мой, я просто негром оказался....) 8-))

6.6K
11 мая 2005 года
TitGen
32 / / 05.05.2005
Цитата:
Originally posted by Freeman
Хы-хы-хы! С этого-то и начинать надо было! Где вы такие компоненты откопали? tnt или .NET?



Пользую родные IBExpress , которые с С++Build v.6
За ФибПлюс буржуи денег просят, а мне для дипломного, т.е. на 1 раз (диплом кстати не мой, я просто негром оказался....) 8-))

1
11 мая 2005 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by TitGen
Кстати, не подскажешь как
(к стыду своему признаю, что в расширениях С++
типа ON... IN не силен... )
Фрагментик не кинешь ?


 
Код:
__fastcall TfmMainFtp::TfmMainFtp(TComponent* Owner)
        : TForm(Owner)
{
 dmDataModule = new TdmDataModule(this);
dmDataModule->SetDBParam("server","database","user","pass","codirovka");

}

это примерно так может выглядеть примерно, сейчас конец рабочего дня, подробно расписывать времени нет. Если до завтра терпит - у меня гдето лежал проект с формами и датамодулями под фипсы, могу скинуть.
При работе с датамодулем кстати важно или сразу в конструкторе установить параметры базы с которыми она может подключится или создавать ее динамически в конструкторе через нью - я по меньшей мере с подобными боками сталкивался.
6.6K
11 мая 2005 года
TitGen
32 / / 05.05.2005
br /> динамически в конструкторе через нью - я по меньшей мере с подобными боками сталкивался.



До завтра терпит однозначно....
Дипло в конце месяца....
Перейдем в мыло ? ПЛЗ.
мой е-мэйл: mailto:TitGen@yandex.ru
WellCome.

10
11 мая 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by TitGen
Пользую родные IBExpress , которые с С++Build v.6


Строчку кода посмотри перед моим сообщением. Где в IBExpress TCaption?

246
12 мая 2005 года
GIZMO
1.8K / / 30.07.2004
Цитата:
Originally posted by TitGen
Мдя ...
Читаю хелп:
>TCustomEdit::Text (это раз)
Далее:
__property TCaption Text = {read=GetText,... (это два)
> typedef Widestring TCaption; (это три)
Т.Е. Widestring уже сам по себе класс, и спускаться можно наверное долго...

Теперь класс TIBDatabase:
property DatabaseName: String;

Мне так кажется, что WideString && String несколько разные вещи... Или я не прав ?


Про стрелочку: - Я тебе ясно сказал TEdit, у него св-во Text типа AnsiString и унаследовал он его от TControl. И в каком хелпе Ты все это вычитал да еще и про TCustomEdit??? Ну если только есть разница между VCL в BCB5(у меня) и BCB6(у тебя). В любом случае Я это делал и на 6-ке + IBX5.X и на 5-ке + IBX4.X и на 5-ке + IBX5.x.

10
12 мая 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by GIZMO
Про стрелочку:


Блин, а мне все-таки интересно, в каких компонентах (и на какой платформе) TCaption является WideString'ом? Неужели CLX?

6.6K
12 мая 2005 года
TitGen
32 / / 05.05.2005
Цитата:
Originally posted by Freeman
Блин, а мне все-таки интересно, в каких компонентах (и на какой платформе) TCaption является WideString'ом? Неужели CLX?



Давайте разбираться...
1) Кидаю на форму Edit1::Tedit
2) Хмотрю свойство Text and press magic key F1
3) Look at монитор (короче), далее дословно (из буфера обмена):

CLX Reference
------------------
TCustomEdit::Text
Specifies the text string that is displayed in the edit box.

__property TCaption Text = {read=GetText, write=SetText, nodefault};
--------
Description

Use the Text property to read the text of the edit box
or specify a new string for the Text value. By default,
Text is the string specified in the Name property.

ПРОШУ заметить, тип таки TCaption...

4) Жмем на эту ссылочку TCaption и получаем след хелп:
CLX Reference
-----------------
TCaption type
The type of the Caption property.

Unit

QTypes

typedef Widestring TCaption;

Description

TCaption is the string that represents the caption
or text of a control.

И что у меня, Строитель тоже не как у людей ?

Мда, кстати строитель 6_ой версии

1
12 мая 2005 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by TitGen


И что у меня, Строитель тоже не как у людей ?

Мда, кстати строитель 6_ой версии


Да нет как у людей, само свойство Техт вполне может иметь тип WS - ничего страшного здесь нет. Иначе была бы не возможна работа с японскими символами например. Ты не забывай что Техт - это свойство, а доступ к нему обеспечивается Get-SetText. И при желании можно возращать хоть char*(например) - но остановились на AS...:)
Так что никаких проблем с получением имени базы с текста эдита быть никак не должно.

246
13 мая 2005 года
GIZMO
1.8K / / 30.07.2004
Цитата:
Originally posted by TitGen
Давайте разбираться...
1) Кидаю на форму Edit1::Tedit
2) Хмотрю свойство Text and press magic key F1
3) Look at монитор (короче), далее дословно (из буфера обмена):

CLX Reference
------------------
TCustomEdit::Text
Specifies the text string that is displayed in the edit box.

__property TCaption Text = {read=GetText, write=SetText, nodefault};
--------
Description

Use the Text property to read the text of the edit box
or specify a new string for the Text value. By default,
Text is the string specified in the Name property.

ПРОШУ заметить, тип таки TCaption...

4) Жмем на эту ссылочку TCaption и получаем след хелп:
CLX Reference
-----------------
TCaption type
The type of the Caption property.

Unit

QTypes

typedef Widestring TCaption;

Description

TCaption is the string that represents the caption
or text of a control.

И что у меня, Строитель тоже не как у людей ?

Мда, кстати строитель 6_ой версии


Ключевая фраза CLX Reference

4.2K
13 мая 2005 года
Крыс
98 / / 06.05.2005
Если хочешь, вечером кину на мыло учебную базу данных (с учебного CD), Там все это есть. Думаю будет полезна не только по этим вопросам
10
13 мая 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by kot_
Да нет как у людей, само свойство Техт вполне может иметь тип WS - ничего страшного здесь нет. Иначе была бы не возможна работа с японскими символами например. Ты не забывай что Техт - это свойство, а доступ к нему обеспечивается Get-SetText. И при желании можно возращать хоть char*(например) - но остановились на AS...:)


А вот это уже полнейшая мура, по всем пунктам. Как сказали ниже, ключевое слово здесь - CLX. Чел просто не знает, чем CLX от VCL отличается.

Работа с японскими символами возможна и в однобайтовой кодировке (Shift-JIS), если есть соответствующая поддержка со стороны Windows (а в японской версии Windows она есть).

Ну, а написание программ под CLX, в том числе и использование Юникод-строк вместе с обычными компонентами - отдельная и большая глава в программировании под Дельфи/Билдер. В Билдере немного сложнее, зато контроля больше - все преобразования Wide/Ansi надо проделывать вручную.

10
13 мая 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by Крыс
Если хочешь, вечером кину на мыло учебную базу данных (с учебного CD), Там все это есть. Думаю будет полезна не только по этим вопросам


Че вы паритесь вообще? В папке Билдера должен быть демо-проект IBMastApp - там все есть.

6.6K
13 мая 2005 года
TitGen
32 / / 05.05.2005
Цитата:
Originally posted by Freeman
Че вы паритесь вообще? В папке Билдера должен быть демо-проект IBMastApp - там все есть.



Демо-проекта нет. 8-))
Тут с хелпом еле-еле строителя нашел.
Вообще-то проблему эту решил. Не могу знать насколько изящно, но решил...
Будем считать эту тему закрытой.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог