-
Постов
235 -
Зарегистрирован
-
Посещение
-
Победитель дней
9
Весь контент Камышев Александр
-
логично
-
В теплом, ламповом CBuilder(Delphi) у CheckBox кроме Checked еще было поле State, которое при включенном AllowGrayed могло принимать значения cbUnchecked (не отмеченное), cbChecked (отмеченное ) и cbGrayed - третье состояние, неопределенное. В FMX я этого не нашел, неужто совсем зарезали? Есть что-то похожее?
-
TCriticalSection кроссплатформенный, Enter(), Leave(), все как в CRITICAL_SECTION, только инициализировать не надо.
-
нету clock() в Delphi, сишный эксклюзив, только GetTickCount в TThread... с другой стороны зачем такая точность, clock() возвращает тики процессора, тут достаточно системное время запросить
-
имхо, я бы на старте службы запустил цикл со Sleep(10) и проверял сколько прошло времени вот этим кодом: class MyTimer { private: clock_t startTicks; double coef; public: MyTimer(){ coef = 1000.0f / CLOCKS_PER_SEC; } void Start() { startTicks = clock(); } float GetTimeSec(){ return ( clock() - startTicks ) * coef / 1000.0f; } float GetTimeMSec(){ return ( clock() - startTicks ) * coef; } }; работает на винде и андроид, что-то типа: MyTimer Timer; Timer.Start(); while(true) { if ( flag_exit ) break; if ( Timer.GetTimeSec() < 15 ) { // что-то делаем в режиме ожидания Sleep(10); } // что-то делаем по таймеру Timer.Start(); } код на си, но все функции есть в объект-паскале, думаю алгоритм понятен хотя не факт что #include <time.h> есть в дельфи, а в билдере нет служб андроид, хаха
-
Есть надежные, быстрые библиотеки для шифрования на С, но похоже к Delphi их никак не включить в проект. Казалось бы основное направление Rad Studio - объектный паскаль, однако же CBuilder принимает *.pas файлы, а Delphi сишные файлы игнорит. Если собрать Static Library c библиотекой на С, наверное Delphi его поймет? Попробовал... Delphi и lib не понимает... печаль
-
Владельцам galaxy tab нужно не письма отправлять, а огнестойкую коробку и перчатки, что бы сложить его туда и забетонировать от греха подальше сори оффтоп
-
закрывается форма как обычно Form.Close(), если из потока TThread то нужен Synchronize, если этот поток создавала Indy то на С это будет TIdNotify::NotifyMethod с хедером #include "IdSync.hpp"
-
внешний накопитель может быть защищен от записи, это будет ошибка да, еще при включенном режиме USB накопителя может не быть доступа папка Documents была создана при вызове SaveToFile у TStringList, когда я пытался эмулировать Вашу ситуацию на своем планшете, до того ее не было псс, а что еще живы программисты под DOS? столько не живут...
-
только что сохранил и в GetSharedDownloadsPath() и в GetSharedDocumentsPath(), и там и там все доступно для чтения из USB накопителя и в описании разница небольшая: Returns the path to the directory where user stores shared downloaded files. Returns the path to the directory where documents shared between users are stored.
-
Если VCL там есть DBGrid, MyDataSource указать, все само отрисуется. В FMX по сути тоже должен быть способ, типа LiveBindings. Можно рисовать в рукопашную for ( int i = 0; i < fquery->RecordCount; i++ ) { // пройти по записям fquery->RecNo = i + 1; // получить массив данных TByteDynArray da = fquery->Fields->FieldByNumber(0)->AsBytes; // скопировать массив в Stream, // возможно есть другие способы скопировать TByteDynArray в TStream, я на вскидку скопировал побайтно TMemoryStream *ms = new TMemoryStream; ms->SetSize( da.Length ); // занять область под копирование char *ms_data = (char*)ms->Memory; // именованый указатель на область память for( int j = 0; j < da.Length; i++ ) char[i] = da[i]; // копирование побайтно в цикле TBitmap *b = new TBitmap; b->LoadFromStream( ms ); // здесь в битмап уже должно быть изображение delete ms; delete b; }
-
привет, вот здесь http://fire-monkey.ru/topic/1927-сглаживание-при-рисовании-в-буфер-bitmap/?do=findComment&comment=10081 я рисовал в буфер Bitmap и на OnPaint копировал на канву PaintBox с помощью Canvas->DrawBitmap. Все рисовалось и копировалось быстро без морганий, но так и не получилось сглаживать линии. В конце концов стал рисовать напрямую в канву PaintBox - заработало сглаживание, никаких тормозов и морганий. Основные требования: рисовать только в OnPaint, между BeginScene() и EndScene() и каждый раз полностью инициализировать все настройки канвы: Stroke, Kind, Dash Color и т.п.