Skip to forum content
My Visual Database
A Simple Solution for Creating Databases
You are not logged in. Please login or register.
Active topics Unanswered topics
Search options (Page 44 of 60)
Topics by k245 User defined search
Posts found: 1,076 to 1,100 of 1,488
CDB wrote:Мне очень интересны ваши курсы. Они только на русском или есть английские версии?
Ваш веб-сайт я использую Google переводчик, чтобы прочитать страницу.
I am very interested in your courses. Are they only in Russian or are there English versions?
Your website I am using google translate to read the page.
There is an English version of the basic course. More details can be found here: https://vk.com/createmyvisualdatabaseapp_en
Petr wrote:Предполагаю что если на форме большое кол-во элементов то её сразу нужно разворачивать на максимальный размер экрана.
AutoSize не используем. AutoScroll ставим галочку. Вроде работает.
procedure Form1_OnResize (Sender: TObject);
begin
Form1.Width := Screen.Width;
Form1.Height := Screen.Height;
end;
Ваш код устанавливает размеры формы равными размеру экрана. Для получения требуемой автору поста функциональности нужно использовать свойство Constraints:
procedure Form1_OnShow (Sender: TObject; Action: string);
begin
Form1.Constraints.MaxHeight := Screen.Height;
Form1.Constraints.MaxWidth := Screen.Width;
end;
То есть форма никогда не будет больше размера экрана.
Ronin751 wrote:Petr, спасибо за ответ!
Правильно ли я понял, что без таблицы (которая, в принципе, и является своего рода настройкой количества столбцов и т.д.) TreeView заполнить нельзя?
Заранее благодарен.
Можно и без таблицы. Но тогда нужно добавлять не только строки, но и колонки, примерно так:
try
Form.Grid.Columns.Add(TNxTextColumn);
except
end;
Добавляет текстовую колонку в таблицу (или дерево). Почему-то метод Add вызывает ошибку, но колонка добавляется и все потом работает
v-makarovmail wrote:Всем привет
Подскажите кто нибудь пожалуйста.
Есть итоговая таблица и в ней есть три поля с типом ВРЕМЯ (например: 01:30:00, 00:15:00, 02:10:00)
нужно сделать итоговое строку вконце(вычисляемое) чтобы считала все эти три поля ВРЕМЯ (получалось чтобы: 3:55).
Как мне это сделать? чтобы работало корректно.
Очень нужно.
Заранее спасибо.
http://myvisualdatabase.com/forum/viewtopic.php?id=6772
Сложение времени из трёх полей:
time( strftime('%s',time(fimefield_1)) + strftime('%s',time(fimefield_2)) + strftime('%s',time(fimefield_3)) ,'unixepoch' )
P.S. Не рекомендую использовать кириллицу в названиях полей
Получить номер строки по ID:
function GetRowByID( ATable:TObject; AID: integer ):integer;
// Получить по ID элемента дерева находит номер строки; работает для таблицы и дерева, так как дерево является наследником таблицы
var
i :integer;
tmpTable: TdbStringGridEx;
begin
tmpTable := TdbStringGridEx(ATable);
Result := -1;
for i := 0 to tmpTable.RowCount-1 do
begin
if tmpTable.dbIndexToID(i) = AID then
begin
result := i;
break;
end;
end
end;
Раскрыть дерево в нужном узле:
Form1.TreeView1.Expanded[Index] := True;
Лучше решать такие задачи системно: в справочнике должно быть два поля: одно для краткого наименования для отображения на форме редактирования в выпадающем списке, другое - для полного наименования для печатной формы или для отображения на форме редактирования в мемо-поле скриптом после выбора значения в справочнике (выпадающем списке)
millamakova wrote:Скажите, появилась ли на данный момент возможность открыть файл прямо из таблицы?
Сейчас это можно сделать с помощью скрипта. Для более конкретного ответа приложите ваш проект.
Или тут посмотрите варианты: http://myvisualdatabase.com/forum/viewtopic.php?id=3682
vovka3003 wrote:На костылях:
Дай бог каждому пользователю MVD умение создавать подобные костыли - и будет им счастье )))
millamakova wrote:Здравствуйте!
Подскажите пожалуйста, почему в таблице могут возникать китайские иероглифы в колонке с прикрепленным файлом.
Пусть до файла короткий без кириллицы, название файла цифры либо латиница. Больше не знаю где еще копать.
Не используйте прямое отображение файлов в таблице. В общем случае таблица не может корректно отображать содержимое прикреплённого файла. Если не ошибаюсь, нормально будут отображаться только текстовые файлы в формате UTF-8.
Raspr wrote:Конечно, не в первую очередь, но хотелось бы иметь возможность менять местами визуальное представление таблиц. Доросло кол-во до 62 и их положение сэкономило бы время поиска.
Если речь идет о расположении таблиц на вкладке "Таблицы базы данных", то вы можете отредактировать текстовый файл tables.ini , переставив разделы в нужном порядке следования.
Vyvern wrote:Здравствуйте! Как "одним махом" очистить несколько комбобоксов?
Вариант типа
Form1.ComboBox1.Clear;
Form1.ComboBox2.Clear;
Form1.ComboBox3.Clear;
Form1.ComboBox4.Clear;
Form1.ComboBox5.Clear;
как-то не комильфо.
Способ ниже не работает.
for i:=1 to 5 do begin
cb:=TComboBox(Form1.FindComponent('ComboBox'+IntToStr(i)));
cb.Clear; \\выделяет красным строку (при этом в var указано cb: TComboBox;)
end;
Где тут ошибка? Подобное вообще работает в MVD?
Ошибка в объявлении переменной cb: используйте класс TdbComboBox:
Я не против эстетики (функциональной), но если архитектурой Windows предполагается установка нужных шрифтов в системную папку, зачем городить огород и придумывать изощрённые способы обойти это правило? Но это уже философская тема пошла ))))
Vyvern wrote:Можно с этого места подробнее? Хранить-то шрифт не проблема, а как его задействовать?
Как я писал ранее, установка шрифта - это копирование файлов со шрифтами в папку windows\fonts
P.S. Странно, что вопрос со шрифтами так остро встал для программы, работающей с базами данных )))
Vyvern wrote:Вы про какую концепцию? Я искал решение этого вопроса на форумах по Дельфи, и что-то даже нашел, но, увы, не понял, как это все работает. Предлагалось создать некий RC файл, как-то его то ли проверять, то ли регистрировать. А затем уже при открытии формы устанавливать файл шрифта (в ОС, как я понял), а при закрытии формы - удалять (просто чтобы не мусорить на другом компе). Если б такое можно было бы сделать в MVD, было бы хорошо.
Установка шрифта - это копирование файлов со шрифтами в папку windows\fonts В Win7 это проблем не вызывает, в Win10 может не прокатить из-за настройки системы безопасности. Использовать ресурсы для хранения шрифтов в MVD не получится. Но это и не обязательно - храните их в отдельной папке или базе данных (если хотите их "прятать" от пользователя ).
P.S. ИМХО, копировать файлы шрифтов при каждом запуске программы - это моветон )))
Vyvern wrote:Здравствуйте!
Как закрепить компонент Label в определенном месте на форме для получения эффекта центрирования (как в Word, например)? Чтобы Label вне зависимости от количества символов все время был "по центру".
И можно ли в Label переносить не по одному слову, а в определенных рамках, как в Memo?
Вы можете центрировать текст внутри метки (Alignment = taCenter), а саму метку привязать якорями (Anchors = [Left,Right,Top]) к правому и левому краю формы. Перенос работает по словам, но вы можете программно добавить код перевода строки для принудительного переноса
MainForm.Label1.Caption := 'Первая строка'+chr(10)+'Вторая строка'
vovka3003 wrote:Vyvern wrote:Как интегрировать в проект свой шрифт, чтобы он работал только во время использования базы данных?
Из-за отсутствия нужных функций в программе - это невозможно.
Изначальная концепция неверная. Для обычных windows-приложений необходимые шрифты включаются в дистрибутив и устанавливаются вместе с приложением. Свои собственные шрифты, не регистрируемые в системе, могут себе позволить игры и другие программы, использующие DirectX и/или свои собственные технологии для рендера шрифтов (векторные, текстурные, пиксельные и т.д.).
Ronin751 wrote: Какая разница между TTreeView и TdbTreeView?
TdbTreeView - это визуальный компонент из палитры компонентов My Visual Database, может работать с источником данных.
TTreeView - это стандартный компонент VCL, можно использовать с помощью скриптов.
В вашем проекте вы задействовали компонент TdbTreeView.
Картинку вы так не добавите. Но код интересный, хочется услышать комментарии о том, за что отвечает свойство ImageIndex у строки )))
Form1.TreeView1.Row[form1.TreeView1.LastAddedRow].ImageIndex:=1;
А картинка в дерево добавляется по такому же алгоритму, что и в таблицу:
procedure Tree_AddGrControl(ATree:TdbTreeView);
// добавление колонки с графическими элементами управления деревом
var
G: TGraphic;
tmpImage:TdbImage;
tmpName: string;
i: integer;
begin
// проверка, чтобы не добавлять дважды
if not (ATree.Columns[0] is TNxGraphicColumn) then
begin
// из-за того, что колонка с картинкой добавляется, настройки надо сдвинуть
for i:=0 to ATree.Columns.Count - 2 do
ATree.Columns[i].Width := ATree.Columns[i+1].Width;
// добавляем картинку
ATree.Columns.InsertGraphicColumn(0);
TNxGraphicColumn(ATree.Columns[0]).BorderWidth := 0; // убрать рамки вокруг картинок
ATree.Columns[0].Options := ATree.Columns[0].Options - coCanSort; // отключить сортировку при клике на заголовке добавленной колонки
ATree.Columns[0].Width := 30; // ячейка с изображением
for i := 0 to ATree.RowCount - 1 do
begin
tmpImage := FindImage(frmStart,tmpName); // находим нужную картинку (например TdbImage на форме) - тут должен быть ваш алгоритм...
G := TPngImage.Create;
G.Assign( tmpImage.Picture ); // копируем картинку в графический объект дерева
ATree.Cell[0, i].ObjectReference := G;
end;
end;
end;
Нужный вам функционал лучше реализовать скриптами, DBFile не используйте - вы ведь не храните файлы в БД?. Храните в текстовом поле относительный путь. Для выбора файла используйте TOpenDialog, при записи пути в базу обрезайте его по своему алгоритму, а для последующего открытия - функцию OpenFile(), предварительно модифицировав путь из базы по вашему алгоритму.
chaoba wrote:k245 wrote:Про API вы правильно вопрос сформулируйте. Читал я вашу тему, не стал ничего писать (после шуток Владимира уже и добавить там нечего ).
Наверно очень смешно, рад, что повеселились. Описание или есть, или его нет.
Не обижайтесь, но не понятно, про какое именно API вы спрашиваете? У My Visual Database нет своего API. А если вы про какие-то другие системы спрашивали, то нужно уточнять, какие именно. Можно предположить, что вы имели ввиду API HTTP-сервера, и вам нужны примеры взаимодействия с ним, но мы же тут не загадки разгадываем, а делами занимаемся ))))
sibprogsistem wrote:авторское право и потент являются результатами интеллектуальной деятельности, в общем как я понимаю, это одно и тоже...
это два совершенно разных понятия
В России не выдают патентов на программное обеспечение, но можно зарегистрировать авторское право. Однако, лично я не вижу в этом смысла.
https://blog.akorablev.ru/software-patent.html
chaoba wrote:Я не жалею, что купил эту среду разработки. Возможно не во всем ее можно применить, жаль, что так и не нашел информации по API, но остальное, что приходилось делать - все было легко реализовано.
Про API вы правильно вопрос сформулируйте. Читал я вашу тему, не стал ничего писать (после шуток Владимира уже и добавить там нечего ).
juke.ivanov wrote:в программе много багов . и времени уходит гораздо больше для создание простой формы . И платить деньги за сырую программу не вижу смысла. В программе я еще нашел два бага и поэтому программу удаляю не стоит она не денег не времени с ней разбираться . но задумка в целом я считаю не плохая удачи разработчикам. А все кто ей пользуется будьте внимательны в программе много багов . Удачи
Данный проект "живой": автор проекта постоянно наращивает функционал, ошибки исправляются, сообщество может помочь разобраться во всех тонкостях, а если надо, то и пожурить молодых пиратов. Не вижу ничего плохого в этой старой пиратской традиции
P.S. Две аксиомы программирования:
1. В любой программе есть как минимум один баг.
2. Любая программа может быть сокращена как минимум на одну инструкцию.
ВЫВОД:
Любую программу можно сократить до одной-единственной, не работающей инструкции.
Posts found: 1,076 to 1,100 of 1,488