├── Compiled
└── FluentHTML_Demo.exe
├── Demo
├── Ana_.fmx
├── Ana_.pas
├── FluentHTML_Demo.dpr
├── FluentHTML_Demo.dproj
├── FluentHTML_Demo.dproj.local
├── FluentHTML_Demo.res
└── HTML_Pages_.pas
├── FluentWeb.dpk
├── FluentWeb.dproj
├── FluentWeb.dproj.local
├── FluentWeb.identcache
├── FluentWeb.res
├── FluentWebGroup.groupproj
├── FluentWebGroup.groupproj.local
├── README.md
└── src
├── Classes_HTML5_.pas
├── Methods_HTML5_.pas
└── Types_HTML5_.pas
/Compiled/FluentHTML_Demo.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/uparlayan/FluentHTML/c5983beab9081e3b04b76b67f0969017a43d4355/Compiled/FluentHTML_Demo.exe
--------------------------------------------------------------------------------
/Demo/Ana_.fmx:
--------------------------------------------------------------------------------
1 | object Form1: TForm1
2 | Left = 0
3 | Top = 0
4 | Caption = 'Form1'
5 | ClientHeight = 480
6 | ClientWidth = 640
7 | FormFactor.Width = 320
8 | FormFactor.Height = 480
9 | FormFactor.Devices = [Desktop]
10 | DesignerMasterStyle = 0
11 | object pnl_Toolbar: TPanel
12 | Align = Top
13 | Padding.Left = 9.000000000000000000
14 | Padding.Top = 9.000000000000000000
15 | Padding.Right = 9.000000000000000000
16 | Padding.Bottom = 9.000000000000000000
17 | Size.Width = 640.000000000000000000
18 | Size.Height = 50.000000000000000000
19 | Size.PlatformDefault = False
20 | object bt_Test: TButton
21 | Align = Left
22 | Position.X = 9.000000000000000000
23 | Position.Y = 9.000000000000000000
24 | Size.Width = 80.000000000000000000
25 | Size.Height = 32.000000000000000000
26 | Size.PlatformDefault = False
27 | Text = 'Test'
28 | OnClick = KlikManager
29 | end
30 | end
31 | object WB: TWebBrowser
32 | Align = Client
33 | Size.Width = 640.000000000000000000
34 | Size.Height = 430.000000000000000000
35 | Size.PlatformDefault = False
36 | end
37 | end
38 |
--------------------------------------------------------------------------------
/Demo/Ana_.pas:
--------------------------------------------------------------------------------
1 | unit Ana_;
2 |
3 | interface
4 |
5 | uses
6 | System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
7 | FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.WebBrowser,
8 | FMX.StdCtrls, FMX.Controls.Presentation;
9 |
10 | type
11 | TForm1 = class(TForm)
12 | pnl_Toolbar: TPanel;
13 | bt_Test: TButton;
14 | WB: TWebBrowser;
15 | procedure KlikManager(Sender: TObject);
16 | private
17 | { Private declarations }
18 | public
19 | { Public declarations }
20 | end;
21 |
22 | var
23 | Form1: TForm1;
24 |
25 | implementation
26 |
27 | uses
28 | HTML_Pages_;
29 |
30 | {$R *.fmx}
31 |
32 | procedure TForm1.KlikManager(Sender: TObject);
33 | begin
34 | if (Sender = bt_Test) then begin
35 | WB.LoadFromStrings(HomePage, '');
36 | end else
37 | if (Sender = nil) then begin
38 | end else
39 | if (Sender = nil) then begin
40 | end else
41 | if (Sender = nil) then begin
42 | end else
43 | if (Sender = nil) then begin
44 | end else
45 | begin
46 | { Standart else sonu }
47 | end;
48 | end;
49 |
50 | end.
51 |
--------------------------------------------------------------------------------
/Demo/FluentHTML_Demo.dpr:
--------------------------------------------------------------------------------
1 | program FluentHTML_Demo;
2 |
3 | uses
4 | System.StartUpCopy,
5 | FMX.Forms,
6 | Ana_ in 'Ana_.pas' {Form1},
7 | HTML_Pages_ in 'HTML_Pages_.pas',
8 | Classes_HTML5_ in '..\src\Classes_HTML5_.pas',
9 | Methods_HTML5_ in '..\src\Methods_HTML5_.pas',
10 | Types_HTML5_ in '..\src\Types_HTML5_.pas';
11 |
12 | {$R *.res}
13 |
14 | begin
15 | ReportMemoryLeaksOnShutdown := True;
16 | Application.Initialize;
17 | Application.CreateForm(TForm1, Form1);
18 | Application.Run;
19 | end.
20 |
--------------------------------------------------------------------------------
/Demo/FluentHTML_Demo.dproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | {0EE73B03-9D5C-4983-AE9B-9E28260D783E}
4 | 19.0
5 | FMX
6 | True
7 | Debug
8 | Win32
9 | 37915
10 | Application
11 | FluentHTML_Demo.dpr
12 |
13 |
14 | true
15 |
16 |
17 | true
18 | Base
19 | true
20 |
21 |
22 | true
23 | Base
24 | true
25 |
26 |
27 | true
28 | Base
29 | true
30 |
31 |
32 | true
33 | Base
34 | true
35 |
36 |
37 | true
38 | Base
39 | true
40 |
41 |
42 | true
43 | Base
44 | true
45 |
46 |
47 | true
48 | Base
49 | true
50 |
51 |
52 | true
53 | Base
54 | true
55 |
56 |
57 | true
58 | Cfg_1
59 | true
60 | true
61 |
62 |
63 | true
64 | Cfg_1
65 | true
66 | true
67 |
68 |
69 | true
70 | Base
71 | true
72 |
73 |
74 | true
75 | Cfg_2
76 | true
77 | true
78 |
79 |
80 | true
81 | Cfg_2
82 | true
83 | true
84 |
85 |
86 | .\$(Platform)\$(Config)
87 | .\$(Platform)\$(Config)
88 | false
89 | false
90 | false
91 | false
92 | false
93 | System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace)
94 | true
95 | true
96 | true
97 | true
98 | true
99 | true
100 | true
101 | true
102 | $(BDS)\bin\delphi_PROJECTICON.ico
103 | $(BDS)\bin\delphi_PROJECTICNS.icns
104 | FluentHTML_Demo
105 |
106 |
107 | DBXSqliteDriver;RESTComponents;DBXInterBaseDriver;emsclientfiredac;tethering;DataSnapFireDAC;bindcompfmx;FmxTeeUI;fmx;FireDACIBDriver;FireDACDBXDriver;dbexpress;IndyCore;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;soapserver;bindengine;CloudService;FireDACCommonDriver;DataSnapClient;inet;IndyIPCommon;bindcompdbx;IndyIPServer;IndySystem;fmxFireDAC;FireDAC;FireDACSqliteDriver;ibmonitor;FMXTee;soaprtl;DbxCommonDriver;ibxpress;xmlrtl;soapmidas;DataSnapNativeClient;FireDACDSDriver;rtl;DbxClientDriver;ibxbindings;CustomIPTransport;bindcomp;IndyIPClient;dbxcds;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;$(DCC_UsePackage)
108 | package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=auto;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey=
109 | Debug
110 | true
111 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_36x36.png
112 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_48x48.png
113 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_72x72.png
114 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_96x96.png
115 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_144x144.png
116 | $(BDS)\bin\Artwork\Android\FM_SplashImage_426x320.png
117 | $(BDS)\bin\Artwork\Android\FM_SplashImage_470x320.png
118 | $(BDS)\bin\Artwork\Android\FM_SplashImage_640x480.png
119 | $(BDS)\bin\Artwork\Android\FM_SplashImage_960x720.png
120 | $(BDS)\bin\Artwork\Android\FM_NotificationIcon_24x24.png
121 | $(BDS)\bin\Artwork\Android\FM_NotificationIcon_36x36.png
122 | $(BDS)\bin\Artwork\Android\FM_NotificationIcon_48x48.png
123 | $(BDS)\bin\Artwork\Android\FM_NotificationIcon_72x72.png
124 | $(BDS)\bin\Artwork\Android\FM_NotificationIcon_96x96.png
125 | android-support-v4.dex.jar;cloud-messaging.dex.jar;com-google-android-gms.play-services-ads-base.17.2.0.dex.jar;com-google-android-gms.play-services-ads-identifier.16.0.0.dex.jar;com-google-android-gms.play-services-ads-lite.17.2.0.dex.jar;com-google-android-gms.play-services-ads.17.2.0.dex.jar;com-google-android-gms.play-services-analytics-impl.16.0.8.dex.jar;com-google-android-gms.play-services-analytics.16.0.8.dex.jar;com-google-android-gms.play-services-base.16.0.1.dex.jar;com-google-android-gms.play-services-basement.16.2.0.dex.jar;com-google-android-gms.play-services-gass.17.2.0.dex.jar;com-google-android-gms.play-services-identity.16.0.0.dex.jar;com-google-android-gms.play-services-maps.16.1.0.dex.jar;com-google-android-gms.play-services-measurement-base.16.4.0.dex.jar;com-google-android-gms.play-services-measurement-sdk-api.16.4.0.dex.jar;com-google-android-gms.play-services-stats.16.0.1.dex.jar;com-google-android-gms.play-services-tagmanager-v4-impl.16.0.8.dex.jar;com-google-android-gms.play-services-tasks.16.0.1.dex.jar;com-google-android-gms.play-services-wallet.16.0.1.dex.jar;com-google-firebase.firebase-analytics.16.4.0.dex.jar;com-google-firebase.firebase-common.16.1.0.dex.jar;com-google-firebase.firebase-iid-interop.16.0.1.dex.jar;com-google-firebase.firebase-iid.17.1.1.dex.jar;com-google-firebase.firebase-measurement-connector.17.0.1.dex.jar;com-google-firebase.firebase-messaging.17.5.0.dex.jar;fmx.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar
126 |
127 |
128 | DBXSqliteDriver;RESTComponents;DBXInterBaseDriver;emsclientfiredac;tethering;DataSnapFireDAC;bindcompfmx;FmxTeeUI;fmx;FireDACIBDriver;FireDACDBXDriver;dbexpress;IndyCore;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;soapserver;bindengine;CloudService;FireDACCommonDriver;DataSnapClient;inet;IndyIPCommon;bindcompdbx;IndyIPServer;IndySystem;fmxFireDAC;FireDAC;FireDACSqliteDriver;ibmonitor;FMXTee;soaprtl;DbxCommonDriver;ibxpress;xmlrtl;soapmidas;DataSnapNativeClient;FireDACDSDriver;rtl;DbxClientDriver;ibxbindings;CustomIPTransport;bindcomp;IndyIPClient;dbxcds;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;$(DCC_UsePackage)
129 | package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=auto;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey=
130 | Debug
131 | true
132 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_36x36.png
133 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_48x48.png
134 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_72x72.png
135 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_96x96.png
136 | $(BDS)\bin\Artwork\Android\FM_LauncherIcon_144x144.png
137 | $(BDS)\bin\Artwork\Android\FM_SplashImage_426x320.png
138 | $(BDS)\bin\Artwork\Android\FM_SplashImage_470x320.png
139 | $(BDS)\bin\Artwork\Android\FM_SplashImage_640x480.png
140 | $(BDS)\bin\Artwork\Android\FM_SplashImage_960x720.png
141 | $(BDS)\bin\Artwork\Android\FM_NotificationIcon_24x24.png
142 | $(BDS)\bin\Artwork\Android\FM_NotificationIcon_36x36.png
143 | $(BDS)\bin\Artwork\Android\FM_NotificationIcon_48x48.png
144 | $(BDS)\bin\Artwork\Android\FM_NotificationIcon_72x72.png
145 | $(BDS)\bin\Artwork\Android\FM_NotificationIcon_96x96.png
146 | android-support-v4.dex.jar;cloud-messaging.dex.jar;com-google-android-gms.play-services-ads-base.17.2.0.dex.jar;com-google-android-gms.play-services-ads-identifier.16.0.0.dex.jar;com-google-android-gms.play-services-ads-lite.17.2.0.dex.jar;com-google-android-gms.play-services-ads.17.2.0.dex.jar;com-google-android-gms.play-services-analytics-impl.16.0.8.dex.jar;com-google-android-gms.play-services-analytics.16.0.8.dex.jar;com-google-android-gms.play-services-base.16.0.1.dex.jar;com-google-android-gms.play-services-basement.16.2.0.dex.jar;com-google-android-gms.play-services-gass.17.2.0.dex.jar;com-google-android-gms.play-services-identity.16.0.0.dex.jar;com-google-android-gms.play-services-maps.16.1.0.dex.jar;com-google-android-gms.play-services-measurement-base.16.4.0.dex.jar;com-google-android-gms.play-services-measurement-sdk-api.16.4.0.dex.jar;com-google-android-gms.play-services-stats.16.0.1.dex.jar;com-google-android-gms.play-services-tagmanager-v4-impl.16.0.8.dex.jar;com-google-android-gms.play-services-tasks.16.0.1.dex.jar;com-google-android-gms.play-services-wallet.16.0.1.dex.jar;com-google-firebase.firebase-analytics.16.4.0.dex.jar;com-google-firebase.firebase-common.16.1.0.dex.jar;com-google-firebase.firebase-iid-interop.16.0.1.dex.jar;com-google-firebase.firebase-iid.17.1.1.dex.jar;com-google-firebase.firebase-measurement-connector.17.0.1.dex.jar;com-google-firebase.firebase-messaging.17.5.0.dex.jar;fmx.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar
147 |
148 |
149 | DBXSqliteDriver;RESTComponents;fmxase;DBXInterBaseDriver;emsclientfiredac;tethering;DataSnapFireDAC;bindcompfmx;FmxTeeUI;fmx;FireDACIBDriver;FireDACDBXDriver;dbexpress;IndyCore;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;soapserver;bindengine;CloudService;FireDACCommonDriver;DataSnapClient;inet;IndyIPCommon;bindcompdbx;IndyIPServer;IndySystem;fmxFireDAC;FireDAC;FireDACSqliteDriver;ibmonitor;FMXTee;soaprtl;DbxCommonDriver;ibxpress;xmlrtl;soapmidas;DataSnapNativeClient;FireDACDSDriver;rtl;DbxClientDriver;ibxbindings;CustomIPTransport;bindcomp;IndyIPClient;dbxcds;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;$(DCC_UsePackage)
150 | CFBundleName=$(MSBuildProjectName);CFBundleDevelopmentRegion=en;CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=$(MSBuildProjectName);CFBundleInfoDictionaryVersion=7.1;CFBundleVersion=1.0.0;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;LSRequiresIPhoneOS=true;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);UIDeviceFamily=iPhone & iPad;CFBundleResourceSpecification=ResourceRules.plist;NSLocationAlwaysUsageDescription=The reason for accessing the location information of the user;NSLocationWhenInUseUsageDescription=The reason for accessing the location information of the user;NSLocationAlwaysAndWhenInUseUsageDescription=The reason for accessing the location information of the user;FMLocalNotificationPermission=false;UIBackgroundModes=;NSContactsUsageDescription=The reason for accessing the contacts;NSPhotoLibraryUsageDescription=The reason for accessing the photo library;NSPhotoLibraryAddUsageDescription=The reason for adding to the photo library;NSCameraUsageDescription=The reason for accessing the camera;NSFaceIDUsageDescription=The reason for accessing the face id;NSMicrophoneUsageDescription=The reason for accessing the microphone;NSSiriUsageDescription=The reason for accessing Siri;ITSAppUsesNonExemptEncryption=false;NSBluetoothAlwaysUsageDescription=The reason for accessing bluetooth;NSBluetoothPeripheralUsageDescription=The reason for accessing bluetooth peripherals;NSCalendarsUsageDescription=The reason for accessing the calendar data;NSRemindersUsageDescription=The reason for accessing the reminders;NSMotionUsageDescription=The reason for accessing the accelerometer;NSSpeechRecognitionUsageDescription=The reason for requesting to send user data to Apple's speech recognition servers
151 | iPhoneAndiPad
152 | true
153 | Debug
154 | $(MSBuildProjectName)
155 | $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_57x57.png
156 | $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_60x60.png
157 | $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_87x87.png
158 | $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_114x114.png
159 | $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_120x120.png
160 | $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_180x180.png
161 | $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_2x.png
162 | $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImageDark_2x.png
163 | $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_3x.png
164 | $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImageDark_3x.png
165 | $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_29x29.png
166 | $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_40x40.png
167 | $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_58x58.png
168 | $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_80x80.png
169 | $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_120x120.png
170 | $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_72x72.png
171 | $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_76x76.png
172 | $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_144x144.png
173 | $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_152x152.png
174 | $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_167x167.png
175 | $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImage_2x.png
176 | $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageDark_2x.png
177 | $(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_40x40.png
178 | $(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_50x50.png
179 | $(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_80x80.png
180 | $(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_100x100.png
181 | $(BDS)\bin\Artwork\iOS\iPad\FM_SettingIcon_29x29.png
182 | $(BDS)\bin\Artwork\iOS\iPad\FM_SettingIcon_58x58.png
183 |
184 |
185 | DBXSqliteDriver;RESTComponents;fmxase;DBXInterBaseDriver;emsclientfiredac;tethering;DataSnapFireDAC;bindcompfmx;FmxTeeUI;fmx;FireDACIBDriver;FireDACDBXDriver;dbexpress;IndyCore;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;soapserver;bindengine;CloudService;FireDACCommonDriver;DataSnapClient;inet;IndyIPCommon;bindcompdbx;IndyIPServer;IndySystem;fmxFireDAC;FireDAC;FireDACSqliteDriver;ibmonitor;FMXTee;soaprtl;DbxCommonDriver;ibxpress;xmlrtl;soapmidas;DataSnapNativeClient;FireDACDSDriver;rtl;DbxClientDriver;ibxbindings;CustomIPTransport;bindcomp;IndyIPClient;dbxcds;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;$(DCC_UsePackage)
186 | CFBundleName=$(MSBuildProjectName);CFBundleDevelopmentRegion=en;CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=$(MSBuildProjectName);CFBundleInfoDictionaryVersion=7.1;CFBundleVersion=1.0.0;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;LSRequiresIPhoneOS=true;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);UIDeviceFamily=iPhone & iPad;CFBundleResourceSpecification=ResourceRules.plist;NSLocationAlwaysUsageDescription=The reason for accessing the location information of the user;NSLocationWhenInUseUsageDescription=The reason for accessing the location information of the user;NSLocationAlwaysAndWhenInUseUsageDescription=The reason for accessing the location information of the user;FMLocalNotificationPermission=false;UIBackgroundModes=;NSContactsUsageDescription=The reason for accessing the contacts;NSPhotoLibraryUsageDescription=The reason for accessing the photo library;NSPhotoLibraryAddUsageDescription=The reason for adding to the photo library;NSCameraUsageDescription=The reason for accessing the camera;NSFaceIDUsageDescription=The reason for accessing the face id;NSMicrophoneUsageDescription=The reason for accessing the microphone;NSSiriUsageDescription=The reason for accessing Siri;ITSAppUsesNonExemptEncryption=false;NSBluetoothAlwaysUsageDescription=The reason for accessing bluetooth;NSBluetoothPeripheralUsageDescription=The reason for accessing bluetooth peripherals;NSCalendarsUsageDescription=The reason for accessing the calendar data;NSRemindersUsageDescription=The reason for accessing the reminders;NSMotionUsageDescription=The reason for accessing the accelerometer;NSSpeechRecognitionUsageDescription=The reason for requesting to send user data to Apple's speech recognition servers
187 | iPhoneAndiPad
188 | true
189 | $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_57x57.png
190 | $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_60x60.png
191 | $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_87x87.png
192 | $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_114x114.png
193 | $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_120x120.png
194 | $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_180x180.png
195 | $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_2x.png
196 | $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImageDark_2x.png
197 | $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_3x.png
198 | $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImageDark_3x.png
199 | $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_29x29.png
200 | $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_40x40.png
201 | $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_58x58.png
202 | $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_80x80.png
203 | $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_120x120.png
204 | $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_72x72.png
205 | $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_76x76.png
206 | $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_144x144.png
207 | $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_152x152.png
208 | $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_167x167.png
209 | $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImage_2x.png
210 | $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageDark_2x.png
211 | $(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_40x40.png
212 | $(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_50x50.png
213 | $(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_80x80.png
214 | $(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_100x100.png
215 | $(BDS)\bin\Artwork\iOS\iPad\FM_SettingIcon_29x29.png
216 | $(BDS)\bin\Artwork\iOS\iPad\FM_SettingIcon_58x58.png
217 | 10.0
218 |
219 |
220 | DBXSqliteDriver;RESTComponents;fmxase;DBXInterBaseDriver;emsclientfiredac;tethering;DataSnapFireDAC;FireDACMSSQLDriver;bindcompfmx;DBXOracleDriver;inetdb;FmxTeeUI;fmx;FireDACIBDriver;fmxdae;FireDACDBXDriver;dbexpress;IndyCore;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;soapserver;bindengine;DBXMySQLDriver;CloudService;FireDACOracleDriver;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;DataSnapClient;inet;IndyIPCommon;bindcompdbx;IndyIPServer;IndySystem;fmxFireDAC;FireDAC;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;ibxpress;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;FireDACDSDriver;rtl;DbxClientDriver;ibxbindings;DBXSybaseASADriver;CustomIPTransport;bindcomp;DBXInformixDriver;IndyIPClient;dbxcds;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;inetdbxpress;FireDACMongoDBDriver;DataSnapServerMidas;$(DCC_UsePackage)
221 | CFBundleName=$(MSBuildProjectName);CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=$(MSBuildProjectName);CFBundleVersion=1.0.0;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);NSHighResolutionCapable=true;LSApplicationCategoryType=public.app-category.utilities;NSLocationUsageDescription=The reason for accessing the location information of the user;NSContactsUsageDescription=The reason for accessing the contacts;NSCalendarsUsageDescription=The reason for accessing the calendar data;NSRemindersUsageDescription=The reason for accessing the reminders;NSCameraUsageDescription=The reason for accessing the camera;NSMicrophoneUsageDescription=The reason for accessing the microphone;NSMotionUsageDescription=The reason for accessing the accelerometer;NSDesktopFolderUsageDescription=The reason for accessing the Desktop folder;NSDocumentsFolderUsageDescription=The reason for accessing the Documents folder;NSDownloadsFolderUsageDescription=The reason for accessing the Downloads folder;NSNetworkVolumesUsageDescription=The reason for accessing files on a network volume;NSRemovableVolumesUsageDescription=The reason for accessing files on a removable volume;NSSpeechRecognitionUsageDescription=The reason for requesting to send user data to Apple's speech recognition servers
222 | Debug
223 | true
224 |
225 |
226 | DBXSqliteDriver;RESTComponents;fmxase;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;bindcompvclsmp;emsclientfiredac;tethering;svnui;DataSnapFireDAC;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;svn;DBXOracleDriver;inetdb;FmxTeeUI;emsedge;fmx;FireDACIBDriver;fmxdae;vcledge;vclib;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;vclie;bindengine;DBXMySQLDriver;CloudService;FireDACOracleDriver;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;DataSnapClient;inet;FluentPack;IndyIPCommon;bindcompdbx;vcl;IndyIPServer;DBXSybaseASEDriver;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;emshosting;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;ibxpress;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;FireDACDSDriver;rtl;emsserverresource;DbxClientDriver;ibxbindings;DBXSybaseASADriver;CustomIPTransport;vcldsnap;FluentWeb;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;inetdbxpress;FireDACMongoDBDriver;DataSnapServerMidas;$(DCC_UsePackage)
227 | Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)
228 | Debug
229 | true
230 | CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=
231 | 1033
232 | $(BDS)\bin\default_app.manifest
233 | $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png
234 | $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png
235 | ..\Compiled
236 | ..\Compiled\Dcu
237 |
238 |
239 | DBXSqliteDriver;RESTComponents;fmxase;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;bindcompvclsmp;emsclientfiredac;tethering;DataSnapFireDAC;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;DBXOracleDriver;inetdb;FmxTeeUI;emsedge;fmx;FireDACIBDriver;fmxdae;vcledge;vclib;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;vclie;bindengine;DBXMySQLDriver;CloudService;FireDACOracleDriver;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;DataSnapClient;inet;IndyIPCommon;bindcompdbx;vcl;IndyIPServer;DBXSybaseASEDriver;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;emshosting;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;ibxpress;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;FireDACDSDriver;rtl;emsserverresource;DbxClientDriver;ibxbindings;DBXSybaseASADriver;CustomIPTransport;vcldsnap;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;inetdbxpress;FireDACMongoDBDriver;DataSnapServerMidas;$(DCC_UsePackage)
240 | Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace)
241 | Debug
242 | true
243 | CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=
244 | 1033
245 | $(BDS)\bin\default_app.manifest
246 | $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png
247 | $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png
248 |
249 |
250 | DEBUG;$(DCC_Define)
251 | true
252 | false
253 | true
254 | true
255 | true
256 |
257 |
258 | false
259 | true
260 | PerMonitorV2
261 | true
262 | 1033
263 |
264 |
265 | true
266 | PerMonitorV2
267 |
268 |
269 | false
270 | RELEASE;$(DCC_Define)
271 | 0
272 | 0
273 |
274 |
275 | true
276 | PerMonitorV2
277 |
278 |
279 | true
280 | PerMonitorV2
281 |
282 |
283 |
284 | MainSource
285 |
286 |
287 |
288 | fmx
289 |
290 |
291 |
292 |
293 |
294 |
295 | Cfg_2
296 | Base
297 |
298 |
299 | Base
300 |
301 |
302 | Cfg_1
303 | Base
304 |
305 |
306 |
307 | Delphi.Personality.12
308 | Application
309 |
310 |
311 |
312 | FluentHTML_Demo.dpr
313 |
314 |
315 | Microsoft Office 2000 Sample Automation Server Wrapper Components
316 | Microsoft Office XP Sample Automation Server Wrapper Components
317 |
318 |
319 |
320 | True
321 | True
322 | False
323 | True
324 | True
325 | False
326 | True
327 | True
328 | True
329 |
330 |
331 |
332 |
333 | true
334 |
335 |
336 |
337 |
338 | true
339 |
340 |
341 |
342 |
343 | true
344 |
345 |
346 |
347 |
348 | FluentHTML_Demo.exe
349 | true
350 |
351 |
352 |
353 |
354 | 1
355 |
356 |
357 | Contents\MacOS
358 | 1
359 |
360 |
361 | 0
362 |
363 |
364 |
365 |
366 | classes
367 | 1
368 |
369 |
370 | classes
371 | 1
372 |
373 |
374 |
375 |
376 | res\xml
377 | 1
378 |
379 |
380 | res\xml
381 | 1
382 |
383 |
384 |
385 |
386 | library\lib\armeabi-v7a
387 | 1
388 |
389 |
390 |
391 |
392 | library\lib\armeabi
393 | 1
394 |
395 |
396 | library\lib\armeabi
397 | 1
398 |
399 |
400 |
401 |
402 | library\lib\armeabi-v7a
403 | 1
404 |
405 |
406 |
407 |
408 | library\lib\mips
409 | 1
410 |
411 |
412 | library\lib\mips
413 | 1
414 |
415 |
416 |
417 |
418 | library\lib\armeabi-v7a
419 | 1
420 |
421 |
422 | library\lib\arm64-v8a
423 | 1
424 |
425 |
426 |
427 |
428 | library\lib\armeabi-v7a
429 | 1
430 |
431 |
432 |
433 |
434 | res\drawable
435 | 1
436 |
437 |
438 | res\drawable
439 | 1
440 |
441 |
442 |
443 |
444 | res\values
445 | 1
446 |
447 |
448 | res\values
449 | 1
450 |
451 |
452 |
453 |
454 | res\values-v21
455 | 1
456 |
457 |
458 | res\values-v21
459 | 1
460 |
461 |
462 |
463 |
464 | res\values
465 | 1
466 |
467 |
468 | res\values
469 | 1
470 |
471 |
472 |
473 |
474 | res\drawable
475 | 1
476 |
477 |
478 | res\drawable
479 | 1
480 |
481 |
482 |
483 |
484 | res\drawable-xxhdpi
485 | 1
486 |
487 |
488 | res\drawable-xxhdpi
489 | 1
490 |
491 |
492 |
493 |
494 | res\drawable-ldpi
495 | 1
496 |
497 |
498 | res\drawable-ldpi
499 | 1
500 |
501 |
502 |
503 |
504 | res\drawable-mdpi
505 | 1
506 |
507 |
508 | res\drawable-mdpi
509 | 1
510 |
511 |
512 |
513 |
514 | res\drawable-hdpi
515 | 1
516 |
517 |
518 | res\drawable-hdpi
519 | 1
520 |
521 |
522 |
523 |
524 | res\drawable-xhdpi
525 | 1
526 |
527 |
528 | res\drawable-xhdpi
529 | 1
530 |
531 |
532 |
533 |
534 | res\drawable-mdpi
535 | 1
536 |
537 |
538 | res\drawable-mdpi
539 | 1
540 |
541 |
542 |
543 |
544 | res\drawable-hdpi
545 | 1
546 |
547 |
548 | res\drawable-hdpi
549 | 1
550 |
551 |
552 |
553 |
554 | res\drawable-xhdpi
555 | 1
556 |
557 |
558 | res\drawable-xhdpi
559 | 1
560 |
561 |
562 |
563 |
564 | res\drawable-xxhdpi
565 | 1
566 |
567 |
568 | res\drawable-xxhdpi
569 | 1
570 |
571 |
572 |
573 |
574 | res\drawable-xxxhdpi
575 | 1
576 |
577 |
578 | res\drawable-xxxhdpi
579 | 1
580 |
581 |
582 |
583 |
584 | res\drawable-small
585 | 1
586 |
587 |
588 | res\drawable-small
589 | 1
590 |
591 |
592 |
593 |
594 | res\drawable-normal
595 | 1
596 |
597 |
598 | res\drawable-normal
599 | 1
600 |
601 |
602 |
603 |
604 | res\drawable-large
605 | 1
606 |
607 |
608 | res\drawable-large
609 | 1
610 |
611 |
612 |
613 |
614 | res\drawable-xlarge
615 | 1
616 |
617 |
618 | res\drawable-xlarge
619 | 1
620 |
621 |
622 |
623 |
624 | res\values
625 | 1
626 |
627 |
628 | res\values
629 | 1
630 |
631 |
632 |
633 |
634 | 1
635 |
636 |
637 | Contents\MacOS
638 | 1
639 |
640 |
641 | 0
642 |
643 |
644 |
645 |
646 | Contents\MacOS
647 | 1
648 | .framework
649 |
650 |
651 | Contents\MacOS
652 | 1
653 | .framework
654 |
655 |
656 | 0
657 |
658 |
659 |
660 |
661 | 1
662 | .dylib
663 |
664 |
665 | 1
666 | .dylib
667 |
668 |
669 | 1
670 | .dylib
671 |
672 |
673 | Contents\MacOS
674 | 1
675 | .dylib
676 |
677 |
678 | Contents\MacOS
679 | 1
680 | .dylib
681 |
682 |
683 | 0
684 | .dll;.bpl
685 |
686 |
687 |
688 |
689 | 1
690 | .dylib
691 |
692 |
693 | 1
694 | .dylib
695 |
696 |
697 | 1
698 | .dylib
699 |
700 |
701 | Contents\MacOS
702 | 1
703 | .dylib
704 |
705 |
706 | Contents\MacOS
707 | 1
708 | .dylib
709 |
710 |
711 | 0
712 | .bpl
713 |
714 |
715 |
716 |
717 | 0
718 |
719 |
720 | 0
721 |
722 |
723 | 0
724 |
725 |
726 | 0
727 |
728 |
729 | 0
730 |
731 |
732 | Contents\Resources\StartUp\
733 | 0
734 |
735 |
736 | Contents\Resources\StartUp\
737 | 0
738 |
739 |
740 | 0
741 |
742 |
743 |
744 |
745 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
746 | 1
747 |
748 |
749 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
750 | 1
751 |
752 |
753 |
754 |
755 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
756 | 1
757 |
758 |
759 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
760 | 1
761 |
762 |
763 |
764 |
765 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
766 | 1
767 |
768 |
769 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
770 | 1
771 |
772 |
773 |
774 |
775 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
776 | 1
777 |
778 |
779 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
780 | 1
781 |
782 |
783 |
784 |
785 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
786 | 1
787 |
788 |
789 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
790 | 1
791 |
792 |
793 |
794 |
795 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
796 | 1
797 |
798 |
799 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
800 | 1
801 |
802 |
803 |
804 |
805 | 1
806 |
807 |
808 | 1
809 |
810 |
811 |
812 |
813 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF
814 | 1
815 |
816 |
817 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF
818 | 1
819 |
820 |
821 |
822 |
823 | 1
824 |
825 |
826 | 1
827 |
828 |
829 |
830 |
831 | ..\
832 | 1
833 |
834 |
835 | ..\
836 | 1
837 |
838 |
839 |
840 |
841 | 1
842 |
843 |
844 | 1
845 |
846 |
847 | 1
848 |
849 |
850 |
851 |
852 | ..\$(PROJECTNAME).launchscreen
853 | 64
854 |
855 |
856 | ..\$(PROJECTNAME).launchscreen
857 | 64
858 |
859 |
860 |
861 |
862 | 1
863 |
864 |
865 | 1
866 |
867 |
868 | 1
869 |
870 |
871 |
872 |
873 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF
874 | 1
875 |
876 |
877 |
878 |
879 | ..\
880 | 1
881 |
882 |
883 | ..\
884 | 1
885 |
886 |
887 |
888 |
889 | Contents
890 | 1
891 |
892 |
893 | Contents
894 | 1
895 |
896 |
897 |
898 |
899 | Contents\Resources
900 | 1
901 |
902 |
903 | Contents\Resources
904 | 1
905 |
906 |
907 |
908 |
909 | library\lib\armeabi-v7a
910 | 1
911 |
912 |
913 | library\lib\arm64-v8a
914 | 1
915 |
916 |
917 | 1
918 |
919 |
920 | 1
921 |
922 |
923 | 1
924 |
925 |
926 | 1
927 |
928 |
929 | Contents\MacOS
930 | 1
931 |
932 |
933 | Contents\MacOS
934 | 1
935 |
936 |
937 | 0
938 |
939 |
940 |
941 |
942 | library\lib\armeabi-v7a
943 | 1
944 |
945 |
946 |
947 |
948 | 1
949 |
950 |
951 | 1
952 |
953 |
954 |
955 |
956 | Assets
957 | 1
958 |
959 |
960 | Assets
961 | 1
962 |
963 |
964 |
965 |
966 | Assets
967 | 1
968 |
969 |
970 | Assets
971 | 1
972 |
973 |
974 |
975 |
976 |
977 |
978 |
979 |
980 |
981 |
982 |
983 |
984 |
985 |
986 | 12
987 |
988 |
989 |
990 |
991 |
992 |
--------------------------------------------------------------------------------
/Demo/FluentHTML_Demo.dproj.local:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 1899.12.30 00:00:00.000.480,=P:\Dev\Delphi\ProjGIT\FluentHTML\src\Classes_HTML5_.pas
5 | 1899.12.30 00:00:00.000.564,=P:\Dev\Delphi\ProjGIT\FluentHTML\src\Types_HTML5_.pas
6 | 1899.12.30 00:00:00.000.170,=P:\Dev\Delphi\ProjGIT\FluentHTML\Demo\Unit1.pas
7 | 1899.12.30 00:00:00.000.857,P:\Dev\Delphi\ProjGIT\FluentHTML\Demo\Unit1.pas=P:\Dev\Delphi\ProjGIT\FluentHTML\Demo\HTML_Page_.pas
8 | 1899.12.30 00:00:00.000.418,P:\Dev\Delphi\ProjSYDNEY\Unit1.fmx=P:\Dev\Delphi\ProjGIT\FluentHTML\Demo\Ana_.fmx
9 | 1899.12.30 00:00:00.000.180,P:\Dev\Delphi\ProjGIT\FluentHTML\Demo\HTML_Page_.pas=P:\Dev\Delphi\ProjGIT\FluentHTML\Demo\HTML_Pages_.pas
10 | 1899.12.30 00:00:00.000.523,=P:\Dev\Delphi\ProjGIT\FluentHTML\src\Methods_HTML5_.pas
11 | 1899.12.30 00:00:00.000.234,=P:\Dev\Delphi\ProjSYDNEY\Unit1.pas
12 | 1899.12.30 00:00:00.000.418,P:\Dev\Delphi\ProjSYDNEY\Unit1.pas=P:\Dev\Delphi\ProjGIT\FluentHTML\Demo\Ana_.pas
13 | 1899.12.30 00:00:00.000.985,P:\Dev\Delphi\ProjSYDNEY\Project1.dproj=P:\Dev\Delphi\ProjGIT\FluentHTML\Demo\FluentHTML_Demo.dproj
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Demo/FluentHTML_Demo.res:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/uparlayan/FluentHTML/c5983beab9081e3b04b76b67f0969017a43d4355/Demo/FluentHTML_Demo.res
--------------------------------------------------------------------------------
/Demo/HTML_Pages_.pas:
--------------------------------------------------------------------------------
1 | unit HTML_Pages_;
2 |
3 | interface
4 |
5 | uses
6 | Classes_HTML5_
7 | , Methods_HTML5_
8 | ;
9 |
10 | function HomePage: string;
11 |
12 | implementation
13 |
14 | uses
15 | System.SysUtils
16 | ;
17 |
18 | function HomePage: string;
19 | var
20 | aHTML: THTMLTag;
21 | begin
22 |
23 | aHTML := html([
24 | head([ meta.charset('UTF-8')
25 | , title('Basit HTML4 Haber Kağıdı')
26 | ])
27 | , body([ h1('HTML4 Simple Newsletter template in Firefox 37 with JAWS 15')
28 | , p_('This video is a captioned demonstration of a simple newsletter written in HTML4. It is being displayed in Firefox 37 and accessed using JAWS 15.')
29 | , div_(
30 | video([ source().src('http://weba11y.com/Examples/HTML5A11y2015/demos/SimpleNewsletter1.mp4').type_('video/mp4')
31 | , source().src('http://weba11y.com/Examples/HTML5A11y2015/demos/SimpleNewsletter1.webm').type_('video/webm')
32 | , source().src('http://weba11y.com/Examples/HTML5A11y2015/demos/SimpleNewsletter1.ogv').type_('video/ogv')
33 | ]).style('height:765px;width:915px;')
34 | ).style('margin-left:200px')
35 | ])
36 | ]).lang('en')
37 | ;
38 | {
39 | weba11y.com/Examples/HTML5A11y2015/demos/
40 |
41 |
42 |
49 |
50 |
51 | }
52 | Result := ''#13#10 + aHTML.ToString;
53 | FreeAndNil(aHTML);
54 | end;
55 |
56 | end.
57 |
--------------------------------------------------------------------------------
/FluentWeb.dpk:
--------------------------------------------------------------------------------
1 | package FluentWeb;
2 |
3 | {$R *.res}
4 | {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users}
5 | {$ALIGN 8}
6 | {$ASSERTIONS ON}
7 | {$BOOLEVAL OFF}
8 | {$DEBUGINFO OFF}
9 | {$EXTENDEDSYNTAX ON}
10 | {$IMPORTEDDATA ON}
11 | {$IOCHECKS ON}
12 | {$LOCALSYMBOLS ON}
13 | {$LONGSTRINGS ON}
14 | {$OPENSTRINGS ON}
15 | {$OPTIMIZATION OFF}
16 | {$OVERFLOWCHECKS OFF}
17 | {$RANGECHECKS OFF}
18 | {$REFERENCEINFO ON}
19 | {$SAFEDIVIDE OFF}
20 | {$STACKFRAMES ON}
21 | {$TYPEDADDRESS OFF}
22 | {$VARSTRINGCHECKS ON}
23 | {$WRITEABLECONST OFF}
24 | {$MINENUMSIZE 1}
25 | {$IMAGEBASE $400000}
26 | {$DEFINE DEBUG}
27 | {$ENDIF IMPLICITBUILDING}
28 | {$IMPLICITBUILD ON}
29 |
30 | requires
31 | rtl;
32 |
33 | contains
34 | Classes_HTML5_ in 'src\Classes_HTML5_.pas',
35 | Methods_HTML5_ in 'src\Methods_HTML5_.pas',
36 | Types_HTML5_ in 'src\Types_HTML5_.pas';
37 |
38 | end.
39 |
--------------------------------------------------------------------------------
/FluentWeb.dproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | {12A2FE37-30F2-48FF-B066-9351ED82C161}
4 | FluentWeb.dpk
5 | 19.0
6 | None
7 | True
8 | Debug
9 | Win32
10 | 1
11 | Package
12 |
13 |
14 | true
15 |
16 |
17 | true
18 | Base
19 | true
20 |
21 |
22 | true
23 | Base
24 | true
25 |
26 |
27 | true
28 | Base
29 | true
30 |
31 |
32 | true
33 | Base
34 | true
35 |
36 |
37 | true
38 | Base
39 | true
40 |
41 |
42 | true
43 | Base
44 | true
45 |
46 |
47 | true
48 | Base
49 | true
50 |
51 |
52 | true
53 | Base
54 | true
55 |
56 |
57 | true
58 | Base
59 | true
60 |
61 |
62 | true
63 | Cfg_1
64 | true
65 | true
66 |
67 |
68 | true
69 | Base
70 | true
71 |
72 |
73 | .\$(Platform)\$(Config)
74 | .\$(Platform)\$(Config)
75 | false
76 | false
77 | false
78 | false
79 | false
80 | true
81 | true
82 | System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace)
83 | All
84 | FluentWeb
85 |
86 |
87 | None
88 | android-support-v4.dex.jar;cloud-messaging.dex.jar;com-google-android-gms.play-services-ads-base.17.2.0.dex.jar;com-google-android-gms.play-services-ads-identifier.16.0.0.dex.jar;com-google-android-gms.play-services-ads-lite.17.2.0.dex.jar;com-google-android-gms.play-services-ads.17.2.0.dex.jar;com-google-android-gms.play-services-analytics-impl.16.0.8.dex.jar;com-google-android-gms.play-services-analytics.16.0.8.dex.jar;com-google-android-gms.play-services-base.16.0.1.dex.jar;com-google-android-gms.play-services-basement.16.2.0.dex.jar;com-google-android-gms.play-services-gass.17.2.0.dex.jar;com-google-android-gms.play-services-identity.16.0.0.dex.jar;com-google-android-gms.play-services-maps.16.1.0.dex.jar;com-google-android-gms.play-services-measurement-base.16.4.0.dex.jar;com-google-android-gms.play-services-measurement-sdk-api.16.4.0.dex.jar;com-google-android-gms.play-services-stats.16.0.1.dex.jar;com-google-android-gms.play-services-tagmanager-v4-impl.16.0.8.dex.jar;com-google-android-gms.play-services-tasks.16.0.1.dex.jar;com-google-android-gms.play-services-wallet.16.0.1.dex.jar;com-google-firebase.firebase-analytics.16.4.0.dex.jar;com-google-firebase.firebase-common.16.1.0.dex.jar;com-google-firebase.firebase-iid-interop.16.0.1.dex.jar;com-google-firebase.firebase-iid.17.1.1.dex.jar;com-google-firebase.firebase-measurement-connector.17.0.1.dex.jar;com-google-firebase.firebase-messaging.17.5.0.dex.jar;fmx.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar
89 | rtl;$(DCC_UsePackage)
90 |
91 |
92 | None
93 | android-support-v4.dex.jar;cloud-messaging.dex.jar;com-google-android-gms.play-services-ads-base.17.2.0.dex.jar;com-google-android-gms.play-services-ads-identifier.16.0.0.dex.jar;com-google-android-gms.play-services-ads-lite.17.2.0.dex.jar;com-google-android-gms.play-services-ads.17.2.0.dex.jar;com-google-android-gms.play-services-analytics-impl.16.0.8.dex.jar;com-google-android-gms.play-services-analytics.16.0.8.dex.jar;com-google-android-gms.play-services-base.16.0.1.dex.jar;com-google-android-gms.play-services-basement.16.2.0.dex.jar;com-google-android-gms.play-services-gass.17.2.0.dex.jar;com-google-android-gms.play-services-identity.16.0.0.dex.jar;com-google-android-gms.play-services-maps.16.1.0.dex.jar;com-google-android-gms.play-services-measurement-base.16.4.0.dex.jar;com-google-android-gms.play-services-measurement-sdk-api.16.4.0.dex.jar;com-google-android-gms.play-services-stats.16.0.1.dex.jar;com-google-android-gms.play-services-tagmanager-v4-impl.16.0.8.dex.jar;com-google-android-gms.play-services-tasks.16.0.1.dex.jar;com-google-android-gms.play-services-wallet.16.0.1.dex.jar;com-google-firebase.firebase-analytics.16.4.0.dex.jar;com-google-firebase.firebase-common.16.1.0.dex.jar;com-google-firebase.firebase-iid-interop.16.0.1.dex.jar;com-google-firebase.firebase-iid.17.1.1.dex.jar;com-google-firebase.firebase-measurement-connector.17.0.1.dex.jar;com-google-firebase.firebase-messaging.17.5.0.dex.jar;fmx.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar
94 | rtl;$(DCC_UsePackage)
95 |
96 |
97 | None
98 | rtl;$(DCC_UsePackage)
99 |
100 |
101 | None
102 | rtl;$(DCC_UsePackage)
103 |
104 |
105 | rtl;$(DCC_UsePackage)
106 |
107 |
108 | rtl;$(DCC_UsePackage)
109 |
110 |
111 | Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)
112 | Debug
113 | true
114 | CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=
115 | 1033
116 | .\Compiled\Dcu
117 | rtl;$(DCC_UsePackage)
118 |
119 |
120 | rtl;$(DCC_UsePackage)
121 |
122 |
123 | DEBUG;$(DCC_Define)
124 | true
125 | false
126 | true
127 | true
128 | true
129 |
130 |
131 | false
132 | true
133 | 1033
134 |
135 |
136 | false
137 | RELEASE;$(DCC_Define)
138 | 0
139 | 0
140 |
141 |
142 |
143 | MainSource
144 |
145 |
146 |
147 |
148 |
149 |
150 | Cfg_2
151 | Base
152 |
153 |
154 | Base
155 |
156 |
157 | Cfg_1
158 | Base
159 |
160 |
161 |
162 | Delphi.Personality.12
163 | Package
164 |
165 |
166 |
167 | FluentWeb.dpk
168 |
169 |
170 | Microsoft Office 2000 Sample Automation Server Wrapper Components
171 | Microsoft Office XP Sample Automation Server Wrapper Components
172 |
173 |
174 |
175 | False
176 | False
177 | False
178 | False
179 | False
180 | False
181 | True
182 | False
183 |
184 |
185 |
186 |
187 | true
188 |
189 |
190 |
191 |
192 | true
193 |
194 |
195 |
196 |
197 | FluentWeb.bpl
198 | true
199 |
200 |
201 |
202 |
203 | true
204 |
205 |
206 |
207 |
208 | 1
209 |
210 |
211 | 0
212 |
213 |
214 |
215 |
216 | classes
217 | 1
218 |
219 |
220 | classes
221 | 1
222 |
223 |
224 |
225 |
226 | res\xml
227 | 1
228 |
229 |
230 | res\xml
231 | 1
232 |
233 |
234 |
235 |
236 | library\lib\armeabi-v7a
237 | 1
238 |
239 |
240 |
241 |
242 | library\lib\armeabi
243 | 1
244 |
245 |
246 | library\lib\armeabi
247 | 1
248 |
249 |
250 |
251 |
252 | library\lib\armeabi-v7a
253 | 1
254 |
255 |
256 |
257 |
258 | library\lib\mips
259 | 1
260 |
261 |
262 | library\lib\mips
263 | 1
264 |
265 |
266 |
267 |
268 | library\lib\armeabi-v7a
269 | 1
270 |
271 |
272 | library\lib\arm64-v8a
273 | 1
274 |
275 |
276 |
277 |
278 | library\lib\armeabi-v7a
279 | 1
280 |
281 |
282 |
283 |
284 | res\drawable
285 | 1
286 |
287 |
288 | res\drawable
289 | 1
290 |
291 |
292 |
293 |
294 | res\values
295 | 1
296 |
297 |
298 | res\values
299 | 1
300 |
301 |
302 |
303 |
304 | res\values-v21
305 | 1
306 |
307 |
308 | res\values-v21
309 | 1
310 |
311 |
312 |
313 |
314 | res\values
315 | 1
316 |
317 |
318 | res\values
319 | 1
320 |
321 |
322 |
323 |
324 | res\drawable
325 | 1
326 |
327 |
328 | res\drawable
329 | 1
330 |
331 |
332 |
333 |
334 | res\drawable-xxhdpi
335 | 1
336 |
337 |
338 | res\drawable-xxhdpi
339 | 1
340 |
341 |
342 |
343 |
344 | res\drawable-ldpi
345 | 1
346 |
347 |
348 | res\drawable-ldpi
349 | 1
350 |
351 |
352 |
353 |
354 | res\drawable-mdpi
355 | 1
356 |
357 |
358 | res\drawable-mdpi
359 | 1
360 |
361 |
362 |
363 |
364 | res\drawable-hdpi
365 | 1
366 |
367 |
368 | res\drawable-hdpi
369 | 1
370 |
371 |
372 |
373 |
374 | res\drawable-xhdpi
375 | 1
376 |
377 |
378 | res\drawable-xhdpi
379 | 1
380 |
381 |
382 |
383 |
384 | res\drawable-mdpi
385 | 1
386 |
387 |
388 | res\drawable-mdpi
389 | 1
390 |
391 |
392 |
393 |
394 | res\drawable-hdpi
395 | 1
396 |
397 |
398 | res\drawable-hdpi
399 | 1
400 |
401 |
402 |
403 |
404 | res\drawable-xhdpi
405 | 1
406 |
407 |
408 | res\drawable-xhdpi
409 | 1
410 |
411 |
412 |
413 |
414 | res\drawable-xxhdpi
415 | 1
416 |
417 |
418 | res\drawable-xxhdpi
419 | 1
420 |
421 |
422 |
423 |
424 | res\drawable-xxxhdpi
425 | 1
426 |
427 |
428 | res\drawable-xxxhdpi
429 | 1
430 |
431 |
432 |
433 |
434 | res\drawable-small
435 | 1
436 |
437 |
438 | res\drawable-small
439 | 1
440 |
441 |
442 |
443 |
444 | res\drawable-normal
445 | 1
446 |
447 |
448 | res\drawable-normal
449 | 1
450 |
451 |
452 |
453 |
454 | res\drawable-large
455 | 1
456 |
457 |
458 | res\drawable-large
459 | 1
460 |
461 |
462 |
463 |
464 | res\drawable-xlarge
465 | 1
466 |
467 |
468 | res\drawable-xlarge
469 | 1
470 |
471 |
472 |
473 |
474 | res\values
475 | 1
476 |
477 |
478 | res\values
479 | 1
480 |
481 |
482 |
483 |
484 | 1
485 |
486 |
487 | 1
488 |
489 |
490 | 0
491 |
492 |
493 |
494 |
495 | 1
496 | .framework
497 |
498 |
499 | 1
500 | .framework
501 |
502 |
503 | 0
504 |
505 |
506 |
507 |
508 | 1
509 | .dylib
510 |
511 |
512 | 1
513 | .dylib
514 |
515 |
516 | 0
517 | .dll;.bpl
518 |
519 |
520 |
521 |
522 | 1
523 | .dylib
524 |
525 |
526 | 1
527 | .dylib
528 |
529 |
530 | 1
531 | .dylib
532 |
533 |
534 | 1
535 | .dylib
536 |
537 |
538 | 1
539 | .dylib
540 |
541 |
542 | 0
543 | .bpl
544 |
545 |
546 |
547 |
548 | 0
549 |
550 |
551 | 0
552 |
553 |
554 | 0
555 |
556 |
557 | 0
558 |
559 |
560 | 0
561 |
562 |
563 | 0
564 |
565 |
566 | 0
567 |
568 |
569 | 0
570 |
571 |
572 |
573 |
574 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
575 | 1
576 |
577 |
578 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
579 | 1
580 |
581 |
582 |
583 |
584 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
585 | 1
586 |
587 |
588 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
589 | 1
590 |
591 |
592 |
593 |
594 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
595 | 1
596 |
597 |
598 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
599 | 1
600 |
601 |
602 |
603 |
604 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
605 | 1
606 |
607 |
608 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
609 | 1
610 |
611 |
612 |
613 |
614 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
615 | 1
616 |
617 |
618 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
619 | 1
620 |
621 |
622 |
623 |
624 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
625 | 1
626 |
627 |
628 | ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset
629 | 1
630 |
631 |
632 |
633 |
634 | 1
635 |
636 |
637 | 1
638 |
639 |
640 |
641 |
642 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF
643 | 1
644 |
645 |
646 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF
647 | 1
648 |
649 |
650 |
651 |
652 |
653 |
654 |
655 |
656 | 1
657 |
658 |
659 | 1
660 |
661 |
662 | 1
663 |
664 |
665 |
666 |
667 |
668 |
669 |
670 | Contents\Resources
671 | 1
672 |
673 |
674 | Contents\Resources
675 | 1
676 |
677 |
678 |
679 |
680 | library\lib\armeabi-v7a
681 | 1
682 |
683 |
684 | library\lib\arm64-v8a
685 | 1
686 |
687 |
688 | 1
689 |
690 |
691 | 1
692 |
693 |
694 | 1
695 |
696 |
697 | 1
698 |
699 |
700 | 1
701 |
702 |
703 | 1
704 |
705 |
706 | 0
707 |
708 |
709 |
710 |
711 | library\lib\armeabi-v7a
712 | 1
713 |
714 |
715 |
716 |
717 | 1
718 |
719 |
720 | 1
721 |
722 |
723 |
724 |
725 | Assets
726 | 1
727 |
728 |
729 | Assets
730 | 1
731 |
732 |
733 |
734 |
735 | Assets
736 | 1
737 |
738 |
739 | Assets
740 | 1
741 |
742 |
743 |
744 |
745 |
746 |
747 |
748 |
749 |
750 |
751 |
752 |
753 |
754 |
755 | 12
756 |
757 |
758 |
759 |
760 |
761 |
--------------------------------------------------------------------------------
/FluentWeb.dproj.local:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 1899.12.30 00:00:00.000.444,P:\Dev\Delphi\ProjSYDNEY\Package1.dproj=P:\Dev\Delphi\ProjGIT\FluentHTML\FluentWeb.dproj
5 | 1899.12.30 00:00:00.000.875,=P:\Dev\Delphi\ProjGIT\FluentHTML\src\Types_HTML5_.pas
6 | 1899.12.30 00:00:00.000.845,=P:\Dev\Delphi\ProjGIT\FluentHTML\src\Methods_HTML5_.pas
7 | 1899.12.30 00:00:00.000.810,=P:\Dev\Delphi\ProjGIT\FluentHTML\src\Classes_HTML5_.pas
8 | 1899.12.30 00:00:00.000.556,=rtl.dcp
9 |
10 |
11 |
--------------------------------------------------------------------------------
/FluentWeb.identcache:
--------------------------------------------------------------------------------
1 | 7P:\Dev\Delphi\ProjGIT\FluentHTML\src\Classes_HTML5_.pas 7P:\Dev\Delphi\ProjGIT\FluentHTML\src\Methods_HTML5_.pas 5P:\Dev\Delphi\ProjGIT\FluentHTML\src\Types_HTML5_.pas
--------------------------------------------------------------------------------
/FluentWeb.res:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/uparlayan/FluentHTML/c5983beab9081e3b04b76b67f0969017a43d4355/FluentWeb.res
--------------------------------------------------------------------------------
/FluentWebGroup.groupproj:
--------------------------------------------------------------------------------
1 |
2 |
3 | {DF820CDA-784A-4879-AAFA-949989FBE7D9}
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 | Default.Personality.12
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
--------------------------------------------------------------------------------
/FluentWebGroup.groupproj.local:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # FluentHTML
2 |
3 | - Pascal'da HTML taglarını doğrudan kullanabilmek için geliştirilmiş bir kütüphanedir.
4 | - HTML5 Tagları esas alınmıştır.
5 | - Sadece HTML5 Taglarını üretmek için kullanılabilir, Parse işlevi YOKTUR...
6 |
7 | ```pascal
8 |
9 | uses
10 | Classes_HTML5_ // THTMLTag Class definition
11 | , Methods_HTML5_ // HTML Tags definitions...
12 | ;
13 |
14 | ...
15 | ...
16 | ...
17 |
18 | procedure TWebModule.PageProducer1HTMLTag( Sender : TObject
19 | ; Tag : TTag
20 | ; const TagString : string
21 | ; TagParams : TStrings
22 | ; var ReplaceText : string
23 | );
24 | var
25 | aHTML: THTMLTag;
26 | begin
27 | if SameText(TagString, 'userprofile') then begin
28 | aHTML:= table([
29 | thead([
30 | tr( [ th('Kullanıcı Profili').colspan('2') ])
31 | , tr( [ th('Alan') , th('Değer') ])
32 | ])
33 | , tbody([
34 | tr( [ td('ID') , td(Oturum.User.ID.ToString) ])
35 | , tr( [ td('Kullanıcı Adı') , td(Oturum.User.UserName) ])
36 | , tr( [ td('Şifre') , td(Oturum.User.Password) ])
37 | , tr( [ td('Ad Soyad') , td(Oturum.User.AdSoyad) ])
38 | , tr( [ td('Eposta') , td(Oturum.User.Eposta) ])
39 | , tr( [ td('Dil') , td(Oturum.User.Dil) ])
40 | , tr( [ td('Durum') , td(Oturum.User.Durum) ])
41 | ])
42 | ]).class_('vg');
43 |
44 | ReplaceText := aHTML.ToString;
45 | end else
46 | if SameText(TagString, 'userprofileform') then begin
47 | aHTML:= form(
48 | [ fieldset('Kullanıcı Profilinizi Düzenleyin')
49 | , label_( 'Kullanıcı Adı' , [ br, input.placeholder('Lütfen bir kullanıcı adı belirtin' ).id('username_id').name('username').value('').type_('text').autocomplete('off') ])
50 | , br
51 | , label_( 'Şifreniz' , [ br, input.placeholder('Lütfen 8 basamaklı bir şifre yazınız' ).id('password_id').name('password').value('').type_('password').autocomplete('off') ])
52 | , br
53 | , label_( 'Ad ve Soyadınız' , [ br, input.placeholder('Lütfen tam adınızı yazınız' ).id('fullname_id').name('fullname').value('').type_('text').autocomplete('off') ])
54 | , br
55 | , label_( 'Eposta Adresiniz', [ br, input.placeholder('Size ait Eposta adresinizi yazınız' ).id('emailadr_id').name('emailadr').value('').type_('text').autocomplete('off') ])
56 | , br
57 | , label_( 'Arabirim Dili' , [ br, input.placeholder('Bu siteyi hangi dilde kullanacaksınız?').id('language_id').name('language').value('').type_('text').autocomplete('off') ])
58 | ]).action('/profileedit').method('post');
59 | ReplaceText := aHTML.ToString;
60 | end else
61 | begin
62 | { Standart else sonu }
63 | end;
64 | if Assigned(aHTML) then FreeAndNil(aHTML);
65 | end;
66 | ```
67 |
--------------------------------------------------------------------------------
/src/Classes_HTML5_.pas:
--------------------------------------------------------------------------------
1 | ///
2 | /// HTML TAG NESNESİNİN tanımlandığı birimdir.
3 | ///
4 | ///
5 | /// HTML Taglarının yapısını tanımlar. Buna olaylar, öznitelikler ve alt
6 | /// elemanlar da dahildir.
7 | ///
8 | ///
9 | /// Uğur PARLAYAN
10 | ///
11 | ///
12 | /// 01.01.2019
13 | ///
14 | unit Classes_HTML5_;
15 |
16 | interface
17 |
18 | {$region 'gözardı edilecek olan uyarı ve ipucu listesi'}
19 | { // Uyarı ve ipucu listesi aşağıdaki linkte yer alıyor. UP.
20 | https://marc.durdin.net/2012/05/delphi-xe2s-hidden-hints-and-warnings-options/ }
21 | {$WARN UNIT_PLATFORM OFF} // Platfown Spesifik uyarısını kapatır
22 | {$WARN SYMBOL_PLATFORM OFF} // W1002 spesifik platform, incele ( https://stackoverflow.com/questions/352479/delphi-warning-w1002-symbol-filesetdate-is-specific-to-a-platform )
23 | {$WARN SUSPICIOUS_TYPECAST OFF} // W1044 spesifik platform, incele ( https://stackoverflow.com/questions/283759/convert-string-to-pansichar-in-delphi-2009 )
24 | {$WARN IMPLICIT_STRING_CAST OFF} // W1057 (Örtük tip dönüştürme: String to utf8string)
25 | {$WARN IMPLICIT_STRING_CAST_LOSS OFF} // W1058 (örtük tip dönüştürme: utf8string to string)
26 | {$WARN NO_RETVAL OFF} // W1058 (örtük tip dönüştürme: utf8string to string)
27 | {$WARN HIDDEN_VIRTUAL OFF} // W1010 (Temel sınıftaki sanal yöntem gizlenmiş...)
28 | {$endregion}
29 |
30 | uses
31 | Types_HTML5_ // THTMLAttributes = array of string;
32 | , System.Generics.Collections // TObjectList
33 | ;
34 |
35 | type
36 | THTMLTag = class(TInterfacedObject)
37 | private
38 | FItems : TObjectList;
39 | FTagName : String;
40 | FContext : String;
41 | {$region 'attributes'}
42 | Faccesskey : String; // Global öznitelik
43 | Fautocapitalize : String; // Global öznitelik
44 | Fclass_ : String; // Global öznitelik
45 | Fcontenteditable: String; // Global öznitelik
46 | Fcontextmenu : String; // Global öznitelik
47 | Fdata : String; // Global öznitelik
48 | Fdir : String; // Global öznitelik
49 | Fdraggable : String; // Global öznitelik
50 | Fdropzone : String; // Global öznitelik
51 | Fhidden : String; // Global öznitelik
52 | Fid : String; // Global öznitelik
53 | Fitemprop : String; // Global öznitelik
54 | Flang : String; // Global öznitelik
55 | Fslot : String; // Global öznitelik
56 | Fspellcheck : String; // Global öznitelik
57 | Fstyle : String; // Global öznitelik
58 | Ftabindex : String; // Global öznitelik
59 | Ftitle : String; // Global öznitelik
60 | Ftranslate : String; // Global öznitelik
61 | Faccept : String; // Yerel öznitelik
62 | Faccept_charset : String; // Yerel öznitelik
63 | Faction : String; // Yerel öznitelik
64 | Falign : String; // Yerel öznitelik
65 | Fallow : String; // Yerel öznitelik
66 | Falt : String; // Yerel öznitelik
67 | Fasync : String; // Yerel öznitelik
68 | Fautocomplete : String; // Yerel öznitelik
69 | Fautofocus : String; // Yerel öznitelik
70 | Fautoplay : String; // Yerel öznitelik
71 | Fbackground : String; // Yerel öznitelik
72 | Fbgcolor : String; // Yerel öznitelik
73 | Fborder : String; // Yerel öznitelik
74 | Fbuffered : String; // Yerel öznitelik
75 | Fchallenge : String; // Yerel öznitelik
76 | Fcharset : String; // Yerel öznitelik
77 | Fchecked : String; // Yerel öznitelik
78 | Fcite : String; // Yerel öznitelik
79 | Fcode : String; // Yerel öznitelik
80 | Fcodebase : String; // Yerel öznitelik
81 | Fcolor : String; // Yerel öznitelik
82 | Fcols : String; // Yerel öznitelik
83 | Fcolspan : String; // Yerel öznitelik
84 | Fcontent : String; // Yerel öznitelik
85 | Fcontrols : String; // Yerel öznitelik
86 | Fcoords : String; // Yerel öznitelik
87 | Fcrossorigin : String; // Yerel öznitelik
88 | Fcsp : String; // Yerel öznitelik
89 | Fdatetime : String; // Yerel öznitelik
90 | Fdecoding : String; // Yerel öznitelik
91 | Fdefault : String; // Yerel öznitelik
92 | Fdefer : String; // Yerel öznitelik
93 | Fdirname : String; // Yerel öznitelik
94 | Fdisabled : String; // Yerel öznitelik
95 | Fdownload : String; // Yerel öznitelik
96 | Fenctype : String; // Yerel öznitelik
97 | Fenterkeyhint : String; // Yerel öznitelik
98 | Ffor_ : String; // Yerel öznitelik
99 | Fform : String; // Yerel öznitelik
100 | Fformaction : String; // Yerel öznitelik
101 | Fformnovalidate : String; // Yerel öznitelik
102 | Fheaders : String; // Yerel öznitelik
103 | Fheight : String; // Yerel öznitelik
104 | Fhigh : String; // Yerel öznitelik
105 | Fhref : String; // Yerel öznitelik
106 | Fhreflang : String; // Yerel öznitelik
107 | Fhttp_equiv : String; // Yerel öznitelik
108 | Ficon : String; // Yerel öznitelik
109 | Fimportance : String; // Yerel öznitelik
110 | Fintegrity : String; // Yerel öznitelik
111 | Fintrinsicsize : String; // Yerel öznitelik
112 | Finputmode : String; // Yerel öznitelik
113 | Fismap : String; // Yerel öznitelik
114 | Fkeytype : String; // Yerel öznitelik
115 | Fkind : String; // Yerel öznitelik
116 | Flabel_ : String; // Yerel öznitelik
117 | Flanguage : String; // Yerel öznitelik
118 | Floading : String; // Yerel öznitelik
119 | Flist : String; // Yerel öznitelik
120 | Floop : String; // Yerel öznitelik
121 | Flow : String; // Yerel öznitelik
122 | Fmanifest : String; // Yerel öznitelik
123 | Fmax : String; // Yerel öznitelik
124 | Fmaxlength : String; // Yerel öznitelik
125 | Fminlength : String; // Yerel öznitelik
126 | Fmedia : String; // Yerel öznitelik
127 | Fmethod : String; // Yerel öznitelik
128 | Fmin : String; // Yerel öznitelik
129 | Fmultiple : String; // Yerel öznitelik
130 | Fmuted : String; // Yerel öznitelik
131 | Fname : String; // Yerel öznitelik
132 | Fnovalidate : String; // Yerel öznitelik
133 | Fopen : String; // Yerel öznitelik
134 | Foptimum : String; // Yerel öznitelik
135 | Fpattern : String; // Yerel öznitelik
136 | Fping : String; // Yerel öznitelik
137 | Fplaceholder : String; // Yerel öznitelik
138 | Fposter : String; // Yerel öznitelik
139 | Fpreload : String; // Yerel öznitelik
140 | Fradiogroup : String; // Yerel öznitelik
141 | Freadonly : String; // Yerel öznitelik
142 | Freferrerpolicy : String; // Yerel öznitelik
143 | Frel : String; // Yerel öznitelik
144 | Frequired : String; // Yerel öznitelik
145 | Freversed : String; // Yerel öznitelik
146 | Frows : String; // Yerel öznitelik
147 | Frowspan : String; // Yerel öznitelik
148 | Fsandbox : String; // Yerel öznitelik
149 | Fscope : String; // Yerel öznitelik
150 | Fscoped : String; // Yerel öznitelik
151 | Fselected : String; // Yerel öznitelik
152 | Fshape : String; // Yerel öznitelik
153 | Fsize : String; // Yerel öznitelik
154 | Fsizes : String; // Yerel öznitelik
155 | Fspan : String; // Yerel öznitelik
156 | Fsrc : String; // Yerel öznitelik
157 | Fsrcdoc : String; // Yerel öznitelik
158 | Fsrclang : String; // Yerel öznitelik
159 | Fsrcset : String; // Yerel öznitelik
160 | Fstart : String; // Yerel öznitelik
161 | Fstep : String; // Yerel öznitelik
162 | Fsummary : String; // Yerel öznitelik
163 | Ftarget : String; // Yerel öznitelik
164 | Ftype_ : String; // Yerel öznitelik
165 | Fusemap : String; // Yerel öznitelik
166 | Fvalue : String; // Yerel öznitelik
167 | Fwidth : String; // Yerel öznitelik
168 | Fwrap : String; // Yerel öznitelik
169 | {$endregion}
170 | {$region 'Events'}
171 | {$region 'window events'}
172 | Fonafterprint : String;
173 | Fonbeforeprint : String;
174 | Fonbeforeunload : String;
175 | Fonerror_ : String;
176 | Fonhashchange : String;
177 | Fonload : String;
178 | Fonmessage : String;
179 | Fonoffline : String;
180 | Fononline : String;
181 | Fonpagehide : String;
182 | Fonpageshow : String;
183 | Fonpopstate : String;
184 | Fonresize : String;
185 | Fonstorage : String;
186 | Fonunload : String;
187 | {$endregion}
188 | {$region 'form events'}
189 | Fonblur : String;
190 | Fonchange : String;
191 | Foncontextmenu : String;
192 | Fonfocus : String;
193 | Foninput : String;
194 | Foninvalid : String;
195 | Fonreset : String;
196 | Fonsearch : String;
197 | Fonselect : String;
198 | Fonsubmit : String;
199 | {$endregion}
200 | {$region 'keyboard events'}
201 | Fonkeydown : String;
202 | Fonkeypress : String;
203 | Fonkeyup : String;
204 | {$endregion}
205 | {$region 'mouse events'}
206 | Fonclick : String;
207 | Fondblclick : String;
208 | Fonmousedown : String;
209 | Fonmousemove : String;
210 | Fonmouseout : String;
211 | Fonmouseover : String;
212 | Fonmouseup : String;
213 | Fonmousewheel : String;
214 | Fonwheel : String;
215 | {$endregion}
216 | {$region 'drag events'}
217 | Fondrag : String;
218 | Fondragend : String;
219 | Fondragenter : String;
220 | Fondragleave : String;
221 | Fondragover : String;
222 | Fondragstart : String;
223 | Fondrop : String;
224 | Fonscroll : String;
225 | {$endregion}
226 | {$region 'clipboard events'}
227 | Foncopy : String;
228 | Foncut : String;
229 | Fonpaste : String;
230 | {$endregion}
231 | {$region 'media events'}
232 | Fonabort : String;
233 | Foncanplay : String;
234 | Foncanplaythrough : String;
235 | Foncuechange : String;
236 | Fondurationchange : String;
237 | Fonemptied : String;
238 | Fonended : String;
239 | Fonerror : String;
240 | Fonloadeddata : String;
241 | Fonloadedmetadata : String;
242 | Fonloadstart : String;
243 | Fonpause : String;
244 | Fonplay : String;
245 | Fonplaying : String;
246 | Fonprogress : String;
247 | Fonratechange : String;
248 | Fonseeked : String;
249 | Fonseeking : String;
250 | Fonstalled : String;
251 | Fonsuspend : String;
252 | Fontimeupdate : String;
253 | Fonvolumechange : String;
254 | Fonwaiting : String;
255 | {$endregion}
256 | {$region 'misc events'}
257 | Fontoggle : String;
258 | {$endregion}
259 | {$endregion}
260 | protected
261 | function ValidateAttribute ( SupportedTags: THTMLItems): Boolean;
262 | function iif(aSorgu: Boolean; aTrue, aFalse: String): String;
263 | function iin(aItem: String; aItemList: THTMLItems): Boolean;
264 | function Merge(aTag, aContent: String): String;
265 | procedure Clear;
266 | public
267 | property Items: TObjectList read FItems;
268 | function Item(const aIndex: Integer): THTMLTag;
269 | constructor Create;
270 | destructor Destroy; override;
271 | function TagName ( const Value: String): THTMLTag;
272 | function Context ( const Value: String): THTMLTag; overload;
273 | function Context ( const Value: THTMLTag): THTMLTag; overload;
274 | function ToString : String;
275 | {$region 'Attribute Tool'}
276 | {$endregion}
277 | {$region 'Attributes'}
278 | function accesskey ( const aValue: String): THTMLTag;
279 | function autocapitalize ( const aValue: String): THTMLTag;
280 | function class_ ( const aValue: String): THTMLTag;
281 | function contenteditable ( const aValue: String): THTMLTag;
282 | function contextmenu ( const aValue: String): THTMLTag;
283 | function data ( const aValue: String): THTMLTag;
284 | function dir ( const aValue: String): THTMLTag;
285 | function draggable ( const aValue: String): THTMLTag;
286 | function dropzone ( const aValue: String): THTMLTag;
287 | function hidden ( const aValue: String): THTMLTag;
288 | function id ( const aValue: String): THTMLTag;
289 | function itemprop ( const aValue: String): THTMLTag;
290 | function lang ( const aValue: String): THTMLTag;
291 | function slot ( const aValue: String): THTMLTag;
292 | function spellcheck ( const aValue: String): THTMLTag;
293 | function style ( const aValue: String): THTMLTag;
294 | function tabindex ( const aValue: String): THTMLTag;
295 | function title ( const aValue: String): THTMLTag;
296 | function translate ( const aValue: String): THTMLTag;
297 | function accept ( const aValue: String): THTMLTag;
298 | function accept_charset ( const aValue: String): THTMLTag;
299 | function action ( const aValue: String): THTMLTag;
300 | function align ( const aValue: String): THTMLTag;
301 | function allow ( const aValue: String): THTMLTag;
302 | function alt ( const aValue: String): THTMLTag;
303 | function async ( const aValue: String): THTMLTag;
304 | function autocomplete ( const aValue: String): THTMLTag;
305 | function autofocus ( const aValue: String): THTMLTag;
306 | function autoplay ( const aValue: String): THTMLTag;
307 | function background ( const aValue: String): THTMLTag;
308 | function bgcolor ( const aValue: String): THTMLTag;
309 | function border ( const aValue: String): THTMLTag;
310 | function buffered ( const aValue: String): THTMLTag;
311 | function challenge ( const aValue: String): THTMLTag;
312 | function charset ( const aValue: String): THTMLTag;
313 | function checked ( const aValue: String): THTMLTag;
314 | function cite ( const aValue: String): THTMLTag;
315 | function code ( const aValue: String): THTMLTag;
316 | function codebase ( const aValue: String): THTMLTag;
317 | function color ( const aValue: String): THTMLTag;
318 | function cols ( const aValue: String): THTMLTag;
319 | function colspan ( const aValue: String): THTMLTag;
320 | function content ( const aValue: String): THTMLTag;
321 | function controls ( const aValue: String): THTMLTag;
322 | function coords ( const aValue: String): THTMLTag;
323 | function crossorigin ( const aValue: String): THTMLTag;
324 | function csp ( const aValue: String): THTMLTag;
325 | function datetime ( const aValue: String): THTMLTag;
326 | function decoding ( const aValue: String): THTMLTag;
327 | function default ( const aValue: String): THTMLTag;
328 | function defer ( const aValue: String): THTMLTag;
329 | function dirname ( const aValue: String): THTMLTag;
330 | function disabled ( const aValue: String): THTMLTag;
331 | function download ( const aValue: String): THTMLTag;
332 | function enctype ( const aValue: String): THTMLTag;
333 | function enterkeyhint ( const aValue: String): THTMLTag;
334 | function for_ ( const aValue: String): THTMLTag;
335 | function form ( const aValue: String): THTMLTag;
336 | function formaction ( const aValue: String): THTMLTag;
337 | function formnovalidate ( const aValue: String): THTMLTag;
338 | function headers ( const aValue: String): THTMLTag;
339 | function height ( const aValue: String): THTMLTag;
340 | function high ( const aValue: String): THTMLTag;
341 | function href ( const aValue: String): THTMLTag;
342 | function hreflang ( const aValue: String): THTMLTag;
343 | function http_equiv ( const aValue: String): THTMLTag;
344 | function icon ( const aValue: String): THTMLTag;
345 | function importance ( const aValue: String): THTMLTag;
346 | function integrity ( const aValue: String): THTMLTag;
347 | function intrinsicsize ( const aValue: String): THTMLTag;
348 | function inputmode ( const aValue: String): THTMLTag;
349 | function ismap ( const aValue: String): THTMLTag;
350 | function keytype ( const aValue: String): THTMLTag;
351 | function kind ( const aValue: String): THTMLTag;
352 | function label_ ( const aValue: String): THTMLTag;
353 | function language ( const aValue: String): THTMLTag;
354 | function loading ( const aValue: String): THTMLTag;
355 | function list ( const aValue: String): THTMLTag;
356 | function loop ( const aValue: String): THTMLTag;
357 | function low ( const aValue: String): THTMLTag;
358 | function manifest ( const aValue: String): THTMLTag;
359 | function max ( const aValue: String): THTMLTag;
360 | function maxlength ( const aValue: String): THTMLTag;
361 | function minlength ( const aValue: String): THTMLTag;
362 | function media ( const aValue: String): THTMLTag;
363 | function method ( const aValue: String): THTMLTag;
364 | function min ( const aValue: String): THTMLTag;
365 | function multiple ( const aValue: String): THTMLTag;
366 | function muted ( const aValue: String): THTMLTag;
367 | function name ( const aValue: String): THTMLTag;
368 | function novalidate ( const aValue: String): THTMLTag;
369 | function open ( const aValue: String): THTMLTag;
370 | function optimum ( const aValue: String): THTMLTag;
371 | function pattern ( const aValue: String): THTMLTag;
372 | function ping ( const aValue: String): THTMLTag;
373 | function placeholder ( const aValue: String): THTMLTag;
374 | function poster ( const aValue: String): THTMLTag;
375 | function preload ( const aValue: String): THTMLTag;
376 | function radiogroup ( const aValue: String): THTMLTag;
377 | function readonly ( const aValue: String): THTMLTag;
378 | function referrerpolicy ( const aValue: String): THTMLTag;
379 | function rel ( const aValue: String): THTMLTag;
380 | function required ( const aValue: String): THTMLTag;
381 | function reversed ( const aValue: String): THTMLTag;
382 | function rows ( const aValue: String): THTMLTag;
383 | function rowspan ( const aValue: String): THTMLTag;
384 | function sandbox ( const aValue: String): THTMLTag;
385 | function scope ( const aValue: String): THTMLTag;
386 | function scoped ( const aValue: String): THTMLTag;
387 | function selected ( const aValue: String): THTMLTag;
388 | function shape ( const aValue: String): THTMLTag;
389 | function size ( const aValue: String): THTMLTag;
390 | function sizes ( const aValue: String): THTMLTag;
391 | function span ( const aValue: String): THTMLTag;
392 | function src ( const aValue: String): THTMLTag;
393 | function srcdoc ( const aValue: String): THTMLTag;
394 | function srclang ( const aValue: String): THTMLTag;
395 | function srcset ( const aValue: String): THTMLTag;
396 | function start ( const aValue: String): THTMLTag;
397 | function step ( const aValue: String): THTMLTag;
398 | function summary ( const aValue: String): THTMLTag;
399 | function target ( const aValue: String): THTMLTag;
400 | function type_ ( const aValue: String): THTMLTag;
401 | function usemap ( const aValue: String): THTMLTag;
402 | function value ( const aValue: String): THTMLTag;
403 | function width ( const aValue: String): THTMLTag;
404 | function wrap ( const aValue: String): THTMLTag;
405 | {$endregion}
406 | {$region 'events'}
407 | {$region 'window events'}
408 | function onafterprint ( const aScript: String): THTMLTag;
409 | function onbeforeprint ( const aScript: String): THTMLTag;
410 | function onbeforeunload ( const aScript: String): THTMLTag;
411 | function onerror ( const aScript: String): THTMLTag;
412 | function onhashchange ( const aScript: String): THTMLTag;
413 | function onload ( const aScript: String): THTMLTag;
414 | function onmessage ( const aScript: String): THTMLTag;
415 | function onoffline ( const aScript: String): THTMLTag;
416 | function ononline ( const aScript: String): THTMLTag;
417 | function onpagehide ( const aScript: String): THTMLTag;
418 | function onpageshow ( const aScript: String): THTMLTag;
419 | function onpopstate ( const aScript: String): THTMLTag;
420 | function onresize ( const aScript: String): THTMLTag;
421 | function onstorage ( const aScript: String): THTMLTag;
422 | function onunload ( const aScript: String): THTMLTag;
423 | {$endregion}
424 | {$region 'form events'}
425 | function onblur ( const aScript: String): THTMLTag;
426 | function onchange ( const aScript: String): THTMLTag;
427 | function oncontextmenu ( const aScript: String): THTMLTag;
428 | function onfocus ( const aScript: String): THTMLTag;
429 | function oninput ( const aScript: String): THTMLTag;
430 | function oninvalid ( const aScript: String): THTMLTag;
431 | function onreset ( const aScript: String): THTMLTag;
432 | function onsearch ( const aScript: String): THTMLTag;
433 | function onselect ( const aScript: String): THTMLTag;
434 | function onsubmit ( const aScript: String): THTMLTag;
435 | {$endregion}
436 | {$region 'keyboard events'}
437 | function onkeydown ( const aScript: String): THTMLTag;
438 | function onkeypress ( const aScript: String): THTMLTag;
439 | function onkeyup ( const aScript: String): THTMLTag;
440 | {$endregion}
441 | {$region 'mouse events'}
442 | function onclick ( const aScript: String): THTMLTag;
443 | function ondblclick ( const aScript: String): THTMLTag;
444 | function onmousedown ( const aScript: String): THTMLTag;
445 | function onmousemove ( const aScript: String): THTMLTag;
446 | function onmouseout ( const aScript: String): THTMLTag;
447 | function onmouseover ( const aScript: String): THTMLTag;
448 | function onmouseup ( const aScript: String): THTMLTag;
449 | function onmousewheel ( const aScript: String): THTMLTag;
450 | function onwheel ( const aScript: String): THTMLTag;
451 | {$endregion}
452 | {$region 'drag events'}
453 | function ondrag ( const aScript: String): THTMLTag;
454 | function ondragend ( const aScript: String): THTMLTag;
455 | function ondragenter ( const aScript: String): THTMLTag;
456 | function ondragleave ( const aScript: String): THTMLTag;
457 | function ondragover ( const aScript: String): THTMLTag;
458 | function ondragstart ( const aScript: String): THTMLTag;
459 | function ondrop ( const aScript: String): THTMLTag;
460 | function onscroll ( const aScript: String): THTMLTag;
461 | {$endregion}
462 | {$region 'clipboard events'}
463 | function oncopy ( const aScript: String): THTMLTag;
464 | function oncut ( const aScript: String): THTMLTag;
465 | function onpaste ( const aScript: String): THTMLTag;
466 | {$endregion}
467 | {$region 'media events'}
468 | function onabort ( const aScript: String): THTMLTag;
469 | function oncanplay ( const aScript: String): THTMLTag;
470 | function oncanplaythrough ( const aScript: String): THTMLTag;
471 | function oncuechange ( const aScript: String): THTMLTag;
472 | function ondurationchange ( const aScript: String): THTMLTag;
473 | function onemptied ( const aScript: String): THTMLTag;
474 | function onended ( const aScript: String): THTMLTag;
475 | function onerror_ ( const aScript: String): THTMLTag;
476 | function onloadeddata ( const aScript: String): THTMLTag;
477 | function onloadedmetadata ( const aScript: String): THTMLTag;
478 | function onloadstart ( const aScript: String): THTMLTag;
479 | function onpause ( const aScript: String): THTMLTag;
480 | function onplay ( const aScript: String): THTMLTag;
481 | function onplaying ( const aScript: String): THTMLTag;
482 | function onprogress ( const aScript: String): THTMLTag;
483 | function onratechange ( const aScript: String): THTMLTag;
484 | function onseeked ( const aScript: String): THTMLTag;
485 | function onseeking ( const aScript: String): THTMLTag;
486 | function onstalled ( const aScript: String): THTMLTag;
487 | function onsuspend ( const aScript: String): THTMLTag;
488 | function ontimeupdate ( const aScript: String): THTMLTag;
489 | function onvolumechange ( const aScript: String): THTMLTag;
490 | function onwaiting ( const aScript: String): THTMLTag;
491 | {$endregion}
492 | {$region 'misc events'}
493 | function ontoggle ( const aScript: String): THTMLTag;
494 | {$endregion}
495 | {$endregion}
496 | end;
497 |
498 | implementation
499 |
500 | uses
501 | System.SysUtils // format
502 | ;
503 |
504 | { THTMLTag }
505 |
506 | function THTMLTag.ValidateAttribute(SupportedTags: THTMLItems): Boolean;
507 | var
508 | Eleman: String;
509 | begin
510 | Result := False;
511 | for Eleman in SupportedTags do
512 | if Eleman = FTagName then Exit(True);
513 | end;
514 |
515 | function THTMLTag.iif(aSorgu: Boolean; aTrue, aFalse: String): String;
516 | begin
517 | if (aSorgu = True) then Result := aTrue else Result := aFalse;
518 | end;
519 |
520 | function THTMLTag.iin(aItem: String; aItemList: THTMLItems): Boolean;
521 | var
522 | S: String;
523 | begin
524 | if (aItemList.Count < 0) then Exit(False);
525 | for S in aItemList do if S.Trim = aItem.Trim then Exit(True);
526 | Result := False;
527 | end;
528 |
529 | function THTMLTag.Merge(aTag, aContent: String): String;
530 | begin
531 | if (aContent.Trim.IsEmpty = False) then begin
532 | if (aTag.Trim.IsEmpty = False)
533 | then Result := format('%s="%s" ', [aTag.Trim, aContent.Trim])
534 | else Result := aContent.Trim + ' ';
535 | end else begin
536 | Result := '';
537 | end;
538 | end;
539 |
540 | procedure THTMLTag.Clear;
541 | begin
542 | FItems.Clear;
543 | FTagName := ''; // <- Bu böyle mi olmalı ?! emin değilim... denemeler yapılacak...
544 | FContext := ''; // <- İsim çakışması. Meta.Content ile self.Content çakışıyor... Ben "Content" denildiğinde başlangıç tagı ile bitiş tagı arasındaki bölümü kastediyorum...
545 | {$REGION 'Attributes'}
546 | Faccesskey := '';
547 | Fautocapitalize := '';
548 | Fclass_ := '';
549 | Fcontenteditable := '';
550 | Fcontextmenu := '';
551 | Fdata := '';
552 | Fdir := '';
553 | Fdraggable := '';
554 | Fdropzone := '';
555 | Fhidden := '';
556 | Fid := '';
557 | Fitemprop := '';
558 | Flang := '';
559 | Fslot := '';
560 | Fspellcheck := '';
561 | Fstyle := '';
562 | Ftabindex := '';
563 | Ftitle := '';
564 | Ftranslate := '';
565 | Faccept := '';
566 | Faccept_charset := '';
567 | Faction := '';
568 | Falign := '';
569 | Fallow := '';
570 | Falt := '';
571 | Fasync := '';
572 | Fautocomplete := '';
573 | Fautofocus := '';
574 | Fautoplay := '';
575 | Fbackground := '';
576 | Fbgcolor := '';
577 | Fborder := '';
578 | Fbuffered := '';
579 | Fchallenge := '';
580 | Fcharset := '';
581 | Fchecked := '';
582 | Fcite := '';
583 | Fcode := '';
584 | Fcodebase := '';
585 | Fcolor := '';
586 | Fcols := '';
587 | Fcolspan := '';
588 | Fcontent := '';
589 | Fcontrols := '';
590 | Fcoords := '';
591 | Fcrossorigin := '';
592 | Fcsp := '';
593 | Fdatetime := '';
594 | Fdecoding := '';
595 | Fdefault := '';
596 | Fdefer := '';
597 | Fdirname := '';
598 | Fdisabled := '';
599 | Fdownload := '';
600 | Fenctype := '';
601 | Fenterkeyhint := '';
602 | Ffor_ := '';
603 | Fform := '';
604 | Fformaction := '';
605 | Fformnovalidate := '';
606 | Fheaders := '';
607 | Fheight := '';
608 | Fhigh := '';
609 | Fhref := '';
610 | Fhreflang := '';
611 | Fhttp_equiv := '';
612 | Ficon := '';
613 | Fimportance := '';
614 | Fintegrity := '';
615 | Fintrinsicsize := '';
616 | Finputmode := '';
617 | Fismap := '';
618 | Fkeytype := '';
619 | Fkind := '';
620 | Flabel_ := '';
621 | Flanguage := '';
622 | Floading := '';
623 | Flist := '';
624 | Floop := '';
625 | Flow := '';
626 | Fmanifest := '';
627 | Fmax := '';
628 | Fmaxlength := '';
629 | Fminlength := '';
630 | Fmedia := '';
631 | Fmethod := '';
632 | Fmin := '';
633 | Fmultiple := '';
634 | Fmuted := '';
635 | Fname := '';
636 | Fnovalidate := '';
637 | Fopen := '';
638 | Foptimum := '';
639 | Fpattern := '';
640 | Fping := '';
641 | Fplaceholder := '';
642 | Fposter := '';
643 | Fpreload := '';
644 | Fradiogroup := '';
645 | Freadonly := '';
646 | Freferrerpolicy := '';
647 | Frel := '';
648 | Frequired := '';
649 | Freversed := '';
650 | Frows := '';
651 | Frowspan := '';
652 | Fsandbox := '';
653 | Fscope := '';
654 | Fscoped := '';
655 | Fselected := '';
656 | Fshape := '';
657 | Fsize := '';
658 | Fsizes := '';
659 | Fspan := '';
660 | Fsrc := '';
661 | Fsrcdoc := '';
662 | Fsrclang := '';
663 | Fsrcset := '';
664 | Fstart := '';
665 | Fstep := '';
666 | Fsummary := '';
667 | Ftarget := '';
668 | Ftype_ := '';
669 | Fusemap := '';
670 | Fvalue := '';
671 | Fwidth := '';
672 | Fwrap := '';
673 | {$ENDREGION}
674 | {$REGION 'Events'}
675 | Fonafterprint := '';
676 | Fonbeforeprint := '';
677 | Fonbeforeunload := '';
678 | Fonerror_ := '';
679 | Fonhashchange := '';
680 | Fonload := '';
681 | Fonmessage := '';
682 | Fonoffline := '';
683 | Fononline := '';
684 | Fonpagehide := '';
685 | Fonpageshow := '';
686 | Fonpopstate := '';
687 | Fonresize := '';
688 | Fonstorage := '';
689 | Fonunload := '';
690 | Fonblur := '';
691 | Fonchange := '';
692 | Foncontextmenu := '';
693 | Fonfocus := '';
694 | Foninput := '';
695 | Foninvalid := '';
696 | Fonreset := '';
697 | Fonsearch := '';
698 | Fonselect := '';
699 | Fonsubmit := '';
700 | Fonkeydown := '';
701 | Fonkeypress := '';
702 | Fonkeyup := '';
703 | Fonclick := '';
704 | Fondblclick := '';
705 | Fonmousedown := '';
706 | Fonmousemove := '';
707 | Fonmouseout := '';
708 | Fonmouseover := '';
709 | Fonmouseup := '';
710 | Fonmousewheel := '';
711 | Fonwheel := '';
712 | Fondrag := '';
713 | Fondragend := '';
714 | Fondragenter := '';
715 | Fondragleave := '';
716 | Fondragover := '';
717 | Fondragstart := '';
718 | Fondrop := '';
719 | Fonscroll := '';
720 | Foncopy := '';
721 | Foncut := '';
722 | Fonpaste := '';
723 | Fonabort := '';
724 | Foncanplay := '';
725 | Foncanplaythrough := '';
726 | Foncuechange := '';
727 | Fondurationchange := '';
728 | Fonemptied := '';
729 | Fonended := '';
730 | Fonerror := '';
731 | Fonloadeddata := '';
732 | Fonloadedmetadata := '';
733 | Fonloadstart := '';
734 | Fonpause := '';
735 | Fonplay := '';
736 | Fonplaying := '';
737 | Fonprogress := '';
738 | Fonratechange := '';
739 | Fonseeked := '';
740 | Fonseeking := '';
741 | Fonstalled := '';
742 | Fonsuspend := '';
743 | Fontimeupdate := '';
744 | Fonvolumechange := '';
745 | Fonwaiting := '';
746 | Fontoggle := '';
747 | {$ENDREGION}
748 | end;
749 |
750 | function THTMLTag.Item(const aIndex: Integer): THTMLTag;
751 | begin
752 | Result := nil;
753 | if (AIndex in [0..FItems.Count - 1]) then Result := FItems.Items[aIndex];
754 | end;
755 |
756 | function THTMLTag.TagName(const Value: String): THTMLTag;
757 | begin
758 | FTagName := Value;
759 | Result := Self;
760 | end;
761 |
762 | function THTMLTag.Context(const Value: THTMLTag): THTMLTag;
763 | begin
764 | FContext := Value.ToString;
765 | Result := Self;
766 | end;
767 |
768 | function THTMLTag.Context(const Value: String): THTMLTag;
769 | begin
770 | FContext := Value;
771 | Result := Self;
772 | end;
773 |
774 | function THTMLTag.ToString: String;
775 | var
776 | aTag: THTMLTag;
777 | begin
778 | {$REGION 'Tag başlangıcı'}
779 | Result := '';
780 | if (FTagName = 'doctype')
781 | then Result := ''#1
782 | else Result := Result
783 | + '<' + FTagName + ' '
784 | {$region 'Attributes'}
785 | + Merge('accesskey' , Faccesskey)
786 | + Merge('autocapitalize' , Fautocapitalize)
787 | + Merge('class' , Fclass_)
788 | + Merge('contenteditable' , Fcontenteditable)
789 | + Merge('contextmenu' , Fcontextmenu)
790 | + Merge('data' , Fdata)
791 | + Merge('dir' , Fdir)
792 | + Merge('draggable' , Fdraggable)
793 | + Merge('dropzone' , Fdropzone)
794 | + Merge('hidden' , Fhidden)
795 | + Merge('id' , Fid)
796 | + Merge('itemprop' , Fitemprop)
797 | + Merge('lang' , Flang)
798 | + Merge('slot' , Fslot)
799 | + Merge('spellcheck' , Fspellcheck)
800 | + Merge('style' , Fstyle)
801 | + Merge('tabindex' , Ftabindex)
802 | + Merge('title' , Ftitle)
803 | + Merge('translate' , Ftranslate)
804 | + Merge('accept' , Faccept)
805 | + Merge('accept_charset' , Faccept_charset)
806 | + Merge('action' , Faction)
807 | + Merge('align' , Falign)
808 | + Merge('allow' , Fallow)
809 | + Merge('alt' , Falt)
810 | + Merge('async' , Fasync)
811 | + Merge('autocomplete' , Fautocomplete)
812 | + Merge('autofocus' , Fautofocus)
813 | + Merge('autoplay' , Fautoplay)
814 | + Merge('background' , Fbackground)
815 | + Merge('bgcolor' , Fbgcolor)
816 | + Merge('border' , Fborder)
817 | + Merge('buffered' , Fbuffered)
818 | + Merge('challenge' , Fchallenge)
819 | + Merge('charset' , Fcharset)
820 | + Merge('checked' , Fchecked)
821 | + Merge('cite' , Fcite)
822 | + Merge('code' , Fcode)
823 | + Merge('codebase' , Fcodebase)
824 | + Merge('color' , Fcolor)
825 | + Merge('cols' , Fcols)
826 | + Merge('colspan' , Fcolspan)
827 | + Merge('content' , Fcontent)
828 | + Merge('controls' , Fcontrols)
829 | + Merge('coords' , Fcoords)
830 | + Merge('crossorigin' , Fcrossorigin)
831 | + Merge('csp ' , Fcsp )
832 | + Merge('datetime' , Fdatetime)
833 | + Merge('decoding' , Fdecoding)
834 | + Merge('default' , Fdefault)
835 | + Merge('defer' , Fdefer)
836 | + Merge('dirname' , Fdirname)
837 | + Merge('disabled' , Fdisabled)
838 | + Merge('download' , Fdownload)
839 | + Merge('enctype' , Fenctype)
840 | + Merge('enterkeyhint ' , Fenterkeyhint )
841 | + Merge('for' , Ffor_)
842 | + Merge('form' , Fform)
843 | + Merge('formaction' , Fformaction)
844 | + Merge('formnovalidate' , Fformnovalidate)
845 | + Merge('headers' , Fheaders)
846 | + Merge('height' , Fheight)
847 | + Merge('high' , Fhigh)
848 | + Merge('href' , Fhref)
849 | + Merge('hreflang' , Fhreflang)
850 | + Merge('http_equiv' , Fhttp_equiv)
851 | + Merge('icon' , Ficon)
852 | + Merge('importance ' , Fimportance )
853 | + Merge('integrity' , Fintegrity)
854 | + Merge('intrinsicsize ' , Fintrinsicsize )
855 | + Merge('inputmode' , Finputmode)
856 | + Merge('ismap' , Fismap)
857 | + Merge('keytype' , Fkeytype)
858 | + Merge('kind' , Fkind)
859 | + Merge('label' , Flabel_)
860 | + Merge('language' , Flanguage)
861 | + Merge('loading ' , Floading )
862 | + Merge('list' , Flist)
863 | + Merge('loop' , Floop)
864 | + Merge('low' , Flow)
865 | + Merge('manifest' , Fmanifest)
866 | + Merge('max' , Fmax)
867 | + Merge('maxlength' , Fmaxlength)
868 | + Merge('minlength' , Fminlength)
869 | + Merge('media' , Fmedia)
870 | + Merge('method' , Fmethod)
871 | + Merge('min' , Fmin)
872 | + Merge('multiple' , Fmultiple)
873 | + Merge('muted' , Fmuted)
874 | + Merge('name' , Fname)
875 | + Merge('novalidate' , Fnovalidate)
876 | + Merge('open' , Fopen)
877 | + Merge('optimum' , Foptimum)
878 | + Merge('pattern' , Fpattern)
879 | + Merge('ping' , Fping)
880 | + Merge('placeholder' , Fplaceholder)
881 | + Merge('poster' , Fposter)
882 | + Merge('preload' , Fpreload)
883 | + Merge('radiogroup' , Fradiogroup)
884 | + Merge('readonly' , Freadonly)
885 | + Merge('referrerpolicy' , Freferrerpolicy)
886 | + Merge('rel' , Frel)
887 | + Merge('required' , Frequired)
888 | + Merge('reversed' , Freversed)
889 | + Merge('rows' , Frows)
890 | + Merge('rowspan' , Frowspan)
891 | + Merge('sandbox' , Fsandbox)
892 | + Merge('scope' , Fscope)
893 | + Merge('scoped' , Fscoped)
894 | + Merge('selected' , Fselected)
895 | + Merge('shape' , Fshape)
896 | + Merge('size' , Fsize)
897 | + Merge('sizes' , Fsizes)
898 | + Merge('span' , Fspan)
899 | + Merge('src' , Fsrc)
900 | + Merge('srcdoc' , Fsrcdoc)
901 | + Merge('srclang' , Fsrclang)
902 | + Merge('srcset' , Fsrcset)
903 | + Merge('start' , Fstart)
904 | + Merge('step' , Fstep)
905 | + Merge('summary' , Fsummary)
906 | + Merge('target' , Ftarget)
907 | + Merge('type' , Ftype_)
908 | + Merge('usemap' , Fusemap)
909 | + Merge('value' , Fvalue)
910 | + Merge('width' , Fwidth)
911 | + Merge('wrap' , Fwrap)
912 | {$endregion}
913 | {$region 'Events'}
914 | + Merge('onafterprint' , Fonafterprint)
915 | + Merge('onbeforeprint' , Fonbeforeprint)
916 | + Merge('onbeforeunload' , Fonbeforeunload)
917 | + Merge('onerror_' , Fonerror_)
918 | + Merge('onhashchange' , Fonhashchange)
919 | + Merge('onload' , Fonload)
920 | + Merge('onmessage' , Fonmessage)
921 | + Merge('onoffline' , Fonoffline)
922 | + Merge('ononline' , Fononline)
923 | + Merge('onpagehide' , Fonpagehide)
924 | + Merge('onpageshow' , Fonpageshow)
925 | + Merge('onpopstate' , Fonpopstate)
926 | + Merge('onresize' , Fonresize)
927 | + Merge('onstorage' , Fonstorage)
928 | + Merge('onunload' , Fonunload)
929 | + Merge('onblur' , Fonblur)
930 | + Merge('onchange' , Fonchange)
931 | + Merge('oncontextmenu' , Foncontextmenu)
932 | + Merge('onfocus' , Fonfocus)
933 | + Merge('oninput' , Foninput)
934 | + Merge('oninvalid' , Foninvalid)
935 | + Merge('onreset' , Fonreset)
936 | + Merge('onsearch' , Fonsearch)
937 | + Merge('onselect' , Fonselect)
938 | + Merge('onsubmit' , Fonsubmit)
939 | + Merge('onkeydown' , Fonkeydown)
940 | + Merge('onkeypress' , Fonkeypress)
941 | + Merge('onkeyup' , Fonkeyup)
942 | + Merge('onclick' , Fonclick)
943 | + Merge('ondblclick' , Fondblclick)
944 | + Merge('onmousedown' , Fonmousedown)
945 | + Merge('onmousemove' , Fonmousemove)
946 | + Merge('onmouseout' , Fonmouseout)
947 | + Merge('onmouseover' , Fonmouseover)
948 | + Merge('onmouseup' , Fonmouseup)
949 | + Merge('onmousewheel' , Fonmousewheel)
950 | + Merge('onwheel' , Fonwheel)
951 | + Merge('ondrag' , Fondrag)
952 | + Merge('ondragend' , Fondragend)
953 | + Merge('ondragenter' , Fondragenter)
954 | + Merge('ondragleave' , Fondragleave)
955 | + Merge('ondragover' , Fondragover)
956 | + Merge('ondragstart' , Fondragstart)
957 | + Merge('ondrop' , Fondrop)
958 | + Merge('onscroll' , Fonscroll)
959 | + Merge('oncopy' , Foncopy)
960 | + Merge('oncut' , Foncut)
961 | + Merge('onpaste' , Fonpaste)
962 | + Merge('onabort' , Fonabort)
963 | + Merge('oncanplay' , Foncanplay)
964 | + Merge('oncanplaythrough' , Foncanplaythrough)
965 | + Merge('oncuechange' , Foncuechange)
966 | + Merge('ondurationchange' , Fondurationchange)
967 | + Merge('onemptied' , Fonemptied)
968 | + Merge('onended' , Fonended)
969 | + Merge('onerror' , Fonerror)
970 | + Merge('onloadeddata' , Fonloadeddata)
971 | + Merge('onloadedmetadata' , Fonloadedmetadata)
972 | + Merge('onloadstart' , Fonloadstart)
973 | + Merge('onpause' , Fonpause)
974 | + Merge('onplay' , Fonplay)
975 | + Merge('onplaying' , Fonplaying)
976 | + Merge('onprogress' , Fonprogress)
977 | + Merge('onratechange' , Fonratechange)
978 | + Merge('onseeked' , Fonseeked)
979 | + Merge('onseeking' , Fonseeking)
980 | + Merge('onstalled' , Fonstalled)
981 | + Merge('onsuspend' , Fonsuspend)
982 | + Merge('ontimeupdate' , Fontimeupdate)
983 | + Merge('onvolumechange' , Fonvolumechange)
984 | + Merge('onwaiting' , Fonwaiting)
985 | + Merge('ontoggle' , Fontoggle)
986 | {$endregion}
987 | ;
988 | Result := Result.Trim
989 | + '>'
990 | ;
991 | {$endregion}
992 |
993 | if (iin(FTagName, ['doctype', 'area', 'base', 'br', 'col', 'embed', 'hr', 'img', 'input', 'link', 'meta', 'param', 'source', 'track', 'wbr'{, 'command', 'keygen', 'menuitem'}]) = FALSE) then begin
994 | Result := Result
995 | + FContext
996 | ;
997 | for aTag in FItems do Result := Result + aTag.ToString;
998 | Result := Result
999 | + '' + FTagName + '>'#1
1000 | ;
1001 | end else begin
1002 | Result := Result + #1
1003 | end;
1004 | Result := StringReplace(Result, #1, #13#10, [rfReplaceAll, rfIgnoreCase]);
1005 | end;
1006 |
1007 | constructor THTMLTag.Create;
1008 | begin
1009 | inherited Create;
1010 | FItems := TObjectList.Create;
1011 | end;
1012 |
1013 | destructor THTMLTag.Destroy;
1014 | begin
1015 | Clear;
1016 | FreeAndNil(FItems);
1017 | inherited Destroy;
1018 | end;
1019 |
1020 | {$region 'attributes}
1021 | function THTMLTag.accesskey( const aValue: String): THTMLTag;
1022 | begin
1023 | Faccesskey := aValue.Trim;
1024 | Result := Self;
1025 | end;
1026 |
1027 | function THTMLTag.autocapitalize( const aValue: String): THTMLTag;
1028 | begin
1029 | Fautocapitalize := aValue.Trim;
1030 | Result := Self;
1031 | end;
1032 |
1033 | function THTMLTag.class_( const aValue: String): THTMLTag;
1034 | begin
1035 | Fclass_ := aValue.Trim;
1036 | Result := Self;
1037 | end;
1038 |
1039 | function THTMLTag.contenteditable( const aValue: String): THTMLTag;
1040 | begin
1041 | Fcontenteditable := aValue.Trim;
1042 | Result := Self;
1043 | end;
1044 |
1045 | function THTMLTag.contextmenu( const aValue: String): THTMLTag;
1046 | begin
1047 | Fcontextmenu := aValue.Trim;
1048 | Result := Self;
1049 | end;
1050 |
1051 | function THTMLTag.data( const aValue: String): THTMLTag;
1052 | begin
1053 | Fdata := aValue.Trim;
1054 | Result := Self;
1055 | end;
1056 |
1057 | function THTMLTag.dir( const aValue: String): THTMLTag;
1058 | begin
1059 | Fdir := aValue.Trim;
1060 | Result := Self;
1061 | end;
1062 |
1063 | function THTMLTag.draggable( const aValue: String): THTMLTag;
1064 | begin
1065 | Fdraggable := aValue.Trim;
1066 | Result := Self;
1067 | end;
1068 |
1069 | function THTMLTag.dropzone( const aValue: String): THTMLTag;
1070 | begin
1071 | Fdropzone := aValue.Trim;
1072 | Result := Self;
1073 | end;
1074 |
1075 | function THTMLTag.hidden( const aValue: String): THTMLTag;
1076 | begin
1077 | Fhidden := aValue.Trim;
1078 | Result := Self;
1079 | end;
1080 |
1081 | function THTMLTag.id( const aValue: String): THTMLTag;
1082 | begin
1083 | Fid := aValue.Trim;
1084 | Result := Self;
1085 | end;
1086 |
1087 | function THTMLTag.itemprop( const aValue: String): THTMLTag;
1088 | begin
1089 | Fitemprop := aValue.Trim;
1090 | Result := Self;
1091 | end;
1092 |
1093 | function THTMLTag.lang( const aValue: String): THTMLTag;
1094 | begin
1095 | Flang := aValue.Trim;
1096 | Result := Self;
1097 | end;
1098 |
1099 | function THTMLTag.slot( const aValue: String): THTMLTag;
1100 | begin
1101 | Fslot := aValue.Trim;
1102 | Result := Self;
1103 | end;
1104 |
1105 | function THTMLTag.spellcheck( const aValue: String): THTMLTag;
1106 | begin
1107 | Fspellcheck := aValue.Trim;
1108 | Result := Self;
1109 | end;
1110 |
1111 | function THTMLTag.style( const aValue: String): THTMLTag;
1112 | begin
1113 | Fstyle := aValue.Trim;
1114 | Result := Self;
1115 | end;
1116 |
1117 | function THTMLTag.tabindex( const aValue: String): THTMLTag;
1118 | begin
1119 | Ftabindex := aValue.Trim;
1120 | Result := Self;
1121 | end;
1122 |
1123 | function THTMLTag.title( const aValue: String): THTMLTag;
1124 | begin
1125 | Ftitle := aValue.Trim;
1126 | Result := Self;
1127 | end;
1128 |
1129 | function THTMLTag.translate( const aValue: String): THTMLTag;
1130 | begin
1131 | Ftranslate := aValue.Trim;
1132 | Result := Self;
1133 | end;
1134 |
1135 | function THTMLTag.accept( const aValue: String): THTMLTag;
1136 | begin
1137 | Faccept:= '';
1138 | if (ValidateAttribute(['form','input']) = TRUE)
1139 | then Faccept := aValue.Trim
1140 | else raise Exception.CreateFMT('`%s` tagı, `accept` özniteliği ile birlikte kullanılamaz.', [FName]);
1141 | Result := Self;
1142 | end;
1143 |
1144 | function THTMLTag.accept_charset( const aValue: String): THTMLTag;
1145 | begin
1146 | Faccept_charset:= '';
1147 | if (ValidateAttribute(['form']) = TRUE)
1148 | then Faccept_charset := aValue.Trim
1149 | else raise Exception.CreateFMT('`%s` tagı, `accept_charset` özniteliği ile birlikte kullanılamaz.', [FName]);
1150 | Result := Self;
1151 | end;
1152 |
1153 | function THTMLTag.action( const aValue: String): THTMLTag;
1154 | begin
1155 | Faction:= '';
1156 | if (ValidateAttribute(['form']) = TRUE)
1157 | then Faction := aValue.Trim
1158 | else raise Exception.CreateFMT('`%s` tagı, `action` özniteliği ile birlikte kullanılamaz.', [FName]);
1159 | Result := Self;
1160 | end;
1161 |
1162 | function THTMLTag.align( const aValue: String): THTMLTag;
1163 | begin
1164 | Falign:= '';
1165 | if (ValidateAttribute(['applet','caption','col','colgroup','hr','iframe','img','table','tbody','td','tfoot ','th','thead','tr']) = TRUE)
1166 | then Falign := aValue.Trim
1167 | else raise Exception.CreateFMT('`%s` tagı, `align` özniteliği ile birlikte kullanılamaz.', [FName]);
1168 | Result := Self;
1169 | end;
1170 |
1171 | function THTMLTag.allow( const aValue: String): THTMLTag;
1172 | begin
1173 | Fallow:= '';
1174 | if (ValidateAttribute(['iframe']) = TRUE)
1175 | then Fallow := aValue.Trim
1176 | else raise Exception.CreateFMT('`%s` tagı, `allow` özniteliği ile birlikte kullanılamaz.', [FName]);
1177 | Result := Self;
1178 | end;
1179 |
1180 | function THTMLTag.alt( const aValue: String): THTMLTag;
1181 | begin
1182 | Falt:= '';
1183 | if (ValidateAttribute(['applet','area','img','input']) = TRUE)
1184 | then Falt := aValue.Trim
1185 | else raise Exception.CreateFMT('`%s` tagı, `alt` özniteliği ile birlikte kullanılamaz.', [FName]);
1186 | Result := Self;
1187 | end;
1188 |
1189 | function THTMLTag.async( const aValue: String): THTMLTag;
1190 | begin
1191 | Fasync:= '';
1192 | if (ValidateAttribute(['script']) = TRUE)
1193 | then Fasync := aValue.Trim
1194 | else raise Exception.CreateFMT('`%s` tagı, `async` özniteliği ile birlikte kullanılamaz.', [FName]);
1195 | Result := Self;
1196 | end;
1197 |
1198 | function THTMLTag.autocomplete( const aValue: String): THTMLTag;
1199 | begin
1200 | Fautocomplete:= '';
1201 | if (ValidateAttribute(['form','input','textarea']) = TRUE)
1202 | then Fautocomplete := aValue.Trim
1203 | else raise Exception.CreateFMT('`%s` tagı, `autocomplete` özniteliği ile birlikte kullanılamaz.', [FName]);
1204 | Result := Self;
1205 | end;
1206 |
1207 | function THTMLTag.autofocus( const aValue: String): THTMLTag;
1208 | begin
1209 | Fautofocus:= '';
1210 | if (ValidateAttribute(['button','input','keygen','select','textarea']) = TRUE)
1211 | then Fautofocus := aValue.Trim
1212 | else raise Exception.CreateFMT('`%s` tagı, `autofocus` özniteliği ile birlikte kullanılamaz.', [FName]);
1213 | Result := Self;
1214 | end;
1215 |
1216 | function THTMLTag.autoplay( const aValue: String): THTMLTag;
1217 | begin
1218 | Fautoplay:= '';
1219 | if (ValidateAttribute(['audio','video']) = TRUE)
1220 | then Fautoplay := aValue.Trim
1221 | else raise Exception.CreateFMT('`%s` tagı, `autoplay` özniteliği ile birlikte kullanılamaz.', [FName]);
1222 | Result := Self;
1223 | end;
1224 |
1225 | function THTMLTag.background( const aValue: String): THTMLTag;
1226 | begin
1227 | Fbackground:= '';
1228 | if (ValidateAttribute(['body','table','td','th']) = TRUE)
1229 | then Fbackground := aValue.Trim
1230 | else raise Exception.CreateFMT('`%s` tagı, `background` özniteliği ile birlikte kullanılamaz.', [FName]);
1231 | Result := Self;
1232 | end;
1233 |
1234 | function THTMLTag.bgcolor( const aValue: String): THTMLTag;
1235 | begin
1236 | Fbgcolor:= '';
1237 | if (ValidateAttribute(['body','col','colgroup','marquee','table','tbody','tfoot','td','th','tr']) = TRUE)
1238 | then Fbgcolor := aValue.Trim
1239 | else raise Exception.CreateFMT('`%s` tagı, `bgcolor` özniteliği ile birlikte kullanılamaz.', [FName]);
1240 | Result := Self;
1241 | end;
1242 |
1243 | function THTMLTag.border( const aValue: String): THTMLTag;
1244 | begin
1245 | Fborder:= '';
1246 | if (ValidateAttribute(['img','object','table']) = TRUE)
1247 | then Fborder := aValue.Trim
1248 | else raise Exception.CreateFMT('`%s` tagı, `border` özniteliği ile birlikte kullanılamaz.', [FName]);
1249 | Result := Self;
1250 | end;
1251 |
1252 | function THTMLTag.buffered( const aValue: String): THTMLTag;
1253 | begin
1254 | Fbuffered:= '';
1255 | if (ValidateAttribute(['audio','video']) = TRUE)
1256 | then Fbuffered := aValue.Trim
1257 | else raise Exception.CreateFMT('`%s` tagı, `buffered` özniteliği ile birlikte kullanılamaz.', [FName]);
1258 | Result := Self;
1259 | end;
1260 |
1261 | function THTMLTag.challenge( const aValue: String): THTMLTag;
1262 | begin
1263 | Fchallenge:= '';
1264 | if (ValidateAttribute(['keygen']) = TRUE)
1265 | then Fchallenge := aValue.Trim
1266 | else raise Exception.CreateFMT('`%s` tagı, `challenge` özniteliği ile birlikte kullanılamaz.', [FName]);
1267 | Result := Self;
1268 | end;
1269 |
1270 | function THTMLTag.charset( const aValue: String): THTMLTag;
1271 | begin
1272 | Fcharset:= '';
1273 | if (ValidateAttribute(['meta','script']) = TRUE)
1274 | then Fcharset := aValue.Trim
1275 | else raise Exception.CreateFMT('`%s` tagı, `charset` özniteliği ile birlikte kullanılamaz.', [FName]);
1276 | Result := Self;
1277 | end;
1278 |
1279 | function THTMLTag.checked( const aValue: String): THTMLTag;
1280 | begin
1281 | Fchecked:= '';
1282 | if (ValidateAttribute(['command','input']) = TRUE)
1283 | then Fchecked := aValue.Trim
1284 | else raise Exception.CreateFMT('`%s` tagı, `checked` özniteliği ile birlikte kullanılamaz.', [FName]);
1285 | Result := Self;
1286 | end;
1287 |
1288 | function THTMLTag.cite( const aValue: String): THTMLTag;
1289 | begin
1290 | Fcite:= '';
1291 | if (ValidateAttribute(['blockquote','del','ins','q']) = TRUE)
1292 | then Fcite := aValue.Trim
1293 | else raise Exception.CreateFMT('`%s` tagı, `cite` özniteliği ile birlikte kullanılamaz.', [FName]);
1294 | Result := Self;
1295 | end;
1296 |
1297 | function THTMLTag.code( const aValue: String): THTMLTag;
1298 | begin
1299 | Fcode:= '';
1300 | if (ValidateAttribute(['applet']) = TRUE)
1301 | then Fcode := aValue.Trim
1302 | else raise Exception.CreateFMT('`%s` tagı, `code` özniteliği ile birlikte kullanılamaz.', [FName]);
1303 | Result := Self;
1304 | end;
1305 |
1306 | function THTMLTag.codebase( const aValue: String): THTMLTag;
1307 | begin
1308 | Fcodebase:= '';
1309 | if (ValidateAttribute(['applet']) = TRUE)
1310 | then Fcodebase := aValue.Trim
1311 | else raise Exception.CreateFMT('`%s` tagı, `codebase` özniteliği ile birlikte kullanılamaz.', [FName]);
1312 | Result := Self;
1313 | end;
1314 |
1315 | function THTMLTag.color( const aValue: String): THTMLTag;
1316 | begin
1317 | Fcolor:= '';
1318 | if (ValidateAttribute(['basefont','font','hr']) = TRUE)
1319 | then Fcolor := aValue.Trim
1320 | else raise Exception.CreateFMT('`%s` tagı, `color` özniteliği ile birlikte kullanılamaz.', [FName]);
1321 | Result := Self;
1322 | end;
1323 |
1324 | function THTMLTag.cols( const aValue: String): THTMLTag;
1325 | begin
1326 | Fcols:= '';
1327 | if (ValidateAttribute(['textarea']) = TRUE)
1328 | then Fcols := aValue.Trim
1329 | else raise Exception.CreateFMT('`%s` tagı, `cols` özniteliği ile birlikte kullanılamaz.', [FName]);
1330 | Result := Self;
1331 | end;
1332 |
1333 | function THTMLTag.colspan( const aValue: String): THTMLTag;
1334 | begin
1335 | Fcolspan:= '';
1336 | if (ValidateAttribute(['td','th']) = TRUE)
1337 | then Fcolspan := aValue.Trim
1338 | else raise Exception.CreateFMT('`%s` tagı, `colspan` özniteliği ile birlikte kullanılamaz.', [FName]);
1339 | Result := Self;
1340 | end;
1341 |
1342 | function THTMLTag.content( const aValue: String): THTMLTag;
1343 | begin
1344 | Fcontent:= '';
1345 | if (ValidateAttribute(['meta']) = TRUE)
1346 | then Fcontent := aValue.Trim
1347 | else raise Exception.CreateFMT('`%s` tagı, `content` özniteliği ile birlikte kullanılamaz.', [FName]);
1348 | Result := Self;
1349 | end;
1350 |
1351 | function THTMLTag.controls( const aValue: String): THTMLTag;
1352 | begin
1353 | Fcontrols:= '';
1354 | if (ValidateAttribute(['audio','video']) = TRUE)
1355 | then Fcontrols := aValue.Trim
1356 | else raise Exception.CreateFMT('`%s` tagı, `controls` özniteliği ile birlikte kullanılamaz.', [FName]);
1357 | Result := Self;
1358 | end;
1359 |
1360 | function THTMLTag.coords( const aValue: String): THTMLTag;
1361 | begin
1362 | Fcoords:= '';
1363 | if (ValidateAttribute(['area']) = TRUE)
1364 | then Fcoords := aValue.Trim
1365 | else raise Exception.CreateFMT('`%s` tagı, `coords` özniteliği ile birlikte kullanılamaz.', [FName]);
1366 | Result := Self;
1367 | end;
1368 |
1369 | function THTMLTag.crossorigin( const aValue: String): THTMLTag;
1370 | begin
1371 | Fcrossorigin:= '';
1372 | if (ValidateAttribute(['audio','img','link','script','video']) = TRUE)
1373 | then Fcrossorigin := aValue.Trim
1374 | else raise Exception.CreateFMT('`%s` tagı, `crossorigin` özniteliği ile birlikte kullanılamaz.', [FName]);
1375 | Result := Self;
1376 | end;
1377 |
1378 | function THTMLTag.csp ( const aValue: String): THTMLTag;
1379 | begin
1380 | Fcsp := '';
1381 | if (ValidateAttribute(['iframe']) = TRUE)
1382 | then Fcsp := aValue.Trim
1383 | else raise Exception.CreateFMT('`%s` tagı, `csp ` özniteliği ile birlikte kullanılamaz.', [FName]);
1384 | Result := Self;
1385 | end;
1386 |
1387 | function THTMLTag.datetime( const aValue: String): THTMLTag;
1388 | begin
1389 | Fdatetime:= '';
1390 | if (ValidateAttribute(['del','ins','time']) = TRUE)
1391 | then Fdatetime := aValue.Trim
1392 | else raise Exception.CreateFMT('`%s` tagı, `datetime` özniteliği ile birlikte kullanılamaz.', [FName]);
1393 | Result := Self;
1394 | end;
1395 |
1396 | function THTMLTag.decoding( const aValue: String): THTMLTag;
1397 | begin
1398 | Fdecoding:= '';
1399 | if (ValidateAttribute(['img']) = TRUE)
1400 | then Fdecoding := aValue.Trim
1401 | else raise Exception.CreateFMT('`%s` tagı, `decoding` özniteliği ile birlikte kullanılamaz.', [FName]);
1402 | Result := Self;
1403 | end;
1404 |
1405 | function THTMLTag.default( const aValue: String): THTMLTag;
1406 | begin
1407 | Fdefault:= '';
1408 | if (ValidateAttribute(['track']) = TRUE)
1409 | then Fdefault := aValue.Trim
1410 | else raise Exception.CreateFMT('`%s` tagı, `default` özniteliği ile birlikte kullanılamaz.', [FName]);
1411 | Result := Self;
1412 | end;
1413 |
1414 | function THTMLTag.defer( const aValue: String): THTMLTag;
1415 | begin
1416 | Fdefer:= '';
1417 | if (ValidateAttribute(['script']) = TRUE)
1418 | then Fdefer := aValue.Trim
1419 | else raise Exception.CreateFMT('`%s` tagı, `defer` özniteliği ile birlikte kullanılamaz.', [FName]);
1420 | Result := Self;
1421 | end;
1422 |
1423 | function THTMLTag.dirname( const aValue: String): THTMLTag;
1424 | begin
1425 | Fdirname:= '';
1426 | if (ValidateAttribute(['input','textarea']) = TRUE)
1427 | then Fdirname := aValue.Trim
1428 | else raise Exception.CreateFMT('`%s` tagı, `dirname` özniteliği ile birlikte kullanılamaz.', [FName]);
1429 | Result := Self;
1430 | end;
1431 |
1432 | function THTMLTag.disabled( const aValue: String): THTMLTag;
1433 | begin
1434 | Fdisabled:= '';
1435 | if (ValidateAttribute(['button','command','fieldset','input','keygen','optgroup','option','select','textarea']) = TRUE)
1436 | then Fdisabled := aValue.Trim
1437 | else raise Exception.CreateFMT('`%s` tagı, `disabled` özniteliği ile birlikte kullanılamaz.', [FName]);
1438 | Result := Self;
1439 | end;
1440 |
1441 | function THTMLTag.download( const aValue: String): THTMLTag;
1442 | begin
1443 | Fdownload:= '';
1444 | if (ValidateAttribute(['a','area']) = TRUE)
1445 | then Fdownload := aValue.Trim
1446 | else raise Exception.CreateFMT('`%s` tagı, `download` özniteliği ile birlikte kullanılamaz.', [FName]);
1447 | Result := Self;
1448 | end;
1449 |
1450 | function THTMLTag.enctype( const aValue: String): THTMLTag;
1451 | begin
1452 | Fenctype:= '';
1453 | if (ValidateAttribute(['form']) = TRUE)
1454 | then Fenctype := aValue.Trim
1455 | else raise Exception.CreateFMT('`%s` tagı, `enctype` özniteliği ile birlikte kullanılamaz.', [FName]);
1456 | Result := Self;
1457 | end;
1458 |
1459 | function THTMLTag.enterkeyhint ( const aValue: String): THTMLTag;
1460 | begin
1461 | Fenterkeyhint := '';
1462 | if (ValidateAttribute(['textarea','contenteditable']) = TRUE)
1463 | then Fenterkeyhint := aValue.Trim
1464 | else raise Exception.CreateFMT('`%s` tagı, `enterkeyhint ` özniteliği ile birlikte kullanılamaz.', [FName]);
1465 | Result := Self;
1466 | end;
1467 |
1468 | function THTMLTag.for_( const aValue: String): THTMLTag;
1469 | begin
1470 | Ffor_:= '';
1471 | if (ValidateAttribute(['label','output']) = TRUE)
1472 | then Ffor_ := aValue.Trim
1473 | else raise Exception.CreateFMT('`%s` tagı, `for_` özniteliği ile birlikte kullanılamaz.', [FName]);
1474 | Result := Self;
1475 | end;
1476 |
1477 | function THTMLTag.form( const aValue: String): THTMLTag;
1478 | begin
1479 | Fform:= '';
1480 | if (ValidateAttribute(['button','fieldset','input','keygen','label','meter','object','output','progress','select','textarea']) = TRUE)
1481 | then Fform := aValue.Trim
1482 | else raise Exception.CreateFMT('`%s` tagı, `form` özniteliği ile birlikte kullanılamaz.', [FName]);
1483 | Result := Self;
1484 | end;
1485 |
1486 | function THTMLTag.formaction( const aValue: String): THTMLTag;
1487 | begin
1488 | Fformaction:= '';
1489 | if (ValidateAttribute(['input','button']) = TRUE)
1490 | then Fformaction := aValue.Trim
1491 | else raise Exception.CreateFMT('`%s` tagı, `formaction` özniteliği ile birlikte kullanılamaz.', [FName]);
1492 | Result := Self;
1493 | end;
1494 |
1495 | function THTMLTag.formnovalidate( const aValue: String): THTMLTag;
1496 | begin
1497 | Fformnovalidate:= '';
1498 | if (ValidateAttribute(['button']) = TRUE)
1499 | then Fformnovalidate := aValue.Trim
1500 | else raise Exception.CreateFMT('`%s` tagı, `formnovalidate` özniteliği ile birlikte kullanılamaz.', [FName]);
1501 | Result := Self;
1502 | end;
1503 |
1504 | function THTMLTag.headers( const aValue: String): THTMLTag;
1505 | begin
1506 | Fheaders:= '';
1507 | if (ValidateAttribute(['td','th']) = TRUE)
1508 | then Fheaders := aValue.Trim
1509 | else raise Exception.CreateFMT('`%s` tagı, `headers` özniteliği ile birlikte kullanılamaz.', [FName]);
1510 | Result := Self;
1511 | end;
1512 |
1513 | function THTMLTag.height( const aValue: String): THTMLTag;
1514 | begin
1515 | Fheight:= '';
1516 | if (ValidateAttribute(['canvas','embed','iframe','img','input','object','video']) = TRUE)
1517 | then Fheight := aValue.Trim
1518 | else raise Exception.CreateFMT('`%s` tagı, `height` özniteliği ile birlikte kullanılamaz.', [FName]);
1519 | Result := Self;
1520 | end;
1521 |
1522 | function THTMLTag.high( const aValue: String): THTMLTag;
1523 | begin
1524 | Fhigh:= '';
1525 | if (ValidateAttribute(['meter']) = TRUE)
1526 | then Fhigh := aValue.Trim
1527 | else raise Exception.CreateFMT('`%s` tagı, `high` özniteliği ile birlikte kullanılamaz.', [FName]);
1528 | Result := Self;
1529 | end;
1530 |
1531 | function THTMLTag.href( const aValue: String): THTMLTag;
1532 | begin
1533 | Fhref:= '';
1534 | if (ValidateAttribute(['a','area','base','link']) = TRUE)
1535 | then Fhref := aValue.Trim
1536 | else raise Exception.CreateFMT('`%s` tagı, `href` özniteliği ile birlikte kullanılamaz.', [FName]);
1537 | Result := Self;
1538 | end;
1539 |
1540 | function THTMLTag.hreflang( const aValue: String): THTMLTag;
1541 | begin
1542 | Fhreflang:= '';
1543 | if (ValidateAttribute(['a','area','link']) = TRUE)
1544 | then Fhreflang := aValue.Trim
1545 | else raise Exception.CreateFMT('`%s` tagı, `hreflang` özniteliği ile birlikte kullanılamaz.', [FName]);
1546 | Result := Self;
1547 | end;
1548 |
1549 | function THTMLTag.http_equiv( const aValue: String): THTMLTag;
1550 | begin
1551 | Fhttp_equiv:= '';
1552 | if (ValidateAttribute(['meta']) = TRUE)
1553 | then Fhttp_equiv := aValue.Trim
1554 | else raise Exception.CreateFMT('`%s` tagı, `http_equiv` özniteliği ile birlikte kullanılamaz.', [FName]);
1555 | Result := Self;
1556 | end;
1557 |
1558 | function THTMLTag.icon( const aValue: String): THTMLTag;
1559 | begin
1560 | Ficon:= '';
1561 | if (ValidateAttribute(['command']) = TRUE)
1562 | then Ficon := aValue.Trim
1563 | else raise Exception.CreateFMT('`%s` tagı, `icon` özniteliği ile birlikte kullanılamaz.', [FName]);
1564 | Result := Self;
1565 | end;
1566 |
1567 | function THTMLTag.importance ( const aValue: String): THTMLTag;
1568 | begin
1569 | Fimportance := '';
1570 | if (ValidateAttribute(['iframe','img','link','script']) = TRUE)
1571 | then Fimportance := aValue.Trim
1572 | else raise Exception.CreateFMT('`%s` tagı, `importance ` özniteliği ile birlikte kullanılamaz.', [FName]);
1573 | Result := Self;
1574 | end;
1575 |
1576 | function THTMLTag.integrity( const aValue: String): THTMLTag;
1577 | begin
1578 | Fintegrity:= '';
1579 | if (ValidateAttribute(['link','script']) = TRUE)
1580 | then Fintegrity := aValue.Trim
1581 | else raise Exception.CreateFMT('`%s` tagı, `integrity` özniteliği ile birlikte kullanılamaz.', [FName]);
1582 | Result := Self;
1583 | end;
1584 |
1585 | function THTMLTag.intrinsicsize ( const aValue: String): THTMLTag;
1586 | begin
1587 | Fintrinsicsize := '';
1588 | if (ValidateAttribute(['img']) = TRUE)
1589 | then Fintrinsicsize := aValue.Trim
1590 | else raise Exception.CreateFMT('`%s` tagı, `intrinsicsize ` özniteliği ile birlikte kullanılamaz.', [FName]);
1591 | Result := Self;
1592 | end;
1593 |
1594 | function THTMLTag.inputmode( const aValue: String): THTMLTag;
1595 | begin
1596 | Finputmode:= '';
1597 | if (ValidateAttribute(['textarea','contenteditable']) = TRUE)
1598 | then Finputmode := aValue.Trim
1599 | else raise Exception.CreateFMT('`%s` tagı, `inputmode` özniteliği ile birlikte kullanılamaz.', [FName]);
1600 | Result := Self;
1601 | end;
1602 |
1603 | function THTMLTag.ismap( const aValue: String): THTMLTag;
1604 | begin
1605 | Fismap:= '';
1606 | if (ValidateAttribute(['img']) = TRUE)
1607 | then Fismap := aValue.Trim
1608 | else raise Exception.CreateFMT('`%s` tagı, `ismap` özniteliği ile birlikte kullanılamaz.', [FName]);
1609 | Result := Self;
1610 | end;
1611 |
1612 | function THTMLTag.keytype( const aValue: String): THTMLTag;
1613 | begin
1614 | Fkeytype:= '';
1615 | if (ValidateAttribute(['keygen']) = TRUE)
1616 | then Fkeytype := aValue.Trim
1617 | else raise Exception.CreateFMT('`%s` tagı, `keytype` özniteliği ile birlikte kullanılamaz.', [FName]);
1618 | Result := Self;
1619 | end;
1620 |
1621 | function THTMLTag.kind( const aValue: String): THTMLTag;
1622 | begin
1623 | Fkind:= '';
1624 | if (ValidateAttribute(['track']) = TRUE)
1625 | then Fkind := aValue.Trim
1626 | else raise Exception.CreateFMT('`%s` tagı, `kind` özniteliği ile birlikte kullanılamaz.', [FName]);
1627 | Result := Self;
1628 | end;
1629 |
1630 | function THTMLTag.label_( const aValue: String): THTMLTag;
1631 | begin
1632 | Flabel_:= '';
1633 | if (ValidateAttribute(['track']) = TRUE)
1634 | then Flabel_ := aValue.Trim
1635 | else raise Exception.CreateFMT('`%s` tagı, `label_` özniteliği ile birlikte kullanılamaz.', [FName]);
1636 | Result := Self;
1637 | end;
1638 |
1639 | function THTMLTag.language( const aValue: String): THTMLTag;
1640 | begin
1641 | Flanguage:= '';
1642 | if (ValidateAttribute(['script']) = TRUE)
1643 | then Flanguage := aValue.Trim
1644 | else raise Exception.CreateFMT('`%s` tagı, `language` özniteliği ile birlikte kullanılamaz.', [FName]);
1645 | Result := Self;
1646 | end;
1647 |
1648 | function THTMLTag.loading ( const aValue: String): THTMLTag;
1649 | begin
1650 | Floading := '';
1651 | if (ValidateAttribute(['img','iframe']) = TRUE)
1652 | then Floading := aValue.Trim
1653 | else raise Exception.CreateFMT('`%s` tagı, `loading ` özniteliği ile birlikte kullanılamaz.', [FName]);
1654 | Result := Self;
1655 | end;
1656 |
1657 | function THTMLTag.list( const aValue: String): THTMLTag;
1658 | begin
1659 | Flist:= '';
1660 | if (ValidateAttribute(['input']) = TRUE)
1661 | then Flist := aValue.Trim
1662 | else raise Exception.CreateFMT('`%s` tagı, `list` özniteliği ile birlikte kullanılamaz.', [FName]);
1663 | Result := Self;
1664 | end;
1665 |
1666 | function THTMLTag.loop( const aValue: String): THTMLTag;
1667 | begin
1668 | Floop:= '';
1669 | if (ValidateAttribute(['audio','bgsound','marquee','video']) = TRUE)
1670 | then Floop := aValue.Trim
1671 | else raise Exception.CreateFMT('`%s` tagı, `loop` özniteliği ile birlikte kullanılamaz.', [FName]);
1672 | Result := Self;
1673 | end;
1674 |
1675 | function THTMLTag.low( const aValue: String): THTMLTag;
1676 | begin
1677 | Flow:= '';
1678 | if (ValidateAttribute(['meter']) = TRUE)
1679 | then Flow := aValue.Trim
1680 | else raise Exception.CreateFMT('`%s` tagı, `low` özniteliği ile birlikte kullanılamaz.', [FName]);
1681 | Result := Self;
1682 | end;
1683 |
1684 | function THTMLTag.manifest( const aValue: String): THTMLTag;
1685 | begin
1686 | Fmanifest:= '';
1687 | if (ValidateAttribute(['html']) = TRUE)
1688 | then Fmanifest := aValue.Trim
1689 | else raise Exception.CreateFMT('`%s` tagı, `manifest` özniteliği ile birlikte kullanılamaz.', [FName]);
1690 | Result := Self;
1691 | end;
1692 |
1693 | function THTMLTag.max( const aValue: String): THTMLTag;
1694 | begin
1695 | Fmax:= '';
1696 | if (ValidateAttribute(['input','meter','progress']) = TRUE)
1697 | then Fmax := aValue.Trim
1698 | else raise Exception.CreateFMT('`%s` tagı, `max` özniteliği ile birlikte kullanılamaz.', [FName]);
1699 | Result := Self;
1700 | end;
1701 |
1702 | function THTMLTag.maxlength( const aValue: String): THTMLTag;
1703 | begin
1704 | Fmaxlength:= '';
1705 | if (ValidateAttribute(['input','textarea']) = TRUE)
1706 | then Fmaxlength := aValue.Trim
1707 | else raise Exception.CreateFMT('`%s` tagı, `maxlength` özniteliği ile birlikte kullanılamaz.', [FName]);
1708 | Result := Self;
1709 | end;
1710 |
1711 | function THTMLTag.minlength( const aValue: String): THTMLTag;
1712 | begin
1713 | Fminlength:= '';
1714 | if (ValidateAttribute(['input','textarea']) = TRUE)
1715 | then Fminlength := aValue.Trim
1716 | else raise Exception.CreateFMT('`%s` tagı, `minlength` özniteliği ile birlikte kullanılamaz.', [FName]);
1717 | Result := Self;
1718 | end;
1719 |
1720 | function THTMLTag.media( const aValue: String): THTMLTag;
1721 | begin
1722 | Fmedia:= '';
1723 | if (ValidateAttribute(['a','area','link','source','style']) = TRUE)
1724 | then Fmedia := aValue.Trim
1725 | else raise Exception.CreateFMT('`%s` tagı, `media` özniteliği ile birlikte kullanılamaz.', [FName]);
1726 | Result := Self;
1727 | end;
1728 |
1729 | function THTMLTag.method( const aValue: String): THTMLTag;
1730 | begin
1731 | Fmethod:= '';
1732 | if (ValidateAttribute(['form']) = TRUE)
1733 | then Fmethod := aValue.Trim
1734 | else raise Exception.CreateFMT('`%s` tagı, `method` özniteliği ile birlikte kullanılamaz.', [FName]);
1735 | Result := Self;
1736 | end;
1737 |
1738 | function THTMLTag.min( const aValue: String): THTMLTag;
1739 | begin
1740 | Fmin:= '';
1741 | if (ValidateAttribute(['input','meter']) = TRUE)
1742 | then Fmin := aValue.Trim
1743 | else raise Exception.CreateFMT('`%s` tagı, `min` özniteliği ile birlikte kullanılamaz.', [FName]);
1744 | Result := Self;
1745 | end;
1746 |
1747 | function THTMLTag.multiple( const aValue: String): THTMLTag;
1748 | begin
1749 | Fmultiple:= '';
1750 | if (ValidateAttribute(['input','select']) = TRUE)
1751 | then Fmultiple := aValue.Trim
1752 | else raise Exception.CreateFMT('`%s` tagı, `multiple` özniteliği ile birlikte kullanılamaz.', [FName]);
1753 | Result := Self;
1754 | end;
1755 |
1756 | function THTMLTag.muted( const aValue: String): THTMLTag;
1757 | begin
1758 | Fmuted:= '';
1759 | if (ValidateAttribute(['audio','video']) = TRUE)
1760 | then Fmuted := aValue.Trim
1761 | else raise Exception.CreateFMT('`%s` tagı, `muted` özniteliği ile birlikte kullanılamaz.', [FName]);
1762 | Result := Self;
1763 | end;
1764 |
1765 | function THTMLTag.name( const aValue: String): THTMLTag;
1766 | begin
1767 | Fname:= '';
1768 | if (ValidateAttribute(['button','form','fieldset','iframe','input','keygen','object','output','select','textarea','map','meta','param']) = TRUE)
1769 | then Fname := aValue.Trim
1770 | else raise Exception.CreateFMT('`%s` tagı, `name` özniteliği ile birlikte kullanılamaz.', [FName]);
1771 | Result := Self;
1772 | end;
1773 |
1774 | function THTMLTag.novalidate( const aValue: String): THTMLTag;
1775 | begin
1776 | Fnovalidate:= '';
1777 | if (ValidateAttribute(['form']) = TRUE)
1778 | then Fnovalidate := aValue.Trim
1779 | else raise Exception.CreateFMT('`%s` tagı, `novalidate` özniteliği ile birlikte kullanılamaz.', [FName]);
1780 | Result := Self;
1781 | end;
1782 |
1783 | function THTMLTag.open( const aValue: String): THTMLTag;
1784 | begin
1785 | Fopen:= '';
1786 | if (ValidateAttribute(['details']) = TRUE)
1787 | then Fopen := aValue.Trim
1788 | else raise Exception.CreateFMT('`%s` tagı, `open` özniteliği ile birlikte kullanılamaz.', [FName]);
1789 | Result := Self;
1790 | end;
1791 |
1792 | function THTMLTag.optimum( const aValue: String): THTMLTag;
1793 | begin
1794 | Foptimum:= '';
1795 | if (ValidateAttribute(['meter']) = TRUE)
1796 | then Foptimum := aValue.Trim
1797 | else raise Exception.CreateFMT('`%s` tagı, `optimum` özniteliği ile birlikte kullanılamaz.', [FName]);
1798 | Result := Self;
1799 | end;
1800 |
1801 | function THTMLTag.pattern( const aValue: String): THTMLTag;
1802 | begin
1803 | Fpattern:= '';
1804 | if (ValidateAttribute(['input']) = TRUE)
1805 | then Fpattern := aValue.Trim
1806 | else raise Exception.CreateFMT('`%s` tagı, `pattern` özniteliği ile birlikte kullanılamaz.', [FName]);
1807 | Result := Self;
1808 | end;
1809 |
1810 | function THTMLTag.ping( const aValue: String): THTMLTag;
1811 | begin
1812 | Fping:= '';
1813 | if (ValidateAttribute(['a','area']) = TRUE)
1814 | then Fping := aValue.Trim
1815 | else raise Exception.CreateFMT('`%s` tagı, `ping` özniteliği ile birlikte kullanılamaz.', [FName]);
1816 | Result := Self;
1817 | end;
1818 |
1819 | function THTMLTag.placeholder( const aValue: String): THTMLTag;
1820 | begin
1821 | Fplaceholder:= '';
1822 | if (ValidateAttribute(['input','textarea']) = TRUE)
1823 | then Fplaceholder := aValue.Trim
1824 | else raise Exception.CreateFMT('`%s` tagı, `placeholder` özniteliği ile birlikte kullanılamaz.', [FName]);
1825 | Result := Self;
1826 | end;
1827 |
1828 | function THTMLTag.poster( const aValue: String): THTMLTag;
1829 | begin
1830 | Fposter:= '';
1831 | if (ValidateAttribute(['video']) = TRUE)
1832 | then Fposter := aValue.Trim
1833 | else raise Exception.CreateFMT('`%s` tagı, `poster` özniteliği ile birlikte kullanılamaz.', [FName]);
1834 | Result := Self;
1835 | end;
1836 |
1837 | function THTMLTag.preload( const aValue: String): THTMLTag;
1838 | begin
1839 | Fpreload:= '';
1840 | if (ValidateAttribute(['audio','video']) = TRUE)
1841 | then Fpreload := aValue.Trim
1842 | else raise Exception.CreateFMT('`%s` tagı, `preload` özniteliği ile birlikte kullanılamaz.', [FName]);
1843 | Result := Self;
1844 | end;
1845 |
1846 | function THTMLTag.radiogroup( const aValue: String): THTMLTag;
1847 | begin
1848 | Fradiogroup:= '';
1849 | if (ValidateAttribute(['command']) = TRUE)
1850 | then Fradiogroup := aValue.Trim
1851 | else raise Exception.CreateFMT('`%s` tagı, `radiogroup` özniteliği ile birlikte kullanılamaz.', [FName]);
1852 | Result := Self;
1853 | end;
1854 |
1855 | function THTMLTag.readonly( const aValue: String): THTMLTag;
1856 | begin
1857 | Freadonly:= '';
1858 | if (ValidateAttribute(['input','textarea']) = TRUE)
1859 | then Freadonly := aValue.Trim
1860 | else raise Exception.CreateFMT('`%s` tagı, `readonly` özniteliği ile birlikte kullanılamaz.', [FName]);
1861 | Result := Self;
1862 | end;
1863 |
1864 | function THTMLTag.referrerpolicy( const aValue: String): THTMLTag;
1865 | begin
1866 | Freferrerpolicy:= '';
1867 | if (ValidateAttribute(['a','area','iframe','img','link','script']) = TRUE)
1868 | then Freferrerpolicy := aValue.Trim
1869 | else raise Exception.CreateFMT('`%s` tagı, `referrerpolicy` özniteliği ile birlikte kullanılamaz.', [FName]);
1870 | Result := Self;
1871 | end;
1872 |
1873 | function THTMLTag.rel( const aValue: String): THTMLTag;
1874 | begin
1875 | Frel:= '';
1876 | if (ValidateAttribute(['a','area','link']) = TRUE)
1877 | then Frel := aValue.Trim
1878 | else raise Exception.CreateFMT('`%s` tagı, `rel` özniteliği ile birlikte kullanılamaz.', [FName]);
1879 | Result := Self;
1880 | end;
1881 |
1882 | function THTMLTag.required( const aValue: String): THTMLTag;
1883 | begin
1884 | Frequired:= '';
1885 | if (ValidateAttribute(['input','select','textarea']) = TRUE)
1886 | then Frequired := aValue.Trim
1887 | else raise Exception.CreateFMT('`%s` tagı, `required` özniteliği ile birlikte kullanılamaz.', [FName]);
1888 | Result := Self;
1889 | end;
1890 |
1891 | function THTMLTag.reversed( const aValue: String): THTMLTag;
1892 | begin
1893 | Freversed:= '';
1894 | if (ValidateAttribute(['ol']) = TRUE)
1895 | then Freversed := aValue.Trim
1896 | else raise Exception.CreateFMT('`%s` tagı, `reversed` özniteliği ile birlikte kullanılamaz.', [FName]);
1897 | Result := Self;
1898 | end;
1899 |
1900 | function THTMLTag.rows( const aValue: String): THTMLTag;
1901 | begin
1902 | Frows:= '';
1903 | if (ValidateAttribute(['textarea']) = TRUE)
1904 | then Frows := aValue.Trim
1905 | else raise Exception.CreateFMT('`%s` tagı, `rows` özniteliği ile birlikte kullanılamaz.', [FName]);
1906 | Result := Self;
1907 | end;
1908 |
1909 | function THTMLTag.rowspan( const aValue: String): THTMLTag;
1910 | begin
1911 | Frowspan:= '';
1912 | if (ValidateAttribute(['td','th']) = TRUE)
1913 | then Frowspan := aValue.Trim
1914 | else raise Exception.CreateFMT('`%s` tagı, `rowspan` özniteliği ile birlikte kullanılamaz.', [FName]);
1915 | Result := Self;
1916 | end;
1917 |
1918 | function THTMLTag.sandbox( const aValue: String): THTMLTag;
1919 | begin
1920 | Fsandbox:= '';
1921 | if (ValidateAttribute(['iframe']) = TRUE)
1922 | then Fsandbox := aValue.Trim
1923 | else raise Exception.CreateFMT('`%s` tagı, `sandbox` özniteliği ile birlikte kullanılamaz.', [FName]);
1924 | Result := Self;
1925 | end;
1926 |
1927 | function THTMLTag.scope( const aValue: String): THTMLTag;
1928 | begin
1929 | Fscope:= '';
1930 | if (ValidateAttribute(['th']) = TRUE)
1931 | then Fscope := aValue.Trim
1932 | else raise Exception.CreateFMT('`%s` tagı, `scope` özniteliği ile birlikte kullanılamaz.', [FName]);
1933 | Result := Self;
1934 | end;
1935 |
1936 | function THTMLTag.scoped( const aValue: String): THTMLTag;
1937 | begin
1938 | Fscoped:= '';
1939 | if (ValidateAttribute(['style']) = TRUE)
1940 | then Fscoped := aValue.Trim
1941 | else raise Exception.CreateFMT('`%s` tagı, `scoped` özniteliği ile birlikte kullanılamaz.', [FName]);
1942 | Result := Self;
1943 | end;
1944 |
1945 | function THTMLTag.selected( const aValue: String): THTMLTag;
1946 | begin
1947 | Fselected:= '';
1948 | if (ValidateAttribute(['option']) = TRUE)
1949 | then Fselected := aValue.Trim
1950 | else raise Exception.CreateFMT('`%s` tagı, `selected` özniteliği ile birlikte kullanılamaz.', [FName]);
1951 | Result := Self;
1952 | end;
1953 |
1954 | function THTMLTag.shape( const aValue: String): THTMLTag;
1955 | begin
1956 | Fshape:= '';
1957 | if (ValidateAttribute(['a','area']) = TRUE)
1958 | then Fshape := aValue.Trim
1959 | else raise Exception.CreateFMT('`%s` tagı, `shape` özniteliği ile birlikte kullanılamaz.', [FName]);
1960 | Result := Self;
1961 | end;
1962 |
1963 | function THTMLTag.size( const aValue: String): THTMLTag;
1964 | begin
1965 | Fsize:= '';
1966 | if (ValidateAttribute(['input','select']) = TRUE)
1967 | then Fsize := aValue.Trim
1968 | else raise Exception.CreateFMT('`%s` tagı, `size` özniteliği ile birlikte kullanılamaz.', [FName]);
1969 | Result := Self;
1970 | end;
1971 |
1972 | function THTMLTag.sizes( const aValue: String): THTMLTag;
1973 | begin
1974 | Fsizes:= '';
1975 | if (ValidateAttribute(['link','img','source']) = TRUE)
1976 | then Fsizes := aValue.Trim
1977 | else raise Exception.CreateFMT('`%s` tagı, `sizes` özniteliği ile birlikte kullanılamaz.', [FName]);
1978 | Result := Self;
1979 | end;
1980 |
1981 | function THTMLTag.span( const aValue: String): THTMLTag;
1982 | begin
1983 | Fspan:= '';
1984 | if (ValidateAttribute(['col','colgroup']) = TRUE)
1985 | then Fspan := aValue.Trim
1986 | else raise Exception.CreateFMT('`%s` tagı, `span` özniteliği ile birlikte kullanılamaz.', [FName]);
1987 | Result := Self;
1988 | end;
1989 |
1990 | function THTMLTag.src( const aValue: String): THTMLTag;
1991 | begin
1992 | Fsrc:= '';
1993 | if (ValidateAttribute(['audio','embed','iframe','img','input','script','source','track','video']) = TRUE)
1994 | then Fsrc := aValue.Trim
1995 | else raise Exception.CreateFMT('`%s` tagı, `src` özniteliği ile birlikte kullanılamaz.', [FName]);
1996 | Result := Self;
1997 | end;
1998 |
1999 | function THTMLTag.srcdoc( const aValue: String): THTMLTag;
2000 | begin
2001 | Fsrcdoc:= '';
2002 | if (ValidateAttribute(['iframe']) = TRUE)
2003 | then Fsrcdoc := aValue.Trim
2004 | else raise Exception.CreateFMT('`%s` tagı, `srcdoc` özniteliği ile birlikte kullanılamaz.', [FName]);
2005 | Result := Self;
2006 | end;
2007 |
2008 | function THTMLTag.srclang( const aValue: String): THTMLTag;
2009 | begin
2010 | Fsrclang:= '';
2011 | if (ValidateAttribute(['track']) = TRUE)
2012 | then Fsrclang := aValue.Trim
2013 | else raise Exception.CreateFMT('`%s` tagı, `srclang` özniteliği ile birlikte kullanılamaz.', [FName]);
2014 | Result := Self;
2015 | end;
2016 |
2017 | function THTMLTag.srcset( const aValue: String): THTMLTag;
2018 | begin
2019 | Fsrcset:= '';
2020 | if (ValidateAttribute(['img','source']) = TRUE)
2021 | then Fsrcset := aValue.Trim
2022 | else raise Exception.CreateFMT('`%s` tagı, `srcset` özniteliği ile birlikte kullanılamaz.', [FName]);
2023 | Result := Self;
2024 | end;
2025 |
2026 | function THTMLTag.start( const aValue: String): THTMLTag;
2027 | begin
2028 | Fstart:= '';
2029 | if (ValidateAttribute(['ol']) = TRUE)
2030 | then Fstart := aValue.Trim
2031 | else raise Exception.CreateFMT('`%s` tagı, `start` özniteliği ile birlikte kullanılamaz.', [FName]);
2032 | Result := Self;
2033 | end;
2034 |
2035 | function THTMLTag.step( const aValue: String): THTMLTag;
2036 | begin
2037 | Fstep:= '';
2038 | if (ValidateAttribute(['input']) = TRUE)
2039 | then Fstep := aValue.Trim
2040 | else raise Exception.CreateFMT('`%s` tagı, `step` özniteliği ile birlikte kullanılamaz.', [FName]);
2041 | Result := Self;
2042 | end;
2043 |
2044 | function THTMLTag.summary( const aValue: String): THTMLTag;
2045 | begin
2046 | Fsummary:= '';
2047 | if (ValidateAttribute(['table']) = TRUE)
2048 | then Fsummary := aValue.Trim
2049 | else raise Exception.CreateFMT('`%s` tagı, `summary` özniteliği ile birlikte kullanılamaz.', [FName]);
2050 | Result := Self;
2051 | end;
2052 |
2053 | function THTMLTag.target( const aValue: String): THTMLTag;
2054 | begin
2055 | Ftarget:= '';
2056 | if (ValidateAttribute(['a','area','base','form']) = TRUE)
2057 | then Ftarget := aValue.Trim
2058 | else raise Exception.CreateFMT('`%s` tagı, `target` özniteliği ile birlikte kullanılamaz.', [FName]);
2059 | Result := Self;
2060 | end;
2061 |
2062 | function THTMLTag.type_( const aValue: String): THTMLTag;
2063 | begin
2064 | Ftype_:= '';
2065 | if (ValidateAttribute(['button','input','command','embed','object','script','source','style','menu']) = TRUE)
2066 | then Ftype_ := aValue.Trim
2067 | else raise Exception.CreateFMT('`%s` tagı, `type_` özniteliği ile birlikte kullanılamaz.', [FName]);
2068 | Result := Self;
2069 | end;
2070 |
2071 | function THTMLTag.usemap( const aValue: String): THTMLTag;
2072 | begin
2073 | Fusemap:= '';
2074 | if (ValidateAttribute(['img','input','object']) = TRUE)
2075 | then Fusemap := aValue.Trim
2076 | else raise Exception.CreateFMT('`%s` tagı, `usemap` özniteliği ile birlikte kullanılamaz.', [FName]);
2077 | Result := Self;
2078 | end;
2079 |
2080 | function THTMLTag.value( const aValue: String): THTMLTag;
2081 | begin
2082 | Fvalue:= '';
2083 | if (ValidateAttribute(['button','data','input','li','meter','option','progress','param']) = TRUE)
2084 | then Fvalue := aValue.Trim
2085 | else raise Exception.CreateFMT('`%s` tagı, `value` özniteliği ile birlikte kullanılamaz.', [FName]);
2086 | Result := Self;
2087 | end;
2088 |
2089 | function THTMLTag.width( const aValue: String): THTMLTag;
2090 | begin
2091 | Fwidth:= '';
2092 | if (ValidateAttribute(['canvas','embed','iframe','img','input','object','video']) = TRUE)
2093 | then Fwidth := aValue.Trim
2094 | else raise Exception.CreateFMT('`%s` tagı, `width` özniteliği ile birlikte kullanılamaz.', [FName]);
2095 | Result := Self;
2096 | end;
2097 |
2098 | function THTMLTag.wrap( const aValue: String): THTMLTag;
2099 | begin
2100 | Fwrap:= '';
2101 | if (ValidateAttribute(['textarea']) = TRUE)
2102 | then Fwrap := aValue.Trim
2103 | else raise Exception.CreateFMT('`%s` tagı, `wrap` özniteliği ile birlikte kullanılamaz.', [FName]);
2104 | Result := Self;
2105 | end;
2106 | {$endregion}
2107 | {$region 'Events'}
2108 | {$region 'window events' }
2109 | function THTMLTag.onafterprint( const aScript: String): THTMLTag;
2110 | Begin
2111 | Fonafterprint := aScript;
2112 | Result := Self;
2113 | end;
2114 |
2115 | function THTMLTag.onbeforeprint( const aScript: String): THTMLTag;
2116 | Begin
2117 | Fonbeforeprint := aScript;
2118 | Result := Self;
2119 | end;
2120 |
2121 | function THTMLTag.onbeforeunload( const aScript: String): THTMLTag;
2122 | Begin
2123 | Fonbeforeunload := aScript;
2124 | Result := Self;
2125 | end;
2126 |
2127 | function THTMLTag.onerror( const aScript: String): THTMLTag;
2128 | Begin
2129 | Fonerror := aScript;
2130 | Result := Self;
2131 | end;
2132 |
2133 | function THTMLTag.onhashchange( const aScript: String): THTMLTag;
2134 | Begin
2135 | Fonhashchange := aScript;
2136 | Result := Self;
2137 | end;
2138 |
2139 | function THTMLTag.onload( const aScript: String): THTMLTag;
2140 | Begin
2141 | Fonload := aScript;
2142 | Result := Self;
2143 | end;
2144 |
2145 | function THTMLTag.onmessage( const aScript: String): THTMLTag;
2146 | Begin
2147 | Fonmessage := aScript;
2148 | Result := Self;
2149 | end;
2150 |
2151 | function THTMLTag.onoffline( const aScript: String): THTMLTag;
2152 | Begin
2153 | Fonoffline := aScript;
2154 | Result := Self;
2155 | end;
2156 |
2157 | function THTMLTag.ononline( const aScript: String): THTMLTag;
2158 | Begin
2159 | Fononline := aScript;
2160 | Result := Self;
2161 | end;
2162 |
2163 | function THTMLTag.onpagehide( const aScript: String): THTMLTag;
2164 | Begin
2165 | Fonpagehide := aScript;
2166 | Result := Self;
2167 | end;
2168 |
2169 | function THTMLTag.onpageshow( const aScript: String): THTMLTag;
2170 | Begin
2171 | Fonpageshow := aScript;
2172 | Result := Self;
2173 | end;
2174 |
2175 | function THTMLTag.onpopstate( const aScript: String): THTMLTag;
2176 | Begin
2177 | Fonpopstate := aScript;
2178 | Result := Self;
2179 | end;
2180 |
2181 | function THTMLTag.onresize( const aScript: String): THTMLTag;
2182 | Begin
2183 | Fonresize := aScript;
2184 | Result := Self;
2185 | end;
2186 |
2187 | function THTMLTag.onstorage( const aScript: String): THTMLTag;
2188 | Begin
2189 | Fonstorage := aScript;
2190 | Result := Self;
2191 | end;
2192 |
2193 | function THTMLTag.onunload( const aScript: String): THTMLTag;
2194 | Begin
2195 | Fonunload := aScript;
2196 | Result := Self;
2197 | end;
2198 | {$endregion}
2199 |
2200 | {$region 'form events' }
2201 | function THTMLTag.onblur( const aScript: String): THTMLTag;
2202 | Begin
2203 | Fonblur := aScript;
2204 | Result := Self;
2205 | end;
2206 |
2207 | function THTMLTag.onchange( const aScript: String): THTMLTag;
2208 | Begin
2209 | Fonchange := aScript;
2210 | Result := Self;
2211 | end;
2212 |
2213 | function THTMLTag.oncontextmenu( const aScript: String): THTMLTag;
2214 | Begin
2215 | Foncontextmenu := aScript;
2216 | Result := Self;
2217 | end;
2218 |
2219 | function THTMLTag.onfocus( const aScript: String): THTMLTag;
2220 | Begin
2221 | Fonfocus := aScript;
2222 | Result := Self;
2223 | end;
2224 |
2225 | function THTMLTag.oninput( const aScript: String): THTMLTag;
2226 | Begin
2227 | Foninput := aScript;
2228 | Result := Self;
2229 | end;
2230 |
2231 | function THTMLTag.oninvalid( const aScript: String): THTMLTag;
2232 | Begin
2233 | Foninvalid := aScript;
2234 | Result := Self;
2235 | end;
2236 |
2237 | function THTMLTag.onreset( const aScript: String): THTMLTag;
2238 | Begin
2239 | Fonreset := aScript;
2240 | Result := Self;
2241 | end;
2242 |
2243 | function THTMLTag.onsearch( const aScript: String): THTMLTag;
2244 | Begin
2245 | Fonsearch := aScript;
2246 | Result := Self;
2247 | end;
2248 |
2249 | function THTMLTag.onselect( const aScript: String): THTMLTag;
2250 | Begin
2251 | Fonselect := aScript;
2252 | Result := Self;
2253 | end;
2254 |
2255 | function THTMLTag.onsubmit( const aScript: String): THTMLTag;
2256 | Begin
2257 | Fonsubmit := aScript;
2258 | Result := Self;
2259 | end;
2260 | {$endregion}
2261 |
2262 | {$region 'keyboard events' }
2263 | function THTMLTag.onkeydown( const aScript: String): THTMLTag;
2264 | Begin
2265 | Fonkeydown := aScript;
2266 | Result := Self;
2267 | end;
2268 |
2269 | function THTMLTag.onkeypress( const aScript: String): THTMLTag;
2270 | Begin
2271 | Fonkeypress := aScript;
2272 | Result := Self;
2273 | end;
2274 |
2275 | function THTMLTag.onkeyup( const aScript: String): THTMLTag;
2276 | Begin
2277 | Fonkeyup := aScript;
2278 | Result := Self;
2279 | end;
2280 | {$endregion}
2281 |
2282 | {$region 'mouse events' }
2283 | function THTMLTag.onclick( const aScript: String): THTMLTag;
2284 | Begin
2285 | Fonclick := aScript;
2286 | Result := Self;
2287 | end;
2288 |
2289 | function THTMLTag.ondblclick( const aScript: String): THTMLTag;
2290 | Begin
2291 | Fondblclick := aScript;
2292 | Result := Self;
2293 | end;
2294 |
2295 | function THTMLTag.onmousedown( const aScript: String): THTMLTag;
2296 | Begin
2297 | Fonmousedown := aScript;
2298 | Result := Self;
2299 | end;
2300 |
2301 | function THTMLTag.onmousemove( const aScript: String): THTMLTag;
2302 | Begin
2303 | Fonmousemove := aScript;
2304 | Result := Self;
2305 | end;
2306 |
2307 | function THTMLTag.onmouseout( const aScript: String): THTMLTag;
2308 | Begin
2309 | Fonmouseout := aScript;
2310 | Result := Self;
2311 | end;
2312 |
2313 | function THTMLTag.onmouseover( const aScript: String): THTMLTag;
2314 | Begin
2315 | Fonmouseover := aScript;
2316 | Result := Self;
2317 | end;
2318 |
2319 | function THTMLTag.onmouseup( const aScript: String): THTMLTag;
2320 | Begin
2321 | Fonmouseup := aScript;
2322 | Result := Self;
2323 | end;
2324 |
2325 | function THTMLTag.onmousewheel( const aScript: String): THTMLTag;
2326 | Begin
2327 | Fonmousewheel := aScript;
2328 | Result := Self;
2329 | end;
2330 |
2331 | function THTMLTag.onwheel( const aScript: String): THTMLTag;
2332 | Begin
2333 | Fonwheel := aScript;
2334 | Result := Self;
2335 | end;
2336 | {$endregion}
2337 |
2338 | {$region 'drag events' }
2339 | function THTMLTag.ondrag( const aScript: String): THTMLTag;
2340 | Begin
2341 | Fondrag := aScript;
2342 | Result := Self;
2343 | end;
2344 |
2345 | function THTMLTag.ondragend( const aScript: String): THTMLTag;
2346 | Begin
2347 | Fondragend := aScript;
2348 | Result := Self;
2349 | end;
2350 |
2351 | function THTMLTag.ondragenter( const aScript: String): THTMLTag;
2352 | Begin
2353 | Fondragenter := aScript;
2354 | Result := Self;
2355 | end;
2356 |
2357 | function THTMLTag.ondragleave( const aScript: String): THTMLTag;
2358 | Begin
2359 | Fondragleave := aScript;
2360 | Result := Self;
2361 | end;
2362 |
2363 | function THTMLTag.ondragover( const aScript: String): THTMLTag;
2364 | Begin
2365 | Fondragover := aScript;
2366 | Result := Self;
2367 | end;
2368 |
2369 | function THTMLTag.ondragstart( const aScript: String): THTMLTag;
2370 | Begin
2371 | Fondragstart := aScript;
2372 | Result := Self;
2373 | end;
2374 |
2375 | function THTMLTag.ondrop( const aScript: String): THTMLTag;
2376 | Begin
2377 | Fondrop := aScript;
2378 | Result := Self;
2379 | end;
2380 |
2381 | function THTMLTag.onscroll( const aScript: String): THTMLTag;
2382 | Begin
2383 | Fonscroll := aScript;
2384 | Result := Self;
2385 | end;
2386 | {$endregion}
2387 |
2388 | {$region 'clipboard events' }
2389 | function THTMLTag.oncopy( const aScript: String): THTMLTag;
2390 | Begin
2391 | Foncopy := aScript;
2392 | Result := Self;
2393 | end;
2394 |
2395 | function THTMLTag.oncut( const aScript: String): THTMLTag;
2396 | Begin
2397 | Foncut := aScript;
2398 | Result := Self;
2399 | end;
2400 |
2401 | function THTMLTag.onpaste( const aScript: String): THTMLTag;
2402 | Begin
2403 | Fonpaste := aScript;
2404 | Result := Self;
2405 | end;
2406 | {$endregion}
2407 |
2408 | {$region 'media events' }
2409 | function THTMLTag.onabort( const aScript: String): THTMLTag;
2410 | Begin
2411 | Fonabort := aScript;
2412 | Result := Self;
2413 | end;
2414 |
2415 | function THTMLTag.oncanplay( const aScript: String): THTMLTag;
2416 | Begin
2417 | Foncanplay := aScript;
2418 | Result := Self;
2419 | end;
2420 |
2421 | function THTMLTag.oncanplaythrough( const aScript: String): THTMLTag;
2422 | Begin
2423 | Foncanplaythrough := aScript;
2424 | Result := Self;
2425 | end;
2426 |
2427 | function THTMLTag.oncuechange( const aScript: String): THTMLTag;
2428 | Begin
2429 | Foncuechange := aScript;
2430 | Result := Self;
2431 | end;
2432 |
2433 | function THTMLTag.ondurationchange( const aScript: String): THTMLTag;
2434 | Begin
2435 | Fondurationchange := aScript;
2436 | Result := Self;
2437 | end;
2438 |
2439 | function THTMLTag.onemptied( const aScript: String): THTMLTag;
2440 | Begin
2441 | Fonemptied := aScript;
2442 | Result := Self;
2443 | end;
2444 |
2445 | function THTMLTag.onended( const aScript: String): THTMLTag;
2446 | Begin
2447 | Fonended := aScript;
2448 | Result := Self;
2449 | end;
2450 |
2451 | function THTMLTag.onerror_( const aScript: String): THTMLTag;
2452 | Begin
2453 | Fonerror_ := aScript;
2454 | Result := Self;
2455 | end;
2456 |
2457 | function THTMLTag.onloadeddata( const aScript: String): THTMLTag;
2458 | Begin
2459 | Fonloadeddata := aScript;
2460 | Result := Self;
2461 | end;
2462 |
2463 | function THTMLTag.onloadedmetadata( const aScript: String): THTMLTag;
2464 | Begin
2465 | Fonloadedmetadata := aScript;
2466 | Result := Self;
2467 | end;
2468 |
2469 | function THTMLTag.onloadstart( const aScript: String): THTMLTag;
2470 | Begin
2471 | Fonloadstart := aScript;
2472 | Result := Self;
2473 | end;
2474 |
2475 | function THTMLTag.onpause( const aScript: String): THTMLTag;
2476 | Begin
2477 | Fonpause := aScript;
2478 | Result := Self;
2479 | end;
2480 |
2481 | function THTMLTag.onplay( const aScript: String): THTMLTag;
2482 | Begin
2483 | Fonplay := aScript;
2484 | Result := Self;
2485 | end;
2486 |
2487 | function THTMLTag.onplaying( const aScript: String): THTMLTag;
2488 | Begin
2489 | Fonplaying := aScript;
2490 | Result := Self;
2491 | end;
2492 |
2493 | function THTMLTag.onprogress( const aScript: String): THTMLTag;
2494 | Begin
2495 | Fonprogress := aScript;
2496 | Result := Self;
2497 | end;
2498 |
2499 | function THTMLTag.onratechange( const aScript: String): THTMLTag;
2500 | Begin
2501 | Fonratechange := aScript;
2502 | Result := Self;
2503 | end;
2504 |
2505 | function THTMLTag.onseeked( const aScript: String): THTMLTag;
2506 | Begin
2507 | Fonseeked := aScript;
2508 | Result := Self;
2509 | end;
2510 |
2511 | function THTMLTag.onseeking( const aScript: String): THTMLTag;
2512 | Begin
2513 | Fonseeking := aScript;
2514 | Result := Self;
2515 | end;
2516 |
2517 | function THTMLTag.onstalled( const aScript: String): THTMLTag;
2518 | Begin
2519 | Fonstalled := aScript;
2520 | Result := Self;
2521 | end;
2522 |
2523 | function THTMLTag.onsuspend( const aScript: String): THTMLTag;
2524 | Begin
2525 | Fonsuspend := aScript;
2526 | Result := Self;
2527 | end;
2528 |
2529 | function THTMLTag.ontimeupdate( const aScript: String): THTMLTag;
2530 | Begin
2531 | Fontimeupdate := aScript;
2532 | Result := Self;
2533 | end;
2534 |
2535 | function THTMLTag.onvolumechange( const aScript: String): THTMLTag;
2536 | Begin
2537 | Fonvolumechange := aScript;
2538 | Result := Self;
2539 | end;
2540 |
2541 | function THTMLTag.onwaiting( const aScript: String): THTMLTag;
2542 | Begin
2543 | Fonwaiting := aScript;
2544 | Result := Self;
2545 | end;
2546 | {$endregion}
2547 |
2548 | {$region 'misc events' }
2549 | function THTMLTag.ontoggle( const aScript: String): THTMLTag;
2550 | Begin
2551 | Fontoggle := aScript;
2552 | Result := Self;
2553 | end;
2554 | {$endregion}
2555 | {$endregion}
2556 |
2557 | end.
2558 |
--------------------------------------------------------------------------------
/src/Types_HTML5_.pas:
--------------------------------------------------------------------------------
1 | ///
2 | /// HTML TAG NESNESİ ile ilgili nesne yardımcılarını ve ek veri tiplerini
3 | /// tanımlar.
4 | ///
5 | ///
6 | /// Uğur PARLAYAN
7 | ///
8 | ///
9 | /// 01.01.2019
10 | ///
11 | unit Types_HTML5_;
12 |
13 | interface
14 |
15 | {$region 'gözardı edilecek olan uyarı ve ipucu listesi'}
16 | { // Uyarı ve ipucu listesi aşağıdaki linkte yer alıyor. UP.
17 | https://marc.durdin.net/2012/05/delphi-xe2s-hidden-hints-and-warnings-options/ }
18 | {$WARN UNIT_PLATFORM OFF} // Platfown Spesifik uyarısını kapatır
19 | {$WARN SYMBOL_PLATFORM OFF} // W1002 spesifik platform, incele ( https://stackoverflow.com/questions/352479/delphi-warning-w1002-symbol-filesetdate-is-specific-to-a-platform )
20 | {$WARN SUSPICIOUS_TYPECAST OFF} // W1044 spesifik platform, incele ( https://stackoverflow.com/questions/283759/convert-string-to-pansichar-in-delphi-2009 )
21 | {$WARN IMPLICIT_STRING_CAST OFF} // W1057 (Örtük tip dönüştürme: String to utf8string)
22 | {$WARN IMPLICIT_STRING_CAST_LOSS OFF} // W1058 (örtük tip dönüştürme: utf8string to string)
23 | {$WARN NO_RETVAL OFF} // W1058 (örtük tip dönüştürme: utf8string to string)
24 | {$WARN HIDDEN_VIRTUAL OFF} // W1010 (Temel sınıftaki sanal yöntem gizlenmiş...)
25 | {$endregion}
26 |
27 | type
28 | THTMLItems = array of string;
29 | THTMLItems_Helper = record helper for THTMLItems
30 | public
31 | function Count: Integer;
32 | end;
33 |
34 | implementation
35 |
36 | { THTMLAttributes_Helper }
37 |
38 | function THTMLItems_Helper.Count: Integer;
39 | begin
40 | Result := High(Self);
41 | end;
42 |
43 | end.
44 |
--------------------------------------------------------------------------------