/trunk/EditorMain.pas |
---|
1,4 → 1,4 |
unit EditorMain; |
unit EditorMain; |
{$Include 'FastPHP.inc'} |
25,14 → 25,15 |
// - Solve compiler warnings |
// - If you place Unicode symbols in a ANSI file, they will be replaced during saving |
// by "?" without asking the user if the code should be converted to Unicode! |
// - FastPHP can only read a UTF-8 file correctly if it has a BOM |
// However, the PSR-1 standard requires that files have UTF-8 without BOM! |
// So we need auto-detect (since many people are working with ANSI!) |
// - When a file is correctly loaded with UTF-8/BOM, |
// the run output (Plaintext and HTML) will show UTF-8 instead of Unicode |
// (that COULD be intended since the Windows CMD is not Unicode ready?) |
// But HTML is also shown as UTF-8 even though I have added <meta charset="UTF-8"> ?! |
// - Is it possible that UTF8 BOM automatically gets removed by FastPHP, generating pure ANSI? |
// Note in re Unicode: |
// - In Embarcadero® Delphi 10.4 Version 27.0.40680.4203: |
// SynEdit correctly detects UTF-8 files without BOM as well as ANSI files with Umlauts. |
// (Previous versions could not detect UTF-8 files without BOM?!) |
// - If BOM is existing, it will be removed. (which is good, because this is defined by PSR-1) |
// Small things: |
// - The scroll bars of SynEdit are not affected by the dark theme |
39,8 → 40,8 |
// Future ideas |
// - code insight |
// - verschiedene php versionen? |
// - webbrowser1 nur laden, wenn man den tab anw�hlt? |
// - doppelklick auf tab soll diesen schlie�en |
// - webbrowser1 nur laden, wenn man den tab anwählt? |
// - doppelklick auf tab soll diesen schließen |
// - Onlinehelp (www) aufrufen oder CHM datei |
// - Let all colors be adjustable |
// - code in bildschirmmitte (horizontal)? |
56,8 → 57,7 |
Dialogs, StdCtrls, OleCtrls, ComCtrls, ExtCtrls, ToolWin, IniFiles, |
SynEditHighlighter, SynHighlighterPHP, SynEdit, ShDocVw, FindReplace, |
ActnList, SynEditMiscClasses, SynEditSearch, RunPHP, ImgList, SynUnicode, |
System.ImageList, System.Actions, Vcl.Menus, Vcl.Themes, System.UITypes, |
SynEditCodeFolding; |
System.ImageList, System.Actions, Vcl.Menus, Vcl.Themes, System.UITypes; |
{.$DEFINE OnlineHelp} |
554,17 → 554,11 |
try |
ActionSave.Execute; // TODO: if it is not the scrap file: do not save the file, since the user did not intended to save... better create a temporary file and run it instead. |
// TODO 70421 * <fastphp> implement flush() with ContentCallBack implementieren... For long running scripts I want to see status changes via javascript which are loaded step by step |
// TODO 70422 * <fastphp> when a script has an endless loop, i want to have a possibility to cancel it |
if SynEdit1.Lines.Encoding = TEncoding.UTF8 then |
memo2.Lines.Text := Utf8Decode(RunPHPScript(GetScrapFile, Sender=ActionLint, False)) // if we have a UTF-8 file, then the DOS output is double-UTF8 encoded |
else |
// TODO 70421 * <fastphp> flush() mittels ContentCallBack implementieren... ich möchte bei langen scripts statusanzeigen realisieren können mit javascript das stück für stück geladen wird !!!!!!!! |
// TODO 70422 * <fastphp> wenn ein script hängt, soll man es abwürgen dürfen!!!!!! |
memo2.Lines.Text := RunPHPScript(GetScrapFile, Sender=ActionLint, False); |
{$REGION 'Show in Web Browser'} |
if SynEdit1.Lines.Encoding = TEncoding.UTF8 then |
Webbrowser1.LoadHTML(MarkUpLineReference('<meta charset="utf-8">'+memo2.Lines.Text), GetScrapFile) |
else |
Webbrowser1.LoadHTML(MarkUpLineReference(memo2.Lines.Text), GetScrapFile); |
// Alternatively: |
/trunk/EditorMain.dfm |
---|
1,7 → 1,7 |
object Form1: TForm1 |
Left = 0 |
Top = 0 |
Caption = 'ViaThinkSoft FastPHP 0.6' |
Caption = 'ViaThinkSoft FastPHP 0.5' |
ClientHeight = 661 |
ClientWidth = 1120 |
Color = clBtnFace |
114,11 → 114,14 |
Font.Height = -13 |
Font.Name = 'Courier New' |
Font.Style = [] |
Font.Quality = fqClearTypeNatural |
TabOrder = 0 |
OnMouseWheelDown = SynEdit1MouseWheelDown |
OnMouseWheelUp = SynEdit1MouseWheelUp |
CodeFolding.CollapsedLineColor = clGrayText |
CodeFolding.FolderBarLinesColor = clGrayText |
CodeFolding.ShowCollapsedLine = True |
CodeFolding.IndentGuidesColor = clGray |
CodeFolding.IndentGuides = True |
UseCodeFolding = False |
Gutter.AutoSize = True |
Gutter.Font.Charset = DEFAULT_CHARSET |
132,7 → 135,6 |
Highlighter = SynPHPSyn1 |
Options = [eoAutoIndent, eoDragDropEditing, eoDropFiles, eoEnhanceHomeKey, eoEnhanceEndKey, eoGroupUndo, eoHideShowScrollbars, eoKeepCaretX, eoScrollByOneLess, eoShowScrollHint, eoTabIndent] |
SearchEngine = SynEditSearch1 |
TabWidth = 4 |
WantTabs = True |
OnChange = SynEdit1Change |
OnDropFiles = SynEdit1DropFiles |
139,6 → 141,7 |
OnGutterClick = SynEdit1GutterClick |
OnMouseCursor = SynEdit1MouseCursor |
OnPaintTransient = SynEdit1PaintTransient |
FontSmoothing = fsmNone |
RemovedKeystrokes = < |
item |
Command = ecUndo |
/trunk/FastPHPBrowser.res |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/trunk/FastPHPEditor.res |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/trunk/FastPHPBrowser.dproj |
---|
1,7 → 1,7 |
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
<PropertyGroup> |
<ProjectGuid>{E890440B-7DEF-4455-83AB-317993B34487}</ProjectGuid> |
<ProjectVersion>19.2</ProjectVersion> |
<ProjectVersion>18.8</ProjectVersion> |
<FrameworkType>VCL</FrameworkType> |
<MainSource>FastPHPBrowser.dpr</MainSource> |
<Base>True</Base> |
18,11 → 18,6 |
<CfgParent>Base</CfgParent> |
<Base>true</Base> |
</PropertyGroup> |
<PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Base)'=='true') or '$(Base_Win64)'!=''"> |
<Base_Win64>true</Base_Win64> |
<CfgParent>Base</CfgParent> |
<Base>true</Base> |
</PropertyGroup> |
<PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_1)'!=''"> |
<Cfg_1>true</Cfg_1> |
<CfgParent>Base</CfgParent> |
34,12 → 29,6 |
<Cfg_1>true</Cfg_1> |
<Base>true</Base> |
</PropertyGroup> |
<PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Cfg_1)'=='true') or '$(Cfg_1_Win64)'!=''"> |
<Cfg_1_Win64>true</Cfg_1_Win64> |
<CfgParent>Cfg_1</CfgParent> |
<Cfg_1>true</Cfg_1> |
<Base>true</Base> |
</PropertyGroup> |
<PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_2)'!=''"> |
<Cfg_2>true</Cfg_2> |
<CfgParent>Base</CfgParent> |
51,12 → 40,6 |
<Cfg_2>true</Cfg_2> |
<Base>true</Base> |
</PropertyGroup> |
<PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Cfg_2)'=='true') or '$(Cfg_2_Win64)'!=''"> |
<Cfg_2_Win64>true</Cfg_2_Win64> |
<CfgParent>Cfg_2</CfgParent> |
<Cfg_2>true</Cfg_2> |
<Base>true</Base> |
</PropertyGroup> |
<PropertyGroup Condition="'$(Base)'!=''"> |
<VerInfo_Locale>1031</VerInfo_Locale> |
<VerInfo_Keys>CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=</VerInfo_Keys> |
82,13 → 65,6 |
<VerInfo_MinorVer>5</VerInfo_MinorVer> |
<Icon_MainIcon>FastPHP_Icon2.ico</Icon_MainIcon> |
</PropertyGroup> |
<PropertyGroup Condition="'$(Base_Win64)'!=''"> |
<DCC_Namespace>Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace)</DCC_Namespace> |
<BT_BuildType>Debug</BT_BuildType> |
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo> |
<VerInfo_Locale>1033</VerInfo_Locale> |
<Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File> |
</PropertyGroup> |
<PropertyGroup Condition="'$(Cfg_1)'!=''"> |
<DCC_Define>DEBUG;$(DCC_Define)</DCC_Define> |
<DCC_DebugDCUs>true</DCC_DebugDCUs> |
110,10 → 86,6 |
<VerInfo_MajorVer>0</VerInfo_MajorVer> |
<VerInfo_MinorVer>5</VerInfo_MinorVer> |
</PropertyGroup> |
<PropertyGroup Condition="'$(Cfg_1_Win64)'!=''"> |
<AppEnableRuntimeThemes>true</AppEnableRuntimeThemes> |
<AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode> |
</PropertyGroup> |
<PropertyGroup Condition="'$(Cfg_2)'!=''"> |
<DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols> |
<DCC_Define>RELEASE;$(DCC_Define)</DCC_Define> |
128,14 → 100,10 |
<BT_BuildType>Debug</BT_BuildType> |
<Debugger_RunParams>D:\_test\scrap.php</Debugger_RunParams> |
<VerInfo_MajorVer>0</VerInfo_MajorVer> |
<VerInfo_MinorVer>6</VerInfo_MinorVer> |
<VerInfo_Keys>CompanyName=ViaThinkSoft;FileDescription=FastPHP Browser;FileVersion=0.6.0.0;InternalName=FastPHP Browser;LegalCopyright=(C) 2016-2022 Daniel Marschall, ViaThinkSoft;LegalTrademarks=;OriginalFilename=FastPHPBrowser.exe;ProductName=FastPHP;ProductVersion=0.6;Comments=www.viathinksoft.com</VerInfo_Keys> |
<VerInfo_MinorVer>5</VerInfo_MinorVer> |
<VerInfo_Keys>CompanyName=ViaThinkSoft;FileDescription=FastPHP Browser;FileVersion=0.5.0.0;InternalName=FastPHP Browser;LegalCopyright=(C) 2016-2022 Daniel Marschall, ViaThinkSoft;LegalTrademarks=;OriginalFilename=FastPHPBrowser.exe;ProductName=FastPHP;ProductVersion=0.5;Comments=www.viathinksoft.com</VerInfo_Keys> |
<Icon_MainIcon>FastPHP_Icon2.ico</Icon_MainIcon> |
</PropertyGroup> |
<PropertyGroup Condition="'$(Cfg_2_Win64)'!=''"> |
<AppEnableRuntimeThemes>true</AppEnableRuntimeThemes> |
<AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode> |
</PropertyGroup> |
<ItemGroup> |
<DelphiCompile Include="$(MainSource)"> |
<MainSource>MainSource</MainSource> |
165,13 → 133,12 |
<Source Name="MainSource">FastPHPBrowser.dpr</Source> |
</Source> |
<Excluded_Packages> |
<Excluded_Packages Name="$(BDSBIN)\dcloffice2k270.bpl">Microsoft Office 2000 Beispiele für gekapselte Komponenten für Automatisierungsserver</Excluded_Packages> |
<Excluded_Packages Name="$(BDSBIN)\dclofficexp270.bpl">Microsoft Office XP Beispiele für gekapselte Komponenten für Automation Server</Excluded_Packages> |
<Excluded_Packages Name="$(BDSBIN)\dcloffice2k260.bpl">Microsoft Office 2000 Beispiele für gekapselte Komponenten für Automatisierungsserver</Excluded_Packages> |
<Excluded_Packages Name="$(BDSBIN)\dclofficexp260.bpl">Microsoft Office XP Beispiele für gekapselte Komponenten für Automation Server</Excluded_Packages> |
</Excluded_Packages> |
</Delphi.Personality> |
<Platforms> |
<Platform value="Win32">True</Platform> |
<Platform value="Win64">False</Platform> |
</Platforms> |
</BorlandProject> |
<ProjectFileVersion>12</ProjectFileVersion> |
/trunk/FastPHPEditor.dproj |
---|
7,7 → 7,7 |
<TargetedPlatforms>1</TargetedPlatforms> |
<AppType>Application</AppType> |
<FrameworkType>VCL</FrameworkType> |
<ProjectVersion>19.2</ProjectVersion> |
<ProjectVersion>18.8</ProjectVersion> |
<Platform Condition="'$(Platform)'==''">Win32</Platform> |
</PropertyGroup> |
<PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''"> |
18,11 → 18,6 |
<CfgParent>Base</CfgParent> |
<Base>true</Base> |
</PropertyGroup> |
<PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Base)'=='true') or '$(Base_Win64)'!=''"> |
<Base_Win64>true</Base_Win64> |
<CfgParent>Base</CfgParent> |
<Base>true</Base> |
</PropertyGroup> |
<PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_1)'!=''"> |
<Cfg_1>true</Cfg_1> |
<CfgParent>Base</CfgParent> |
34,12 → 29,6 |
<Cfg_1>true</Cfg_1> |
<Base>true</Base> |
</PropertyGroup> |
<PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Cfg_1)'=='true') or '$(Cfg_1_Win64)'!=''"> |
<Cfg_1_Win64>true</Cfg_1_Win64> |
<CfgParent>Cfg_1</CfgParent> |
<Cfg_1>true</Cfg_1> |
<Base>true</Base> |
</PropertyGroup> |
<PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_2)'!=''"> |
<Cfg_2>true</Cfg_2> |
<CfgParent>Base</CfgParent> |
51,12 → 40,6 |
<Cfg_2>true</Cfg_2> |
<Base>true</Base> |
</PropertyGroup> |
<PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Cfg_2)'=='true') or '$(Cfg_2_Win64)'!=''"> |
<Cfg_2_Win64>true</Cfg_2_Win64> |
<CfgParent>Cfg_2</CfgParent> |
<Cfg_2>true</Cfg_2> |
<Base>true</Base> |
</PropertyGroup> |
<PropertyGroup Condition="'$(Base)'!=''"> |
<SanitizedProjectName>FastPHPEditor</SanitizedProjectName> |
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo> |
74,9 → 57,6 |
<DCC_ImageBase>00400000</DCC_ImageBase> |
<DCC_Namespace>Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;Winapi;FMXTee.Chart;$(DCC_Namespace)</DCC_Namespace> |
<Custom_Styles>"Windows10 SlateGray|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Windows10SlateGray.vsf"</Custom_Styles> |
<Icon_MainIcon>$(BDS)\bin\delphi_PROJECTICON.ico</Icon_MainIcon> |
<UWP_DelphiLogo44>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png</UWP_DelphiLogo44> |
<UWP_DelphiLogo150>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png</UWP_DelphiLogo150> |
</PropertyGroup> |
<PropertyGroup Condition="'$(Base_Win32)'!=''"> |
<UWP_DelphiLogo44>$(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png</UWP_DelphiLogo44> |
89,13 → 69,6 |
<Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File> |
<VerInfo_MinorVer>5</VerInfo_MinorVer> |
</PropertyGroup> |
<PropertyGroup Condition="'$(Base_Win64)'!=''"> |
<DCC_Namespace>System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace)</DCC_Namespace> |
<BT_BuildType>Debug</BT_BuildType> |
<VerInfo_Keys>CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=</VerInfo_Keys> |
<VerInfo_Locale>1033</VerInfo_Locale> |
<Manifest_File>$(BDS)\bin\default_app.manifest</Manifest_File> |
</PropertyGroup> |
<PropertyGroup Condition="'$(Cfg_1)'!=''"> |
<DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols> |
<DCC_Define>RELEASE;$(DCC_Define)</DCC_Define> |
105,16 → 78,11 |
<PropertyGroup Condition="'$(Cfg_1_Win32)'!=''"> |
<BT_BuildType>Debug</BT_BuildType> |
<AppDPIAwarenessMode>PerMonitor</AppDPIAwarenessMode> |
<VerInfo_Keys>CompanyName=ViaThinkSoft;FileDescription=FastPHP Editor;FileVersion=0.6.0.0;InternalName=FastPHP Editor;LegalCopyright=(C) 2016-2022 Daniel Marschall, ViaThinkSoft;LegalTrademarks=;OriginalFilename=FastPHPEditor.exe;ProductName=FastPHP Editor;ProductVersion=0.6;Comments=www.viathinksoft.com;ProgramID=com.embarcadero.$(MSBuildProjectName)</VerInfo_Keys> |
<VerInfo_MinorVer>6</VerInfo_MinorVer> |
<VerInfo_Keys>CompanyName=ViaThinkSoft;FileDescription=FastPHP Editor;FileVersion=0.5.0.0;InternalName=FastPHP Editor;LegalCopyright=(C) 2016-2022 Daniel Marschall, ViaThinkSoft;LegalTrademarks=;OriginalFilename=FastPHPEditor.exe;ProductName=FastPHP Editor;ProductVersion=0.5;Comments=www.viathinksoft.com;ProgramID=com.embarcadero.$(MSBuildProjectName)</VerInfo_Keys> |
<VerInfo_MinorVer>5</VerInfo_MinorVer> |
<VerInfo_Locale>1033</VerInfo_Locale> |
<AppEnableRuntimeThemes>true</AppEnableRuntimeThemes> |
<Icon_MainIcon>FastPHP_Icon1.ico</Icon_MainIcon> |
</PropertyGroup> |
<PropertyGroup Condition="'$(Cfg_1_Win64)'!=''"> |
<AppEnableRuntimeThemes>true</AppEnableRuntimeThemes> |
<AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode> |
</PropertyGroup> |
<PropertyGroup Condition="'$(Cfg_2)'!=''"> |
<DCC_Define>DEBUG;$(DCC_Define)</DCC_Define> |
<DCC_Optimize>false</DCC_Optimize> |
123,16 → 91,11 |
<PropertyGroup Condition="'$(Cfg_2_Win32)'!=''"> |
<DCC_ExeOutput>D:\__fastphp</DCC_ExeOutput> |
<VerInfo_Locale>1033</VerInfo_Locale> |
<VerInfo_Keys>CompanyName=ViaThinkSoft;FileDescription=FastPHP Editor;FileVersion=0.6.0.0;InternalName=FastPHP Editor;LegalCopyright=(C) 2016-2022 Daniel Marschall, ViaThinkSoft;LegalTrademarks=;OriginalFilename=FastPHPEditor.exe;ProductName=FastPHP Editor;ProductVersion=0.6;Comments=www.viathinksoft.com;ProgramID=com.embarcadero.$(MSBuildProjectName)</VerInfo_Keys> |
<VerInfo_MinorVer>6</VerInfo_MinorVer> |
<VerInfo_Keys>CompanyName=ViaThinkSoft;FileDescription=FastPHP Editor;FileVersion=0.5.0.0;InternalName=FastPHP Editor;LegalCopyright=(C) 2016-2022 Daniel Marschall, ViaThinkSoft;LegalTrademarks=;OriginalFilename=FastPHPEditor.exe;ProductName=FastPHP Editor;ProductVersion=0.5;Comments=www.viathinksoft.com;ProgramID=com.embarcadero.$(MSBuildProjectName)</VerInfo_Keys> |
<VerInfo_MinorVer>5</VerInfo_MinorVer> |
<AppEnableRuntimeThemes>true</AppEnableRuntimeThemes> |
<AppDPIAwarenessMode>PerMonitor</AppDPIAwarenessMode> |
<Icon_MainIcon>FastPHP_Icon1.ico</Icon_MainIcon> |
</PropertyGroup> |
<PropertyGroup Condition="'$(Cfg_2_Win64)'!=''"> |
<AppEnableRuntimeThemes>true</AppEnableRuntimeThemes> |
<AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode> |
</PropertyGroup> |
<Import Project="D:\a.optset" Condition="'$(Cfg_1_Win32)'!='' And Exists('D:\a.optset')"/> |
<ItemGroup> |
<DelphiCompile Include="$(MainSource)"> |
170,13 → 133,12 |
<Source Name="MainSource">FastPHPEditor.dpr</Source> |
</Source> |
<Excluded_Packages> |
<Excluded_Packages Name="$(BDSBIN)\dcloffice2k270.bpl">Microsoft Office 2000 Beispiele für gekapselte Komponenten für Automatisierungsserver</Excluded_Packages> |
<Excluded_Packages Name="$(BDSBIN)\dclofficexp270.bpl">Microsoft Office XP Beispiele für gekapselte Komponenten für Automation Server</Excluded_Packages> |
<Excluded_Packages Name="$(BDSBIN)\dcloffice2k260.bpl">Microsoft Office 2000 Beispiele für gekapselte Komponenten für Automatisierungsserver</Excluded_Packages> |
<Excluded_Packages Name="$(BDSBIN)\dclofficexp260.bpl">Microsoft Office XP Beispiele für gekapselte Komponenten für Automation Server</Excluded_Packages> |
</Excluded_Packages> |
</Delphi.Personality> |
<Platforms> |
<Platform value="Win32">True</Platform> |
<Platform value="Win64">False</Platform> |
</Platforms> |
</BorlandProject> |
<ProjectFileVersion>12</ProjectFileVersion> |