Страница 8 из 13
Re: Доработки Rx
Добавлено:
25.05.2018 09:57:49
alexs
Вот с этим компонентом у меня как раз непонятки.
Я его перенесё их исходного RX - но сам не пользуюсь.
Как ты его используешь?
Метку языка добавил.
Re: Доработки Rx
Добавлено:
26.05.2018 07:39:07
kit
- Код: Выделить всё
with LoginDialog do begin
Active := False;
if not Login then Halt;
end;
procedure TKpForm.LoginDialogCheckUser(Sender: TObject; const UserName, Password: string; var AllowLogin: Boolean);
begin
AllowLogin := False;
with DM.ZStatement.ExecuteQuery('SELECT CAST(id AS Integer), name, password, CAST(level AS Integer) FROM users WHERE name = "' + UserName + '"') do
if not(GetRow = -1) and ((TrimRight(GetString(3)) = '')
or (IntToStr(GetCRC32Int(UserName + Password)) = TrimRight(GetString(3)))) then begin
DM.UserId := GetInt(1);
DM.LastU := GetInt(1);
DM.UserName := Trim(GetString(2));
DM.Password := GetString(3);
DM.UserLevel := GetInt(4);
AllowLogin := True;
end else
ShowPopup('Невірне ім`я або пароль!', idDialogShield);
end;
Re: Доработки Rx
Добавлено:
08.06.2018 17:54:21
kit
Нужен експорт RxDBGrid в dbf. Есть что-то готовое или надо самому делать?
Re: Доработки Rx
Добавлено:
09.06.2018 10:02:58
alexs
Мне кажется - ошибка в формулировании задачи
Экспорт в DBF из набора данных, который подключен к RxDBGrid - так вернее.
Есть штатный пакет из FPC - DataExport. Он много чего умеет.
Re: Доработки Rx
Добавлено:
12.06.2018 09:26:06
kit
Сделал проще:
procedure TBrowseForm.DataSetExportDbfExecute(Sender: TObject);
var
BM: TBookMark;
i: Byte;
begin
with DM, TDBF.Create(Self) do
try
BM := DBGrid.DataSource.DataSet.GetBookmark;
DBGrid.DataSource.DataSet.DisableControls;
FilePath := IniReadString(IniFileName, 'Main', 'DirDov', DirTemp);;
TableName := Caption + '.dbf';
KpForm.ShowPopup('Експорт ' + FilePath + TableName, idDialogInfo);
for i := 0 to DBGrid.Columns.Count - 1 do
with DBGrid.Columns.Items[i].Field do
FieldDefs.Add(FieldName, ftString, DataSize);
CreateTable;
Open;
while not(DBGrid.DataSource.DataSet.Eof) do begin
Append;
for i := 0 to DBGrid.Columns.Count - 1 do
Fields[i].AsString := UTF8ToCP866(DBGrid.DataSource.DataSet.FieldByName(DBGrid.Columns.Items[i].FieldName).AsString);
Post;
DBGrid.DataSource.DataSet.Next
end;
Close;
with DBGrid.DataSource.DataSet do
if BookmarkValid(BM) then
GotoBookmark(BM);
finally
DBGrid.DataSource.DataSet.EnableControls;
FreeBookmark(BM);
Free;
end;
end;
Re: Доработки Rx
Добавлено:
08.08.2018 11:44:35
kit
Добавь, пожалуйста:
procedure TRxDBGrid.OnIniLoad(Sender: TObject);
...
//{$IFDEF FIX_WIDTH_WIDE_STRING96}
// if Screen.PixelsPerInch = 96 then
//{$ENDIF}
C.Width := Scale96ToForm(FPropertyStorageLink.Storage.ReadInteger(S1 + sWidth, C.Width)); // kit
Re: Доработки Rx
Добавлено:
09.08.2018 13:30:20
alexs
Точно будет работать? Не будет расползаться?
Re: Доработки Rx
Добавлено:
09.08.2018 17:06:54
kit
alexs писал(а):Точно будет работать? Не будет расползаться?
Тестирую на себе. Пока нерасползается. Можеш подождать пока протестирую на клиентах.
Re: Доработки Rx
Добавлено:
10.08.2018 09:54:38
alexs
У меня с этим были большие проблемы на win7 - пришлось в своё время костыль ставить.
Re: Доработки Rx
Добавлено:
11.08.2018 10:44:14
kit
Проблеми при включении масштабирования в Windows?
Re: Доработки Rx
Добавлено:
13.08.2018 09:24:42
alexs
Да.
Причём проблема на уровне LCL - ширину и высоту когда надо и не надо пересчитывают при включенном масштабировании.
Re: Доработки Rx
Добавлено:
13.08.2018 09:33:34
kit
Scale96ToForm должно помочь. Еще можна поставить птичку "Использовать масштабирование LCL (Hi-DPI)" но у моих клиентов со старими виндовсами програма перестала работать.
Re: Доработки Rx
Добавлено:
13.08.2018 11:12:27
alexs
Я погоняю. Но проблема этим не решится
попробуй в SeesionProperty у формы добавить какие либо размеры компонентов с формы:
например - на форму два грида (мастер/детайл) со сплитером между ними.
Вот если начнёшь сохранять ширину этих гридов - то будут нежданчики.
Re: Доработки Rx
Добавлено:
14.08.2018 08:27:27
kit
С SeesionProperty всегда били проблеми поетому я его не использую.
Добавь свой SessionProperty в RxIniPropStorage
Re: Доработки Rx
Добавлено:
16.08.2018 11:52:18
alexs
Там (в TRxIniPropStorage) по хорошему надо делать обработку сохранения ширины и высоты
Я пока простой костыль вставил - смотри FinishPropertyList.
Лучше бы конечно дописать перемасштабирование. Но пока у меня это не главное - устроило такое поведение.
Если получится - допиши.