?? mainunit.pas
字號(hào):
MainForm.Next;
DosCommand1.Execute; //Do it!
Run := True;
{ End;
if (RQ1.Checked = True) Then
Begin
Save1Click(Sender);
Form1.Panel1.Height := 100;
Form1.Memo1.Text := '';
SetCurrentDir(ExtractFilePath(OptionsFrm.CompileCommand.Text));
BPCName := ChangeFileExt(ProjectName, '.BPC');
DosCommand1.CommandLine := OptionsFrm.CompileCommand.Text + ' "' + BPCName+'"'; if ActiveMDIChild.Handle <> Form1.Handle then
MainForm.Next;
DosCommand1.Execute;
Run := True;
DosCommand1.CommandLine := ChangeFileExt(ProjectName, '.EXE');
DosCommand1.Execute;
Exit;
End;}
INIFile.Free;
end;
procedure TMainForm.Run2Click(Sender: TObject);
var IniFile : TINIFile;
begin
INIFile := TINIFile.Create(ProjectName);
Save1Click(Sender);
Form1.Panel1.Height := 100;
Form1.Memo1.Text := '';
//Do some special things for RQ:
DeleteFile(PChar(ChangeFileExt(ProjectName, '.EXE'))); //In RQ, the compile will stop if the EXE already exists?
SetCurrentDir(ExtractFilePath(INIFile.ReadString('Project', 'CompileCommand-Long', '')));
//Set the compile command:
DosCommand1.CommandLine := Format(INIFile.ReadString('Project', 'CompileCommand-8.3', ''), [INIFile.ReadString('Project', 'CompileFile-8.3', '')]); if ActiveMDIChild.Handle <> Form1.Handle then
if ActiveMDIChild.Handle <> Form1.Handle then
MainForm.Next;
DosCommand1.Execute; //Do it!
Run := False; //Make sure the program doesn't run
{
if (KB1.Checked = True) Then
Begin
Save1Click(Sender);
Form1.Panel1.Height := 100;
Form1.Memo1.Text := '';
SetCurrentDir(PChar(ExtractFilePath(Application.ExeName) + 'KoolBASIC\'));
DosCommand1.CommandLine := 'KoolB.exe -Windows "' + ChangeFileExt(FileName, '.bas"');
if ActiveMDIChild.Handle <> Form1.Handle then
MainForm.Next;
DosCommand1.Execute;
Run := False;
Exit;
End;
if (RQ1.Checked = True) Then
Begin
Save1Click(Sender);
Form1.Panel1.Height := 100;
Form1.Memo1.Text := '';
MoveFile(PChar(FileName), PChar(ExtractFilePath(Application.ExeName) + 'Rapid-Q\' + ExtractFileName(FileName)));
SetCurrentDir(PChar(ExtractFilePath(Application.ExeName) + 'Rapid-Q\'));
// DosCommand1.CommandLine := 'RC.exe "' + ExtractFileName(BASICFile) + '"';
if ActiveMDIChild.Handle <> Form1.Handle then
MainForm.Next;
DosCommand1.Execute;
Run := False;
Exit;
End;
// ShellExecute(Handle,nil,PChar('KoolB.exe'), PChar(' > Results.txt'), nil,SW_SHOWNORMAL);
// ShellExecute(Handle,nil,PChar('KoolB.exe'), PChar(' > Results.txt'), nil,SW_SHOWNORMAL);
}
INIFile.Free;
end;
procedure TMainForm.DosCommand1NewLine(Sender: TObject; NewLine: String;
OutputType: TOutputType);
begin
Form1.Memo1.Lines.Add(NewLine);
end;
procedure TMainForm.DosCommand1Terminated(Sender: TObject);
var Results : String; INIFile : TINIFile;
begin
INIFile := TINIFile.Create(ProjectName);
IF Run = True then
begin
Results := Form1.Memo1.Text;
ShellExecute(Handle, nil, PChar(ChangeFileExt(INIFile.ReadString('Project', 'CompileFile-Long', ''), '.EXE ')), PChar(INIFile.ReadString('Project', 'ParamsToPass', '')), nil, SW_SHOWNORMAL);
{ if Pos('Compile Time:',Results) <> 0 Or Pos('Compile time:', Results) then
begin
Form1.Panel1.Height := 3;
if Run = True then
begin
if (Language = 'KoolBASIC') Then
Begin
ShellExecute(Handle, nil, PChar(ChangeFileExt(FileName, '.exe')), nil, nil, SW_SHOWNORMAL);
Run := False;
Exit;
End;
If (RQ1.Checked = True) Then
Begin
ShellExecute(Handle, nil, PChar(ChangeFileExt(FileName,'.exe')), nil, nil, SW_SHOWNORMAL);
Run := False;
Exit;
End;
end;
end
else
begin}
Form1.Memo1.SelStart := 0;
Form1.Memo1.SelLength := 0;
// end;
end;
end;
procedure TMainForm.PropertiesSetEditText(Sender: TObject; ACol,
ARow: Integer; const Value: String);
var temp : Integer;
begin
try
temp := StrToInt(Properties.Cells[1,1]);
except
on EConvertError do temp := 0;
end;
RTDesigner1.Control[0].Top := temp;
RTDesigner1.UpdateSelection;
end;
procedure TMainForm.TreeView2GetSelectedIndex(Sender: TObject;
Node: TTreeNode);
begin
if (TreeView2.Selected.Text = 'BASIC Project') Then Exit;
if (TreeView2.Selected.Text = 'Form Designer') Then
begin
if (MainForm.ActiveMDIChild.Handle = Form1.Handle) Then
MainForm.Next;
RTDesigner1.SelectNone;
Exit;
end;
if (TreeView2.Selected.Text = 'Code View') Then
begin
if (MainForm.ActiveMDIChild.Handle <> Form1.Handle) Then
MainForm.Next;
Exit;
end;
RTDesigner1.SelectNone;
with ComboBox1 do
RTDesigner1.AddToSelection(TControl(TreeView2.Selected.Data));
RTDesigner1.ShowSelection(True);
end;
procedure TMainForm.TreeView2Click(Sender: TObject);
var Forms : Integer;
begin
IF (RTDesigner1.BaseControl = nil) Then exit;
If (RTDesigner1.EditMode = False) Then Exit;
if (TreeView2.Selected.Text = 'BASIC Project') Then Exit;
if (TreeView2.Selected.Text = 'Form Designer') Then
begin
if (MainForm.ActiveMDIChild.Handle = Form1.Handle) Then
MainForm.Next;
Exit;
end;
if (TreeView2.Selected.Text = 'Code View') Then
begin
if (MainForm.ActiveMDIChild.Handle <> Form1.Handle) Then
MainForm.Next;
Exit;
end;
if (TreeView2.Selected.Parent.Text = 'Code View') Then Begin
if (MainForm.ActiveMDIChild.Handle <> Form1.Handle) Then
MainForm.Next;
Form1.Tabs.ActivePage:= Form1.Tabs.Pages[TTabSheet(TreeView2.Selected.Data).TabIndex];
Exit;
End;
if (TreeView2.Selected.Parent.Text = 'Form Designer') Then Begin
For Forms := 0 To MainForm.MDIChildCount-1 Do
Begin
if (MainForm.MDIChildren[Forms].Handle <> Form1.Handle) Then
ShowWindow(MainForm.MDIChildren[Forms].Handle, SW_HIDE);
End;
// ShowWindow(MainForm.ActiveMDIChild.Handle, SW_HIDE);
ShowWindow(TMDIChild(TreeView2.Selected.Data).Handle, SW_SHOW);
TMDIChild(TreeView2.Selected.Data).BringToFront;
RTDesigner1.BaseControl := TMDIChild(TreeView2.Selected.Data);
SelectAt(FindString(TForm(TreeView2.Selected.Data).Caption));
Properties.Cells[1,0]:= 'None';
Properties.Cells[1,1]:= IntToStr(ActiveMDIChild.Top);
Properties.Cells[1,2]:= IntToStr(ActiveMDIChild.Left);
Properties.Cells[1,3]:= IntToStr(ActiveMDIChild.Height);
Properties.Cells[1,4]:= IntToStr(ActiveMDIChild.Width);
Exit;
End;
RTDesigner1.SelectNone;
with ComboBox1 do
RTDesigner1.AddToSelection(TControl(TreeView2.Selected.Data));
RTDesigner1.ShowSelection(True);
end;
procedure TMainForm.TreeView2KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
var TempNode : TTabSheet;
begin
If (RTDesigner1.EditMode = False) Then Exit;
if (Key = VK_DELETE) Then
begin
if (TreeView2.Selected.Text = 'BASIC Project') Or (TreeView2.Selected.Text = 'Form Designer') Or (TreeView2.Selected.Text = 'Code View') Then Exit;
if (TreeView2.Selected.Parent.Text = 'Code View') Then Begin
if (TTabSheet(TreeView2.Selected.Data).Tag = 1) Then Exit;
if (MessageDlg('Are you sure you want to delete this file from the project?', mtWarning, [mbYes, mbNo], 0) <> mrYes) Then Exit;
TempNode := TTabSheet(TreeView2.Selected.Data);
TreeView2.Selected.Data := nil;
Form1.Tabs.Pages[TempNode.TabIndex].TabVisible := False;
TempNode.Free;
TreeView2.Items.Delete(TreeView2.Selected);
Exit;
End;
TreeView2.Items.Delete(TreeView2.Selected);
RTDesigner1.DeleteSelection;
end;
if (TreeView2.Selected.Text = 'BASIC Project') Then Exit;
if (TreeView2.Selected.Text = 'Form Designer') Or (TreeView2.Selected.Text = 'Form1') Then
begin
if (MainForm.ActiveMDIChild.Handle = Form1.Handle) Then
MainForm.Next;
Exit;
end;
if (TreeView2.Selected.Text = 'Code View') Then
begin
if (MainForm.ActiveMDIChild.Handle <> Form1.Handle) Then
MainForm.Next;
Exit;
end;
if (TreeView2.Selected.Parent.Text = 'Code View') Then Begin
if (MainForm.ActiveMDIChild.Handle <> Form1.Handle) Then
MainForm.Next;
Form1.Tabs.ActivePage:= Form1.Tabs.Pages[TTabSheet(TreeView2.Selected.Data).TabIndex];
Exit
End;
RTDesigner1.SelectNone;
with ComboBox1 do
RTDesigner1.AddToSelection(TControl(TreeView2.Selected.Data));
RTDesigner1.ShowSelection(True);
TreeView2.SetFocus;
end;
procedure TMainForm.RTDesigner1RemoveControl(Sender: TObject;
aControl: TControl);
var Items : Integer;
begin
For Items := 0 To TreeView2.Items.Count-1 Do
begin
if TreeView2.Items[Items].Data = aControl Then
begin
TreeView2.Items.Delete(TreeView2.Items[Items]);
Exit;
end;
End;
end;
procedure TMainForm.TreeView2DragOver(Sender, Source: TObject; X,
Y: Integer; State: TDragState; var Accept: Boolean);
begin
Accept := False;
// if (Sender = TTreeView) Then
if (TTreeView(Sender) = TreeView2) Then
Accept := True;
end;
procedure TMainForm.TreeView2DragDrop(Sender, Source: TObject; X,
Y: Integer);
var TargetNode : TTreeNode;
SourceNode : TTreeNode;
CurrentControl : TControl;
begin
With TreeView2 Do
Begin
TargetNode := GetNodeAt(X,Y);
SourceNode := Selected;
if (TargetNode = nil) Or (TargetNode = Selected.Parent) Then
Begin
EndDrag(False);
Exit;
End;
if (SourceNode.Level = 0) Or (SourceNode.Level = 1) Or (TargetNode.Level = 0) Or (TargetNode.Text = 'Code View') Then
Begin
EndDrag(False);
Exit;
End;
if (IsAParentNode(Selected, TargetNode)) Then
Begin
EndDrag(False);
Exit;
End;
if (TControl(TargetNode.Data).ClassName = 'TGroupBox') Or (TControl(TargetNode.Data).ClassName = 'TPanel') Or (TControl(TargetNode.Data).ClassName = 'TMDIChild') Then
Begin
MoveTreeNode(TreeView2, SourceNode, TargetNode);
SourceNode.Delete;
TargetNode.Expand(True);
TWinControl(SourceNode.Data).Parent := TWinControl(TargetNode.Data);
TWinControl(SourceNode.Data).Left := 5;
TWinControl(SourceNode.Data).Top := 5;
CurrentControl := RTDesigner1.Control[0];
RTDesigner1.SelectNone;
RTDesigner1.AddToSelection(CurrentControl);
RTDesigner1.ShowSelection(True);
End
Else
Begin
ShowMessage('Cannot put a control on a ' + TControl(TargetNode.Data).ClassName + '.');
EndDrag(False);
Exit;
End;
End;
end;
procedure TMainForm.RTDesigner1BaseControlClick(Sender: TObject;
var ClearSelection, DrawSelectionFrame: Boolean; Shift: TShiftState; X,
Y: Integer);
Var Items : Integer;
begin
For Items := 0 To TreeView2.Items.Count-1 Do
begin
if TreeView2.Items[Items].Data = ActiveMDIChild Then
begin
TreeView2.Select(TreeView2.Items[Items]);
//TreeView2.Select(TreeView2.Items.AddChildObject(TreeView2.Items[Items], Control.Name, TObject(Control)));
end;
End;
SelectAt(FindString(TMDIChild(TreeView2.Selected.Data).Caption));
Properties.Cells[1,0]:= 'None';
Properties.Cells[1,1]:= IntToStr(ActiveMDIChild.Top);
Properties.Cells[1,2]:= IntToStr(ActiveMDIChild.Left);
Properties.Cells[1,3]:= IntToStr(ActiveMDIChild.Height);
Properties.Cells[1,4]:= IntToStr(ActiveMDIChild.Width);
end;
procedure TMainForm.TBXItem8Click(Sender: TObject);
begin
If (ActiveMDIChild.Handle <> Form1.Handle) Then
MainForm.Next;
// Form1.CodeSense1.ExecuteCmd(178, 0); //178=cmCmdFind
Unit1.CodeSense[Form1.Tabs.ActivePageIndex].ExecuteCmd(cmCmdFind, 0)
end;
procedure TMainForm.TBXItem9Click(Sender: TObject);
begin
If (ActiveMDIChild.Handle <> Form1.Handle) Then
MainForm.Next;
// Form1.CodeSense1.ExecuteCmd(169, 0); //aka. Find & Replace
Unit1.CodeSense[Form1.Tabs.ActivePageIndex].ExecuteCmd(169, 0)
end;
procedure TMainForm.TBXItem10Click(Sender: TObject);
begin
If (ActiveMDIChild.Handle <> Form1.Handle) Then
MainForm.Next;
// Form1.CodeSense1.ExecuteCmd(168, -1); //aka. Goto Line
Unit1.CodeSense[Form1.Tabs.ActivePageIndex].ExecuteCmd(168, -1);
end;
procedure TMainForm.TBXItem20Click(Sender: TObject);
begin
If ActiveMDIChild.Handle = Form1.Handle Then
MainForm.Next;
// RTDesigner1.ShowSelection(True);
RTDesigner1.SendToBack;
end;
procedure TMainForm.TBXItem21Click(Sender: TObject);
begin
If ActiveMDIChild.Handle = Form1.Handle Then
MainForm.Next;
// RTDesigner1.ShowSelection(True);
RTDesigner1.SendToBack;
end;
procedure TMainForm.TBXItem31Click(Sender: TObject);
begin
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -