1

(11 replies, posted in General)

jean.brezhonek wrote:

Hello Atropa,
There will most likely be no new MVD releases.
Dmitri, its creator, now works in the web field.
According to the latest news I had with him by email, it is not his intention to continue developing MVD, which all users strongly and rightly regret, me first and foremost.
MVD is such a fabulous and promising tool that it is a shame that no one can add new functions to it that would be very useful to us.
But we must admit that even with the latest version (6.1.1), we can carry out superb projects with a high degree of complexity.
But that's how life goes, even if I cross my fingers and say: "Dmitri, come back to MVD again."
JB

P.S.: I would love to be wrong!

I have 6.5, how do I get a copy of v6.6.1?  Is that even possible?

Keith

2

(2 replies, posted in General)

Greetings,

Looking for some suggestions and guidance on my first project as I am at a decision point as how to proceed from here...  The app is for tracking audits... so there are the clients, the audit proper and the procedures to be performed for an audit.  These audits are done on an annual basis for the most part but can range from monthly (clients in distress) up to about 18 months between (usually because of purchasing a new entity and trying to fold it into their current business).

These audits are on the performance of a companies Accounts Receivables which are being used as collateral for lending programs offered by various banks.  Formally called Account Receivable Securitization.

I have all of the basic components, lookup tables, etc already built, but am down to hooking the pieces together to function as an app.  I can see two possible approaches and with MVD wonder if there are benefits to one approach over another.

First, I could base totally off of the client.  From the client I could then select the audit period (eg. 2020 Jan  or  2021 Jan) then dig down to the procedure being worked on and the details that surround that procedure.

OR

Second, I could base off the Audit and treat both the client  and the procedure as the browse lookups to the Audit.

For the way things work both the easiest and cleanest, is there a better choice when doing a project in MVD, as to the approach when you have multiple levels such as this?

While there are multiple types of audits for a client (based on needs) there are some constants for any kind of audit too.   I would like to be able to copy previous audit transactions, updating to the new audit and clearing out fields that are not yet completed to make setup quicker for rolling into the next audit so whatever method is employed about the procedure transactions should be able to be duplicated to the new audits tagging.

The key to those items should be ....  client_id + audit_id + procedure_id


Comment, considerations, suggestions to those more experienced with MVD.

Regards,
Keith

3

(2 replies, posted in General)

Derek,

Thanx ... I was sooo close but not there,
but as usual you were spot on !!

Regards,
Keith

4

(2 replies, posted in General)

Greetings,

I have a TableGrid that contains several columns, two in particular are the Company Name & Division.  I need to present the Grid in Company_Name / Division order.  I presume (maybe wrong) that using the Order_BY in the TableGrids sort area I can do this but no matter what I have tried, I cannot get it to work. It sorts one field BUT not multiple fields.

If this can be done could someone demonstration the syntax for:   Form1.TableGrid1.Company  &  Form1.TableGrid1.Division... in my case the fields should both be ascending but if there is provisions for ASC/DSC could you please provide  an example of the syntax for that ORDER BY field.

Regards,
Keith

5

(0 replies, posted in General)

IS this and the related calls documented anywhere...
what all can be done?

Regards,
Keith

6

(3 replies, posted in General)

Derek,

Option #2 was more like what I had envisioned... however the SQL version is a nice education for me THANX !!

Keith

7

(3 replies, posted in General)

Derek,

Sorry I wasn't more clear & specific.  Initially I had all of the fields in simple Edit-Boxes on a form. I am not sure that it would make much of any difference whether they were separate edit fields or a tablegrids other than I started with Edit fields not giving any more thought at that moment.

My main concern was where I could access those fields, shift the data, before the actual record update occurred.

Keith

8

(3 replies, posted in General)

Greeting,

As I push thru my first MVD project I am again trying to figure out how to implement something or whether there might be better ways. Using MVD v6.5 with SQLite DB.

I have the following situation.  I have two (2) sets of 5 fields that are a status and date for that status.  The fields are  Current, Prev-1, Prev-2, Prev-3 & Prev-4.  When a new event occurs I want to put it into the Current fields, but first must roll Prev-3 into Prev-4, Prev-2 into Prev-3 ... and finally the Current into Prev-1 before installing the new Current Values.

These fields are on a form in a single row presently.  How can I effect the rolling of the values?

Regards,
Keith

9

(2 replies, posted in General)

derek wrote:

Hi Keith,
From your screenshot, you have:
procedure frmlstclients_tablegrid1_oncellclick (Sender: TObject);
But these are the parameters for a tablegrid_onclick event rather than a tablegrid_oncellclick event.
The correct procedure parameters for the oncellclick event should be
procedure frmlstclients_tablegrid1_oncellclick (Sender: TObject; ACol, ARow: Integer);
Derek.


OK, I changed the event code and the place in the Events Tab on the left without understanding the difference in the call setup.
Glad you spotted it cause I was starring at it for an hour and never had a clue.  I guess I had best do the double-click to the
right of the event and let the system set things up for me until I truly understand MVD/Pascal Script.

Thanx for spotting my error !!

Keith

10

(2 replies, posted in General)

Greetings,

When I run the script in the attach image I get the error displayed

HOWEVER

if I completely comment out lines 3 thru 8 I do not get the error and the process works as desired.

Can someone explain why this error is occurring, what am I missing.
Running MVD v6.5

Regards,
Keith

11

(9 replies, posted in General)

derek wrote:

Hi Keith, Brian,
To get the position in the grid where you've clicked, you could try it like this (see attached).
If you just need to get the row id, you could also try form1.tablegrid1.getrowatpos(x,y) attached to an 'on_mouse_down' event.
Derek.

Thanx to BOTH Brian & Derek !!!
As always the examples are very much appreciated ...
I had missed the reversed position reference initially  of   Col, Row  so that helps big time.

Regards,
Keith

12

(9 replies, posted in General)

brian.zaballa wrote:

try this one.

ShowMessage(Form1.TableGrid1.Cells[Form1.TableGrid1.SelectedRow,0]); // string

You can access the properties, functions etc by just typing the Grid, followed by dot(.)

Form1.TableGrid1.

then, Hit Ctrl+Spacebar. this will list down properties, functions, etc

The showMessge line returns the Cell value, I was originally looking for the "SelectedRow" value.  1,2,3,5,10?

Thanx for the Ctrl+SpaceBar tip !!

Thanx,
Keith

13

(9 replies, posted in General)

brian.zaballa wrote:
kweatherhead wrote:

Greetings,

I have a TableGrid on a form and I would like to grab the value of the first field in the first row... what is the proper
reference to grab that value?


Col1,  Col2,   Col3
xxx      yyy        zzz


I want to access  the "xxx", can someone please give me a example syntax.

Regards,
Keith

if Form1.TableGrid1.RowCount > 0 then begin
    //ShowMessage(Form1.TableGrid1.Cell[0,0].AsString);
    //ShowMessage(Form1.TableGrid1.Cell[0,0].AsFloat);
    //ShowMessage(Form1.TableGrid1.Cell[0,0].AsInteger);
    //ShowMessage(Form1.TableGrid1.Cell[0,0].AsDateTime); 
    ShowMessage(Form1.TableGrid1.Cells[0,0]); // string
end; 

Can you determine what row the user clicks on?  Where can you find out what the options are when dealing with Tablegrids, etc?

Regards,
Keith

14

(9 replies, posted in General)

Brian,

Good Eye !!

Keith

15

(9 replies, posted in General)

Brian,

Thanx for the reply !!

I am using ver 6.5

ShowMessage(frmLstClients.TableGrid1.Cell[0.0]);  // this gives me: Not enough actual parameters

ShowMessage(frmLstClients.TableGrid1.Cells[0.0]); ;; gives me:  the same error

if frmLstClients.tablegrid1.cell[0.0].AsString = ' Add A New Client'  then frmAddNewClient.show;

as does the above in the way I was originally trying to use it, whereas

if frmLstClients.tablegrid1.cells[0.0].AsString = ' Add A New Client'  then frmAddNewClient.show;
// says Strings do not have properties or methods

any ideas?

Thanx,
Keith

16

(9 replies, posted in General)

Greetings,

I have a TableGrid on a form and I would like to grab the value of the first field in the first row... what is the proper
reference to grab that value?


Col1,  Col2,   Col3
xxx      yyy        zzz


I want to access  the "xxx", can someone please give me a example syntax.

Regards,
Keith

17

(30 replies, posted in General)

DriveSoft wrote:
kweatherhead wrote:

Dmitry,

Do you plan to make themes editable for a developer to use their own color scheme?
Provide a utility or document the process?

Regards,
Keith

You can install Delphi and run Bitmap Style Designer tool to edit the themes, more info: http://docwiki.embarcadero.com/RADStudi … e_Designer


THANX,
Keith

18

(30 replies, posted in General)

Dmitry,

Do you plan to make themes editable for a developer to use their own color scheme?
Provide a utility or document the process?

Regards,
Keith

19

(30 replies, posted in General)

bbrother wrote:

style menu is not working if we open a saved program directly. Style menu work only when we run application from desktop  shortcut.

I ran into the same issue. If I launched by the  *.mvd file for the project I was working on, MVD hangs and never loads with 6.5, however if I use the MVD icon to launch and load previous Projects then it loads properly and is able to have themes applied to the project.

Keith

20

(4 replies, posted in General)

Derek,

I am beginning to believe the more I look at this a simple row per reading and the computed fields for that row and the previous 24 might be a lot easier.  I need to keep rolling MIN, MAX & AVG for the current & 24 previous entries so that is why I was initially trying to keep it a single row in the DB but that looks to be more of a nightmare.  I know the potential client is gonna want trending on that data too so it might be better to make them single items.  I did not want everything on the input form, but in order to roll the fields even in your example they would have to be on the form, even if it could be done "hidden" they would still need to be on the form.

Back to the drawing board, but THANX for the thoughts and effort !!!

Regards,
Keith

21

(4 replies, posted in General)

Brian,

Thanx for your example...  I have added an example structure to help clarify what I am trying to do.

Running the initial example and selecting the "Shift" Button will show another form.  All I want to due is update fields
2 & 3.  The first field will be a read-only of the test module.  Then enter new result & date, increment count, re-compute the Min, Max, AVG.

Then shift the previous test results down one  (again I show 10 for this example, the list is actually 25) insert the new Curr Score & Date
prior to the computations.

was wondering if there was a better way than...

Prv25_Score := Prv24_Score;
Prv24_Score := Prv23_Score;
Prv23_Score := Prv22_Score;
.
.
Prv2_Score := Curr_Score;
Curr_Score :=  (Entered Value);


Also have to shift the Dates as well.

Keith

22

(4 replies, posted in General)

Greetings,

Is it possible to map an array to a set of fields?

I have to record a set of statuses (they are numeric) for a set of operations, each operation will have its own row in the DB.
I then have to keep a running  MIN, MAX, AVG for the last 25 tests.  When a new test is run I need to shift the values and compute
a new set of MIN, MAX, AVG for the then last 25 tests.

Now I can shift    filed25 := field24, etc down the list to shift and I can check MIN, MAX and sum up for AVG in a long set of
statements or if I can map an array I can do all in a fairly compact loop structure.  If I move field values to an array then I have to
move them back, there probable not much to be gained... just wondering if it is possible to not have to write a novel of code?

Regards,
Keith

23

(2 replies, posted in General)

Derek,

Once again you post a perfect example of what I really wanted to do.
Thanx for your willingness to share.

Regards,
Keith

24

(2 replies, posted in General)

Greetings,

I want to use a ComboxBox type of Control to show a list of available customers...  is there a way to put an
"Add New Customer" at the top of the ComboBox ahead of existing Customers in the Customer Table?

And then by selecting that entry go into the "Add New Customer" processing rather than using a Button
to initiate the Add New Customer form & routine?

Just looking for a different method than always having to use Button to select Add or Edit.  I could put a dummy
record in the Customer File but that is just kind icky in my mind.

Thanx,
Keith

25

(0 replies, posted in General)

Greetings,

What ways does MVD support Inter-Process Communication...   Named Pipes, or any other way, if possible.
Since I cannot really secured some special code I have, I am looking for a way to pass things to another
running process.  Has anybody done anything like that with an MVD program?

Regards,
Keith