-
Content Count
627 -
Joined
-
Last visited
-
Days Won
11
Posts posted by corneliusdavid
-
-
I'd be tempted to throw it in a small SQLite database. You could add date/time stamp and add to it over time, then even do queries on it to see history of specific changes or compare with other systems. Then again, maybe that's overkill.
-
1
-
-
You asked this last May. Are you looking for a different kind of answer or new responses or just refreshing the question since this technology is so new and moving so fast?
I don't use AI very often but Claude is the one I signed up for and like it. It helps jump-start Delphi coding in some cases; but it's really great at building HTML pages for web projects integrated with a Delphi web server.
-
53 minutes ago, Ian Branch said:If I select the default property, it disappears.
I think what you might be seeing is standard behavior of the IDE saving property values. If the property has a default value, and that's the current setting of that property, it won't save to the DFM, it'll only save if it's different than the default or if there is no default.
For example, a blank VCL application's Form might look initially like this:
object Form1: TForm1 Left = 0 Top = 0 Caption = 'Form1' ClientHeight = 324 ClientWidth = 401 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -12 Font.Name = 'Segoe UI' Font.Style = [] TextHeight = 15 end
If you check AlphaBlend, AutoScroll, and AutoSize in the Object Inspector, the DFM will look like this:
object Form1: TForm1 Left = 0 Top = 0 Width = 417 Height = 363 AlphaBlend = True AutoScroll = True AutoSize = True Caption = 'Form1' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -12 Font.Name = 'Segoe UI' Font.Style = [] TextHeight = 15 end
This has the three additional properties because they're no longer the default value. If you uncheck them in the Object Inspector and save the form, it reverts back to the first one.
Is this perhaps what you're seeing?
-
2
-
-
3 hours ago, Vincent Parrett said:We're just tidying up loose ends (like the installer) before beta - hopefully in a few weeks.
I bought a 3-year cert in Nov, 2022 so still have another year left on mine. But I'll definitely be looking at your offering.
2 hours ago, Vincent Parrett said:we have only tested using Yubikey and Safenet tokens
I've got a couple of YubiKeys already--sounds great!
-
Once enabled, be sure and click Configure... You can individually turn each one (left, top, width, height) on/off.
-
-
Delphi 12.2 introduced a new text-processing engine, WebStencils, that can be used in WebBroker and other applications to generate HTML and other template-based text. To get my head around how to work with this, I wrote a couple of small WebBroker applications, one using PageProducers and the other doing the same thing using WebStencils. You can read about it in my latest blog entry, Introducing WebStencils and download the projects from Github.
I hope this is useful for learning about this new text-processing engine.
-
5
-
-
12 hours ago, Ruud said:And this is how you want your TEdit to look like :
I agree with Uwe but if you really want the space around your edit area, perhaps put the edit box in a panel, check AlignWithMargins, and turn off the border for the text box.
-
-
-
2 hours ago, jesu said:When I compile a program with 12.2 and deploy to a computer that has 12.1 bpls I get this error:
I saw this yesterday as well for programs that were compiled with "Link with runtime packages" checked. The programs ran fine from the IDE but when I copied the .EXE out to a network share and tried to run it from there, I got the error. Not only did I need to recopy the BPLs from the newer version of Delphi, I also had to add two or three. After building the program, select Project > Information for <projname> and look through the list of packages that are used by that program.
-
6 hours ago, Uwe Raabe said:That is not true! A TTabControl has its uses cases
Thanks for the correction, Uwe.
6 hours ago, Uwe Raabe said:I assume you are referring to TTabbedNotebook as the deprecated one.
Yes.
-
2 hours ago, Fudley said:Is there any way to use the structure view to cause a tab on a ttabcontrol to become the active tab?
Using the Structure Pane? No. The TTabControl and its tabs are one control, the tabs don't even show in the Structure Pane. The TTabControl is there for backwards compatibility; you should use TPageControl in new applications.
-
59 minutes ago, hsvandrew said:To handle parameters built into the URL rather than as query parameters you'll need to do the following:
Assign a partial path to the 'pathInfo' of your WebModule Action i.e.
/getname/*
Then, in your ActionHandler you'll want to access the path part of the URL, break it into an array split by / and then execute based on the parts that matter
What would be the benefit to doing this extra work rather than letting WebBroker parse it for you into QueryFields?
-
43 minutes ago, JIMSMITH said:Do you know why there are many examples the use other options in the pathinfo property?
Examples are:
/getname/* {seen in some youtube videos}
/getname/data/:id {thoughts are that id would be a parameter}
I haven't used either of these in a WebBroker app but I think the asterisk will match any URI; for example, both /getname/list and /getname/edit.
I don't remember seeing ":id" on the end of PathInfo in any examples; not sure what that's for.
-
2 hours ago, JIMSMITH said:assigned an action pathinfo of /getname*
The pathname should not contain the asterisk, just /getname
2 hours ago, JIMSMITH said:how do I create parameters for values say parameters ssn and dob would this become /getname/($ssn)/($dob)?
You don't have to "create" the parameters, by simply accessing the URL with something like /getname?ssn=123456789&dob=19990531, the TWebActionItem parses out the URI and creates the parameters for you. Then, you just access them in your event handler like this:
procedure TMyWebApp.ActionHandler(Sender: TObject; Request: TWebRequest; Response: TWebResponse; var Handled: Boolean); var SSN: string; DOB: string; begin if Request.QueryFields.Count >= 2 then begin SSN := Request.QueryFields.Values['ssn']; DOB := Request.QueryFields.Values['dob']; ...
The "?" starts the beginning of the list of parameters; the "&" separates the parameters.
On a side note, you should never pass private info this way (using the GET method on the URL); instead you should put them in a POST BODY. But that's a different topic.
-
-
3 hours ago, Nigel Thomas said:I have Delphi CE 11.3 and Delphi CE 12.1 installed and running on the same machine with no issues.
Good to know!
-
While I don't use CE and don't have an official answer for you, I would highly doubt this is possible--don't jeopardize your current installation!
The CE FAQ doesn't answer this specific question but the fact that 1) it doesn't allow Delphi & C++Builder (only one or the other) and 2) doesn't allow CE and a paid version on the same machine, I'm almost positive it wouldn't allow two different CE versions to coexist. You could, however, install a virtual machine, and try it out there as it would be a completely separate environment.
-
1
-
-
I believe each has a free trial or limited mode; try them out to see what works best for you, then sign up for that one. I posed similar questions to each and thought the response from Claude was the best.
-
Right+Click in the Code Editor and select "Smart CodeInsight" and select "AI Chat".
-
9 hours ago, stameni said:SQLite in D7?
It looks like ZeosLib is still active: https://sourceforge.net/projects/zeoslib/
I have no experience with it but recent updates says it supports Delphi 7 through 12.
-
1
-
-
4 hours ago, JohnLM said:The one I recently purchased was this one: "Delphi Professional - Named - Support Renewal"
But I do see there are others mentioned here on these forums:
* maintenance update --
* update subscription - -
* support renewal -- the one I purchased.
Did I purchase the wrong one?
If you purchased "support" I think you may have purchased the wrong thing. Support is for Embarcadero to help you with programming questions. I think what you wanted is "Update Subscription" or maybe even "Maintenance Update" if that actually updates from an old version (which I didn't think they offer anymore).
You'll need to contact your sales rep and explain what you really wanted/need and ask for clarification of what you purchased; if it's not what you thought it was, I hope they'll let you change it to the subscription.
-
3 minutes ago, Lars Fosdal said:although FMXLinux was absent in GetIt?
I get an error message about FMXLinux not found when I start 12.2. Not actually sure how to disable/reinstall it yet.
Best way to store and compare PC configuration data
in Algorithms, Data Structures and Class Design
Posted
Your record structure would have a lot of string fields, one for each possible type of data you want to save; it'd also have a DateTime field so you could record when the snapshot of your system was taken. The key is to be consistent in how you store the data; for example, the network adapter information should always be stored in the same field(s) requiring some way of identifying them (or lumping all network adapters in one big memo field, perhaps). I'd probably create a detail table for some fields, like the storage section in your screen-shot above. You could have a field for GUID to identify each disk and then the main table would have a summary of how many disks and the total GB.
You could use something like Mitec System Information components to scan your computer every time it booted up and if something changed, add an entry to your database with a new date/time stamp. Later, you could go through and see various changes over time as you scan the records. You could also filter on certain fields to see when something changed.
It's really important that you evaluate what and how often your data will change and what you want to do with it later. If this is a product you're building for others, definitely store it in a database; if it's just a one-time information gathering tool for your self over the next six months as your play around with different hardware configurations, just manually enter stuff into a spreadsheet. It really depends on your usage requirements and how much time you have.