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

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

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

ShIvADeSt (20-06-2007 07:33): http://forum.ru-board.com/topic.cgi?forum=33&topic=8529  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 103 104 105 106

   

wader



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
svs123456789  
 
Два вопроса:
1. А чем через OLE не устраивает?
2. Тебе именно doc нужны или rtf тоже подойдет?
 
Хранить в БД - попробуй Blob поля использовать

Всего записей: 113 | Зарегистр. 26-05-2005 | Отправлено: 00:09 12-10-2006 | Исправлено: wader, 00:10 12-10-2006
Vladimir_Pashutin

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
svs123456789
Я уже писал в этот топик, что прошу обратить внимание уважаемых разработчиков, стремящихся засунуть в поля базы данных всё подряд, на такую проблему как обеззараживание Word-овских документов, хранящихся вне файловой системы. По моему горькому опыту это очень серьёзная проблема - стоит какому-нибудь пользователю занести вирус в любой документ и вылечить потом систему будет очень трудно!

Всего записей: 70 | Зарегистр. 14-05-2003 | Отправлено: 06:53 12-10-2006
Alto



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vladimir_Pashutin
Варианты обхода есть... иметь антивирус на стороне сервера... и складывать новые и измененные документы во временную папку... которую переодически им и проверять. Фиксировать случаи заражения возможно очень оперативно. Блокировать зараженные документы тоже. Лучше так, чем запрещать... к тому же можно использовать форматы документов... в которых нет поддержки макросов или активного контента

Всего записей: 388 | Зарегистр. 20-03-2003 | Отправлено: 07:31 12-10-2006
GrHnd



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Hi All!
Подскажите как можно определить из программы на Delphi являешься ли Администратором на данной машшине?

Всего записей: 865 | Зарегистр. 01-04-2005 | Отправлено: 12:52 12-10-2006
Vixoid



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GrHnd
const
   SECURITY_NT_AUTHORITY: TSIDIdentifierAuthority =
     (Value: (0, 0, 0, 0, 0, 5));
   SECURITY_BUILTIN_DOMAIN_RID = $00000020;
   DOMAIN_ALIAS_RID_ADMINS = $00000220;
 
 function IsAdmin: Boolean;
 var
   hAccessToken: THandle;
   ptgGroups: PTokenGroups;
   dwInfoBufferSize: DWORD;
   psidAdministrators: PSID;
   x: Integer;
   bSuccess: BOOL;
 begin
   Result   := False;
   bSuccess := OpenThreadToken(GetCurrentThread, TOKEN_QUERY, True,
     hAccessToken);
   if not bSuccess then
   begin
     if GetLastError = ERROR_NO_TOKEN then
       bSuccess := OpenProcessToken(GetCurrentProcess, TOKEN_QUERY,
         hAccessToken);
   end;
   if bSuccess then
   begin
     GetMem(ptgGroups, 1024);
     bSuccess := GetTokenInformation(hAccessToken, TokenGroups,
       ptgGroups, 1024, dwInfoBufferSize);
     CloseHandle(hAccessToken);
     if bSuccess then
     begin
       AllocateAndInitializeSid(SECURITY_NT_AUTHORITY, 2,
         SECURITY_BUILTIN_DOMAIN_RID, DOMAIN_ALIAS_RID_ADMINS,
         0, 0, 0, 0, 0, 0, psidAdministrators);
       {$R-}
       for x := 0 to ptgGroups.GroupCount - 1 do
         if EqualSid(psidAdministrators, ptgGroups.Groups[x].Sid) then
         begin
           Result := True;
           Break;
         end;
       {$R+}
       FreeSid(psidAdministrators);
     end;
     FreeMem(ptgGroups);
   end;
 end;
 
 procedure TForm1.Button1Click(Sender: TObject);
 begin
   if isAdmin then
     ShowMessage('Logged in as Administrator');
 end;

Всего записей: 351 | Зарегистр. 16-01-2003 | Отправлено: 13:07 12-10-2006
Alto



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vixoid
Немножко побаловался с кодом... есть небольшое замечание... у микрософта есть такое определение Retrieving Data of Unknown Length для функци... т.е. когда заранее неизвестно как много данных вернет запрос... требуется предварительно запросить размер и только потом выделять необходимую память... вот так:
 
dwInfoBufferSize := 0;
GetTokenInformation( hAccessToken, TokenGroups, nil, dwInfoBufferSize, dwInfoBufferSize );
GetMem( ptgGroups, dwInfoBufferSize );
Result := GetTokenInformation(hAccessToken, TokenGroups, ptgGroups, dwInfoBufferSize, dwInfoBufferSize);

Всего записей: 388 | Зарегистр. 20-03-2003 | Отправлено: 14:07 12-10-2006
Aladdinych



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как вызвать процедуру или открыть форму, если ее имя задано в строковой переменной?

Всего записей: 322 | Зарегистр. 18-10-2005 | Отправлено: 14:37 12-10-2006
ILSOFT

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, есть ли эксперт какой для delphi (и как называется) чтобы можно выбрать варианты загрузки среды, т.е. например мне не нужны все компоненты сразу, а нужна какие то конкретные для этого проекта - выбираем одну конфигурацию, для другого проекта другую. и т.д

Всего записей: 231 | Зарегистр. 20-09-2002 | Отправлено: 15:53 12-10-2006
Vladimir_Pashutin

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alto
Нафига попу баян?
Если всё равно складывать в директорий, так при чём здесь поля БД.

Всего записей: 70 | Зарегистр. 14-05-2003 | Отправлено: 16:18 12-10-2006
ekemov

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ILSOFT
В D2006 если в какомто проекте убираешь(просто убираешь галочки) Component->Install packages, сохраняешь проект, и теперь при каждой загрузке данного проекта будут только нужные тебе компоненты.

Всего записей: 804 | Зарегистр. 23-12-2005 | Отправлено: 16:39 12-10-2006
RedPromo



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Aladdinych
Форму открыть очень просто
Регистрируеш класс формы  
то есть.
TFormClass = class of TForm;
потом
делаеш так
var mNewForm: TFormClass;
begin
  mNewForm:= TFormClass(FindClass(ClassName)); //className -твоя строковая переменная имя формы
// "TMyForm"
  mNewForm.Create(Self);
end;
Да и не забыть перед етим зарегистрировать класс формы
RegisterClass(TMyForm);
Вобще я всегда делаю базовую фому для все[ не Main форм

Всего записей: 558 | Зарегистр. 05-04-2006 | Отправлено: 17:12 12-10-2006 | Исправлено: RedPromo, 17:21 12-10-2006
andead



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
посоветуйте панельку с градиентом, только чтобы при перерисовке не мерцала, пробовал TAdvPanel из TMS 4.0, но она предательски мерцает при изменении размеров
 
и ещё нужен Image с возможностью загружать Png файлики с прозрачностью и альфаканалами

Всего записей: 1821 | Зарегистр. 22-09-2005 | Отправлено: 18:13 12-10-2006
Arvur



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ILSOFT
Devrace MultiProfile пробегал в топике по коммерческим компонентам.
Есть еще пара бесплатных, но поддерживаются плохо и работают только с D2005/2006

Всего записей: 2111 | Зарегистр. 18-01-2002 | Отправлено: 18:26 12-10-2006
svs123456789

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
хранение док-ов в БД (клиент на D7) -обсудим?
итак ЧТО надо ;(  хранить ?
1)rtf (из комлекта D7) искажает док-ты Word сохраненные в rtf  
(нужен сторонний компонент)
2)сохранение док-ов Word в rtf позволяет решить проблему вирусов!
3)НО иногда надо хранить и excel и тп
4)док-ы уже есть и проще всего добавлять их в существующем виде в формате doc
5) может есть универсальное решение?
 
КАК показывать редактировать ?
1)хранить в той же записе поле описание док-а и по запросу юзера  
-экспортировать из BLOB в поток на hdd и открывать в ассоциированном приложении
а по окончании редактирования замещать новой версией файла - ранее хранящееся содержимое BLOB
2)организовать предварительный просмотр и редактирование с помощью соответсвующих компонент
на эту роль просятся 2 компоненты

Всего записей: 2934 | Зарегистр. 10-04-2003 | Отправлено: 18:55 12-10-2006
xokc

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

Цитата:
и ещё нужен Image с возможностью загружать Png файлики с прозрачностью и альфаканалами

http://pngdelphi.sourceforge.net/

Всего записей: 477 | Зарегистр. 22-09-2002 | Отправлено: 19:21 12-10-2006
Sexton

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

Цитата:
1. А чем через OLE не устраивает?

Для использования OLE в данном случае, как я понимаю, должен быть офис на машине клиента установлен. А автор, наверное, хочет "независимости".
Впрочем, вряд ли существуют компоненты, которые могут заменить Word.
Согласен, что не нужно пытаться
Цитата:
засунуть в поля базы данных всё подряд
. Не только из-за вирусов, а просто потому, что SQL-сервера несколько для других целей придуманы. Зачем делать подобие WinFS?

Всего записей: 142 | Зарегистр. 31-05-2004 | Отправлено: 01:54 13-10-2006
wader



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

Цитата:
Впрочем, вряд ли существуют компоненты, которые могут заменить Word.
Про что и речь . Компоненты есть конечно, но до ворда им еще далеко
 

Цитата:
Не только из-за вирусов, а просто потому, что SQL-сервера несколько для других целей придуманы. Зачем делать подобие WinFS?
А где хранить пользовательские заметки, например в rtf формате, картинки?
Я для этого использую блобы и все работает отлично.
Объясни где грабли, как нужно это все хранить?

Всего записей: 113 | Зарегистр. 26-05-2005 | Отправлено: 02:04 13-10-2006 | Исправлено: wader, 02:07 13-10-2006
Arvur



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

Цитата:
А где хранить пользовательские заметки, например в rtf формате, картинки?  

Имхо : для intranet решений (LAN) логичнее хранить путь к файлу, а сами файлы держать в расшареной папке на сервере. Тут и проблема вирусов решается и база блобами не пухнет.
Если же речь идет о честном internet-приложении... Хотелось бы для начала услышать обоснование крупных блобов в этом случае.

Всего записей: 2111 | Зарегистр. 18-01-2002 | Отправлено: 02:32 13-10-2006
Sexton

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
wader, SQL сервер дает преимущества при вводе, хранении, выводе и анализе совокупности связанных массивов однородных данных (во я завернул). Иными словами, в SQL-базу имеет смысл помещать данные, которые могут быть обработаны (проанализированы) средствами SQL-сервера. Если дополнительно к этому необходимо хранить многострочные текстовые пояснения или поясняющие изображения - вполне подойдет blob. Но для пояснения в несколько строк вряд ли понадобится rtf (или word).
Но создавать SQL-базу специально с целью замены файловой системы не имеет большого смысла, мне кажется. Есть же, наверное, специальные средства управления документацией.
Запихать в базу можно, конечно, все, что угодно. Только в чем будут преимущества перед файловой системой?

Всего записей: 142 | Зарегистр. 31-05-2004 | Отправлено: 02:45 13-10-2006
wader



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

Цитата:
для intranet решений (LAN) логичнее хранить путь к файлу, а сами файлы держать в расшареной папке на сервере. Тут и проблема вирусов решается и база блобами не пухнет.
Если же речь идет о честном internet-приложении... Хотелось бы для начала услышать обоснование крупных блобов в этом случае.
А я и не говорил о крупных блобах.
Пользовательские заметки -- это максимум десяток килобайт. И хранить кучу файлов в расшаренной папк(-е|-ах) как-то нет желания. Плюс ко всему, настроить разрешения для доступа к информации проще штатными средствами SQL сервера.
 
Sexton

Цитата:
SQL сервер дает преимущества при вводе, хранении, выводе и анализе совокупности связанных массивов однородных данных (во я завернул).

А чем блобы не массивы однородных данных?
 

Цитата:
Если дополнительно к этому необходимо хранить многострочные текстовые пояснения или поясняющие изображения - вполне подойдет blob. Но для пояснения в несколько строк вряд ли понадобится rtf (или word).
Понадобится, понадобится Пользователи привередливые стали, хотят красивое оформление . Приходится текст хранить в каком-нибудь формате поддерживающим форматирование.
 

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

Абсолютно согласен, каждому инструменту -- свое место.

Цитата:
Есть же, наверное, специальные средства управления документацией.
Да, есть системы документооборота, но в этом случае -- это как из пушки по воробьям. В моем случае, этого даже близко нет.

Цитата:
Запихать в базу можно, конечно, все, что угодно. Только в чем будут преимущества перед файловой системой?
Ну преимущества свои есть, как и недостатки. Поэтому для каждого проекта необходимо оценивать насколько подходит то или иное решение.

Всего записей: 113 | Зарегистр. 26-05-2005 | Отправлено: 03:03 13-10-2006 | Исправлено: wader, 03:06 13-10-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 103 104 105 106

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по компонентам для Delphi, C++ Builder 2
ShIvADeSt (20-06-2007 07:33): http://forum.ru-board.com/topic.cgi?forum=33&topic=8529


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru