Jump to content

Ian Branch

Members
  • Content Count

    1352
  • Joined

  • Last visited

  • Days Won

    3

Everything posted by Ian Branch

  1. Ian Branch

    Set Print Font Size...

    Hi programmer2k, Yes it does, but you expect it there because you have set it as such. Yes, the IDE does the same thing but should it? I don't set the font in the IDE to 14 so I can print at 14, I set it so I can read it. Trying to work with a font size of 10 in the IDE on a 4k screen is just impossible for my tired olds eyes. πŸ˜‰ Yet font size 10 on print is perfectly readable. When I print, I need to be able to reduce the font to a manageable size for reading on the paper. Hence the request. Ian
  2. Ian Branch

    Pos

    Seems to have a redundant ')' after the =0..
  3. Ian Branch

    English Version of GLibWMI??

    Thank you all for your inputs. Appreciated. In the short term I have gone with Angus' Magenta component. Having said that I am interested in learning how to call/use the winapi stuff. Is there a guide somewhere? I have looked at the MS information and it is like reading a different language. Regards & TIA, Ian
  4. Ian Branch

    English Version of GLibWMI??

    Angus - Tks, d/load requested. Stephane - French, Spanish, same difference to me. I don't understand it. πŸ™‚ Ian
  5. Ian Branch

    Indy 11 ??

    No pressure, just asking.. When might Indy 11 surface?? Regards & TIA, Ian
  6. Ian Branch

    Indy 11 ??

    Tks Remy, As I said, just curious. Regards, Ian
  7. Ian Branch

    Can anybody confirm, pls

    D11.2 - I don't get the error message but Delphi falls over.. 😞
  8. Ian Branch

    Close application during form create??

    Tks Mark-
  9. Ian Branch

    Error building rev 3943

    Attempting to build rev 3943 under D11.2. Get the following.. Regards, Ian
  10. Ian Branch

    Error building rev 3943

    Tks, all good now.
  11. Hi team, Given a database table field statement.. MyTable.Fieldbyname('MyField').AsString What is the best/most efficient way to test if it is empty or NULL?? IsNullOrEmpty(MyTable.Fieldbyname('MyField').AsString) But Delphi didn't like it. Regards & TIA, Ian
  12. Ian Branch

    Check if database table string field is empty or NULL??

    Hi Stano, Doesn't that assume that the field is Null if empty? Ian
  13. Didn't even realize there was such a thing as a 'Premium Update Subscription'. 😞
  14. Ian Branch

    Regex help please..

    Hi Team, Regex is one of those mysteries I have never fathomed. :-( I have the following code.. function ValidEmail(const EmailAddress: string): Boolean; const EMAIL_REGEX = '^((?>[a-zA-Z\d!#$%&''*+\-/=?^_`{|}~]+\x20*|"((?=[\x01-\x7f])' + '[^"\\]|\\[\x01-\x7f])*"\x20*)*(?<angle><))?((?!\.)' + '(?>\.?[a-zA-Z\d!#$%&''*+\-/=?^_`{|}~]+)+|"((?=[\x01-\x7f])' + '[^"\\]|\\[\x01-\x7f])*")@(((?!-)[a-zA-Z\d\-]+(?<!-)\.)+[a-zA-Z]' + '{2,}|\[(((?(?<!\[)\.)(25[0-5]|2[0-4]\d|[01]?\d?\d))' + '{4}|[a-zA-Z\d\-]*[a-zA-Z\d]:((?=[\x01-\x7f])[^\\\[\]]|\\' + '[\x01-\x7f])+)\])(?(angle)>)$'; begin Result := IsMatch(EmailAddress, EMAIL_REGEX); end; I don't recall exactly where I found it, apologies to the author, and it has served me well. It works well for single email address entries. How can it be modified so that it will parse multiple email addresses separated by a ';'? e.g. myemail@here.com;youremail@there.com.au With possible expansion to three or more email addresses in the future. I will be most grateful for any solution. Regards & TIA, Ian
  15. Ian Branch

    Turbopower Visual Planit??

    Hi Team, Has anybody brought TPVP into the 21st century? πŸ˜‰ I have downloaded it from SF and am trying to get it loaded under D11.2. Regards & TIA, Ian
  16. Ian Branch

    Turbopower Visual Planit??

    I suspect it does, it has a later version #. Maybe I will look at it once I get this little exercise over.
  17. Ian Branch

    Getters & Settters??

    Hi Team, I have only ever used a Getter/Setter construct once and that was just copying some code. It worked, but I didn't really understand what was going on and at the time urgency was priority. I now believe I have a use for Getters & Setters but don't understand what they are actually doing. Can some one point me to a plain English explanation of what Getters & Setters do and how they do it. Do I need both a Getter & a Setter for the functionality to work? Be gentle.. πŸ˜‰ Regards & TIA, Ian
  18. Ian Branch

    Turbopower Visual Planit??

    OK. I downloaded and had a look at the Lazarus implementation. I also had a look at various Lazarus/Delphi conversion guides. As I have the original almost working now I don't think I want to tackle the Lazarus/Delphi conversion.
  19. Ian Branch

    Turbopower Visual Planit??

    No, I wasn't aware. Is there much involved in porting Lazarus/FreePascal to Delphi??
  20. Ian Branch

    Turbopower Visual Planit??

    If I ever get it working.. πŸ™‚
  21. Ian Branch

    Turbopower Visual Planit??

    I changed TVpDependentInfo(DependentList.Listο»Ώ^[I]).Component to TVpDependentInfo(DependentList.Items[I]).Component and it seems to like it. We'll see. Next issue..
  22. Ian Branch

    Turbopower Visual Planit??

    Hi Guys, OK, got a pile of little issues sorted. Got this error.. "[dcc32 Error] VpBaseDS.pas(1232): E2017 Pointer type required" For this.. procedure TVpControlLink.ReleaseDependents; var I : Integer; begin for I := 0 to pred(DependentList.Count) do Detach(TVpDependentInfo(DependentList.List^[I]).Component); end; With the cursor sitting between the ^ and [. I suspect this is a Delphi language change issue. There are a number of these TVpDependentInfo(DependentList.List^[I]).Component related errors. TVDependantInfo is declared as.. TVpDependentInfo = class { Used by the ControlLink component } protected{private} FComponent: Pointer; FEventHandler: TVpControlNotifyEvent; public property Component: Pointer read FComponent write FComponent; property EventHandler: TVpControlNotifyEvent read FEventHandler write FEventHandler; end; DependentList is a TList. Ian
  23. Ian Branch

    Turbopower Visual Planit??

    OK. Tks. That sorted it. Not used to the idea of diving in to the core classes. All OK there Tks. Moving on to the next error. I should be able to resolve this one. πŸ™‚
  24. Ian Branch

    Turbopower Visual Planit??

    [dcc32 Error] VpXBase.pas(655): E2008 Incompatible types The procedure is derived from this.. {The TVpMemoryStream class is used to expose TMemoryStream's SetPointer method.} TVpMemoryStream = class(TMemoryStream) public procedure SetPointer(Ptr : Pointer; Size : Longint); end;
  25. Ian Branch

    Turbopower Visual Planit??

    I didn't want to get into the innards if it has already been sorted. Having said that, I am trying to build and install the .bpl under D11.2. I get an incompatible types error here.. {==TVpMemoryStream===================================================} procedure TVpMemoryStream.SetPointer(Ptr : Pointer; Size : Integer); begin Assert(not Assigned(Memory)); inherited; <<< end; I don't know/understand enough to know what to do here. Ian
Γ—