0

关于投票
FlashMagic应用程序FMExec的delphi源码程序下载

本应用程序是利用Windows的API函数CreateProcess()来调用FlashMagic的命令行程序FM.exe实现LPCARM的ISP功能的.

它还将Keil也加入其中,自动改写Keil ARM的配置,并与FlashMagic的配置同步.

即FlashMagic运行的设置和FMExec的设置是可以互相利用的.

本应用程序纯属菜农的开心游戏,但转载请注明出处~~~

雁塔菜农HotPower@126.com      菜地: http://www.ednchina.com/blog/hotpower/

点击下载源程序: FMExec.rar  rar

 

在Keil内调用FlashMagic命令行FlashISP的应用方法(菜农实验)

关于FlashMagic软件设置LPCARMISP问题

 

 

 

 

系统分类: 汽车电子
用户分类: Delphi语言设计
标签: 无标签
来源: 原创
发表评论 阅读全文(605) | 回复(1)

3

关于投票
转帖:如何Delphi安装面板没有的控件

http://bbs.2ccc.com/topic.asp?topicid=49580

如果你的internet中没有那么这样做:
经常有朋友提这样的问题,“我原来在delphi5或者delphi6中用的很熟的控件到哪里去了?是不是在delphi7中没有了呢?这是不是意味着我以前写的代码全都不能够移植到delphi7中来了呢?是不是我必须学习适应这些新的控件呢?” 

现在我就对这一问题进行解释,并对在delphi7中的VCL以及CLX进行一下总结,方便有这方面需求的朋友进行查询

其实,我们在原来版本如D5、D6中使用的控件如Quickrep,FastNet等,在D7中仍然是保留的。只是Delphi没有将他们默认的安装到组件面版中来。这些控件包全部保存在Delphi目录的bin下,文件扩展名为.bpl(共将近60个)。
安装这些包的方法很简单,只需点击菜单"component---->Install Packages...",然后使用"ADD"选择需要的包就可以了。


下面就其中的一部分bpl列表说明其中的控件:

dclact70.bpl (Borland Actionbar Components)
包括的控件:TStandardColorMap、TTwilightColorMap、TXPColorMap、TActionToolBar、TActionManager、TActionMainMenuBar、TCustomizeDlg

dclado70.blp(Borland ADO DB Components)
包括的控件:TADOCommand、TADOConnection、TADODataSet、TADOQuery、TADOStoredProc、TADOTable、TRDSConnection

dclbde70.bpl(Borland BDE DB Components)
包括的控件:TDBLookupCombo、TDBLookupList、TBatchMove、TDatabase、TNestedTable、Tquery、TSession、TStoredProc、TTable、TUpdateSQL

dclclxdb70.bpl(Borland CLX Database Components)
包括的控件:TDBCheckBox、TDBComboBox、TDBEdit、TDBImage、TDbListBox、TDBLookupComboBox、TDBLookupListBox、TDBMemo、TDBNavigator、TDBRadioGroup、TDBText、TDBGrid

dclclxstd70.bpl(Borland CLX Standard Components)
包括的控件:TActionList、TBitBtn、TSpeedButton、TCheckListBox、TAnimate、THeaderControl、TIconView、TListView、TPageControl、TProgressBar、TSpinEdit、TStatusBar、TTabControl、TTextBrowser、TTextViewer、TToolBar、TTrackBar、TTreeView、TColorDialog、TFindDialog、TFontDialog、TOpenDialog、TSaveDialog、TBevel、TControlBar、TImage、TPaintBox、TPanel、TRadioGroup、TShape、TSplitter、TTimer、TDirectoryTreeView、TFileEdit、TFileHistoryComboBox、TFileIconView、TFileListView、TFilterComboBox、TDrawGrid、TImageList、TMaskEdit、TMainMenu、TPopupMenu、TButton、TCheckBox、TComboBox、TEdit、TGroupBox、TLabel、TLCDNumber、TListBox、TMemo、TRadioButton、TScrollBar

dcldb70.bpl(Borland Database COmponents)
包括的控件:TDdataSourse、TDBCtrlGrid、TDBCheckBox、TDBComboBox、TDBEdit、TDBImage、TDBListBox、TDBLookupComboBox、TDBLookupListBox、TDBMemo、TDBNavigator、TDBRadioGroup、TDBRichEdit、TDBText、TDBGrid

dclmcn70.bpl(Borland DataSnap Connection Components)
包括的控件:TConnectionBroker、TDCOMConnection、TSharedConnection、TSimpleObjectBroker、TSocketConnection、TWebConnection、TLocalConnection

dcldbx70.bpl(Borland dbExpress Components)包括的控件:TSQLConnection、TSQLDataSet、TSQLMonitor、TSQLQuery、TSQLStoredProc、TSQLTable

dcldss70.bpl(Borland Decision Cube Components)
包括的控件:TDecisionCube、TDecisioinSource、TDecisionGraph、TDecisionGrid、TDecisionPivot、TDecisionQuery

ibevnt70.bpl(Borland Interbase Event Alerter Component)
包括的控件:TIBEventAlerter

dclnet70.bpl(Borland Internet Components)
包括的控件:TQueryTableProducer、TDataSetTableProducer、TSQLQueryTableProducer、TDataSetPageProducer、TWebDispatcher、TPageProducer、TTcpClient、TTcpServer、TUdpSocket、TXMLDocument

dclisp70.bpl(Borland Internet Solutions Pack Components)
包括的控件:TFTP、THTML、THTTP、TNNTP、TPOP、TSMTP、TTCP、TUDP

dclwbm70.bpl(Borland InternetExpress Components)
包括的控件:TInetXPageProducer、TMidasPageProducer、TXMLBroker、TXMLTransform、TXMLTransformClient、TXMLTransformProvider

dclmid70.bpl(Borland MyBase DataAccess Components)
包括的控件:TClientDataSet、TDataSetProvider

dclsmp70.bpl(Borland Sample Components)
包括的控件:TCalendar、TColorGrid、TDirectoryOutline、TGauge、TSpinButton、TSpinEdit

dclocx70.bpl(Borland Sample Imported ActiveX Controls)
包括的控件:TChartfx、TF1Book、TVtChart、TVSSpell

dcldbxcds70.bpl(Borland SimpleDataset Component(DBX))
包括的控件:TSimpleDataSet

dclsoap70.bpl(Borland SOAP Components)
包括的控件:TOPToSoapDomConvert、TSoapConnectoin、THTTPRIO、THTTPSoapPascalInvoker、THTTPReqResp、THTTPSoapDispatcher、TWSDLHTMLPublish

dclsockets70.bpl(Borland Socket Components)
包括的控件:TClientSocket、TServerSocket

dclstd70.bpl(Borland Standard Components)
包括的控件:TActionList、TApplicationEvents、TBitBtn、TSpeedButton、TCheckListBox、TCOMAdminCatalog、TAnimate、TComboBoxEx、TCoolbar、TDateTimePicker、THeaderControl、THotKey、TListView、TMonthCalendar、TPageControl、TPageScroller、TProgressBar、TRichEdit、TStatusBar、TTabControl、TToolBar、TTrackBar、TTreeView、TUpDown、TImageList、TDdeClientConv、TDdeClientItem、TDdeServerConv、TDdeServeritem、TColorDialog、TFindDialog、TFontDialog、TOoenDialog、TPageSetupDialog、TPrintDialog、TPrinterSetupDialog、TReplaceDialog、TSaveDialog、TBevel、TColorBox、TControlBar、TImage、TLabeledEdit、TPaintBox、TPanel、TRadioGroup、TShape、TSplitter、TTimer、TOpenPictureDialog、TSavePictureDialog、TScrollBox、TDrawGrid、TStringGrid、TMaskEdit、TMainMenu、TmediaPlayer、TOleContainer、TButton、TCheckBox、TComboBox、TEdit、TGroupBox、TLabel、TListBox、TMemo、TRadioButton、TScrollBar、TStaticText、TvalueListEditor、TXPManifest

dclwebsnap70.bpl(Borland WebSnap Components)
包括的控件:TDataSetAdapter、TDataSetvaluesList、TAdapterPageProducer、TAdapter、TApplicationAdapter、TEndUserAdapter、TEndUserSessionAdapter、TLoginFormAdapter、TPagedAdapter、TStringsvaluesList、TAdapterDispatcher、TLocateFileService、TPageDispatcher、TWebAppComponents、TSessionsService、TWebUserList、TXSLPageProducer

dcl31w70.bpl(Delphi1.0 Compatibility Components)
包括的控件:THeader、TNotebook、TDirectoryListBox、TDriveComboBox、TFileListBox、TFilterComboBox、TOutline、TTabbedNotebook、TTabSet

DCLIB70.bpl(InterBase DataAccess Components)
包括的控件:TIbClientDataSet、TIBDataSet、TIBDatabase、TIBTransaction、TIBDatabaseinfo、TIBevents、TIBExtract、TIBQuery、TIBSQL、TIBSQLMonitor、TIBStoredProc、TIBTable、TIBUpdateSQL

dclindy70.bpl(Internet Direct(Indy)for D7 Property and Component Editors)
包括的控件:TIdAntiFreeze、TIdBlockCipherIntercept、TIdChargenServer、TIdChargenUDPServer、TIdDecodeMIME、TIdEncodeMIME、...

dclie70.bpl(Internet Explorer Components)
包括的控件:TWebBrowser

dclIntraweb_50_70.bpl(Intraweb 5.0 Design Package for Delphi7)
包括的控件:TIWClientSideDataset、TIWCheckBox、TIWButton、TIWEdit...

dcloffice2k70.bpl(Microsoft Office 2000 Sample Automation Server Wrapper Components)
包括的控件:TAccessApplicatoin、TAccessForm、TAccessReferences、TAccessReport、TClass_、TBinder、TExcelApplication、TExcelChart、TExcelOLEOBject、EExcelQueryTable、TExcelWorkbook、TExcelWorksheet、Tmaster、TPowerPointApplication、TPowerPointPresentation、TPowerPointSlide、TContactItem、TDistListItem、TDocumentItem、TExplorers、TFolders、TInspectors、TItems、TJournalItem、TnameSpace、TOutlookApplication、TOutlookBarGroups、TOutlookBarPane、TOutlookBarShortcuts、TPostItem、TRemoteItem、TReportItem、TTaskRequestAcceptItem、TTaskRequestAcceptItem、TTaskRequestDeclineItem、TTaskRequestItem、TTaskRequestUpdateItem、TWordApplication、TWordDocument、TWordFont、TWordLetterContent、TWordParagraphFormat

dclqrt70.bpl(QuickReport Components)
包括的控件:TQRDBImage、TQRDBRichText、TQRDBText、TQRExpr、TQRExprMemo、TQRImage、TQRLabel、TQRLabel、TQRMemo、TQRRichText、TQRShape、TQRSysData、TQRCSVFilter、TQRHTMLFilter、TQRTextFilter、TQRPreview、TQRBand、TQRChildBand、TQRCompositeReport、TQRGroup、TQRStringsBand、TQRSubDetail、TQuickRep

dclRave70.bpl(Rave Reports DE 5.0 Package)
包括的控件:TRvCustomConnection、TRvQueryConnection、TRvTableConnection、TRvDataSetConnection、TRvNDRWrite、TRvProject、TRvRenderHTML、TRvRenderPDF、TRvRenderPreview、TRvRenderPrinter、TRvRenderRTF、TRvRenderText、TRvSystem、TRvCustomConnection、TRvTableConnection、TRvDataSetConnection、TRvNDRWriter、TRvProject

dclshlctrls70.bpl(Shell Control Property and Component Editors)
包括的控件:TShellChangeNotifier、TShellComboBox、TShellListView、TShellTreeview

dcltee70.bpl(TeeChart Components)
包括的控件:TChart、TDBChart

dcltqr70.bpl(TeeChart for QuickReport Components)
包括的控件:TQRChart

系统分类: 软件开发
用户分类: Delphi语言设计
标签: 无标签
来源: 转贴
发表评论 阅读全文(1114) | 回复(0)

1

关于投票
串口控件SPComm多方法使用例程

点击下载:spcommdemo.rar

重点:(注意:本例程一定要将串口的2,3脚短联做自发自收演示)

procedure TForm1.Button1Click(Sender: TObject);
var
  i: integer;
  str: string;
begin
  str := '';
  for i := 0 to 2047 do
  begin
    str := str + Char(i and $ff);//所有字符0x00~0xff
  end;
  Comm1.PortOpen := true;//打开串口(注意:本例将串口的2,3脚短联做自发自收演示)
  Comm1.Output := str;//发送2048个字符到串口
end;

procedure TForm1.Comm1ReceiveData(Sender: TObject; Buffer: PAnsiChar;//旧事件处理方法用Buffer: Pointer
  BufferLength: Word);
var
  i: integer;
  str: string;
begin                                      

  Memo1.Lines.Add('SPCOMM控件改造应用方法一:(String)');
  SetString(str, Buffer, BufferLength);//从串口接收BufferLength个字节
  if Length(str) <> BufferLength then Exit;
  for i := 0 to BufferLength - 1 do
  begin
    if (i and $f) = 0 then
    begin
      Buffers := inttohex(i, 4) + ': ';
    end;
    if (i and $ff) = Byte(str[i + 1]) then//str[i]从str[1]开始
      Buffers := Buffers + '0x' + inttohex(Byte(str[i + 1]), 2) + ' '
    else //接收错误显示
      Buffers := Buffers + '**/' + inttohex(Byte(str[i + 1]), 2) + ' ';
    if (i and $f) = $f then
    begin
      Memo1.Lines.Add(Buffers);//输出一行显示数据
      Buffers := '';
    end;
  end;

  Memo1.Lines.Add('');
  Memo1.Lines.Add('SPCOMM控件改造应用方法二:(Array)');
  for i := 0 to BufferLength - 1 do
  begin
    if (i and $f) = 0 then
    begin
      Buffers := inttohex(i, 4) + ': ';
    end;
    if (i and $ff) = Byte(Buffer[i]) then//Buffer[i]从Buffer[0]开始
      Buffers := Buffers + '0x' + inttohex(Byte(Buffer[i]), 2) + ' '
    else //接收错误显示
      Buffers := Buffers + '**' + inttohex(Byte(Buffer[i]), 2) + ' ';
    if (i and $f) = $f then
    begin
      Memo1.Lines.Add(Buffers);//输出一行显示数据
      Buffers := '';
    end;
  end;

  Memo1.Lines.Add('');
  Memo1.Lines.Add('SPCOMM控件改造应用方法三:(Pointer)');
  for i := 0 to BufferLength - 1 do
  begin
    if (i and $f) = 0 then
    begin
      Buffers := inttohex(i, 4) + ': ';
    end;
    if (i and $ff) = Byte((Buffer + i)^) then//Buffer+i从Buffer开始
      Buffers := Buffers + '0x' + inttohex(Byte((Buffer + i)^), 2) + ' '
    else //接收错误显示
      Buffers := Buffers + '**' + inttohex(Byte((Buffer + i)^), 2) + ' ';
    if (i and $f) = $f then
    begin
      Memo1.Lines.Add(Buffers);//输出一行显示数据
      Buffers := '';
    end;
  end;

  Memo1.Lines.Add('');
  Memo1.Lines.Add('SPCOMM控件改造应用方法四:(Pointer)');
  for i := 0 to BufferLength - 1 do
  begin
    if (i and $f) = 0 then
    begin
      Buffers := inttohex(i, 4) + ': ';
    end;
    if (i and $ff) = Byte(Buffer^) then
      Buffers := Buffers + '0x' + inttohex(Byte(Buffer^), 2) + ' '
    else //接收错误显示
      Buffers := Buffers + '**' + inttohex(Byte(Buffer^), 2) + ' ';
    if (i and $f) = $f then
    begin
      Memo1.Lines.Add(Buffers);//输出一行显示数据
      Buffers := '';
    end;
    Inc(Buffer, SizeOf(Char));//移动字符指针
  end;

end;

系统分类: 工业控制
用户分类: Delphi语言设计
标签: 无标签
来源: 原创
发表评论 阅读全文(1969) | 回复(0)

0

关于投票
经过改造的Delphi环境下应用的串口控件SPComm

点击下载:SPComm.rar

希望Delphi迷喜欢~~~

菜农HotPower  2006.9.28 于西安大雁塔村队部

系统分类: 工业控制
用户分类: Delphi语言设计
标签: 无标签
来源: 原创
发表评论 阅读全文(1488) | 回复(4)

1

关于投票
在Delphi中使用串口控件MSComm的0字符接收例程祥解

//以下是创建窗体时的MSCOMM参数设置过程

//MSComm1.InputMode := comInputModeBinary;

//和MSComm1.InputMode := comInputModeText;

//实验结果基本对Delghi不太起作用


procedure TForm1.FormCreate(Sender: TObject);
var
  str: string;
begin
//MSCOMM参数设置
  MSComm1.CommPort := 1;//使用COM1
  MSComm1.Settings := '9600,N,8,1';//设置通信口参数
  MSComm1.InBufferSize := 32;//设置MSComm1接收缓冲区为32字节
  MSComm1.OutBufferSize := 2;//设置MSComm1发送缓冲区为2字节
  MSComm1.InputMode := comInputModeBinary;//设置接收数据模式为二进制形式
  MSComm1.InputLen := 1;//设置Input 一次从接收缓冲读取字节数为1
  MSComm1.SThreshold := 1;//设置Output 一次从发送缓冲读取字节数为1
  MSComm1.InBufferCount := 0;//清除接收缓冲区
  MSComm1.OutBufferCount := 0;//清除发送缓冲区
  MSComm1.RThreshold := 1;//设置接收一个字节产生OnComm事件
  MSComm1.PortOpen := true;//打开串口1
/////////////////////////////////////////////////////////////
  Buffers := '';
  CheckSum := 0;
//发送串口命令
  Command := 34;
  str := '$' + #2 + #$22 + #1;//读MP3总曲目
  str := str + Char(GetCheckSum(str));//计算校验和
  MSComm1.Output := str;//发送串口命令
end;

//以下是接收事件处理过程,在MCU中相当于串口中断

//注意其中2个语句

//while MSComm1.InBufferCount > 0 do//输入FiFO不为空
//if str = '' then str := #0; //0字符处理
//例接收的数据为#24#02#00#01#03

//此时InBufferCount=5.若设置Input 一次从接收缓冲读取字节数不限

//即:MSComm1.InputLen := 0;则str := MSComm1.Input;后str好象为#24#02#00#01#03

//但实际为'??'#24#02.总得不到结果,至少0字符后的#01#03无法读出.

//采用MSComm1.InputLen := 1;后,并配合while MSComm1.InBufferCount > 0 do

//当读到0字符时,由于str=''(空),故访问str[1]将会引发异常的发生而导致程序的终止.

//故用if str = '' then str := #0; 来向str[1]内认为地填入字符#0且str的长度也为1了.

//故此要点是用if str = '' then str := #0;语句渡过读0字符的难关~~~

procedure TForm1.MSComm1Comm(Sender: TObject);
var
  str: string;
  i: integer;
begin
  case MSComm1.CommEvent of
    comEvReceive://接收事件处理
      begin
        while MSComm1.InBufferCount > 0 do//输入FiFO不为空
        begin
          str := MSComm1.Input;//从FIFO中只取1个字符,因为MSComm1.InputLen := 1
          if str = '' then str := #0; //0字符处理
          if (Buffers = '') and (str = '$') then//同步符测试
          begin
            Buffers := str;//存入同步符'$'
            CheckSum := 0;//初始化校验和
          end
          else if (Buffers <> '') and (Buffers[1] = '$') then begin//必须用同步符起始
            Buffers := Buffers + str;//加入数据串
            CheckSum := CheckSum xor Byte(str[1]);//求校验和(除同步符'$'外)
            if Length(Buffers) = Byte(Buffers[2]) + 3 then//结束符测试
            begin
              if CheckSum = 0 then//此时校验和必须为0表示校验和正确
              begin
                case Command of
                  $22: begin//取歌曲总数
                        ComboBox1.Items.Clear;
                        for i := 1 to Byte(Buffers[4]) do
                        begin
                          str := '第' + inttostr(i) + '首歌曲';
                          ComboBox1.Items.Add(str);//
                        end;
                        Command := 0;
                      end;
                  1: ;
                else ;
                end;
              end;
              Buffers := '';//接收完毕清空缓冲区
              CheckSum := 0;//初始化校验和
            end;
          end
          else
          begin
            Buffers := '';//接收错误清空缓冲区,放弃所有数据
            CheckSum := 0;//初始化校验和
          end;
        end;
      end;
  end;
end;

系统分类: 工业控制
用户分类: Delphi语言设计
标签: 无标签
来源: 原创
发表评论 阅读全文(1376) | 回复(0)
总共 , 当前 /