Linuxuser1234
Members-
Content Count
65 -
Joined
-
Last visited
Everything posted by Linuxuser1234
-
trying to get shapefiles to display on a TSphere Component in BOLT.pas(UNIT 1/Form1) from GISEngine.pas i tried this function TGISEngine.RenderShp: boolean; begin GISobj.Viewport3D1.Parent := Earth; end; but that doesnt do anything here is the full unit unit GISEngine; //thank you programmerdelphi2k for helping //This unit Displays Shapefiles onto a 3D Globe interface uses System.SysUtils, System.Classes, FMX.Viewport3D, FMX.Objects3D, System.IOUtils, System.Generics.Collections, BOLT; type TGISFilesnamesSHP = TArray<string>; TGISEngine = class private FFilenames : TList<string>; Viewport3D1: TViewport3D; Earth: TSphere; function GetFilename(const i: integer): string; public constructor Create; overload; constructor Create(const AFilenames: TGISFilesnamesSHP); overload; destructor Destroy; override; procedure AddFilenames(const AFilenames: TGISFilesnamesSHP); procedure ClearFilenames; function CountFilenames: integer; function RenderShp: boolean; property Filename[const i: integer]: string read GetFilename; property Filenames: TList<string> read FFilenames; function VerifyIfAllFilesSHPExists(out AErrors: TGISFilesnamesSHP): boolean; function LoadFilenames: boolean; property GISViewport3D: TViewport3D read Viewport3D1 write Viewport3D1; property GISEarth: TSphere read Earth write Earth; end; var GISobj : TGISEngine; Form1: TForm1; implementation { TGISEngine } constructor TGISEngine.Create; begin Viewport3D1 := TViewport3D.Create(nil); Earth := TSphere.Create(nil); FFilenames := TList<string>.Create; end; constructor TGISEngine.Create(const AFilenames: TGISFilesnamesSHP); begin Create; AddFilenames(AFilenames); end; destructor TGISEngine.Destroy; begin FFilenames.Free; Earth.Free; Viewport3D1.Free; inherited; end; function TGISEngine.GetFilename(const i: integer): string; begin result := ''; if (i > -1) and (i < FFilenames.Count) then result := FFilenames.Items[i]; end; procedure TGISEngine.ClearFilenames; begin FFilenames.Clear; end; function TGISEngine.CountFilenames: integer; begin result := FFilenames.Count; end; procedure TGISEngine.AddFilenames(const AFilenames: TGISFilesnamesSHP); var F: string; begin if (Length(AFilenames) > 0 ) then for F in AFilenames do if not FFilenames.Contains(F) then FFilenames.Add(F); end; function TGISEngine.VerifyIfAllFilesSHPExists(out AErrors: TGISFilesnamesSHP): boolean; var F: string; begin result := false; if (FFilenames.Count = 0) then begin AErrors := ['Filenames list is empty']; exit; end; for F in FFilenames do if not FileExists(F) then AErrors := AErrors + [F + ', dont exists!']; end; function TGISEngine.LoadFilenames: boolean; var F: string; begin result := false; if (FFilenames.Count > 0) then begin for F in Filenames do GISobj.AddFilenames(['tl_2021_01001_roads.shp','world-administrative-boundaries.shp']); end; end; function TGISEngine.RenderShp: boolean; begin GISobj.Viewport3D1.Parent := Earth; end; initialization GISobj := TGISEngine.Create; finalization GISobj.Free; end.
-
@programmerdelphi2k is f needed in MyDataFromFileSHP.Add(F,'tl_2021_01001_roads.shp', 'world-administrative-boundaries.shp'); i tried overload but that didnt work
-
Im trying to communicate with a component in Unit1 from Unit4 but when i click on the button i get a access violation error how can i resolve this procedure TForm4.Button1Click(Sender: TObject); var Label21: Tlabel; Button1: Boolean; ProgressBar1 : TProgressBar; begin // ProgressBar1.Visible := True; //Component is in Unit1 (Bolt) end;
-
How to add an item to ComboEdit2 after an item from Comboedit1 has been selected
Linuxuser1234 posted a topic in FMX
Im trying make a procedure that when you select an item from ComboEdit1 (it will officially list items from a ftp site) but for a test im trying to list the same item from ComboEdit1 to ComboEdit2 procedure TForm4.ComboEdit1Click(Sender: TObject); begin end; i have tried %s like ComboEdit2.Items.Add('%S'); but that doesnt work here is the list items for ComboEdit1 and i havent been able to find code examples TTUL TTPA TSTL TSLC TSJU TSDF TRDU TPIT TPHX TPHL TPBI TORD TOKC TMSY TMSP TMKE TMIA TMEM TMDW TMCO TMCI TLVE TLAS TJUA TJFK TIDS TICH TIAH TIAD THOU TFLL TEWR TDTW TDFW TDEN TDCA TDAY TDAL TCVG TCMH TCLT TBWI TBOS TBNA TATL TADW ROP4 ROP3 RODN RKSG RKJK PHWA PHMO PHKM PHKI PGUA PAPD PAKC PAIH PAHG PAEC PACG PABC NOP4 NOP3 KYUX KVWX KVTX KVNX KVBX KVAX KUEX KUDX KTYX KTWX KTLX KTLH KTFX KTBW KSRX KSOX KSJT KSHV KSGF KSFX KRTX KRLX KRIW KRGX KRAX KPUX KPOE KPDT KPBZ KPAH KOTX KOKX KOHX KOAX KNQA KNKX KMXX KMVX KMUX KMTX KMSX KMRX KMQT KMPX KMOB KMLB KMKX KMHX KMBX KMAX KMAF KLZK KLWX KLVX KLTX KLSX KLRX KLOT KLNX KLIX KLGX KLCH KLBB KJKL KJGX KJAX KIWX KIWA KINX KIND KILX KILN KICX KICT KHTX KHPX KHNX KHGX KHDX KGYX KGWX KGSP KGRR KGRK KGRB KGLD KGJX KGGW KFWS KFTG KFSX KFSD KFFC KFDX KFDR KFCX KEYX KEWX KEVX KESX KEPZ KEOX KENX KEMX KEAX KDYX KDVN KDTX KDOX KDMX KDLH KDIX KDGX KDFX KDDC KDAX KCYS KCXX KCRP KCLX KCLE KCCX KCBX KCBW KCAE KBYX KBUF KBRO KBOX KBMX KBLX KBIS KBHX KBGM KBBX KATX KARX KAPX KAMX KAMA KAKQ KABX KABR FOP1 DOP1 DAN1 -
How to add an item to ComboEdit2 after an item from Comboedit1 has been selected
Linuxuser1234 replied to Linuxuser1234's topic in FMX
@programmerdelphi2ki get this error TComboEdit does not contain GetCound and yes i have tried var -
How to add an item to ComboEdit2 after an item from Comboedit1 has been selected
Linuxuser1234 replied to Linuxuser1234's topic in FMX
. -
How to add an item to ComboEdit2 after an item from Comboedit1 has been selected
Linuxuser1234 replied to Linuxuser1234's topic in FMX
Do you want to add the selected from ComboEdit1 to the dropdown of ComboEdit2? Hook Combo1Edit.OnSelect procedure TForm4.ComboEdit1OnSelect(Sender: TObject); begin ComboEdit2.Items.Add(ComboEdit1.Text); end; This event is called when an item is selected from the dropped down list of ComboEdit1. Naturally, you need to add code to see if the item has already been added before you add it. @Lars Fosdal that doesnt work -
Im trying to get TCalloutPanel to follow the mouse pointer but i cant find any code examples on this here is the code i have so far procedure TForm1.Button22Click(Sender: TObject); var Marker : TCalloutPanel; begin // Marker := TCalloutPanel.Create(Self); Marker.Width := 209; Marker.Height := 41; Marker.RotationAngle := 180; Marker.Visible := True; Marker.Parent := Self; end;
-
How to have a component that follows Mouse Pointer
Linuxuser1234 replied to Linuxuser1234's topic in FMX
@programmerdelphi2k also do you know how to set the TCalloutpanel visibilaty to true when you click on the earth im trying to do this procedure TForm1.Button22Click(Sender: TObject); var Marker : TCalloutPanel; Coord: TLabel; MarkerBool: Boolean; begin if MarkerBool then begin Marker := TCalloutPanel.Create(Self); Marker.Width := 209; Marker.Height := 41; Marker.RotationAngle := 180; Marker.Visible := False; Marker.Parent := Self; Coord := TLabel.Create(Self); Coord.Width := 120; Coord.Visible := False; Coord.Parent := Self; Coord.Height:= 17; Coord.Text := '00.00000 -00.00000'; end else begin Earth.OnClick := Marker.Visible:=True; //<--Code Doesnt work keep getting incompatible types TNotiftEvent and procedure untyped pointer or untyped parameter -
How to make a button to show tooltip that shows coordinates from a bitmap in viewport3d
Linuxuser1234 posted a topic in FMX
im trying to make a button to show a tooltip style popup that hovers over a mouse pointer inside viewport3D using a bitmap image to show actual map coordinates when you click on a area it will show that area in google maps in the viewport how can i do this? here is a example -
Im trying to make a starmap skybox in the viewport 3d background similar to what google earth does
-
Keep getting Expected and identifier but received VAR same for IN and Contains
Linuxuser1234 posted a topic in FMX
Keep getting Expected and identifier but received VAR same for IN and Contains procedure TGISEngine.AddFilenames(const AFilenames: TGISFilesnamesSHP); begin if (Length(AFilenames) > 0 ) then begin for var in AFilenames do if not FFilenames.Contains(F) then FFilenames.Add(F); end; end; -
Keep getting Expected and identifier but received VAR same for IN and Contains
Linuxuser1234 replied to Linuxuser1234's topic in FMX
@programmerdelphi2k that still wont work same error -
How can i make a pas file to visualize GRIB2 Files i cant find any references anywhere
-
@ptlycldy im trying download the GRIB2 Data and then display the data onto the sphere something like this
-
so im in delphi 10.4 CE and im trying to make a weather application and i woud like to view NEXRAD/satellite/vector data on to a sphere with a bitmap image of the earth but im not sure on how to lay1er the data on to the sphere using netcdf here is a picture of the application with the globe
-
In fmx how can i project Fronts and pressure centers(H & L) on to my sphere with a bitmap satellite image of the earth and here is the data as text 517 ASUS02 KWBC 260000 CODSUS CODED SURFACE FRONTAL POSITIONS NWS WEATHER PREDICTION CENTER COLLEGE PARK MD 938 PM EDT TUE OCT 25 2022 VALID 102600Z HIGHS 1018 2110980 1024 7921336 1019 3591127 1021 4361109 1022 3891073 1023 4071071 1014 6860592 1022 6490450 1019 6631128 1014 7010721 1020 4571163 LOWS 1005 2331029 1012 3491152 1000 3940884 1014 3871188 979 5560286 1007 7500512 1002 7530754 981 6070811 973 6141629 1006 5411250 1011 3430689 1009 5741123 1007 6261296 TROF 2270878 2030889 1750895 TROF 2990706 2980705 TROF 3101080 2751063 2391037 COLD 6160767 6060765 5810769 5340792 4980813 4730830 4350856 4150872 STNRY 4160871 4110875 4030879 3950883 COLD 3871188 3821185 3711185 3611187 3511192 3421206 3371229 3371252 3451289 3621336 3731367 COLD 3721101 3721122 3751137 3831149 STNRY 3831150 3881164 3881182 3871189 TROF 3471151 3341146 3241143 COLD 3940883 3880871 3670864 3410861 3240865 3100873 3010878 2810893 2600913 2260946 1880958 WARM 5650616 5610611 WARM 5540602 5520598 WARM 6150766 6110713 6030673 5750625 5520599 5370572 5130547 5050539 4890523 STNRY 6510279 6440311 6300352 6160379 5850406 STNRY 3650568 3820591 3910614 3920639 3910658 STNRY 7930585 7720724 7530758 TROF 5960462 6240505 6610540 OCFNT 5570287 5610285 5720275 5790259 5820236 TROF 5570286 5380321 5260361 COLD 4621232 4521244 4421266 4391302 4491361 OCFNT 5901535 5871530 TROF 6001468 5991461 5871411 5721389 WARM 5871530 5871490 5811461 5601422 5191412 5011419 COLD 4450464 4580486 4730505 4830516 4900523 OCFNT 6100813 6190794 6150766 TROF 5970828 5650870 5300939 5131002 COLD 5881532 5691546 5541563 5351593 5181627 OCFNT 6151625 6121586 6001550 5881532 TROF 5821632 5781649 5721676 5731709 TROF 6301560 6461505 6531446 6521393 OCFNT 5401249 5131228 4781226 4611234 STNRY 4540970 4540991 4571015 4661050 4781076 4981092 5211088 5371094 5591111 5751125 STNRY 6281300 6241340 6271379 6281413 6261440 6231473 STNRY 5741123 5671175 5741223 5891249 6051272 6261293 TROF 3870883 3650888 3340902 $$ so how can i display text data on to a sphere
-
I have a unit called BOLT and i would like to use the viewport component from that unit to my GISEngine unit how can i do this? unit GISEngine; interface uses System.SysUtils, System.Classes, BOLT, FMX.Viewport3D; implementation procedure TForm1.Viewport3D1(Sender: TObject); begin end; end. Error GISEngine does not contain a member named Viewport3D1
-
Using a component from one unit to other units
Linuxuser1234 replied to Linuxuser1234's topic in FMX
@programmerdelphi2k can i pm you the file -
Using a component from one unit to other units
Linuxuser1234 replied to Linuxuser1234's topic in FMX
@programmerdelphi2k i keep getting Type BOLT (which is my unit1 or TForm1) is not yet completely defined and i have been unable to resolve the error and yes i have looked at the docwiki unit GISEngine; //This unit Displays Shapefiles onto a 3D Globe interface uses System.SysUtils, System.Classes, BOLT, FMX.Viewport3D; type BOLT = class(BOLT) Viewport3D1:TViewport3D; procedure VP3DGISEngine(Sender: TObject); private public end; var Form1 : TForm1; implementation end. -
When i use this code MediaPlayer1.FileName := 'https://radio.weatherusa.net/NWR/KEC61_2.mp3'; MediaPlayer1.Play; my app wont close after i close out of my weather radio popup window what is causing this issue
-
and im still getting that annoying issue when i cant close out of the main application after i clicked on the button in my popup window
-
@Ramy Lebeau for some reason im still not able to hear any audio
-
how can i draw a gradient paintbrush with a draw over animation on a sphere
-
I made a RoundRect to look like a tune Knob and i would like the knob to rotate on click so how can i write a Onclick procedure to rotate the round rect at different angles