Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » FAQ по Borland C++ Builder

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42

Открыть новую тему     Написать ответ в эту тему

asi81



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Garrett
Только я не понял, зачем надо делать  Dur[0] & 0x0F?  
А про какой причине не учитывается начальная восьмерка?

Всего записей: 86 | Зарегистр. 08-06-2009 | Отправлено: 11:52 29-12-2009 | Исправлено: asi81, 11:58 29-12-2009
clear2121



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ещё бы кто помог с таким вопросом! В файле время находится в бинарном формате
C2 CC D3 45 1D 1E BC 00 - 01.09.2009 0:00:27
C2 CC D3 45 1D 6C DC 00 - 01.09.2009 0:01:07
Можно как то привести из HEX в TDateTime перегнать. Буду весьма признателен.
Hex данные такие же как в Парадоксовской таблице
СПАСИБО!

Всего записей: 311 | Зарегистр. 07-04-2005 | Отправлено: 12:15 29-12-2009
Garrett

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
asi81
потому как если не убрать 8, то 8012 точно не равно 18!
 
clear2121
Посмотри в МСДН раздел функций для работы с датой-временем у файлов. Там всё есть.

Всего записей: 2730 | Зарегистр. 16-10-2003 | Отправлено: 12:26 29-12-2009
asi81



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Garrett
Я согасен, что не получится - но помоему и не должно получаться - запись должна возвращать  32786.  А для 18 нужно писать 0012. Если нужен указатель на то что это hex тогда используется 0x012.

Всего записей: 86 | Зарегистр. 08-06-2009 | Отправлено: 12:44 29-12-2009
clear2121



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Garrett
Спасибо за помощь! Но дата/время не у файлов надо, а из НЕХ в TDateTime. Пока не нашел.  
И что то не пойму, как использовать Move

Код:
AnsiString s;
int fld = 8;
double dbl;
 
Move( s, dbl, fld );
 
Ппишет ошибку. И как правильно сделать - не пойму. ПЛИЗ, подскажите!

Всего записей: 311 | Зарегистр. 07-04-2005 | Отправлено: 13:19 29-12-2009
Garrett

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
clear2121
В TDateTime полно методов для вытаскивания и впихивания и времени и даты. Зачем изобретать велосипед?
Насчет Move смотри справку. Это быстрее чем писать пост и ждать когда кто-то ответит...
Я, когда программирую с Билдере, стараюсь не использовать дельфийские функции, если можно обойтись нативными. В С++ и ВинАПИ полно своих функций. Плюс код становится более стандартным что-ли.
 
Добавлено:
asi81
Ты прав конечно, но я не знаю зачем там 8, может число использует не все 16битов, или 8 - это приписка clear2121...

Всего записей: 2730 | Зарегистр. 16-10-2003 | Отправлено: 15:22 29-12-2009
clear2121



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребят, это чтение напрямую таблицы PARADOX.  и там почему то 8ки, как я написал выше.
Сейчас ищу способ дешифровать дату и время. Если есть где посмотреть - буду ВЕСЬМА ПРИЗНАТЕЛЕН.
СПАСИБО ВАМ ЗА ПОМОЩЬ!

Всего записей: 311 | Зарегистр. 07-04-2005 | Отправлено: 16:58 29-12-2009
clear2121



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
нашёл даже, что данные хранятся в миллисекундах от РХ. И формула расчёта такова (timestamp / 1000) - (719163 * 86400)
Но у меня что то не вылазит ничего. Ткните носом, ПЛИЗ!

Всего записей: 311 | Зарегистр. 07-04-2005 | Отправлено: 21:22 29-12-2009
asi81



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Столкнулся с такой задачей, есть одна таблица(клиентский датасет) и есть несколько однотипных фреймов, которые одновременно могут отображаться - у этих фреймов есть гриды, которые смотрят на эту таблицу. При этом работа в одном фрейме не должна аффектить работу в другом. Пока что я додумался делать свой  ClientDataSet в каждом фрейме, и эти датасеты "клонировать" на исходный с помощью CloneCursor(dataset,0,0); Вопрос - насколько правильна такая методика работы? И существуют ли какие то другие приемы для работы с одним датасетом из разных контролов?

Всего записей: 86 | Зарегистр. 08-06-2009 | Отправлено: 12:10 30-12-2009
clear2121



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всех с Новым Годом и Рождеством!!!
Не подскажет кто, возможно ли при отладки проги останавливать цикл при достижении какой либо переменной определённого значения?
Например: в цикле i является счётчиком и мне надо чтоб цикл остановился когда i будет = 1000. Вручную очень долго ждать. Есть такой способ?

Всего записей: 311 | Зарегистр. 07-04-2005 | Отправлено: 11:30 07-01-2010
Vsevolod



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
break;
если не ошибаюсь

Всего записей: 2364 | Зарегистр. 13-06-2001 | Отправлено: 11:57 07-01-2010
Garrett

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
clear2121
Можно. Ставишь точку останова, потом на ней правой кнопкой, выбьираешь Брейкпоинт Пропертис, там разные окошки есть

Всего записей: 2730 | Зарегистр. 16-10-2003 | Отправлено: 12:54 07-01-2010 | Исправлено: Garrett, 12:55 07-01-2010
SeggerLeto



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
подскажите как получить каталог пользователя windows?

Всего записей: 6 | Зарегистр. 13-12-2007 | Отправлено: 20:22 08-01-2010
MiCr0s0fT



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SeggerLeto
Вам поможет функция GetEnvironmentVariable()
 
Например:
UnicodeString a = GetEnvironmentVariable("USERPROFILE");

Всего записей: 2 | Зарегистр. 05-11-2005 | Отправлено: 02:56 09-01-2010
asi81



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
clear2121
Вам уже правильно подсказали, что у Breakpointa можно указывать количество прохождений, которые он может пропускать.  Тогда он будет срабатывать каждый  N-ный раз.
Но вообще можно сделать тупо
if (i==1000) {
    int y=0;
    y=y;  // Здесь ставите свой брейкпойнт
}

Всего записей: 86 | Зарегистр. 08-06-2009 | Отправлено: 12:33 11-01-2010
MiCr0s0fT



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
clear2121
Возможно, проще всего будет сделать:
if (i == k) ShowMessage(i);
 
где k = тот, шаг, который нужно проверить.
Это если не хотите учиться пользоваться Breakpoint.
 
P.S. Если проект консольный, попробуйте:
if (i == k) {
  cout << i;
  getch();
}

Всего записей: 2 | Зарегистр. 05-11-2005 | Отправлено: 16:29 16-01-2010
clear2121



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите ДРУГИ!!!
Есть старая прога, работающая на БДЕ 4.50, причём БДЕ не установлена, а скинуты файлы DLL в папку с прогой. Пробовал на С++ Билдере 2010 написать прогу - не пошла, ошибка версий БДЕ.
Декомпильнул и увидел, что старая прога написана на Делфи 3. Скачал, поставил с БДЕ. Старая прога отказалась работать. Снёс БДЕ, написал прожку - всё заработало. Т.е. - старая прога работает и пишет в таблицы данные, и я из своей проги смог к таблице подцепиться и качнуть данные.
Но Делфи - это что то.  
ВОПРОС - D3 соотносится с C++ Builder 3? Или нужна другая версия Билдера? И если да, то откуда можно скачать инсталятор?  
 
СПАСИБО!!!

Всего записей: 311 | Зарегистр. 07-04-2005 | Отправлено: 13:00 01-02-2010
clear2121



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо! Нашёл! Вопрос снят.

Всего записей: 311 | Зарегистр. 07-04-2005 | Отправлено: 17:26 01-02-2010
igrok878

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Скажите, есть ли особенности работы Builder enterprise 6.0 в win7 x64? Я имею ввиду, нет ограничений и вообще, нужно ли для x64 отдельную версию качать?

Всего записей: 1 | Зарегистр. 04-02-2010 | Отправлено: 01:42 04-02-2010
monsoon



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Для компиляции из командной строки можно воспользоваться командами:
bpr2mak Project.bpr  
make -B -f Project.mak  
 
В результате работы второй команды появляются ошибки.
Установил bcc32pch 2.79, в меню Project  добавился пункт "Export Bcc32Pch Makefile..."
Если им воспользоваться, создается mak-файл, с которым make отрабатывает без ошибок.
Кто-нибудь знает можно ли получить  mak-файл и как через командную строку, используя bcc32?

Всего записей: 1255 | Зарегистр. 30-01-2003 | Отправлено: 23:36 25-02-2010
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » FAQ по Borland C++ Builder


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru