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

» Вопросы по Delphi 2

Автор: andead
Дата сообщения: 01.12.2006 03:19
oan42
какие-то подводные камни?
Автор: SERGE_BLIZNUK
Дата сообщения: 01.12.2006 06:23
oan42
Цитата:
Только не XML
Я сам не работал, и чувствую, что универсальность обернётся неэффективностью, но всё же интересно выслушать ваше мнение - почему "только не XML"- есть факты или просто общая неприязнь ;-)) ?
Автор: Figaro2000
Дата сообщения: 01.12.2006 06:54
andead
SERGE_BLIZNUK
Сходу первый камень в адрес XML - никакой многопользовательской работы. Доводилось видеть мощную систему, где даже конфигурацию держат в виде Access'овской БД. Дескать, MDAC поставить везде можно и сразу получаем кучу возможностей, основанных на многопользовательском доступе к БД, пусть даже и файл-серверном.
Второе преимущество БД - индексы, первичные и внешние ключи -> скорострельность поиска и ссылочная целостность..
Автор: vserd
Дата сообщения: 01.12.2006 12:34
andead

Цитата:
подскажите по бд: нужно хранить+несложно_изменять тибличную информацию, чего выбрать - ADO или xml? база(ы) будет порядка 3 мегабайт, BDS2006

Если это настройка (файл конфигурации), то может и пройдет.
Если это реальная работа с данными, тогда выбери нормальные БД.
Подумай сам, как данные будешь фильтровать, сортировать и искать?
Если в xml то это полное считывание и перечитывание данных каждый раз. А это падение скорости...
Автор: oan42
Дата сообщения: 01.12.2006 13:07
andead
XML и ADO соотносятся как мягкое с теплым.

А почему взяты только эти две альтернативы?

Поподробнее расскажите про Ваш проект, тогда более конкретно можно советовать.
Автор: andead
Дата сообщения: 01.12.2006 15:46
oan42
это нечто каталога видео, сд, аудие, и т.д, почему между адо и xml? больше пока нисчем не работал, вокруг xml сейчас столько шума, вот и подумал может пришло его время

vserd, Figaro2000
спасибо!
Автор: oan42
Дата сообщения: 01.12.2006 17:48
andead
В этом случае XML может пригодиться, например, как формат экспорта/импорта позиций каталога,
способ добавления некоторой структурированности в описание позиции.

Это будет БД для скольких пользователей?
Автор: andead
Дата сообщения: 01.12.2006 21:35
oan42
однопользовательская
Автор: oan42
Дата сообщения: 02.12.2006 00:37
andead
Тогда вступают в силу такие критерии:
- масштаб тиражирования своих знаний;
- масштаб тиражирования программы.

Если программа будет тиражироваться, то не плохим выбором будет Absolute Database.
Если Вы хотите впоследствии разрабатывать проекты с БД, то хорошим
выбором будет использование FireBird.
Автор: VadimLou
Дата сообщения: 02.12.2006 21:43
oan42, andead

Цитата:
Absolute Database


Цитата:
FireBird

всё это предполагает доп расходы на клиентские компоненты доступа к БД.
ADO - бесплатен. БД может быть Access или PersistentXML - тоже на шару.
Последний вариант с Persistent XML как раз наиболее подходит для однопользовательского варианта, тем более что данных - код наплакал. В итоге получишь и БД и XML. XML - всегда можно поправить ручками в notepad. Не устраивает XML - всегда можно сменить строку подключения в ADO на другую БД. Строка подключения к Persistent XML для ADO: "Provider=MSPersist". В TADODataSet создаёшь нужные поля и вызываешь CreateDataSet . Для сохранения/чтения из файла существуют соот-щие методы в TADODataSet.



Автор: ArtemiyUO
Дата сообщения: 04.12.2006 07:03
IBX то же бесплатен. Лично я бы не советовал юзать АДО и базу ХМЛ. ИМХО встроеный ФБ + ИБХ много лучше и главное стабильнее.
Автор: jsnjack
Дата сообщения: 04.12.2006 18:29
нужно из программы открыть pdf файл. как это реализовать??(delphi 2006 и Acrobat 7)
Автор: FRALX
Дата сообщения: 04.12.2006 21:56
jsnjack
Можно Адобереадер через Import ActiveX Control
цепануть и получить на палитре компонент куда можно pdf загружать
Автор: jsnjack
Дата сообщения: 04.12.2006 22:20
FRALX
я так и поступаю, но только на палитре этот компонент не могу найти.... можешь описать поподробнее?

2сп: когда импортируешь через активх, создаётся ещё один юнит. я его соединяю со своим, но не могу разобраться какие там процедуры к чему и как ими пользоваться...
Автор: FRALX
Дата сообщения: 04.12.2006 22:37
jsnjack
Я опишу по шагам
1 : Импорт ActiveX -> выбираем Адобе Акробат бровзер
2 : Install Component
3 На палитре в закладке ActiveX появляется AcroPDF
4 Бросаем на форму и грузим в него файл
например так AcroPDF1.LoadFile('K:\Books\C-sharpBasis.pdf');
Автор: andead
Дата сообщения: 04.12.2006 23:44

Цитата:
ИМХО встроеный ФБ + ИБХ много лучше и главное стабильнее.

как это встроенный FireBird? даже не слышал о таком 8|

VadimLou
спасибо!
Автор: oan42
Дата сообщения: 05.12.2006 00:33

Цитата:
ADO - бесплатен.

Бесплатный сыр...
Автор: xy
Дата сообщения: 05.12.2006 01:02
andead

Цитата:
как это встроенный FireBird? даже не слышал о таком 8|

FireBird Embedded
http://www.firebirdsql.org/index.php?op=files&id=engine_200
3.1 Mb    Embedded Server for Windows



У меня такой вопросик:
Моя программа использует ИНИ-файл и, в общем, при выходе кое-чего записывает в него
Однако я заметил, что она имеет склонность разбрасывать ИНИ куда-попало, подозреваю в этом использование Save/LoadDialogов стандартных - похоже что ини при выходе создается там, куда обращались эти диалоги
Как правильно это проконтролировать :-?
Автор: FRALX
Дата сообщения: 05.12.2006 01:14
xy
При сохранении ини файла например можно взять путь по которому расположен exe
например так
IniFile:=TIniFile.Create(ExtractFilePath(Application.ExeName)+IniFileName);
Автор: EZH
Дата сообщения: 05.12.2006 01:14
xy
Чтобы класть ini рядом со своим exe, при сохранении указывай путь ExtractFilePath(Application.ExeName)
Автор: HOUPE
Дата сообщения: 05.12.2006 03:03
Хай!
Подскажите плз.. можно ли в приложение передать какие - либо параметры из другого приложения, к примеру из под FOXPRO2? И как это сделать или где об этом почитать можно?
Автор: VadimLou
Дата сообщения: 05.12.2006 05:19
HOUPE

Цитата:
в приложение передать

тут нужно определиться из следующих вариантов:
1) передача параметров - так обычно говорят о передаче параметров с в строке запуска процесса. Но нюхом чую тебе не это нужно ...
2) Передача/обмен данными с другим процессом
3) управление другим процессом

П 2 и 3 возможны только в случае если это реализовано в целевом процессе. А это может быть что угодно - DDE, COM, SOCKET, наборы события - мьютексы ... Как правило это долно быть в справке, в данном случае к FOXPRO2. Если и нет , то возможно есть пакеты расширения третьих стророн именно для фокса ...
Автор: HOUPE
Дата сообщения: 05.12.2006 06:36
VadimLou


Цитата:
DDE, COM, SOCKET


из FOXFRO2 нужно запустить экзешник на выполнение, но передать ему койнить параметр, шобы в зависимости от этого параметра прога пошла по той или другой ветке.

Я видел нечто подобное в файле Винды: C:\WINDOWS\system32\msiexec.exe.
Его вызов может происходить след образом: C:\WINDOWS\system32\msiexec.exe/v Проблема как передать параметр и как его потом прочитать из делфи? Можно ли реально использовать то что ты предложил?
Автор: RomanTim
Дата сообщения: 05.12.2006 07:02
HOUPE

Цитата:
Проблема как передать параметр и как его потом прочитать из делфи? Можно ли реально использовать то что ты предложил?

Прочитать параметры запуска из Delphi - смотри ParamCount и ParamStr().
По поводу вызова... что значит как передать если ты сам написал - как параметр командной строки? А вот как это сделать в FoxPro - вопрос не совсем в эту ветку.


Цитата:
Можно ли реально использовать то что ты предложил?

Ну раз человек предложил, значит использовать реально А вот вопрос выбора уже очень сильно зависит от того что передавать, в каком объеме, что можно сделать из FoxPro и навыков в той или иной технологии
Автор: pit23
Дата сообщения: 05.12.2006 09:40
При разработке программы столкнулся со следующей проблемой ---- как покрасить элементы текущей панели Контрол Грида (например шейп) в определенный цвет. Заранее благодарю за Ваши ответы.
Автор: FRALX
Дата сообщения: 05.12.2006 10:19
pit23
Если просто поменять цвет текушей панели у Контрол Грида то есть свойство SelectedColor
Автор: pit23
Дата сообщения: 05.12.2006 10:29
FRALX
это я знал. А если допустим разместить Shape и менять его цвет только на текущей панели. Возможно ли это.
Автор: FRALX
Дата сообщения: 05.12.2006 10:44
На событие он паинт в зависимости от индекса можно менять цвет шейпа
например так
procedure TForm1.DBCtrlGrid1PaintPanel(DBCtrlGrid: TDBCtrlGrid;
Index: Integer);
begin
if DBCtrlGrid.PanelIndex=Index then Shape1.Brush.Color:=clRed
else Shape1.Brush.Color:=clWhite;
end;
Автор: yuish
Дата сообщения: 05.12.2006 11:03
Попробывал перейти с д7 на д2006 - в принципе все работает и переносится нормально. Но в оболочке 2006 все время меняются иконки компонентов, причем произвольно (такое наблюдалось раньше кажется в билдере 6). Есть ли решение проблемы или это только у меня такое происходит.
Автор: pit23
Дата сообщения: 05.12.2006 11:20
FRALX
Большущее спасибо.

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Событие STFilter(DBGridEh) ???


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