Lazarus

Free Pascal => General => Topic started by: lazer on October 13, 2022, 08:41:26 pm

Title: what on Earth was I trying to do ? ( FOREACH )
Post by: lazer on October 13, 2022, 08:41:26 pm
Hi,

I am porting something I wrote under TPW ( yeah, that means about 30y ago ! ) to Lazarus

I found a snip of code I can't make sense of . It looks like garbage but I'm pretty sure this is the final working code I used.

Code: Pascal  [Select][+][-]
  1. procedure Tspellwin.showbits(flag:word);
  2.   procedure showbit(bit:Pwindowsobject); far;
  3.   begin
  4.     bit^.show(flag);
  5.   end;
  6. begin
  7.   foreach(@showbit);
  8.   if questool<>NIL then questool^.show(sw_hide);
  9. end; {showbits}


It's something about hiding/showing a a bunch of controls but I can't make sense of the use foreach.

Can anyone explain that syntax ?

TIA.
Title: Re: what on Earth was I trying to do ? ( FOREACH )
Post by: Fred vS on October 13, 2022, 09:14:12 pm
https://engineertips.wordpress.com/2020/04/26/delphi-foreach/
Title: Re: what on Earth was I trying to do ? ( FOREACH )
Post by: ccrause on October 13, 2022, 09:48:48 pm
Is Tspellwin perhaps derived from TCollection? It has a foreach (https://www.freepascal.org/docs-html/rtl/objects/tcollection.foreach.html) method.
Title: Re: what on Earth was I trying to do ? ( FOREACH )
Post by: lazer on October 16, 2022, 01:30:18 pm
thanks ccrause, that does seem to explain this zany syntax.

Tspellwin isn't but I'll have to check back on what it was before I ported the code. That does seem to explain what I did decades ago, I should be able to fix it now.

Many thanks.
TinyPortal © 2005-2018