

Pat Foley
Members-
Content Count
418 -
Joined
-
Last visited
-
Days Won
2
Everything posted by Pat Foley
-
I thinking to 'upgrade' to Enterprise I been able to debug over one screen vs two screens, 11.3 is as lithe and cat quick like D3.
-
When will we have a 64-bit IDE version ?
Pat Foley replied to luciano_f's topic in Delphi IDE and APIs
So uncheck save manually then compile or build for a 'line count'. -
When will we have a 64-bit IDE version ?
Pat Foley replied to luciano_f's topic in Delphi IDE and APIs
Is the IDE set to save files on a compile? Does the error change to corrupted memory when compiling in 64 bit. I have 1.4 Compressed memory even with 8.2 available so I may reboot the machine to clear the Compressed or swap pages out this week. MS fixed some issues doing away with recently used file time line but putting the swap file back in is maddening -
Migrate an old app in Delphi 2009 to modren C++
Pat Foley replied to Alkanium's topic in General Help
Start with a plan then! Good luck comes from months of careful planning. What about the database, the servers etc. For now, log the bugs to determine if the problem is data entry, codebase, or database design and queries used. Only should then you recompile the hpp files made in Delphi into C++. -
When will we have a 64-bit IDE version ?
Pat Foley replied to luciano_f's topic in Delphi IDE and APIs
Just because a large number of people do something (Windows/MSDOS), does not make it right (MAC OS crew view). Legacy support is lost in the Mac world a publishing program upgraded to the new flavor of Mac would happily wreck any book at page 65 or so. Android Studio needs to run on Linux for good connection to google when it's working your phone over. It does have a Web app option now. Visual Studio issues warning do not set root to internet on Linux. plus learning javascript. Boo! Lazarus I been unable to load on Linux for one, plus it's just a bunch of windows like D1-7. -
When will we have a 64-bit IDE version ?
Pat Foley replied to luciano_f's topic in Delphi IDE and APIs
Simply reinstalling a reworked package before compiling the program using it is a must! -
Delphi has stopping on break points and exceptions
Pat Foley replied to PiedSoftware's topic in Delphi IDE and APIs
I am using 11.3 a big improvement over 10.4 until the blue moon last month. Then the IDE began doing disappearing act like 10.3, after "upgrading" an event in a control in a package. In short recompiling my package of custom controls fixed the issue(s). Looking at the output messages after a compile I may shut down the OneDrive business if the IDE crashes while hovering over the Search menu again. -
Streams - Writing and Reading data or text from
Pat Foley replied to JohnLM's topic in Algorithms, Data Structures and Class Design
One way to learn Stream is: Add a TMemo to a form in the Designer. Add lines of text to Memo1 in ObjectInspector usings Lines property editor. Select the Memo1 in design and cut/paste into notepad. Tinker with property settings streamed out in notepad. Stream the adjusted Memo1 back into the designer by pasting notepad text. Wow. Next lesson Place cut out of design window into code by pasting inside a buttonclick. modify the pasted so the runtime creates the memo at runtime.🙂 ... Database can use record with fixed string size on one hand and can use JSON for streaming needs. TStream used like TStrings in procedure arguments. MS is passed as a TStream in the TreeView.SavetoStream. procedure TForm3.Button5Click(Sender: TObject); var MS: TmemoryStream; begin MS := TMemoryStream.Create; Try TV.SaveToStream(MS); // TV isa TreeView MS.Position := 0; Memo1.Lines.LoadFromStream(MS); Finally MS.Free; End; end; -
Here's a pascal example that simply replaces ProcessMessages with custom "message" calls to allow the sleep delays. assign this ClickEvent to several buttons onclick Event. I would look media player source for dealing with updating several buttons state. implementation {$R *.dfm} const Clickable = True; // alias for enabled = True procedure ButtonEnable(button: TButton; const aCaption: string; const isEnabled: Boolean); //inline; begin if button.Enabled <> isEnabled then button.Enabled := isEnabled; if button.Caption <> aCaption then button.Caption := aCaption; // button.Enabled := isEnabled; order matters //Button.Repaint; // end; procedure SnoozedButton(button: TButton; MS: Integer); //inline; begin ButtonEnable(button, 'Snoozed', not Clickable); Sleep(MS); end; var inUse: Boolean = False; procedure TForm15.DealButtonClick(Sender: TObject); begin if inUse = not False then exit; inUse := True;//Sender as TButton; SnoozedButton(Sender as TButton, 3000); ButtonEnable(Sender as TButton, 'Hit me', not Clickable); Sleep(1500); (Sender as TButton).Caption := 'Hitted'; sleep(1500); sleepControl(Sender, 2000); // Event driven call ButtonEnable(Sender as TButton, 'Deal', Clickable); inUse := False;//nil; end; procedure TForm15.sleepControl(Sender: TObject; const MS: Integer); begin var button := Sender as TButton; ButtonEnable(button, 'Sleeping', not Clickable); Sleep(MS); ButtonEnable(button, 'Stay', not Clickable); Sleep(MS); end; I think that's a feature🙂. I would like the showhint to work when the button is disabled.
-
Delphi has stopping on break points and exceptions
Pat Foley replied to PiedSoftware's topic in Delphi IDE and APIs
More checks The provenance (path) of used units found in hint box showing when mousing over tabs over unit tabs in code window or control tabs on the component bar. Then the transactions in .proj.local can be looked at. These transactions log when units renamed or who knows. Try syntax check or build all from time to time can't hurt! -
Delphi has stopping on break points and exceptions
Pat Foley replied to PiedSoftware's topic in Delphi IDE and APIs
Try clicking Debug in Project manager, first. Be sure the compiled lines have blue dot in left gutter. You may be able to click on lines in the call stack in in debug layout. This backs up the procedure calls in the code window. -
D11.3, Search, Whole words only - randomly checked
Pat Foley replied to mvanrijnen's topic in Delphi IDE and APIs
Does the control Find settings (bottom of Code window) have precedence over control shift Find settings? -
Enlarging the font in code view inside Delphi Alexandria 11.2 Professional
Pat Foley replied to JohnLM's topic in Delphi IDE and APIs
Use Windows magnifier invoked with the windows button with + - keys. The code window font appears not to alias under magnifier. Under 195 mag. 195% screen copy though copying may not show the actual screen output. -
From the help, the Startup layout hides the "saddle bags." The edges of the embedded form designer use some screen for accessing slide outs but huge improvement over default layout for layout and text editing too! I added a second icon with this switch dpunaware for different resolutions. FMX has sizable viewer and shows the background of window behind in form window thumbnail. Either designer doesn't position the design in the thumbnail as designed.
-
How to declare an entire set of numbers as a condition
Pat Foley replied to Willicious's topic in Delphi IDE and APIs
https://docwiki.embarcadero.com/CodeExamples/Sydney/en/PtInRect_(Delphi) The rectangle passed to PtInRect example could be a one wide "solid wall" adjusting Height with Y or a "water trap" adjusting width with X. -
Project Options -> Version Info aka. dproj madness
Pat Foley replied to Attila Kovacs's topic in Delphi IDE and APIs
To view the dproj file more readily, I used treeview's save to file to remove some of the nesting of xml files. Output << Memo << Treeview.save << TreeView from xml file. // Only 64 release information checked. DCC still shows// ... PropertyGroup DCC_DcuOutput .\$(Platform)\$(Config) ... VerInfo_Locale 1033 VerInfo_Keys CompanyName=;// DCC still outputs regardless of switch // ... PropertyGroup AppDPIAwarenessMode PerMonitorV2 VerInfo_MajorVer 2\ VerInfo_Keys CompanyName=Pat set memo to word wrap;// ... VerInfo_IncludeVerInfo true -
When the Num Lock is set the DEL key adds a period . which can be backed out of with a control-z or two.
-
Is there a Sunday between 2 dates ?
Pat Foley replied to Henry Olive's topic in RTL and Delphi Object Pascal
No, Midnight starts new day! -
The minimized MDI children even when showing are confusing except for the well seasoned operator who is using them to find a minimized window in an Excel workspace display. Any MDI application should have the task bar menu synched up to the showing windows. Allowing the user to readily select windows in different running apps. As for snap hovering--good luck.
-
delphi 10.4.2 invalid compiler directive
Pat Foley replied to Manlio Laschena's topic in ICS - Internet Component Suite
Use form.caption here. You can use Application.Title in .dpr. -
Team competition - how to do it
Pat Foley replied to Stano's topic in Algorithms, Data Structures and Class Design
Now it's needed to explain so AI can understand it and not make an EOW. (End of World).🙂 By making the program data driven that is each event of the assets is recorded. We can fish out the UI and/or answers later. Complex flat files and top-down approach not needed for every problem. I added a variant record to post above which isn't used much so removed it. unit SoccerDB; interface uses // use only whats needed Generics.Collections; //System.Classes, Vcl.ExtCtrls, needed for tying into UI type TGameStatus = (gsLeftScheduled, gsRightScheduled, gsPlaying, gameWon, gameLost, gameIssue); TTeam = record TLA, Country: String; Flag: NativeInt; //pointer to flag end; PGame = ^TGame; TGame = Record Team: TTeam; Location: string; Time, Over: TDateTime; // rather than messing with variant records Status: TGameStatus; Key: integer; Avator: NativeInt; //pointer to Bitmap of location End; TGames = class(Tlist<PGame>) //UIin, UIout: TControls here procedure GetTeamsPlayingBetweenTheseTimes(Start, Stop: TDateTime;var theTeams: Tarray<string>); procedure SetTeamPlayingatthisTime(Start: TDateTime; ATeam: TTeam); end; implementation { TGames } procedure TGames.GetTeamsPlayingBetweenTheseTimes(Start, Stop: TDateTime; var theTeams: Tarray<string>); begin SetLength(TheTeams,2); TheTeams[0] := 'USA'; TheTeams[1] := 'Brazil'; //first get teams playing in time slice // then sort by location end; procedure TGames.SetTeamPlayingatthisTime(Start: TDateTime; ATeam: TTeam); begin // make event records here. end; end. Call it here implementation {$R *.dfm} uses SoccerDB; var Soccer2023: TGames; procedure TForm6.Button1Click(Sender: TObject); var aOutPut: TArray<string>; s: string; begin Soccer2023:= TGames.Create; Soccer2023.GetTeamsPlayingBetweenTheseTimes(0,0,aoutPut); for s in AOutpUt do ListBox1.Items.add(s); ListBox1.Items.add('Done'); end; -
Team competition - how to do it
Pat Foley replied to Stano's topic in Algorithms, Data Structures and Class Design
I would go data driven ie bottom up * //who, what, when and where TeamPlayEvent = record Stadium, Date: Variant Case Scheduled: Boolean; else Lost: Boolean; end; Eachteam = Tlist<TeamPlayEvent> *Proposed Top down could easily write these future games to said scheme. -
Just don't set root to Internet! 🙂 That JS is scary stuff.
-
Something like this? It's like Borland's old 'side kick' only expanded to switch between different desktops. The thing can focus GE stuff so very handy. Here's a good start on it. Applister const hour2dot3 ='hr %2.3f '; //hour meter style hour2dot3wS ='hr %2.3f %s'; GoodApps: Tarray<string> = ['Notepad', 'TAppBuilder', 'Window', 'Chrome_WidgetWin_1', 'Notepad++', 'TfrmMultiMain']; type ptrApp = ^TApp; TApp = record Handle: HWnd; ... end; TptrApps = class(Tlist<ptrApp>) AppBuilderCount: Integer; // mark BDS's as loaded slLog: TStrings; //ref to CB.Items sBanner: PString; sgGrid: TStringGrid; //ref to Sg ChBx: TCheckListBox; //ref to chLB ... end;
-
Use Android Studio and select Web App 🙂 I like to use SMS since most phone message apps can dial the phone number or map the street address in the incoming text. You just send a text to your phone number to start. To connect from email use (Pho)-Num-ber@phonecompanytxtservice.com which most companies provide. Pat