Blog

All Blog Posts  |  Next Post  |  Previous Post

VCL TaskDialog

Thursday, October 17, 2019

Holger Flick, TMS Evangelist & Embarcadero MVP has recently made a lot of useful videos: tips and tricks for TMS VCL components, new release announcements, events announcements...

Recently he recorded a new series of videos for VCL TaskDialog.
This new series consists of 7 videos, including component introduction and few examples.

TaskDialog series:


Introduction. What is TaskDialog and what are the advantages? What are those dialogs in the first place?



How can you migrate existing apps to use the new dialogs?



Motivation to do the examples step by step and introduction of my cheat sheet.



Example 1: Simple dialog with text



Example 2: Using Command (link) buttons



Example 3: Expanding and collapsing, footer text with hyperlinks



Example 4: Using radio buttons and verification text



His next 2 upcoming videos will be about :
  • TAdvInputTaskDialog: to use a TaskDialog with any custom input control
  • FNC TTMSFNCTaskDialog: the cross-framework & cross-platform TaskDialog equivalent

More videos can be found on our YouTube channel.


Masiha Zemarai




This blog post has received 8 comments.


1. Thursday, October 17, 2019 at 6:20:53 PM

Excellent work.

Where is the cheat sheet available from?

Dave White


2. Thursday, October 17, 2019 at 8:53:35 PM

Please use http://bit.ly/TAdvTaskDialog .


Holger Flick


3. Saturday, October 19, 2019 at 11:49:55 AM

Holger,

Please accept my thanks for your continuing efforts to dive into the VCL components and do informative videos that not only demonstrate HOW, but in most cases, WHY, using the TMS replacement is better. I''ve owned TMS components for ... it''s some large number of years. ''Bout the time Bruno got started. I think. And honestly, given ALL the libraries I have purchased in my 3+ decades since I started with Paradox 1.11i all those years ago, I''ve FORGOTTEN more than I probably remember at this time. So, old dogs can STILL learn new tricks.

I also appreciate your flawless English. I SHOULD be more global and handle accents and languages from afar better. But I don''t. (and the truth is, GERMAN is my first language, as I spent the first five years of my life at Royal Canadian Air Force Base Baden-Baden, but I''ve lost almost all that I learned back then). Being monolingual is a shame on me. That admitted to, your narration is without complaint.

Please dive through as many of the components as you can find the time away from other duties to do. Thank you in advance for your time, the world''s most precious resource.

Gary Mugford


4. Sunday, October 20, 2019 at 1:16:20 PM

TMS also has FANTASTIC technical support!

Aschbacher Peter


5. Sunday, October 20, 2019 at 8:08:52 PM

Thanks Peter!

Bruno Fierens


6. Monday, March 16, 2020 at 3:39:12 PM

Hi,

Is there any tutorial or demo for TAdvMultiInputQueryDialog?

Thank you.

GHAZALI Abdesselam


7. Monday, March 16, 2020 at 4:18:56 PM

Sorry, not yet. Good suggestion. We''ll consider to add one. If you have a particular question about the control, please contact our support.

Bruno Fierens


8. Tuesday, April 7, 2020 at 2:10:20 PM

Bruno,

I share the code I wrote for my use after look around a bit, if that helps. This is a procedure to prompt for changing the password:

// ...
uses AdvMultiInputQueryDialog;
// ...
procedure TMainFrm.ChangePassword1Click(Sender: TObject);
var
q: TAdvMultiInputQueryValue;
begin
with TAdvMultiInputQueryDialog.Create(Self) do
try
Caption := ''Password change'';
LabelWidth := 170;
q := QueryValues.Add;
q.&Label := ''Actual password:'';
q.PasswordChar := ''*'';
q.EditType := etPassword;

q := QueryValues.Add;
q.&Label := ''Enter new password:'';
q.EditType := etPassword;
q.PasswordChar := ''*'';

q := QueryValues.Add;
q.&Label := ''Re-enter new password:'';
q.EditType := etPassword;
q.PasswordChar := ''*'';

if (Execute = mrOK) then begin
if QueryValues[1].ResultValue <> QueryValues[2].ResultValue then
ShowMessage(''Password entries do not match'')
else begin
if RemoteConnection.ChangeMyPass(
QueryValues[0].ResultValue, QueryValues[1].ResultValue) then
ShowMessage(''Passwortd successfully changed'')
else
ShowMessage(''Invalid password or validation error'');
end;
end;
finally
Free;
end;
end;



GHAZALI Abdesselam




Add a new comment

You will receive a confirmation mail with a link to validate your comment, please use a valid email address.
All fields are required.



All Blog Posts  |  Next Post  |  Previous Post