亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mainunit.pas

?? IDE開發環境
?? PAS
?? 第 1 頁 / 共 5 頁
字號:
  //Menu Style:
  MainForm.TBXSubmenuItem6.Caption := LanguageINI.ReadString('Project', 'Menu Style', 'Menu Style');
    MainForm.NormalStyleMenus1.Caption := LanguageINI.ReadString('Menu Style', 'Normal', 'Normal');
    MainForm.StripesStyleMenus1.Caption := LanguageINI.ReadString('Menu Style', 'Stripes', 'Stripes');
    MainForm.XPStyleMenus1.Caption := LanguageINI.ReadString('Menu Style', 'XP', 'XP');

  //Mode:
  MainForm.TBXSubmenuItem7.Caption := LanguageINI.ReadString('Project', 'Mode', 'Mode');
    MainForm.RQ1.Caption := LanguageINI.ReadString('Mode', 'Rapid-Q', 'Rapid-Q');
    MainForm.KB1.Caption := LanguageINI.ReadString('Mode', 'KoolBASIC', 'KoolBASIC');
    MainForm.BPP1.Caption := LanguageINI.ReadString('Mode', 'B++', 'B++');

//View:
MainForm.TBXSubmenuItem5.Caption := LanguageINI.ReadString('Menu Bar', 'View', 'View');
  MainForm.TBXItem13.Caption := LanguageINI.ReadString('View', 'Project Manager', 'Project Manager');
  MainForm.TBXItem18.Caption := LanguageINI.ReadString('View', 'Object Inspector', 'Object Inspector');
  MainForm.TBXItem19.Caption := LanguageINI.ReadString('View', 'Project TreeView', 'Project TreeView');
  MainForm.TBXItem31.Caption := LanguageINI.ReadString('View', 'Cascade', 'Cascade');
  MainForm.TBXItem32.Caption := LanguageINI.ReadString('View', 'Tile', 'Tile');

//Options:
MainForm.TBXSubmenuItem9.Caption := LanguageINI.ReadString('Menu Bar', 'Options', 'Options');
  MainForm.OptionsItem.Caption := LanguageINI.ReadString('Options', 'Options', 'Options');
  MainForm.LanguageItem.Caption := LanguageINI.ReadString('Options', 'Language', 'Language');

//Help:
MainForm.TBXSubmenuItem4.Caption := LanguageINI.ReadString('Menu Bar', 'Help', 'Help');
  MainForm.TBXItem27.Caption := LanguageINI.ReadString('Help', 'Help', 'Help');
  MainForm.TBXItem28.Caption := LanguageINI.ReadString('Help', 'About', 'About');
end;

procedure TMainForm.FormCreate(Sender: TObject);
begin
  Application.Title := 'BASIC IDE '+VersionNum;
  MainForm.Caption := 'BASIC IDE '+VersionNum;
  PageCount := 0;
  Language := 'Rapid-Q';
  Properties.Cells[0,0]:='Parent';
  Properties.Cells[0,1]:='Top';
  Properties.Cells[0,2]:='Left';
  Properties.Cells[0,3]:='Height';
  Properties.Cells[0,4]:='Width';

  TBXSetTheme('OfficeXP');
  Project := True;
//  PageCount := 1;
  FormCount := 0;
  CodeView := 1;
  CloseChildren := False;
  LastTabCount := 0;
end;

Function TMainForm.GetControlClass : TControlClass;
Begin
  Result:=nil;
  if BImage.Down Then Result := TImage
  Else if BLabel.Down Then Result:=TLabel
  Else if BEdit.Down Then Result:=TEdit
  Else if BGroup.Down Then Result:=TGroupBox
  Else if BButton.Down Then Result:=TButton
  Else if BCheckBox.Down Then Result:=TCheckBox
  Else if BRadio.Down Then Result:=TRadioButton
  Else if BComboBox.Down Then Result:=TComboBox
  Else if BListBox.Down Then Result:=TListBox
  Else if BScrollBar.Down Then Result:=TScrollBar
  Else if BBitBtn.Down Then Result:=TBitBtn
  Else if BSpeedButton.Down Then Result:=TSpeedButton
  Else if BPanel.Down Then Result:=TPanel;
  BNone1.Down:=True;
  BNone2.Down:=True;
End;

procedure TMainForm.Open1Click(Sender: TObject);
var ProjectINI : TINIFile;
    Items      : Integer;
    NumOfBASICFiles : Integer;
//    FormFiles  : Integer;
    TempCode   : TCodeSEnse;
    TempNode   : TTreeNode;
    Count      : Integer;
    TempMDI    : TMDIChild;
    Extracted  : STRING;
    CurrentlyAt: INTEGER; //How many times we've looped
    NewNode    : TTreeNode;
//    NumOfTabs  : Integer;
    BPCName    : STRING;
begin
//Reset the array of names:
  for CurrentlyAt := 0 to 255 do
  begin
    BASICFiles[CurrentlyAt] := '';
  end;

  IF OpenDialog.Execute = True then
    ProjectName := OpenDialog.FileName
  else
    exit;

  ProjectINI := TINIFile.Create(ProjectName);

  ProjectName := ProjectINI.ReadString('Project', 'ProjectName', '');
  FormFiles[0] := ProjectINI.ReadString('Form Designer', 'FormFile0', '');
  LastTabCount := ProjectINI.ReadInteger('Code View', 'PageCount', 0);
  PageCount := ProjectINI.ReadInteger('Code View', 'PageCount', 0);
  NumOfBASICFiles := ProjectINI.ReadInteger('Code View', 'BASICFiles', 0);

  Language := 'Rapid-Q';

  //Load up the Form
  RTDesigner1.LoadBCFromFile(FormFiles[0]);

  if LastTabCount > Form1.Tabs.PageCount-1 then //If we need more tabs
    begin
      for CurrentlyAt := Form1.Tabs.PageCount to LastTabCount do
        begin
          TBXItem15Click(Sender);
        end;
    end;

  //If we have to many tabs:
  if LastTabCount < Form1.Tabs.PageCount-1 then //If we have to many files
    for CurrentlyAt := LastTabCount+1 to Form1.Tabs.PageCount-1 do
    begin
      Form1.Tabs.Pages[CurrentlyAt].Destroy;
      Unit1.CodeSense[CurrentlyAt].Destroy;
    end;

  Form1.Tabs.ActivePageIndex := 0;

  PageCount := ProjectINI.ReadInteger('Code View', 'PageCount', 0);
  //We need to reset PageCount because when I create new tabs, it increases
  //PageCount.

  //Load up the files:
  for CurrentlyAt := 0 to NumOfBASICFiles do
  begin
    BasicFiles[CurrentlyAt] := ProjectINI.ReadString('Code View', 'BASICFile' + IntToStr(CurrentlyAt), '');
    Unit1.CodeSense[CurrentlyAt].OpenFile(BASICFiles[CurrentlyAt]);
    Unit1.CodeSense[CurrentlyAt].Language := 'Rapid-Q';
  end; //End loading up files
//exit;;

  Form1.Tabs.ActivePageIndex := 0;

  //Change their title:
  for CurrentlyAt := 0 to PageCount do
  begin
    Form1.Tabs.Pages[CurrentlyAt].Caption := ExtractFileName(BASICFiles[CurrentlyAt]);
  end;

  TreeView2.LoadFromFile(ChangeFileExt(ProjectName, '.PTV'));

  For CurrentlyAt := 0 to Form1.Tabs.PageCount-1 do
  begin
    Unit1.CodeSense[CurrentlyAt].Language := Language; //aka., RapidQ
  end;

  Form1.Tabs.ActivePageIndex := ProjectINI.ReadInteger('CodeView', 'LastActiveTab',0);

  Save1Click(Sender); //save it, resets tab titles and does other useful stuff
end;

procedure TMainForm.SaveAs1Click(Sender: TObject);
var
  CurrentlyAt : Integer; //How many tabs we've covered
begin
ProjectName := '';
IF SaveProjectDialog.Execute = False then
  exit;;

ProjectName := SaveProjectDialog.FileName;

FOR CurrentlyAt := 0 to Form1.Tabs.PageCount-1 do
  begin
    SaveBASICDialog.Title := 'Save '+Form1.Tabs.Pages[CurrentlyAt].Caption+' as...';
    IF SaveBasicDialog.Execute = true then
      begin
        BasicFiles[CurrentlyAt] := SaveBasicDialog.FileName;
        SaveBASICDialog.FileName := '';
      end //End of IF

    //The user clicked cancle:
    else
      exit;
  end;  //End for loop

  IF SaveFormDialog.Execute = true then
    FormFiles[0] := SaveFormDialog.FileName
  Else
    Exit;

LastTabCount := Form1.Tabs.PageCount-1;
Save1Click(Sender);
end;

procedure TMainForm.Save1Click(Sender: TObject);
var ProjectINI : TINIFile;
    Items      : Integer;
    TempCode   : TCodeSense;
    Extracted  : STRING;   //Used for setting tab titles
    CurrentlyAt: Integer; //Loop count
    ToBeWritten: String;  //What's to be written to the compiled file
    FileHandle : Integer; //Was creating the BPC sucessful?
    BPCName    : STRING; //Name of the BPC FIle
    SettingsINI: TINIFIle;
    RecentFilesCount: Integer;
    TempRecent : array[1..11] of String;
    RecentFile : String;
    RecentFileTB: array[1..10] of TTBXItem;
    RecentTBClick: array[1..10] of TNotifyEvent;
begin
IF ProjectName = '' THEN
  begin
    SaveAs1Click(Sender);
    exit;
  end;

if PageCount = 0 then
  PageCount := Form1.Tabs.PageCount-1;

Language := 'Rapid-Q'; //makes it a little eaiser to port from language to language
//just change the var name.

IF LastTabCount < Form1.Tabs.PageCount-1 then
begin
  for CurrentlyAt := LastTabCount+1 to Form1.Tabs.PageCount-1 do
  //We need to start counting at at LastTabCount+1 because LastTabCount is an
  //old number
  begin
    SaveBASICDialog.Title := 'Save '+Form1.Tabs.Pages[CurrentlyAt].Caption+' as...';
    IF SaveBASICDialog.Execute then
      begin
        BASICFiles[CurrentlyAt] := SaveBASICDialog.FileName;
        SaveBASICDialog.FileName := '';
      end
    else
      exit;;
  end;
end;

LastActiveTab := Form1.Tabs.ActivePageIndex; //We don't want to forget...

//Write the INI (Project) File:
ProjectINI := TINIFile.Create(ProjectName);

ProjectINI.WriteString('Project', 'ProjectName', ProjectName);
//Language the program is written in

//See above for comments about NumOfTabs. It might also be used for creating
//tabs.
ProjectINI.WriteInteger('Code View', 'PageCount', PageCount);

ProjectINI.WriteString('Form Designer', 'FormFile0', FormFiles[0]);
ProjectINI.WriteInteger('Form Designer', 'FormFiles', 0); //OK, OK, this is lame
ProjectINI.WriteInteger('Code View', 'LastActiveTab', LastActiveTab); //bring it up next time

//Save the Form File:
RTDesigner1.SaveBCToFile(FormFiles[0]);

//Save the TreeView. Yep! :-)
TreeView2.SaveToFile(ChangeFileExt(ProjectName, '.PTV'));

//Save the BASIC Files:
for CurrentlyAt := 0 to PageCount do
  begin
    Unit1.CodeSense[CurrentlyAt].SaveFile(BASICFiles[CurrentlyAt], False);
    ProjectINI.WriteString('Code View', 'BASICFile'+IntToStr(CurrentlyAt), BASICFiles[CurrentlyAt]);
  end;

//Change the titles of the BASIC Files to the tabs:
for CurrentlyAt := 0 to PageCount do
  begin
    Form1.Tabs.Pages[CurrentlyAt].Caption := ExtractFileName(BASICFiles[CurrentlyAt]);
  end;

//After all the work is done, write down the number of tabs:
LastTabCount := Form1.Tabs.PageCount-1;
ProjectINI.WriteInteger('Code View', 'BASICFiles', LastTabCount);

SettingsINI := TINIFile.Create('BASICIDE.INI');
RecentFilesCount := SettingsINI.ReadInteger('RecentFiles', 'FileCount', 0);

{for CurrentlyAt := 1 to 10 do
begin
  TempRecent[CurrentlyAt] := SettingsINI.ReadString('RecentFiles', 'File'+IntToStr(CurrentlyAt), '');
  SettingsINI.WriteString('RecentFiles','File'+IntToStr(CurrentlyAt), TempRecent[CurrentlyAt]);
  SettingsINI.DeleteKey('Recent','File10');
end;

SettingsINI.WriteString('RecentFiles', 'File1', ProjectName);

//Redo the entries:
  RecentFilesMenu.Clear;

  //load recent menu:
  for CurrentlyAt := 1 to 10 do
  begin
    RecentFile := SettingsINI.ReadString('RecentFiles','File'+IntToStr(CurrentlyAt), '');
    IF RecentFile = '' then //at the end of recent files
      exit;;

    RecentNamePublic := RecentFile; //because we can't pass params w/ a TNotifyEvent
    RecentFileTB[CurrentlyAt] := TTBXItem.Create(RecentFilesMenu);
    RecentFileTB[CurrentlyAt].Caption := RecentFile;
    RecentFilesMenu.Add(RecentFileTB[CurrentlyAt]);
    RecentTBClick[CurrentlyAt] := LoadRecentProject;
    RecentFileTB[CurrentlyAt].OnClick := RecentTBClick[CurrentlyAt];
  end;}

//Clean up:
ProjectINI.Free;
end;

procedure TMainForm.New1Click(Sender: TObject);
var aChild : TMDIChild;
begin
{
  Close1Click(Sender);
  ShowWindow(Form1.Handle, SW_SHOW);
  aChild := TMDIChild.Create(Application);
  RTDesigner1.BaseControl:=aChild;
  aChild.FileName:='';
  MainForm.Save1.Enabled := True;
  MainForm.SaveAs1.Enabled := True;
  MinForm.TBXItem3.Enabled := True;
  Compile1.Enabled := True;
  CompileRun1.Enabled  := True;
  TreeView2.Items.Clear;
  TreeView2.Items.Add(TreeView2.TopItem, 'BASIC Project');
  TreeView2.Items.AddChild(TreeView2.Items[0], 'Code View');
  TreeView2.Select(TreeView2.Items.ADdChildObjectFirst(TreeView2.Items.AddChild(TreeView2.TopItem, 'Form Designer'), 'Form1', TObject(aChild)));
  TreeView2.Items[1].Selected := True;
  ComboBox1.AddItem(aChild.Caption, aChild);
  SelectAt(FindString(aChild.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);
  Unit1.CodeSense[0].Text := '''Welcome to the KoolB-IDE, the multi-BASIC IDE';
//  x(Sender, TControl(CreateWindowEx(0, PChar('button'), PChar('Test'), WS_VISIBLE Or WS_CHILD, 5, 5, 50, 25, aChild.Handle, HMENU(1001), HInstance, nil)));
//  MakeButton(aChild.Handle, HInstance);
}
IF ActiveMDIChild.Handle = Form1.Handle then //If the Code Editor is active
    TBXItem15Click(Sender) //Make a new tab
  else //the Form Designer must be active
    TBXItem17Click(Sender); //make a new form
end;

procedure TMainForm.Close1Click(Sender: TObject);
var NumberOfChildren : Integer;
    Count            : Integer;
    TotalItems       : Integer;
    Modified         : Bool;
begin
  For Count := 0 to Form1.Tabs.PageCount-1 do
  begin
    IF Unit1.CodeSense[Count].Modified = True then
      Modified := True;
    IF Modified = True then
      IF(MessageDlg('One or more files had been modified since last save. Do you want to save the current project before closing?', mtWarning, [mbYes, mbNo], 0) = mrYes) THEN
        Save1Click(Sender);
      break;
  end;

{  IF Form1.CodeSense1.Modified = TRUE THEN
   IF(MessageDlg('Do you want to save before closing project?', mtWarning, [mbYes, mbNo], 0) = mrYes) THEN
    Save1Click(Sender);}
//  BASICFile := '';
  RTDesigner1.BaseControl := nil;
  //Form1.CodeSense1.Text := '';
  For Count := 0 to Form1.Tabs.PageCount-1 do
    Unit1.CodeSense[Count].Text := '';

  CloseChildren := True;
  TotalItems := TreeView2.Items.Count-1;
  Count := 0;

  IF Form1.Tabs.PageCount > 1 then
    For Count := 2 to Form1.Tabs.PageCount do
    begin
      Unit1.CodeSense[Count-1].Destroy;
      Form1.Tabs.Pages[Count-1].Destroy;
    end;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
老司机精品视频导航| 成人av电影在线观看| 国产精品99久久久| 色婷婷综合久久久中文一区二区| 欧美午夜理伦三级在线观看| 欧美r级电影在线观看| 综合久久久久综合| 久久爱www久久做| 色婷婷亚洲精品| 久久久久久毛片| 午夜视黄欧洲亚洲| 99re在线精品| 国产欧美日韩在线| 美国一区二区三区在线播放| 色综合久久中文综合久久牛| 久久久亚洲欧洲日产国码αv| 亚洲精品视频一区二区| 国产主播一区二区| 9191国产精品| 亚洲高清免费视频| 不卡一区中文字幕| 久久久一区二区三区捆绑**| 日本成人中文字幕| 欧美人xxxx| 亚洲一区二区精品久久av| 不卡一区二区中文字幕| 久久精品人人做人人综合| 日韩精品欧美成人高清一区二区| 色诱视频网站一区| 自拍偷拍亚洲欧美日韩| 国产69精品一区二区亚洲孕妇| 日韩欧美一区中文| 免费在线观看成人| 欧美精品在线一区二区三区| 亚洲五码中文字幕| 欧美性受极品xxxx喷水| 一区二区三区欧美日韩| 色婷婷综合五月| 一区二区三区欧美日| 色哟哟一区二区三区| 亚洲精品中文字幕乱码三区| 99精品视频一区二区| 1024成人网| 91麻豆精品一区二区三区| 亚洲视频免费在线观看| 色综合一区二区三区| 午夜精品久久久久久久99水蜜桃 | 色拍拍在线精品视频8848| 欧美国产欧美亚州国产日韩mv天天看完整| 激情深爱一区二区| 久久精品人人做人人综合 | 制服丝袜亚洲色图| 轻轻草成人在线| 欧美sm美女调教| 国产成a人亚洲精品| 国产精品嫩草影院com| 美国十次综合导航| 精品国产一区二区三区不卡| 韩国精品免费视频| 中文字幕精品综合| 欧美亚洲另类激情小说| 日韩激情视频在线观看| 久久人人爽爽爽人久久久| 成人综合激情网| 一区二区欧美在线观看| 欧美一级免费观看| 国产精品综合二区| 一区二区三区中文字幕| 欧美一区日本一区韩国一区| 国产一区二区不卡| 亚洲你懂的在线视频| 91精品国产麻豆国产自产在线| 九一久久久久久| 最好看的中文字幕久久| 91精品在线免费| 成人avav影音| 日韩在线卡一卡二| 国产三级精品视频| 欧美日韩一区二区三区在线看| 久久精品二区亚洲w码| 国产精品久久久爽爽爽麻豆色哟哟| 欧美亚洲一区二区在线观看| 国产一区欧美一区| 亚洲国产一区二区三区青草影视| 精品乱人伦小说| 欧美亚洲一区三区| 成人丝袜高跟foot| 免费成人av资源网| 最好看的中文字幕久久| 精品动漫一区二区三区在线观看| 91美女视频网站| 国产真实精品久久二三区| 亚洲一区二区三区在线| 国产欧美日韩亚州综合| 91精品国产综合久久精品app| 成人激情午夜影院| 精品一区二区三区视频在线观看| 亚洲猫色日本管| 久久久久久久电影| 日韩欧美中文字幕一区| 色香色香欲天天天影视综合网| 国产在线精品一区二区不卡了| 亚洲午夜影视影院在线观看| 亚洲综合图片区| 国产精品福利在线播放| 久久一区二区视频| 日韩一区二区视频在线观看| 在线观看91视频| 99久久久久免费精品国产 | 欧美国产日韩一二三区| 欧美一区二区三区思思人| 欧美日韩一区二区在线观看| 972aa.com艺术欧美| 成人性生交大合| 国产成人精品影视| 国产乱码精品1区2区3区| 麻豆精品精品国产自在97香蕉| 亚洲成av人**亚洲成av**| 一区二区国产视频| 亚洲欧美日韩电影| 最新欧美精品一区二区三区| 国产午夜精品一区二区三区嫩草 | 久久久国产精品麻豆| 精品国产免费视频| 精品久久一二三区| 26uuu精品一区二区在线观看| 欧美刺激脚交jootjob| 日韩精品一区在线观看| 日韩精品一区二区三区老鸭窝| 日韩区在线观看| 久久综合成人精品亚洲另类欧美 | 成人毛片在线观看| av一区二区三区| 一本大道综合伊人精品热热| 欧美曰成人黄网| 欧美精品1区2区3区| 日韩欧美一区二区在线视频| 欧美一二三四区在线| www激情久久| 亚洲国产精品成人综合| 亚洲婷婷综合久久一本伊一区| 亚洲欧美精品午睡沙发| 丝袜亚洲另类丝袜在线| 蜜乳av一区二区三区| 国产自产v一区二区三区c| 不卡的av电影| 欧美性大战久久久久久久蜜臀 | 国产精品系列在线| 亚洲裸体在线观看| 日韩制服丝袜先锋影音| 国产激情一区二区三区桃花岛亚洲| 国产 欧美在线| 欧洲一区在线电影| 日韩欧美亚洲国产精品字幕久久久 | 91麻豆精品一区二区三区| 欧美人与z0zoxxxx视频| 国产偷v国产偷v亚洲高清| 亚洲精品日韩综合观看成人91| 亚洲超碰精品一区二区| 国产经典欧美精品| 欧美中文一区二区三区| 精品精品欲导航| 中文字幕字幕中文在线中不卡视频| 亚洲v日本v欧美v久久精品| 国产乱码精品一品二品| 欧美三级在线看| 国产亚洲欧洲997久久综合| 亚洲一区二区三区在线| 精品一区二区三区在线观看国产 | 91麻豆视频网站| 欧美mv日韩mv| 亚洲国产日韩a在线播放| 狠狠色丁香婷婷综合久久片| 91麻豆国产在线观看| 久久综合久久鬼色中文字| 亚洲一区二区3| 成人黄色综合网站| 欧美一区二区三区免费观看视频| 国产精品成人免费在线| 青青草成人在线观看| 日本道免费精品一区二区三区| 久久综合九色综合久久久精品综合 | 久久午夜免费电影| 午夜精品久久久久久久| 91污在线观看| 久久亚洲捆绑美女| 日本午夜精品一区二区三区电影 | 国产精品色噜噜| 久久99精品久久久久久| 欧美日韩成人一区二区| 亚洲猫色日本管| 成人18视频在线播放| 国产日韩欧美精品综合| 免费成人av资源网| 欧美精品三级日韩久久| 亚洲精品中文在线| 成人av在线一区二区三区| 国产亚洲人成网站| 国产精品小仙女| 久久久精品人体av艺术|