Jump to content

Roger Cigol

Members
  • Content Count

    305
  • Joined

  • Last visited

  • Days Won

    4

Posts posted by Roger Cigol


  1. One way is to add two dummy series, one with Y values that are at the smallest maximum value you want to allow and one with Y values at the largest minimum value you want to allow.

    Then set the colour of the two dummy lines equal to the background colour (so they aren't visible to the user). Not the most elegant solution but a devious workable one.....


  2. How about an example of how you have to pick your "epsilon" value with knowledge of what's going on:

    If I am working out shortest route to walk from London to Birmingham I might use floating point values to store route distance in km (roughly 175 km). I might consider any route that is within 1km of another route as being "equal" from the perspective of route assessment. So I can set a large epsilon when making my route comparisons. But if I am launching a module and trying to land it on a flat bit of the moon my route is roughly 400,000km but I want the landing point to be accurate to a couple of meters so I would need to choose a much tighter epsilon. 

    David is right - offering a "hidden" arbitrary epsilon value that works for "most cases" is a route that is often convenient but it is a potentially dangerous approach.

    Floating point values are the right approach for many coding problems but they do need using with an understanding of how they work and the inherent "limitations" that result from how they work.


  3. Your file refers to a custom schema with the line

    		<GetCAPRangeResponse xmlns="http://www.capnetwork.co.uk/CAPVehicles/">

    If you type this URL into your web browser you get a 404 error - ie this schema has been removed or the website is down.


  4. "Which is the best way?" questions in C++ are always tricky! The language has evolved so much (and continues to do so). We C++ Builder users have the added complication of the use of the VCL or FireMonkey functions (that come from the Delphi RTL). How important it is to keep your code portable is certainly one question to consider. Re: text files : also take into account encoding possiblities - if you need to anticipate different encodings then the VCL support is often the easiest route. I tend to use TStringList as the store and then the LoadFromFile() and SaveToFile() functions.

    • Like 1

  5. I don't actually see that you have to do anything here - just don't take any action for the case(s) you want to ignore.  If you do want to skip an extra step you can always deliberately increment the counting value - ie use this line inside the loop....

    i = i + 1; 

     


  6. Hi @Lajos Juhász

    Thanks for this. Usually editing techniques apply equally to Delphi or C+. I have the datamodule on the screen. But under my View menu I do not have a "View as text" option (is it somewhere else?). However alt+F12 does indeed change the form view to the text equivalent. Here I can manually edit the field (or anything else!). And alt+F12 toggles it back afterwards. I never knew this short cut (after all these years.....). So this saves me manually cutting and pasting to a different text editor. This may be useful to me in the future.

    It does still strike me as not being a RAD Studio IDE elegant way to edit a property. I wonder why the field type does not appear in the "properties" pane? I can visualise that there could be a good reason for this but if so it would be much better if a right click on the field in the structure display also gave me an option to bring up a window the same as the "new" field window - where I could then adjust the type. 

    May be I'll put in a feature request when the quality portal comes back from its "holiday"......


  7. I have a Win64 C++ Builder VCL FireDAC application. I have a TFDQuery that is used as the source for a TBindSourceDB component which in turn is used for livebindings for conveniently displaying the query results on a string grid.

    With the change from RAD Studio 11 to RAD Studio 12 (patch 1) came the introduction of better support for fields of TimeStamp with offset (timezone) types. With RAD Studio 11 it seems that these were just treated as TimeStamp

    fields (ie the time zone offset was ignored). Code that worked in RAD Studio 11 stopped working in RAD Studio 12 (patch 1) and I traced the problem to the fact that one of the field definitions for this particular TFDQuery now needed

    to be changed from type TSQLTimeStamp (which worked in 11.) to TSQLTimeStampOffset (which works in 12-patch 1). The underlying type in the postgreSQL database for this field has always been "time stamp with time zone".

    I have this all understood and it is all now working following this change of type.

    MY QUESTION

    Is there a convenient way to change the TYPE of a field definition through the IDE? I couldn't find a way to do what you would think should be a simple task. In the end I "cut" the query component to the clip board, pasted it into a

    text editor, changed the type as described above, copied the text editor contents to the clip board and then pasted it back into the VCL data module. Not actually too difficult but hardly what you would expect to have to do in a

    RAD Studio IDE! I suspect I am missing a trick, hence this appeal for advice....

    Attachments: file "Structure.jpg" shows the field (after my change of data type) selected in the structure pane. In the properties pane there are lots of properties, but not (or I couldn't find it!) the field type.

    "NewField.jpg" shows the "wiard" form that appears if you add a new field to the field definition - here there is a drop down box in which all the possible field types appear and you can pick the one you need.

    But I can't find a way of getting this box up again for an existing field...

     

    (Not sure if this should have been posted under category: IDE, VCL or Database - so I went for "Database").

    Structure.JPG

    NewField.JPG


  8. Hi Ian,

    May I respectfully suggest that posts with titles such as "Is it just me?" and "-ummmm what" don't help other users of this forum when they may be searching for solutions to the same or similar problems to your posts.

    Surely the title is intended to be a brief summary of what the post is about. You may get someone reading it who knows the answer if you choose your title correctly. 

    • Like 1
    • Thanks 2

  9. I have just installed RAD Studio 12.0 path 1 using Getit. It all ran through smoothly - no errors reported. I got the readme displayed at the end with the patch 1 information. 

    My original installation was done from the downloaded RAD Studio 12.0 ISO. 

    I can build a complex VCL C++ 64 bit project - no errors, as before (using TwineCompile).

    Only problem I have is that the IDE still says "patch available" and the Help | About does not mention the patch 1 upgrade.

    Note; My installation is a bit unusual in that my original install is to D:\Program Files (x86)\Embarcadero\Studio\23.0   Note; D drive rather than C drive !

    Using BeyondCompare on the data obtained by Help | About and then clicking on "Version Information...." does show many newer version numbered files 

    and in my ....\Studio\23.0 installation directory I do have a new directory called _patch-backup which contains all the old files, so I am sure my patch installation

    has gone in ok.

     

    I really like the visual assist integration in C++ for RAD Studio 12.0. It all seems to work well and is a very useful addition to the editing experience.

     


  10. I have spotted this warning about the patch 1 for C++ users....

    Oliver Weinheimer

    I just installed the patch. I’m a C++ user – couldn’t build my projects with 12.0, when building a package components don’t show up. But this is another story. OK.

    At least I was able to build test projects with 12.0. Now after the patch, RAD Studio can no longer link a bare C++ VCL project without anything in it for Win64 (Win32 works). For Win64 I get:

    [ilink64 Error] Fatal: Unable to open file ‘;E:\RADSTUDIO12BETA\JEDI\JCL-MASTER\JCL\LIB\D29\WIN64;C:\USERS\x y\DOCUMENTS\EMBARCADERO\STUDIO\23.0\CATALOGREPOSITORY\JEDICODELIBRARYJCL-2023.11\LIB\D29\WIN64;C:\USERS\PUBLIC\DOCUMENTS\EMBARCADERO\STUDIO\23.0\DCP\WIN64\RELEASE;C:\USERS\PUBLIC\D’

    The only thing I did was installing the patch!!!

     

    Oliver posted this in the comments section at the bottom of this page

    https://blogs.embarcadero.com/getit-update-additional-rad-studio-12-getit-packages-are-now-available/

     


  11. No - All the IDE is 32 bit. 

    This is a pain when (in my case) I want to work with PostgreSQL as all the more recent versions of PostgreSQL are only available as 64bit servers. So I lose all the (neat and nice) design time execution features of FireDAC.

    No real way round this (and there is little sign of Embarcadero IDE moving to 64bit in the near future)


  12. If you want to write portable C++ that will compile outside of VCL then you have to avoid all VCL classes (eg String).

    If you just want the thread implementation to be able to compile outside of VCL then avoid VCL thread classes (which do work for C++ Builder of course) and use std::thread from the C++ STL.

    (std::thread also works fine for RAD Studio 11 (and 12 of course)).

     

    Not sure why your two include statements should cause problems. I use exactly this in code, regularly.

     

    does 

    #include <string>

    or

    #include <vector>

     

    also throw up compile time errors?

     

     

×