Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Вопросы по Delphi (все версии) - часть 3

Автор: ShIvADeSt
Дата сообщения: 22.03.2007 02:18
Продолжение темы http://forum.ru-board.com/topic.cgi?forum=33&topic=6679
Внимание, все большие куски кода (более 5 строк) оформляем в тег [ more ] дабы уменьшить размер поста.
Автор: George_Lucky
Дата сообщения: 22.03.2007 09:20
Хочу получить уникальный идентификатор компа, каким образом его получить?
Автор: ShIvADeSt
Дата сообщения: 22.03.2007 10:01
George_Lucky
у компа (как у девайса отдельного) его нет, тебе надо его формировать на базе данных о материнке, винте еще чего нить, для этого есть компоненты либо уже давали ответы.
Автор: pit23
Дата сообщения: 22.03.2007 14:36
Здорова, пипл.

А можно ли в QReport'е вывести общее количество страниц в отчете? Среди переменных QRExpr нашел только переменную PAGENUMBER - текущий номер страницы.

Заранее благодарю за ответ.
Автор: jONES1979
Дата сообщения: 22.03.2007 17:41
George_Lucky

Проще всего (и может быть тебе этого будет достаточно)сгенерить GUID.
Алгоритм его генерации завязан на MAC-адресе, текущем времени и прочая прочая. Как говорится "гарантируется статистическая уникальность"
Автор: OdesitVadim
Дата сообщения: 22.03.2007 18:15
jONES1979
Вот токо одна проблема - повторная генерация.
ГУИД обещают каждый раз будет разным(ну обещают по крайней мере). А уникальный код - должен быть одинаковым для одной машины при каждом запросе.
Автор: VentoR
Дата сообщения: 23.03.2007 12:24
OdesitVadim
А что есть
Цитата:
одна машина
? Если в неё воткнуть ещё один хдд, то она останется "одной" или станет "другой"???
Если особо не заморачиваться, то можно использовать Volume Serial Number (его выдаёт например команда dir) для системной партиции.

ShIvADeSt
Подправь ссылку на предыдущую часть темы, а то она (ссылка) не очень получилась...
Автор: RostY
Дата сообщения: 23.03.2007 16:41
Кто пользуется AlphaSkins, подскажите, как сделать чтоб в PopupMenu слева отображался вертикально написанный текст (как в демо-проекте). В скинменеджере в обработчике OnGetMenuExtraLineData написал

caption:='Menu line test';
- текст отображается горизонтально.

p.s. На форум альфаскинов не посылайте -- там я тоже спросил.
Автор: OdesitVadim
Дата сообщения: 23.03.2007 16:59
VentoR
А я причём? Это не мой вопрос был, я только откоментировал вопрос

Цитата:
Если в неё воткнуть ещё один хдд, то она останется "одной" или станет "другой"???

А вот это автору решать. С одной стороны, это таже машина (я бы брал только серийник "системного винта", с которого грузиться система). Но есть несколько прог, которые я встречал, они неоднозначно реагируют на добавление ещё одного винта в систему
Автор: Derrick Morgan
Дата сообщения: 26.03.2007 14:45
помогите устранить мерцание TImage =/

есть два TImage наложенных друг на друга (т.е с одинаковыми координатами и размерами), только картинки там разные

Image1.Visible := True;
Image2.Visible := False;

если по какому то событию делаю Image2.Visible := True; а через 1 секунду Image2.Visible := False; то всё очень некрасиво мерцает, как исправить эту багу? может компаненты какие есть
Автор: OdesitVadim
Дата сообщения: 26.03.2007 15:53
Derrick Morgan
я наверно ответ на этот вопрос закопипастю.
Обясняю последний раз. Мигает потому, что вы обновляете картинку когда вы хотите, а не когда винда готова это сделать. Поэтому и происходи мерцание.
Что делать?
По таймеру, или как там у вас, выставляем флажок, что картинка должна быть другой и дёргаем Form1.perform(WM_PAINT,0,0);
В Form.OnPaint не подменяем имеджи, а рисуем с заранее заготовленого в памяти битмапа методом draw. Всё! никаких мерцаний (ну если вы 200 раз в сек не надумаете обновлять ).
Автор: andead
Дата сообщения: 26.03.2007 23:02
OdesitVadim
примерчик можна? а то второй час голову ломаю это я с работы под Derrick Morgan писал.... у cxImage из DevExpress такой проблеммы нету, но там чёто с транспарентом намудрили, а если грузить PNG то всё жутко виснет(
Автор: George_Lucky
Дата сообщения: 27.03.2007 08:41
вопрос технический - как у класса заменить базовый (похожий) класс?

Добавлено:
класс формы, имеется ввиду
Автор: vserd
Дата сообщения: 27.03.2007 09:18
George_Lucky

Цитата:
вопрос технический - как у класса заменить базовый (похожий) класс?

Ручками изменив в DFM и pas имя базового класса.
Или так :http://www.delphikingdom.com/asp/articles_forum.asp?ArticleID=1296 первый пост по времени.

Автор: Derrick Morgan
Дата сообщения: 27.03.2007 12:57
Portable версию BDS2006 никто не встречал?
Автор: whitewolfs
Дата сообщения: 27.03.2007 15:58
День добрый!
Вопрос думаю не разрешимый, но вдруг я ошибаюсь .
Есть сетевой диск, на нем dbf. К dbfкам подключено одновременно много пользователей, которые читают и записывают в базу данные. У меня на локальной машине есть копии этих файлов. Как в любой момент времени узнать изменился ли файл на сервере относительно файла на локалке не скачивая файл с сервера для сравнения если:
1. время модификации файла на сервере не меняется, пока все пользователи не отключатся от файла.
2. размер файла не меняется (допустим перезаписан всего один байт).
3. чтобы сравнить файлы по контрольной сумме, нужно целиком скачать файл с сервера - а это не подходит.
Может есть какие идеи?
Автор: RostY
Дата сообщения: 27.03.2007 16:35
whitewolfs
Решение 1 (реалистическое). Использовать Client-Server. Например Interbase.
Решение 2 (фантастическое). Ввести поле "Дата модификации", но вот что делать дальше.... ?

Добавлено:
т.к. ДБФ не рассчитан на многопользовательский режим работы получиш кучу гемороя
Автор: whitewolfs
Дата сообщения: 27.03.2007 17:07

Цитата:
RostY

Ни то ни другое не подойдет, так как модифицировать прогу через которую работают пользователи, как и структуру дбфки нельзя - прога закрытая, формат дбфок должен соответствовать эталону.

А по поводу гемороя - в госструктурах почти все проги так и работают . Главный инструмент работы с базами у нас - foxpro2.6. Только недавно начали потихоньку клиент-сервер вводить.
Автор: George_Lucky
Дата сообщения: 28.03.2007 06:36
whitewolfs
странно, для чего тебе он-лайн контроль - изменился или нет? Хочешь каждую секунду получать - "Ой, изменился! Ой, изменился!" ???
в конце рабочего дня, когда все юзеры отключены, сравниваешь файлы и обновляешь модифицированные.
Автор: whitewolfs
Дата сообщения: 28.03.2007 08:15

Цитата:
George_Lucky

Это нужно не для архивации. Это для обработки базы на локальной машине, много раз за день и при этом база на локале всегда должна быть актуальной! Для этого приходится всю базу с сервака копировать на локалку, а это гигабайты лишнего трафика. Вот поэтому и нужно определять только изменившиеся файлы.
Автор: RostY
Дата сообщения: 28.03.2007 09:21
пока все пользователи не отключатся то файл, наверное, остается открытым и нет смысла его копировать
Автор: whitewolfs
Дата сообщения: 28.03.2007 14:02
неа данные нормально сохраняются. млин вот засада, неужели нет решения...
Автор: yuish
Дата сообщения: 28.03.2007 16:19
Кто знает и может подсказать каким образом, с помощью каких компонентов, можно создать что-то типа Заметки в MS Outlook?
Что бы так же отображались в проге и на экране.
Автор: killerbeanjeka
Дата сообщения: 29.03.2007 09:54
yuish
Если я правельно понял и речь идет о календаре как в Outlook, то есть компонент cxScheduler из набора DevExpress
Автор: yuish
Дата сообщения: 29.03.2007 10:36
killerbeanjeka
Нет. не о календаре. А о Заметках.
Автор: killerbeanjeka
Дата сообщения: 29.03.2007 11:59
yuish
если речь идет о стиках, то это можно и самостоятельно сделать. Это обычное окно у которого кстановлено свойство "поверх всех окон", или я чего то не понимаю?
Автор: yuish
Дата сообщения: 29.03.2007 12:22
killerbeanjeka
Ну очень приблизительно - то да. Меня интересует именно подобный внешний вид, как на раб.столе так и отображение стиков в самой программе - как в оутлуке.
Автор: killerbeanjeka
Дата сообщения: 29.03.2007 12:54

Цитата:
Меня интересует именно подобный внешний вид, как на раб.столе

любой компонент с пожжержкой скинов, или делается форма без краёв (Bordertyle := bsNone), и самостоятельно делаются желтые кнопочки и Memo

Цитата:
тображение стиков в самой программе - как в оутлуке

в OutLook'e отображается обычный ListView с ViewStyle := vsIcon

Автор: Shadi
Дата сообщения: 29.03.2007 14:17
Привет All.
Есть проблема. Работаю с ODAC и нужно запихать CLOB через хранимую процедуру.

Вот так у меня идет без проблем..

Цитата:
with dmod do
begin
qryShot.Open;
qryShot.Append;
qryShotNAMESHOT.AsString := strShotName;
qryShotDEPARTMENT.AsInteger := itgDepartment;
if btnToPivot.Visible = ivAlways then
begin
TBlobField(qryShotSHOT).LoadFromFile(ExtractFilePath(Application.ExeName) + 'grid.ini');
qryShotNUM.AsInteger := 1;
qryShotFILENAME.AsString := 'grid.ini';
end else
begin
TBlobField(qryShotSHOT).LoadFromFile(ExtractFilePath(Application.ExeName) +'pivot.ini');
qryShotNUM.AsInteger := 2;
qryShotFILENAME.AsString := 'pivot.ini';
end;
qryShot.ApplyUpdates;
Pl_COMMIT;
end;



Но такой подход не устраивает...

Через хранимую процедуру делаю так и не прет..


Цитата:
with dmod.spAddShot do
begin
Close;
ParamByName('ShotName_').AsString := strShotName;
ParamByName('idDep_').AsInteger := itgDepartment;
if btnToPivot.Visible = ivAlways then
begin
ParamByName('Shot_').LoadFromFile(ExtractFilePath(Application.ExeName) + 'grid.ini', ftOraClob);
ParamByName('num_').AsInteger := 1;
ParamByName('fileName_').AsString := 'grid.ini';
end else
begin
ParamByName('Shot_').LoadFromFile(ExtractFilePath(Application.ExeName) +'pivot.ini', ftOraClob);
ParamByName('num_').AsInteger := 2;
ParamByName('fileName_').AsString := 'pivot.ini';
end;
ExecProc;
if ParamByName('msqErr').AsString <> 'OK' then
begin
MessageBox(0, pchar(ParamByName('msqErr').AsString), '&#206;&#248;&#232;&#225;&#234;&#224;', MB_ICONSTOP or MB_OK);
Pl_ROLLBACK;
end else
Pl_COMMIT;
end;



Может кто знает как победить эту проблему...
Автор: Kr_Alex
Дата сообщения: 29.03.2007 14:44
нужно передать исходники проекта, но есть опасения что всех бабок не заплатят. поэтому есть вот такая идея
у меня почти все формы наследуются от frmSome
хочу туда добавить скажем Application.Terminate после такой то даты. и передать только uSome.dcu и uSome.dfm.
Но почему при открытии такого проекта появляются сообщения Ancestor not founded, как такое можно сделать?

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: 1С: Конвертация данных 2.0


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.