Subversion Repositories fastphp

Rev

Rev 3 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3 Rev 4
Line 1... Line 1...
1
unit Unit1;
1
unit Unit1;
2
 
2
 
-
 
3
(*
-
 
4
  This program requires
-
 
5
  - Microsoft Internet Controls (TWebBrowser)
-
 
6
    If you are using Delphi 10.1 Starter Edition, please import the ActiveX TLB
-
 
7
    "Microsoft Internet Controls"
-
 
8
  - SynEdit
-
 
9
    You can obtain SynEdit via Embarcadero GetIt
-
 
10
*)
-
 
11
 
3
// TODO: localize
12
// TODO: localize
4
 
13
 
5
// TODO: wieso geht copy paste im twebbrowser nicht???
14
// TODO: wieso geht copy paste im twebbrowser nicht???
6
// Wieso dauert webbrowser1 erste kompilierung so lange???
15
// Wieso dauert webbrowser1 erste kompilierung so lange???
7
 
16
 
8
// Future ideas
17
// Future ideas
9
// - ToDo list
18
// - ToDo list
10
// - Open/Save real files
19
// - Open/Save real files
11
// - configurable scraps dir. multiple scraps?
20
// - multiple scraps?
12
// - verschiedene php versionen?
21
// - verschiedene php versionen?
13
// - webbrowser1 nur laden, wenn man den tab anwählt?
22
// - webbrowser1 nur laden, wenn man den tab anwählt?
14
// - doppelklick auf tab soll diesen schließen
23
// - doppelklick auf tab soll diesen schließen
15
// - Strg+A
24
// - Strg+S
16
// - tastenkombo für "springe zu zeile"
25
// - tastenkombo für "springe zu zeile"
17
// - Onlinehelp aufrufen
26
// - Onlinehelp aufrufen
18
 
27
 
19
interface
28
interface
20
 
29
 
21
uses
30
uses
22
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
31
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
23
  Dialogs, StdCtrls, OleCtrls, SHDocVw, ComCtrls, ExtCtrls, ToolWin, IniFiles;
32
  Dialogs, StdCtrls, OleCtrls, ComCtrls, ExtCtrls, ToolWin, IniFiles,
-
 
33
  SynEditHighlighter, SynHighlighterPHP, SynEdit, SHDocVw_TLB;
24
 
34
 
25
type
35
type
26
  TForm1 = class(TForm)
36
  TForm1 = class(TForm)
27
    PageControl1: TPageControl;
37
    PageControl1: TPageControl;
28
    PlaintextTabSheet: TTabSheet;
38
    PlaintextTabSheet: TTabSheet;
Line 32... Line 42...
32
    Splitter1: TSplitter;
42
    Splitter1: TSplitter;
33
    PageControl2: TPageControl;
43
    PageControl2: TPageControl;
34
    TabSheet3: TTabSheet;
44
    TabSheet3: TTabSheet;
35
    HelpTabsheet: TTabSheet;
45
    HelpTabsheet: TTabSheet;
36
    WebBrowser2: TWebBrowser;
46
    WebBrowser2: TWebBrowser;
37
    Memo1: TMemo;
-
 
38
    OpenDialog1: TOpenDialog;
47
    OpenDialog1: TOpenDialog;
39
    Panel1: TPanel;
48
    Panel1: TPanel;
40
    OpenDialog2: TOpenDialog;
49
    OpenDialog2: TOpenDialog;
41
    OpenDialog3: TOpenDialog;
50
    OpenDialog3: TOpenDialog;
-
 
51
    SynEdit1: TSynEdit;
-
 
52
    SynPHPSyn1: TSynPHPSyn;
42
    procedure Run(Sender: TObject);
53
    procedure Run(Sender: TObject);
43
    procedure FormShow(Sender: TObject);
54
    procedure FormShow(Sender: TObject);
44
    procedure Memo1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
55
    procedure Memo1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
45
    procedure FormCreate(Sender: TObject);
56
    procedure FormCreate(Sender: TObject);
46
    procedure FormDestroy(Sender: TObject);
57
    procedure FormDestroy(Sender: TObject);
Line 111... Line 122...
111
      FastPHPConfig.WriteString('Paths', 'PHPInterpreter', phpExe);
122
      FastPHPConfig.WriteString('Paths', 'PHPInterpreter', phpExe);
112
      FastPHPConfig.UpdateFile;
123
      FastPHPConfig.UpdateFile;
113
    end;
124
    end;
114
  end;
125
  end;
115
 
126
 
116
  memo1.Lines.SaveToFile(GetScrapFile);
127
  SynEdit1.Lines.SaveToFile(GetScrapFile);
117
 
128
 
118
  memo2.Lines.Text := GetDosOutput('"'+phpExe+'" "'+GetScrapFile+'"', ExtractFileDir(Application.ExeName));
129
  memo2.Lines.Text := GetDosOutput('"'+phpExe+'" "'+GetScrapFile+'"', ExtractFileDir(Application.ExeName));
119
 
130
 
120
  BrowseContent(Webbrowser1, memo2.Lines.Text);
131
  BrowseContent(Webbrowser1, memo2.Lines.Text);
121
 
132
 
Line 125... Line 136...
125
    PageControl1.ActivePage := PlaintextTabSheet;
136
    PageControl1.ActivePage := PlaintextTabSheet;
126
end;
137
end;
127
 
138
 
128
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
139
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
129
begin
140
begin
130
  Memo1.Lines.SaveToFile(GetScrapFile);
141
  SynEdit1.Lines.SaveToFile(GetScrapFile);
131
end;
142
end;
132
 
143
 
133
procedure TForm1.FormCreate(Sender: TObject);
144
procedure TForm1.FormCreate(Sender: TObject);
134
begin
145
begin
135
  HlpPrevPageIndex := -1;
146
  HlpPrevPageIndex := -1;
Line 158... Line 169...
158
  if ScrapFile = '' then
169
  if ScrapFile = '' then
159
  begin
170
  begin
160
    Close;
171
    Close;
161
    exit;
172
    exit;
162
  end;
173
  end;
163
  Memo1.Lines.LoadFromFile(ScrapFile);
174
  SynEdit1.Lines.LoadFromFile(ScrapFile);
164
 
175
 
165
  PageControl1.ActivePage := PlaintextTabSheet;
176
  PageControl1.ActivePage := PlaintextTabSheet;
166
 
177
 
167
  PageControl2.ActivePageIndex := 0; // Scraps
178
  PageControl2.ActivePageIndex := 0; // Scraps
168
  HelpTabsheet.TabVisible := false;
179
  HelpTabsheet.TabVisible := false;
Line 186... Line 197...
186
      ShowMessage('Path does not exist!');
197
      ShowMessage('Path does not exist!');
187
      result := '';
198
      result := '';
188
      exit;
199
      exit;
189
    end;
200
    end;
190
 
201
 
191
    Memo1.Lines.Clear;
202
    SynEdit1.Lines.Clear;
192
    Memo1.Lines.SaveToFile(result);
203
    SynEdit1.Lines.SaveToFile(result);
193
 
204
 
194
    FastPHPConfig.WriteString('Paths', 'ScrapFile', result);
205
    FastPHPConfig.WriteString('Paths', 'ScrapFile', result);
195
  end;
206
  end;
196
end;
207
end;
197
 
208
 
Line 260... Line 271...
260
    FastPHPConfig.UpdateFile;
271
    FastPHPConfig.UpdateFile;
261
 
272
 
262
    ChmIndex := TMemIniFile.Create(IndexFile);
273
    ChmIndex := TMemIniFile.Create(IndexFile);
263
  end;
274
  end;
264
 
275
 
265
  w := GetWordUnderCaret(Memo1);
276
  w := GetWordUnderCaret(SynEdit1);
266
  if w = '' then exit;
277
  if w = '' then exit;
267
  if w[1] in ['0'..'9'] then exit;  
278
  if w[1] in ['0'..'9'] then exit;  
268
  w := StringReplace(w, '_', '-', [rfReplaceAll]);
279
  w := StringReplace(w, '_', '-', [rfReplaceAll]);
269
  w := LowerCase(w);
280
  w := LowerCase(w);
270
  CurSearchTerm := w;
281
  CurSearchTerm := w;