226

(2 replies, posted in General)

gamingmastar,
Until Dimitry incorporates this feature in MVD, you can use a free third-party software called Enigma Virtual Box to do this. With this software you can hide MVD files inside the exe.

Here is the link to download it:
https://enigmaprotector.com/en/aboutvb.html

Here is another option. If your file extensions are always 3 such as pdf, zip, doc...etc, you can append the following to your rtrim statement in your SELECT.


|| SUBSTR(displayname, Length(displayname) - 3, 4)

228

(8 replies, posted in Database applications)

shaikhmujaahid

Forgot to mention that you need a special dll for this to work. You can download the following sqlite3.dll, which was posted here in the forum. Place this downloaded dll in your project folder. It will replace the existing dll. If you also place it in the main MVD program folder, it will automatically use it for all projects.


Here is the link for the download:  https://www.dropbox.com/s/k831y7goyc5dj … 3.dll?dl=0

229

(8 replies, posted in Database applications)

You can provide the following SQL statements inside your project to protect your SQLite.db. Only third-party apps which solicits the password will have access to the DB.


SQLExecute('PRAGMA key = ''PASSWORD'';');      // To provide the password to a database

SQLExecute('PRAGMA rekey = ''PASSWORD'';');   // To assign or change the password of the database

SQLExecute('PRAGMA rekey = '''';');      // To remove the password of the database

230

(17 replies, posted in General)

I do not believe you can use the bars (||) in MySQL. You use Concat() function instead. So if you place all your ifnull statements inside the parentheses of the Concat() function and replace all the bars(||) with a comma you should get your results.

231

(2 replies, posted in General)

hotice546,
See if attached guides you to what you want. I used a Boolean field to distinguish an administrator from a user, but you may have another way. You just need to replace the If statement with whatever method you use.

232

(5 replies, posted in General)

hotice546,
See attached for one way of updating a foreign key.

233

(9 replies, posted in Script)

Unfortunately I'm not sure how to do that. This is something Dimitry will probably need to answer. Sorry.

234

(9 replies, posted in Script)

I'm not sure what you mean by pinning a CMD window to a form, but you can do the following within MVD.

Openfile('cmd');

235

(3 replies, posted in Reports)

Thank you Dimitry. Much obliged.

236

(3 replies, posted in Reports)

Need some help with showing an image on a report. I have a single record table with an image stored in the table. All I want to do is to display that image on a report. But for some reason it does not show. I must be missing a property or setting or something. See attached project. Any help would be appreciated. The image is definitely on the record because the form is displaying it and I can view it outside of MVD.

237

(29 replies, posted in General)

humblelion,
See attached for a simple example on creating a calculated field for the multiplication of qty and price for a total to be displayed on a tablegrid. Also, the calculation is scripted on the update form upon entry of qty and price.

238

(6 replies, posted in Script)

Ok I understand now. See attached and see if that can work for you.

239

(6 replies, posted in Script)

I'm not sure I understand. I tested my changes in the procedure you provided and it displays the file size in MB whether it is below or above 15. Are you changing something when you retrofit this code into your actual project?


You mention real time size. I don't understand what you mean. If you are looking to display the actual size of a file then all you need to do is create another label and then populate it with the integer i (see below).

Form1.ActualSize.Caption := IntToStr(i);

240

(6 replies, posted in Script)

gonpublic2k,

Change the following line:

Form1.MBSize.Caption := FormatFloat('0.00', i/(1024*1024)); //MB

To

  If i/(1024*1024) < 1 then Form1.MBSize.Caption := '<1MB'
               else Form1.MBSize.Caption := FormatFloat('0.00', i/(1024*1024)) + 'MB'; //MB
  If i/(1024*1024) > 15 then Form1.MBSize.Font.Color := clRed
               else Form1.MBSize.Font.Color := clGreen;

241

(3 replies, posted in General)

Change

frmNotes.edRR.value := ('1 : '(frmNotes.edPipsGained.value)/(frmNotes.edStop.Value));

To


frmNotes.edRR.Text := '1 : ' + FloatToStr(frmNotes.edPipsGained.value/frmNotes.edStop.Value);

LOL. It happens.

Derek,
Try this.

procedure Form1_TableGrid1_OnChange (Sender: string);
begin
  Form1.Tablegrid1.columns[0].enabled := false;
end;

Try using Enigma Virtual Box (http://www.enigmaprotector.com/). You can embed files and folders inside the exe, therefore hiding them from the users. It's free.

245

(11 replies, posted in Reports)

As in most cases with MVD there are multiple ways to do things. In this case there is another option for the report date without formatting in the Report SQL or using calculated field. You can create a memo field (label field) in the report and then on the AfterData event place the following script:

procedure Memo1OnAfterData(Sender: TfrxComponent);
begin
    Memo1.Text := FormatDateTime('d',SqlDateTimeToDateTime(<Report."Date">)) + ' ' 
      + FormatDateTime('mmmm',SqlDateTimeToDateTime(<Report."Date">)) + ' '
      + FormatDateTime('yyyy',SqlDateTimeToDateTime(<Report."Date">));  
end;

Using Derek's example see attached for another option. I'm not in no way trying to say that my way is the best. Just trying to show another possiblity.

246

(15 replies, posted in General)

Asifmute,
Your app serial project works fine. When you enter in the app serial, only use the first 19 characters of the key within the script. The other 3 characters are the number of days till expiration. See below.

https://i.postimg.cc/Ghr1JpMy/Keys.jpg

247

(32 replies, posted in General)

Derek you're right. It's not really a drag and drop in its true sense, but it does give the illusion of one. Your drag cursor was a nice touch, It made it look even more like dragging. Thanks.

248

(32 replies, posted in General)

Derek, Adam


I was playing around with drag and drop on your project Derek and came up with the attached. You can click and drag a task from one quadrant to another. Try it out.

249

(3 replies, posted in General)

On your edit form in addition to your normal SAVE button, create a button called "Save As New" and place the following code on it.


procedure Form2_SaveAs_Button_OnClick (Sender: TObject; var Cancel: boolean);
begin
    Form2.Save_Button.dbGeneralTableId:=-1;
    Form2.Save_Button.Click;
end;


See attached for an example.

250

(8 replies, posted in General)

I used the same project as before and put in the checkbox method to print selected rows. It is basically the same process as previously submitted. You can click anywhere on the row and the checkbox will be checked and if you click the same row again it will uncheck the checkbox. Then click on the Multi Select button and change the name and the report will print the changed name for the selected (checked) rows.