Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 753
от 18.03.2007, 02:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 441, Экспертов: 60
В номере:Вопросов: 4, Ответов: 7


Вопрос № 77904: Доброго времени суток уважаемые эксперты. Исходные данные следующие: в MS Access 2003 создана обычная база данных, на нее установлен пароль (Сервис – Защита – установить пароль базы данных). Далее в дельфях на форме размещается ADOConnection...
Вопрос № 77923: Здравствуйте експерты. Возник небольшой вопрос по созданию интерфейса в Delphi. Суть такова, что мне нужно сделать на форме 3 области, размер которых пользователь может изменять. Я сделал это так: 1. Помещаю компонет TMemo, ...
Вопрос № 77945: Господа эксперты! Посоветуте литературу по Lazarusu на русском языке. Если она конечно есть....
Вопрос № 78025: Здраствуйте эксперты. Вопрос у меня токого рода. Перед запуском программы появляется заставка. Т.Е. форма на ней Image в которой рисунок. Transparent=true; и белое в рисунке (BMP) проподает. Можно ли сделать так чтобы формы не...

Вопрос № 77.904
Доброго времени суток уважаемые эксперты.

Исходные данные следующие: в MS Access 2003 создана обычная база данных, на нее установлен пароль (Сервис – Защита – установить пароль базы данных). Далее в дельфях на форме размещается ADOConnection в его свойствах устанавливается Provider – Microsoft Jet 4.0 OLE DB Provider, путь к базе данных, User name – Admin, Password – пароль к базе. При проверке подключения к базе выдается ошибка:

Test connection failed because of an error in initializing provider. Не удается запустить приложение. Системная база данных отсутствует или открыта с монопольным доступом другим пользователем.
Вопрос: что я делаю не так и как нужно правильно подключаться к запароленной базе Access?
Отправлен: 12.03.2007, 02:24
Вопрос задал: Trevol (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Gh0stik
Здравствуйте, Trevol!

Да действительно есть такая проблема...

Но обойти ее получилось когда создавал соединение вручную (т.е. все настройки ADOConnection производил непосредственно в программе).

Вот код:

type
TForm1 = class(TForm)
DataSource1: TDataSource;
DBGrid1: TDBGrid;
ADOConnection1: TADOConnection;
ADOTable1: TADOTable;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private

.........

const BaseName='c:ase.mdb '; {путь к файлу базы}
TablName='tab'; {название таблицы в базе}

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var s:WideString;
begin
s:='Provider=Microsoft.Jet.OLEDB.4.0;'+
'User ID=Admin;'+ {ID пользователя}
'Data Source='+BaseName+';'+ {цепляемся к базе}
'Mode=ReadWrite;Extended Properties="";'+
'Jet OLEDB:System database="";'+
'Jet OLEDB:Registry Path="";'+
'Jet OLEDB:Database Password="1234";'+ {а вот и пароль}
'Jet OLEDB:Engine Type=5;'+
'Jet OLEDB:Database Locking Mode=1;'+
'Jet OLEDB:Global Partial Bulk Ops=2;'+
'Jet OLEDB:Global Bulk Transactions=1;'+
'Jet OLEDB:New Database Password="";'+
'Jet OLEDB:Create System Database=False;'+
'Jet OLEDB:Encrypt Database=False;'+
'Jet OLEDB:Don''t Copy Locale on Compact=False;'+
'Jet OLEDB:Compact Without Replica Repair=False;'+
'Jet OLEDB:SFP=False';

ADOConnection1.ConnectionString:=s;
ADOConnection1.LoginPrompt:=false;
ADOConnection1.Connected:=true;

DataSource1.DataSet:=ADOTable1;

ADOTable1.Connection:=ADOConnection1;
ADOTable1.TableName:=TablName;
ADOTable1.Active:=true;

DBGrid1.DataSource:=DataSource1;
end;

........


Good Luck!!!
---------
Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессионал)
Украина, Славянск
Организация: Славянский государственный педагогический университет (Кафедра алгебры)
ICQ: 289363162
----
Ответ отправлен: 12.03.2007, 11:31
Оценка за ответ: 5
Комментарий оценки:
Спасибо, вечером попробую.


Вопрос № 77.923
Здравствуйте експерты.

Возник небольшой вопрос по созданию интерфейса в Delphi.

Суть такова, что мне нужно сделать на форме 3 области, размер которых пользователь может изменять.
Я сделал это так:
1. Помещаю компонет TMemo, устанавливаю свойства Align в alLeft
2. Помещаю компонет TSplitter и даю иему свойство Align alLeft
3. Далее, TMemo в alBootom и TMemo в alClents
то есть таким образом я вроде как своего добиваюсь, но есть маленькое "но", а именно расположение TMemo. При такм варианте получается что нижняя часть имет размер от левого края до правого, левая часть и клиентская область, как бы "стоит" на нижней.
Мне же нужно наоборот, чтобы левая часть было полноразмерной (от верху до низу), а нижняя и клиентская часть начинались от правого края левой части.

То есть должно получиться, как, например, в TheBat при установленом Вид-Настройка вида окна-Дерево папок в полную высоту.

Как это можно сделать?

Спасибо.
Отправлен: 12.03.2007, 10:03
Вопрос задал: arriah (статус: Студент)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: AlexanderR
Здравствуйте, arriah!

Вот как нужно:

1. Помещаю компонет TMemo, устанавливаю свойства Align в alLeft
2. Помещаю компонет TSplitter и даю иему свойство Align alLeft
3. Создаю TPanel(можно поиграть с свойствами бордера и панель будет невидимая) и
устанавливаю свойства Align в alClient
4. Помещаю в Panel Memo, свойство Align в alBootom
5. Помещаю в Panel компонет TSplitter и даю иему свойство Align alBootom
6. Помещаю в Panel компонет TMemo и даю иему свойство Align alClients

Вот теперь всебудет выглядеть нормально. В таких вещах Panel не заменимая вещь.
---------
Если ты хочешь понять я тебе помогу, но я не буду выполнять за тебя твою работу.
Ответ отправил: AlexanderR (статус: 2-ой класс)
Ответ отправлен: 12.03.2007, 10:20
Оценка за ответ: 5
Комментарий оценки:
Спасибо.
Все получилось :-))

Отвечает: Gh0stik
Здравствуйте, arriah!

1). Помещаю компонет TMemo, устанавливаю свойства Align=alLeft;
2). Помещаю компонет TSplitter и даю и ему свойство Align=alLeft;
3). Далее на свободную часть форумы помещаю TPanel, со свойством Align alClent;
4). На панель уже кидаем два поля TMemo, у одного Align=alTop, у другого Align=alClent. При желании между ними можно также и расположить TSplitter.

P.S. Изображение полученого смотрите в мини-форуме...

Good Luck!!!
---------
Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессионал)
Украина, Славянск
Организация: Славянский государственный педагогический университет (Кафедра алгебры)
ICQ: 289363162
----
Ответ отправлен: 12.03.2007, 10:31


Вопрос № 77.945
Господа эксперты! Посоветуте литературу по Lazarusu на русском языке. Если она конечно есть.
Отправлен: 12.03.2007, 12:57
Вопрос задал: Sss2007 (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: sir henry
Здравствуйте, Sss2007!
Литературы на русском по Лазарусу быть по определению не может. Не слишком то он и распространен. А вдобавок еще и не вышел на нормальный релиз. Пока-что энтузиасты его доводят до более-менее работоспособного состояния.
Единственный сайт, где о нем можно почитать на русском:
http://www.freepascal.ru/
Там же есть и форум, где можно пообщаться с русскоговорящими любителями Лазаруса:
http://www.freepascal.ru/forum/viewforum.php?f=5&sid=11e070ec1cabb422b6bd4201dff549f5
Ответ отправил: sir henry (статус: Академик)
Россия, Красноярск
----
Ответ отправлен: 12.03.2007, 13:08
Оценка за ответ: 5


Вопрос № 78.025
Здраствуйте эксперты.
Вопрос у меня токого рода.
Перед запуском программы появляется заставка.
Т.Е. форма на ней Image в которой рисунок.
Transparent=true;
и белое в рисунке (BMP) проподает.
Можно ли сделать так чтобы формы не было видно а на экране
появлялся один рисунок. На пример в Corel Draw перед запуском
показывается рисунок.
Отправлен: 13.03.2007, 00:10
Вопрос задал: Овчинников Николай Владиславович (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 23)

Отвечает: Сухомлин Кирилл Владимирович
Здравствуйте, Овчинников Николай Владиславович!
По "науке" это называется splash-screen. Вот несколько способов, как это сделать.
http://delphiworld.narod.ru/base/show_splash.html
http://delphiworld.narod.ru/base/show_splash2.html
http://delphiworld.narod.ru/base/show_splash3.html
---------
Не узнаешь - не попробуешь.
Ответ отправил: Сухомлин Кирилл Владимирович (статус: Специалист)
Ответ отправлен: 13.03.2007, 05:10
Оценка за ответ: 4
Комментарий оценки:
Это ясно. Меня больше инстересовал вопрос
как сделать форму невидимой, а
рисунок отображался с включеннным
Transparent!!

Отвечает: Ерёмин Андрей
Здравствуйте, Овчинников Николай Владиславович!
Чтобы создать окно нестандартной формы, рекомендую воспользоваться компонентом ShapedForm (http://www.delphi.int.ru/download.php?id=153). Работать с ним очень просто - в свойствах задаётся картинка (Bitmap), и окно принимает форму, изображённую на картинке. Желаю удачи!
---------
Нет правила без исключений. Правило без исключений - исключение из правил.
Ответ отправил: Ерёмин Андрей (статус: Профессор)
Россия, Тула
WWW: Программирование на Delphi. Всё для программиста. Файловый архив, статьи, помощь, советы, обмен опытом.
ICQ: 286867644
----
Ответ отправлен: 13.03.2007, 15:51
Оценка за ответ: 5
Комментарий оценки:
отличный компонент

Отвечает: Coupler
Здравствуйте, Овчинников Николай Владиславович!
Можно обойтись без сторонних компонентов, если использовать маску, которая определяет форму рисунка. Посмотрите вот этот пример: http://www.delphisources.ru/files/sources/graph/2006_year/splash_screen.zip. В нем выводится весьма симпатичное изображение, по виду очень подходящее для заставки перед запуском программы.
Ответ отправил: Coupler (статус: Студент)
Ответ отправлен: 17.03.2007, 11:05
Оценка за ответ: 5
Комментарий оценки:
Отличный пример!!!


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
ООО "Мастер-Эксперт Про", Москва, 2007
Авторские права | Реклама на портале
Версия системы: 4.45 beta от 20.02.2007
Яндекс Rambler's Top100

В избранное