Pat Foley
-
Content Count
367 -
Joined
-
Last visited
-
Days Won
2
Posts posted by Pat Foley
-
-
Here is a paper by Marco Microsoft Word - Delphi-and-Unicode_Marco-Cantu.doc (embarcadero.com)
What about editing your dfms in a memo. search for object: TLabel and insert the additional properties with offset. You just type the control type in one edit box and the offset to insert and property name value pair in additional edit boxes. when saved makes new improved dfm file. should be able to assign methods too. You need to cook your own search and insert coding.
An improvement over the years is the flow panel. That may help in reducing number of views.
Above is one way to make two way. You edit the dfms and change the objects types to TswLabels switched when running D10 to set the transparent property. and just TswLabel = class(TLabel) otherwise.
-
Some clues are clienttoscreen, windows.DrawFocusRect and .boundsrect. the form's mouse X is different than the screen's X.
-
Could it be you wanting namespace? mainunithelpers.helpme in case you have other helpme procedures.
I put drawing procedures in a routines.pas by adding arguments to the procedure being moved. The
arguments use Timage, TPanel or TForm to reduce dependences. You simply pass the form you are working
in to procedure into your routines.pas
Unit routines uses forms; interface // Procedure DrawBackGroundBMP(const aWidth, aHeight: Integer; anImage: TImage); // TImage is best passing canvas is tough // procedure DrawthingsEX(athingList:Tstrings; aForm: TForm); //need to add forms to routines.pas // procedure DrawThings( aPanel:TPanel; Const FileandPathName:String; // aThingList:Tstrings; aForm: TForm); // A runtime control parent is assigned to aPanel and the controls onmousedown is assigned Aform.onMousedown procedure ShowBalloonTip(Control: TwinControl; Icon: integer; Title: pchar; Text: PWideChar; BackCL, TextCL: TColor); Implementation procedure ShowBalloonTip(Control: TwinControl; Icon: integer; Title: pchar; Text: PWideChar; BackCL, TextCL: TColor); const TOOLTIPS_CLASS = 'tooltips_class32'; TTS_ALWAYSTIP = $01; TTS_NOPREFIX = $02; TTS_BALLOON = $40; TTF_SUBCLASS = $0010; TTF_TRANSPARENT = $0100; TTF_CENTERTIP = $0002; TTM_ADDTOOL = $0400 + 50; WM_User = $01; TTM_SETTITLE = (WM_USER + 32); ICC_WIN95_CLASSES = $000000FF; type TOOLINFO = packed record cbSize: Integer; uFlags: Integer; hwnd: THandle; uId: Integer; rect: TRect; hinst: THandle; lpszText: PWideChar; lParam: Integer; end; var hWndTip: THandle; ti: TOOLINFO; hWnd: THandle; begin hWnd := Control.Handle; hWndTip := CreateWindow(TOOLTIPS_CLASS, nil, WS_POPUP or TTS_NOPREFIX or TTS_BALLOON or TTS_ALWAYSTIP, 0, 0, 0, 0, hWnd, 0, HInstance, nil); if hWndTip <> 0 then begin SetWindowPos(hWndTip, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE); ti.cbSize := SizeOf(ti); ti.uFlags := TTF_CENTERTIP or TTF_TRANSPARENT or TTF_SUBCLASS; ti.hwnd := hWnd; ti.lpszText := Text; Windows.GetClientRect(hWnd, ti.rect); SendMessage(hWndTip, TTM_SETTIPBKCOLOR, BackCL, 0); SendMessage(hWndTip, TTM_SETTIPTEXTCOLOR, TextCL, 0); SendMessage(hWndTip, TTM_ADDTOOL, 1, Integer(@ti)); SendMessage(hWndTip, TTM_SETTITLE, Icon mod 4, Integer(Title)); end; end;
-
-
QuoteMy claim is that, unless you link with run-time packages or share code between design-time packages, it's perfectly acceptable to put everything into a design-time package if you can. I.e. you don't need the run-time package. This also makes creating and maintaining design-time packages so much easier.
Design package DX still makes a BPL. Can the .dproj help switching the packages from 32 to 64 or hide them in mmx.
-
QuoteAt the moment I can't even tell how to distinguish what is considered runtime and what is designtime
Hopefully the experts will comment further. Custom components need to have unique names and learning how packages work use a project group.
-
QuoteAs see as an application, my software could be viewed as a "track editor".
Track editor yielded music "track" first
Trail Editor found following // did not try since not secure.
Trail Tech's Ride Leader GPX Editing Software
In the western mountains trails are called either, one track ~ one person wide or two track ~ wagon wide.
Often web pages have embedded additional terms for the search engine to find. Meaning use your terms for product naming and add terms so others can find your site.
- 1
-
the US has various terms for what think you are searching for.
Sharing gps locations along a "trail"
Outdoors Mobile Apps | AllTrails
Example of "tracking" term.
https://community.fitbit.com/t5/iOS-App/Why-does-Fitbit-track-my-location/td-p/2808126
May help with terms
https://ortho.gis.iastate.edu/
-
S:array[0..23] of ansichar THeader = Record flags : integer; dummy : integer; name: S; //padding: integer; end;
That may be enough to get you started just determine the array size and the correct encoding. If you wanting to do the easy way use component streaming or simply loadfromfile and value pairs.
This example was "streamed" by copying from design and pasted here. You can "stream" it by copying it and pasting in your design.
object Memo1: TMemo Left = 56 Top = 40 Width = 185 Height = 89 Lines.Strings = ( 'Flag=true' 'Dummy=" "' 'name=Pete2005' '') TabOrder = 0 end
-
QuoteAnother interesting thing is, that creating a FMX application (in this case 2D mutidevice application) it always creates a Unit2 /TForm2 as main initial form even though there is no Unit1, at least here on my Delphi 10.3 Update 3 Rio installation.
Is there a Unit1 already present in the source folder, if not in the Project? When creating a new unit, the IDE looks at existing units in the folder and chooses the highest unused sequential number.
Or in the Default folders under Tools either shared repository or Default project.
-
Hey, It must be same issue as before you need to force repaint. The FMX.locationdemo updated location data when I changed from map view back to show location data.
-
procedure TForm1.LocationSensor1LocationChanged( ... // Translate location to address if Assigned(FGeocoder) and not FGeocoder.Geocoding then FGeocoder.GeocodeReverse(NewLocation); //As described earlier, after Reverse Geocoding is completed, an OnGeocodeReverseEvent is fired.
From sample. I will bring out the win 7 machine with the FMX stuff on it but probably two days out. I want to make two FMX programs this year Phone app that caches local data or least miles from North pole and miles West of home when cell towers down or out of range. A program to read topo map from Garmin 600t would nice too.
-
I just tried the FMX.locationdemo on my android and the current address is working on that demo. So maybe try the location demo and try edit boxes on it to
see what that demo does.
-
Ok from your sample is your likewise event happening and is then using cached data or simply not getting new data since in background.
procedure TForm1.LocationSensor1LocationChanged(Sender: TObject; const OldLocation, NewLocation: TLocationCoord2D); var URLString: String; begin // code for previous step goes here // Show Map using Google Maps URLString := Format
Quote -
On webbrowser side try a reload. Or the equivalence of the F5 key in a webbrowser.
-
C:\Program Files (x86)\Embarcadero\Studio\20.0\bin
what error(s) does clicking on bds.exe show in above directory. I put a bds.exe on win 7 and its error message "xxx.bpl missing...Try reinstalling the program"
Walk up the error messages displayed fixing the errors or simply reinstall.
-
QuoteSo, after all the OnGeocodeReverse is triggered nicely but the labels themselves will only update if I, e.g. change to another tab, open close the multiviewer, something that force the redraw of the panel.
If that's all you need just try show or set focus event to get the windows attention. I think it would work better without the thread your callback event would simply wait its turn behind mouse events.
-
I would put a breakpoint on the helper form.show line. Or simply drag the mainform around to see if the form is lurking behind.
-
Lifted from How to Send Text From Computer (6 Working Ways) 2019 (techviral.net
//
- In Email account use following for address
-
Now in the field To you will write the mobile_number@carrieraddress according to your carrier addresses given below:
-> AT&T: number@txt.att.net
-> T-Mobile: number@tmomail.net
-> Verizon: number@vtext.com
-> Sprint: number@messaging.sprintpcs.com or number@pm.sprint.com
-> Virgin Mobile: number@vmobl.com
-> Tracfone: number@mmst5.tracfone.com
-> Metro PCS: number@mymetropcs.com
-> Boost Mobile: number@myboostmobile.com
-> Cricket: number@sms.mycricket.com
-> Nextel: number@messaging.nextel.com
-> Alltel: number@message.alltel.com
-> Ptel: number@ptel.com
-> Suncom: number@tms.suncom.com
-> Qwest: number@qwestmp.com
-> U.S. Cellular: number@email.uscc.ne
//
Note the site has things not to click on but does mention hooking a phone into windows 10 session which I haven't tryed. I know above works well with phonenu@vtext
-
I think using verbs is better.
//old way procedure runTimer(bRuntimer); timer.enabled := bRuntimer; // better two procedures Procedure Run timer.enabled := True; Procedure Stop timer.enabled := False; // later expand the functionality Procedure Step timer.enabled := False timer.timer // to walk through code // //
Nick Hodges in his book says always program against an interface. I say always program against a 5 inch X 3 inch UX or 3 X 5 UI.
Also consider this for codebase
T: Boolean
Inside procedure What
T := T and B or A
Doing this preserves the T incoming state. This latching allows T's state set elsewhere be used reducing the tests in What.
- 1
-
On the Gary Darby site http://delphiforfun.org/Programs/oscilloscope.htm said "I cleaned up a few things ... using Windows wavein API multistep protocol" It is a fantastic straddle.
-
Too many dog ears dog ears = tabs
-
-
Pretty sure TImage does not have caption prop
View the xxx.bmp in Pbrush to if text captured in original image.
D10.4.1
Out of text view of .DFM
object Image2: TImage Left = 0 Top = 0 Width = 360 Height = 249 Align = alClient Picture.Data = { 07544269746D61704E010100424D4E0101000000000036040000280000006301 0000B6000000010008000000000018FD00000000000000000000000100000000 ...
Keep D2006 vs Sydney aligned
in General Help
Posted
Very Good. I learned something too about default transparency being changed. I am working on a component that sighs, moans and grunts when Sydney gives up.