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

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

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

ShIvADeSt (20-04-2006 01:53): http://forum.ru-board.com/topic.cgi?forum=33&topic=6679#1  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102

   

nekr

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

Всего записей: 14 | Зарегистр. 04-04-2006 | Отправлено: 09:40 06-04-2006
RostY



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ShIvADeSt
пробовал акцесовские. правда, не через АДО, а через KADAO компоненты и на 9х виндовсах что-то у меня не все работало

Всего записей: 387 | Зарегистр. 11-01-2006 | Отправлено: 10:24 06-04-2006
whitewolfs

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
а может кто нибудь знает, где можно почитать что то типа сравнительного тестирования по разным компонентам для работы с базами.
сам нашел только это: http://www.degisy.com/bdealternative.php

Всего записей: 300 | Зарегистр. 21-10-2005 | Отправлено: 10:34 06-04-2006
valerka78



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Schatz
 
uses
   ComObj, ShlObj, ActiveX;
 
function IsActiveDesktopEnable: Boolean;
 const
   CLSID_ActiveDesktop: TGUID = '{75048700-EF1F-11D0-9888-006097DEACF9}';
 var
   ActiveDesk: IActiveDesktop;
   ComponentsOpt: TComponentsOpt;
   hr: HRESULT;
   dwReserved: DWORD;
 begin
   ZeroMemory(@ComponentsOpt, SizeOf(TComponentsOpt));
   ComponentsOpt.dwSize := SizeOf(TComponentsOpt);
   hr := CoCreateInstance(CLSID_ActiveDesktop, nil, CLSCTX_INPROC_SERVER,
     CLSID_ActiveDesktop, ActiveDesk);
   if SUCCEEDED(hr) then
   begin
     hr := ActiveDesk.GetDesktopItemOptions(ComponentsOpt, dwReserved);
  end;
   Result := ComponentsOpt.fActiveDesktop;
 end;
 
(c)DelphiWorld

Всего записей: 248 | Зарегистр. 16-01-2006 | Отправлено: 13:28 06-04-2006
vserd

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
whitewolfs
ExcactRecordcount что показывает?

Всего записей: 2065 | Зарегистр. 08-05-2002 | Отправлено: 14:01 06-04-2006
Schatz



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
valerka78
Большее спасибо
 
У меня еще вопрос про терминальный режим есть.
Есть у нас терминальные бездисковые станции, при входе в терминальном режиме мапится COM порт локальной машины, с которой был осуществлен вход. Следом за этим запускается программа которая читает данные с COM порта.
Так вот при попытке инициализировать COM порт программа выдает сообщение "Файл повреждени и не может быть открыт"(ошибка 1392)
С COM портами я работаю через  
hPort:=CreateFile(PChar('\\.\COM'+ IntToStr(Num)),GENERIC_READ or GENERIC_WRITE,
          FILE_SHARE_READ or FILE_SHARE_WRITE,nil, OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
 
Ошибка возникает в момент чтения
ReadFile(hPort,MyBuff,SizeOf(MyBuff),ByteReaded,Nil) // вот в этой строке.
 
Если запускать на локальных машинах, тогда все ОК, никаких ошибок нет.
 
Подскажите пожалуйста что делать, в какую сторону копать.
 
З.Ы. На бездисковой станции стартует линуксойдный клиент SHINSTATION - возможно именно он неправильно мамит порты.

Всего записей: 55 | Зарегистр. 31-05-2005 | Отправлено: 14:03 06-04-2006
Markell



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Такой вопрос: у меня установлен доступ к БД через ADO и данные считываются в DBGrid в виде таблицы. A так же есть стринговая переменная. Как можно в эту переменную загнать значение любой ячейки этой таблицы, например [1,1]? Другими словами, нужен доступ к конкретной записи конкретного поля, чтобы потом ее обрабатывать...

Всего записей: 103 | Зарегистр. 05-10-2004 | Отправлено: 17:08 06-04-2006
RomanTim

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
nekr
Смотря что ты понимаешь под "содержимым dll"
 
Markell
Можно попробовать так (если считать, что строки и столбцы нумеруются с 0)

Код:
DBGrid.DataSource.DataSet.RecNo := Row+1;
str := DBGrid.Columns[Col].Field.AsString;

Всего записей: 375 | Зарегистр. 11-09-2003 | Отправлено: 18:50 06-04-2006 | Исправлено: RomanTim, 19:00 06-04-2006
reenoip



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
... Нужно сделать локализацию приложения на другой язык, который не поддерживается D6 в принципе. В качестве решения проблемы советуют перейти на D8.NET. Мне лично от технологии .NET ничего не нужно (приложение практически готово), но вот из-за проблемы с кодировками придётся, по ходу, портировать весь написанный и отлаженный материал на D8.NET.
 
Вопросы:
1. Стоит ли переходить на D8.NET, если на рынке уже есть D2006 (компоненты у меня, кажется, для всех перечисленных версий имеются, так что суть не в этом);
2. Как сильно отличаются (хотя бы по такому параметру, как, скажем, - "юзабилити") все названные версии друг от друга?
3. Какие косяки, помимо несовместимости VCL у меня могут быть при попытке портирования проекта?
4. Ваши личные предпочтения и опыт в выборе версии.
 
По сути, если проблемы будут только на уровне VCL, то это вполне, я думаю, решаемо.
Основное условие к выбору версии: у меня БД на ADO. Как поведёт себя приложение в среде, отличной от D6?

Всего записей: 1768 | Зарегистр. 10-03-2006 | Отправлено: 19:39 06-04-2006
RomanTim

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
reenoip
Если переходить, то уж на Д2006 - тем более, что она поддерживает как .NET, так и Win32 и поддерживает в одной среде сразу Delphi, C++ и C#. К тому же более новые версии более толково поддерживают Windows в части работы с ее родными контролами и поддержкой стилей XP.
 
С переносом проектов с D7 на D2006 сложностей фактически не было (пришлось правда у некотрых "заброшенных" сторонних компонентов поправить .INC-файлы и написать DPK). С ADO все работает без проблем.
 
10-ка по сравнению с 7-й на мой взгляд удобнее для писания кода и отладки, хотя и ощутимо прожорливее по памяти.
 
Из минусов, с которыми столкнулся - в некоторых моментах глючит при разработке COM-сервера, при том что сам по себе редактор библиотеки типов все тот же корявый, что и бы; контроль версий поддерживает только на StarTeam - для ClearCase пришлось искать стороннюю добавку; периодически падает, хотя и не чаще, чем 7-ка

Всего записей: 375 | Зарегистр. 11-09-2003 | Отправлено: 23:57 06-04-2006
whitewolfs

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vserd
ExactRecordCount показывает правильно, в отличие от RecordCount, но медленно.
Вот отрывок из хелпа: "Используйте свойство ExactRecordCount для определения точного количества записей в текущем наборе данных. Оно включает в себя количество удаленных, отфильтрованных и индексированных записей. Этим оно отличается от свойства RecordCount, которое всегда дает существующую верхнею границу. Заметим, что данное свойство требует сканирования полного набора данных, в то время как свойство RecordCount это просто расчет"
 
Но вообще то мне это уже не нужно, так как TDBF я заменил на Halcyon. Скорость возрасла в разы! Вот мой пост в соседней ветке: "Ура !!!  Кажется решилась трабла по поводу медленной работы с базами dbase с TDBF.  
Заменил я этот TDBF на Halcyon.    
Результат:  
 TDBF 6.4.7. пробегает по 185 моим базам с кол-вом записей от 0 до 200 000, с фильтрацией и выборкой нужных строк на локальном компе примерно за  1м 20сек. Если базы на серваке (а сервак мееедленный!!!) ~ за 18мин. Все это без использования индексов.  
 
Halcyon 696 (с русской адаптацией от Кирилла Водоносова) делает тоже самое за 50сек на локале и примерно за        3мин. 10сек на сервере!!!!  Нехилый такой прирост производительности!"

Всего записей: 300 | Зарегистр. 21-10-2005 | Отправлено: 01:32 07-04-2006 | Исправлено: whitewolfs, 01:34 07-04-2006
ArtemiyUO

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
reenoip

Цитата:
 Нужно сделать локализацию приложения на другой язык, который не поддерживается D6 в принципе. В качестве решения проблемы советуют перейти на D8.NET. Мне лично от технологии .NET ничего не нужно (приложение практически готово), но вот из-за проблемы с кодировками придётся, по ходу, портировать весь написанный и отлаженный материал на D8.NET.

Мне это вообще не понятно. Почему именно надо перейти на дот нет для локализации?
Это не правда. Всего лиш надо перейти на версиюю Д которая потдерживает юникод, насколько мне известно Д2005,2006 его нормально потдерживают. А помоему и 7 его держит.
То есть вам всего лиш надо иметь фаилы текстовых ресурсов в юникоде для разных языков и при загрузке проставлять соотв каптионы и т.д. всем контролам из этого фаила.
Мое мнение вам надо перейти на Д2006 (вин32), ибо она на мой взгляд лучшая на данный момент. Там можно вырезать весь дот нет и остальную не нужную функциональность (как у меня) и тогда она работает не хуже 7 и даже быстрее в некоторых местах.
Д8 это полный сакс, 2005 тоже. Даже не думайте на них переходить.

Всего записей: 539 | Зарегистр. 12-12-2005 | Отправлено: 07:16 07-04-2006
evle



1 + int rand(100);
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vshersh

Цитата:
Напиши прямо в твоем файле, где описан логгер

А как сделать, чтобы этот модуль освобождался последним?

----------
For every complex problem, there is a solution that is simple, neat, and wrong.

Всего записей: 2110 | Зарегистр. 03-02-2005 | Отправлено: 08:18 07-04-2006
reenoip



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ArtemiyUO
RomanTim
Спасибо за инфу. Сегодня уже, если найду на прилавках D2006, буду ставить/переносить проект. Надеюсь, геморроя будет мало...
 
ArtemiyUO

Цитата:
Мне это вообще не понятно. Почему именно надо перейти на дот нет для локализации?

В общем, D7 как вариант тоже не подходит, поэтому я и сорвался сразу за более старшими версиями. Два года вообще не открывал Delphi, просто несколько потерялся среди обилия версий, а решение по выбору нужно надо было принять срочно
Кстати, да, текстовик сделать можно, НО - даже сами окна не позволяют мне писать на этом языке, только офисный пакет, а в формате *.doc хранить языки... Я понимаю ещё *.ini, *.lng - куда ни шло, но чтобы так... И вообще, я пока сторонник того, когда всё в одном файле (сказывается наличие отсутствия опыта), ибо юзер руками своими иногда просто удаляет "ненужное", а у меня заказ серьёзный (для моего уровня), мне нужно полностью исключить "лишние" файлы на диске, либо юзер исключит их сам )))))))
Глупость, конечно... Шучу.
 
Ладно, всем ещё раз спасибо, извиняюсь за offtop...

Всего записей: 1768 | Зарегистр. 10-03-2006 | Отправлено: 08:23 07-04-2006
SergeBS



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
whitewolfs
А Advantage DE не хочешь попробовать? Эти ребятки еще и что-то околосерверное склепали, т.е. разбираются в БД получше, чем Griffin Solutions. Заодно поддержку SQL получишь, а это может еще в разы поднять скорость.

Всего записей: 272 | Зарегистр. 19-04-2005 | Отправлено: 08:45 07-04-2006
vshersh



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
evle
Для этого необходимо его инициализировать первым.
По идее, если его заюзать в файле проекта первым и он не будет юзать других юнитов проекта, то он будет инициализироваться первым, а финализироваться последним.
 
Выдержка из ртфм:

Код:
  1. For units in the interface uses list, the initialization sections of units used by a client are executed in the order in which the units appear in the client's uses clause.
  2.Finalization sections are executed in the opposite order from initializations. For example, if your application initializes units A, B, and C, in that order, it will finalize them in the order C, B, and A.

А вобще, что касается логирования, я бы не советовал завязываться на  initialization/finalization -- хотя бы потому, что приложение может упасть (по неизвестной причине) без выполнения finalization -- в итоге лог будет пустым. IMHO, лучше писать по одной строке в текстовый файл и сразу закрывать его.

Всего записей: 506 | Зарегистр. 12-01-2006 | Отправлено: 10:32 07-04-2006
whitewolfs

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SergeBS
Да я не против попробовать .  Вот только бы раздобыть полную версию Advantage Database Server, да подешевле!

Всего записей: 300 | Зарегистр. 21-10-2005 | Отправлено: 10:48 07-04-2006
RomanTim

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
evle
vshersh
Чтобы не открывать/закрывать файл каждый раз после записи строчки можно делать
Flush

Всего записей: 375 | Зарегистр. 11-09-2003 | Отправлено: 11:06 07-04-2006
SergeBS



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
whitewolfs
А зачем? Однопользовательские движки они бесплатно отдают на сайте. Это и есть Advantage Database Engine (не путать с Advantage Database Server).

Всего записей: 272 | Зарегистр. 19-04-2005 | Отправлено: 12:15 07-04-2006
Markell



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RomanTim

Цитата:
Можно попробовать так (если считать, что строки и столбцы нумеруются с 0)  
 
Код:
DBGrid.DataSource.DataSet.RecNo := Row+1;  
str := DBGrid.Columns[Col].Field.AsString;

Спасибо, помогло!

Всего записей: 103 | Зарегистр. 05-10-2004 | Отправлено: 17:17 07-04-2006
   

Страницы: 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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi
ShIvADeSt (20-04-2006 01:53): http://forum.ru-board.com/topic.cgi?forum=33&topic=6679#1


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru