×

delphi7信息系统设计与开发实例源代码

delphi7信息系统设计与开发实例源代码(有谁能提供delphi7多线程编程序实例看一下)

admin admin 发表于2024-02-11 15:15:25 浏览33 评论0

抢沙发发表评论

本篇文章给大家谈谈delphi7信息系统设计与开发实例源代码,以及有谁能提供delphi7多线程编程序实例看一下对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

本文目录

有谁能提供delphi7多线程编程序实例看一下

多线程数据采集的代码unit HMSThread;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, SyncObjs, ;type THMSampleThread = class(TThread) private { Private declarations } TmpMeterInfo:TMeterInfo; TmpMeterData:TMeterData; public procedure Execute; override; constructor Create(strMeterInfor:TMeterInfo;const IsSuspended:Boolean=False); procedure DebugInfoShow; procedure AppendHMSDataInDB; end;implementation//uses// HeatTransferMeterMain;{ Important: Methods and properties of objects in visual components can only be used in a method called using Synchronize, for example, Synchronize(UpdateCaption); and UpdateCaption could look like, procedure THMSampleThread.UpdateCaption; begin Form1.Caption := ’Updated in a thread’; end; }{ THMSampleThread }procedure THMSampleThread.AppendHMSDataInDB;begin with DMframe do begin InsertOneSampleRecord(TmpMeterInfo,TmpMeterData); end;end;constructor THMSampleThread.Create(strMeterInfor: TMeterInfo; const IsSuspended: Boolean);begin FreeOnTerminate:=True; TmpMeterInfo:=TMeterInfo.Create; TmpMeterInfo:=strMeterInfor; inherited Create(IsSuspended);end;procedure THMSampleThread.DebugInfoShow;var TmpMtInfo:TMeterInfo; TmpMtData:TMeterData;begin TmpMtInfo:=TMeterInfo.Create; TmpMtInfo:=TmpMeterInfo; TmpMtData:=TMeterData.Create; TmpMtData:=TmpMeterData; with FrmMain do begin end; end;procedure THMSampleThread.Execute;begin { Place thread code here } TmpMeterData:=TMeterData.Create; InitMeterData(TmpMeterData); SampleHMS(TmpMeterInfo,TmpMeterData); Synchronize(DebugInfoShow); Synchronize(AppendHMSDataInDB); InterlockedIncrement(CurrFinishedSampleHMNum);end;end.

delphi7 spcomm开发串口调试助手详细步骤

function TForm1.StartComm: boolean;begin comm.CommPort := 端口号; comm.BaudRate := 波特率; //comm.ByteSize := 数据位; //comm.Parity := 检验位; //comm.StopBits := 停止位; Comm.InBufferSize:=1024; Comm.InputLen:=1024; Comm.ReadIntervalTimeout:=100; Comm.ReadTotalTimeoutMultiplier:=0; Comm.ReadTotalTimeoutConstant:=0; Comm.ReplacedChar:=#0; Comm.XoffChar:=#19; Comm.XoffLimit:=500; Comm.XonChar:=#17; Comm.XonLimit:=500; comm.StartComm; comm.PortOpen:=true; if comm.PortOpen then begin Result := True; end else begin Result := false; end;end;procedure TForm1.StopComm;begin Comm.StopComm;end;procedure TForm1.ReceiveData(Sender: TObject; Buffer: PAnsiChar; BufferLength: Word);var ByteArr: TByteArrData; // 上面定义 type TByteArrData = array of Byte; Pstr:string;begin Move(Buffer^, ByteArr, BufferLength); //接收数据写入ByteArr数组 Pstr:=GetProtocolHexStr(ByteArr,BufferLength); //转为16进制字符串 Memo1.lines.add(Pstr); //显示end;function GetHexStr(ByteArr: TByteArrData;Len:integer):String;var I, J: Integer; Str: string;begin for I := 1 to Len do begin J := ByteArr; Str := Str + IntToHex(J, 2) + ’ ’; end; Result:=Str;end;

怎么用delphi7 编写数据库程序

在delphi中有一批数据库专用的控件,比如ADO类的,可以直接用于数据库开发,你可以先用一个Access数据库自己进行一下测试。首先在窗体上放一个ADOConnection1控制,用于与Access数据库进行连接,连接字符串为:ADOConnection1.ADOC_Data.ConnectionString:=’provider=Microsoft.Jet.OLEDB.4.0;’ +’user ID=Admin;’ //+’Data Source=’+ExtractFilePath(Application.ExeName)+’MyRecord.mdb;’ +’Data Source=’+MyDataBaseName+’;’ +’Mode=Share Deny None;Extended Properties="";’ +’Jet OLEDB:System database="";’ +’Jet OLEDB:Registry Path="";’ +’Jet OLEDB:Database Password="123456;’ //数据库密码 +’Jet OLEDB:Engine Type=5;’ +’Jet OLEDB:Database Locking Mode=1;’ +’Jet OLEDB:Global Partial Bulk Ops=2;’ +’Jet OLEDB:Global Bulk Transactions=1;’ +’Jet OLEDB:New Database Password="";’ +’Jet OLEDB:Create System Database=False;’ +’Jet OLEDB:Encrypt Database=False;’ +’Jet OLEDB:Don’+’’’’+’t Copy Locale on Compact=False;’ +’Jet OLEDB:Compact Without Replica Repair=False;’ +’Jet OLEDB:SFP=False’;DM.ADOC_Data.LoginPrompt:=False;再放一个ADOQuery1控制,用于操作数据表,将它的Connection属性设置为ADOConnection1。或用语句实现:ADOQuery1.Connection:=ADOConnection1;然后再分别放置一个DataSource1和一个DBGrid1控件,将DataSource1的DataSet属性设置为ADOQuery1。将DBGrid1的DataSource属性设置为DataSource1。这时就可以通过ADOQuery1来执行SQL语句来查询数据表,并通过DBGrid1显示出来了。

用delphi7做一个计算器和用java编一个简单程序

java我还没学,delphi会一点,这是计算器的源代码,界面你就自己做了procedure TForm1.FormCreate(Sender: TObject);begin button0.Click;end;procedure TForm1.Button11Click(Sender: TObject);begin if point_flag=false then begin input_number(10); point_flag:=true; end;end;procedure TForm1.Button29Click(Sender: TObject);begin s_source_1:=’0’; s_source_2:=’0’; s_result:=’0’; result:=0; point_flag:=false; operation_symbol:=0; input_2:=false; display_refresh();end;procedure TForm1.Button15Click(Sender: TObject);begin operation_over:=true; source_1:=strtofloat(s_source_1); if input_2 then begin source_2:=strtofloat(s_source_2); end else begin// source_2:=source_1;// s_source_2:=floattostr(source_2); end; case operation_symbol of 0: begin result:=source_1; display_refresh(); exit; end; 1: begin result:=source_1+source_2; display_refresh(); end; 2: begin result:=source_1-source_2; display_refresh(); end; 3: begin result:=source_1 * source_2; display_refresh(); end; 4: begin if source_2 = 0 then begin messagebox(form1.Handle,’0 不能做除数’,’错误!’,0); exit; end; result:=source_1 / source_2; display_refresh(); end; end; input_2:=false; source_1:=result; s_source_1:=floattostr(result); s_source_2:=’0’; point_flag:=false;end;procedure TForm1.Button19Click(Sender: TObject);begin if result》=0 then begin operation_over:=true; result:=sqrt(result); display_refresh(); if input_2=true then begin source_2:=result; s_source_2:=’0’; input_2:=false; end else begin s_source_1:=floattostr(result); end; end else begin messagebox(form1.Handle,’负数不能开根号’,’错误!’,0); end;end;procedure TForm1.Button30Click(Sender: TObject);begin if (operation_symbol 》0) and (input_2 = true) then begin button15.Click; end; operation_symbol:=1;// source_2:=0;// s_source_2:=’0’; point_flag:=false; operation_over:=false;end;procedure TForm1.Button14Click(Sender: TObject);begin if (operation_symbol 》0) and (input_2 = true) then begin button15.Click; end; operation_symbol:=2;// source_2:=0;// s_source_2:=floattostr(source_2); point_flag:=false; operation_over:=false;end;procedure TForm1.Button13Click(Sender: TObject);begin if (operation_symbol 》0) and (input_2 = true) then begin button15.Click; end; operation_symbol:=3;// source_2:=0;// s_source_2:=floattostr(source_2); point_flag:=false; operation_over:=false;end;procedure TForm1.Button12Click(Sender: TObject);begin if (operation_symbol 》0) and (input_2 = true) then begin button15.Click; end; operation_symbol:=4;// source_2:=0;// s_source_2:=floattostr(source_2); point_flag:=false; operation_over:=false;end;procedure TForm1.Button24Click(Sender: TObject);begin if result 《》 0 then begin operation_over:=true; result:=1 / result; display_refresh(); if input_2=true then begin source_2:=result; s_source_2:=’0’; input_2:=false; end else begin s_source_1:=floattostr(result); end; end else begin messagebox(form1.Handle,’0 不能求倒数’,’错误!’,0); end;end;procedure TForm1.Button28Click(Sender: TObject);begin if input_2 = true then begin s_source_2:=’0’; source_2:=0; result:=0; display_refresh(); end else begin s_source_1:=’0’; source_1:=0; result:=0; display_refresh(); end;end;procedure TForm1.Button10Click(Sender: TObject);begin result:=(-1)*result; if input_2 then begin source_2:=result; s_source_2:=floattostr(source_2); end else begin s_source_1:=floattostr(result); end; display_refresh();end;procedure TForm1.Button27Click(Sender: TObject);begin if input_2 = false then begin if length(s_source_1)》2 then begin delete(s_source_1,length(s_source_1),1); result:=strtofloat(s_source_1); display_refresh(); exit; end; if length(s_source_1)《=3 then begin result:=strtofloat(s_source_1); if result 《= 0 then begin s_source_1:=’0’; end; if result》0 then begin delete(s_source_1,length(s_source_1),1); result:=strtofloat(s_source_1); end; display_refresh(); end; end else begin end;end;end.实在不行再问我要完整的,我的邮箱345053709@qq.com

delphi7如何修改源代码并生成exe

  • 点绿色按钮就生成exe文件了!

  • 使用Delphi7打开源代码里的工程文件,然后进行修改修改完后,点Project----Build Project就可以了!

求高手用delphi7补充一段检测执行代码

1、设置一个位置存储最后一次更新过的文件,如在注册表、配置文件等2、程序运行的时候读取上次保存过的最后更新文件的名字3、当按下按钮的时候,对指定文件夹进行遍历,比较文件夹下指定类型文件的文件名,如果小于原最后更新文件名,则比较下一个文件;如果大于最后更新的文件名,即保留此文件名为需要删除的文件,并对后面的文件与此文件进行比较,如仍有晚于此文件的更新:保存此文件名至存储标志处,并将新的文件名保留为需要删除的文件。全部文件比较结束,删除保存的最后更新的文件名即可。不知道你觉得哪一部份有难度呢,整体感觉非常简单,二三十行代码完全可以搞定了。这是我弄的一些代码,没有经过测试,你自己测试并修改一下错误,原理就是这样的:var DefaultDataFile: TIniFile; LastSavedFile, OperateDirectory: string; HasFile: Integer; SR: TSearchRec; FileNumberList: array of Integer; FileCount: Integer;begin //建立或打开配置文件 DefaultDataFile := TIniFile.Create(ExtractFilePath(Application.ExeName) + ’Default.ini’); try //读取上次更新文件信息 LastSavedFile := DefaultDataFile.ReadString(’File’, ’LastSavedFile’, ’’); //读取操作目录 OperateDirectory := DefaultDataFile.ReadString(’Dir’, ’OperateDirectory’, ’’); if OperateDirectory = ’’ then OperateDirectory := ExtractFilePath(Application.ExeName); if Copy(OperateDirectory, Length(OperateDirectory) - 1, 1) 《》 ’\’ then OperateDirectory := OperateDirectory + ’\’; FileCount := 0; //遍历文件夹,找出所有以A开头的文件文件 HasFile := FindFirst(OperateDirectory + ’*.*’, faAnyFile, SR); while HasFile = 0 do begin if UpperCase(Copy(SR.Name, 1, 1)) = ’A’ then begin Inc(FileCount); SetLength(FileNumberList, FileCount); FileNumberList := StrToInt(Copy(SR.Name, 2, Length(SR.Name) - 1 )); end; HasFile := FindNext(SR); end; {在此调用排序算法对FileNumberList中的数据进行排序,确定最大文件号 不用字符串的原因在于在字符串中A15 《 A2,如果不涉及到排序问题, 可以直接用字符串来操作文件名,此处略去排序部份。如果文件很多的话, 排序会浪费很多时间,可以用几个变量来保存最大文件编号及需要保留的文件编号} if StrToIntDef(LastSavedFile,0) 《 FileNumberList then if FileExists(OperateDirectory + ’A’ + IntToStr(FileNumberList)) then begin //删除最大编号文件 DeleteFile(OperateDirectory + ’A’ + IntToStr(FileNumberList)); //保存最后文件编号 DefaultDataFile.WriteString(’File’, ’LastSavedFile’, IntToStr(FileNumberList)); end else Application.MessageBox(’删除文件出错,请重试!’, ’出错’, MB_ICONERROR or MB_OK); finally DefaultDataFile.Free; end;end;

在delphi7中将图片保存到access数据库中的源代码

字段名称    类型    描述   id    自动编号   主键值 img OLE对象   用来保存图片数据procedure TForm1.Button1Click(Sender: TObject);varF:File of Byte;size:Longint; //文件大小FilePath,time:string; //文件时间beginFilePath:=ExtractFilePath(Paramstr(0))+’demo.jpg’;//图片地址为当前目录下AssignFile(F,FilePath);reset(F);size:=Filesize(F);//获取文件大小。time:=DatetimetoStr(FileDateToDateTime(FileAge(FilePath)));//获取文件创建时间。closefile(F);adoquery1.Close;adoquery1.SQL.Clear;adoquery1.SQL.Add(’select * from Image’);adoquery1.Open;adoquery1.Insert;adoquery1.FieldByName(’FileName’).AsString:=ExtractFileName(FilePath); //存储文件名称adoquery1.FieldByName(’FileKind’).AsString:=ExtractFileExt(FilePath); //存储文件扩展名。adoquery1.FieldByName(’FileSize’).AsInteger:=size; //存储文件的大小。adoquery1.FieldByName(’FileTime’).AsString:=time; //存储文件的创建时间。adoquery1.FieldByName(’SaveTime’).AsDateTime:=now();//存取文件的存储时间TBlobField(ADOquery1.FieldByName(’FileContent’)).LoadFromFile(FilePath);//图片的二进制流,存进去之后,数据库会显示(《《Binary》》)ADOquery1.Post;end;下面是读取还有代开的代码,添加一个Timage空间进行显示,ID为我的自增列,读取最后一条插入记录procedure TForm1.Button2Click(Sender: TObject);VarMs:TStream;jpg:Tjpegimage;beginadoquery1.Close;adoquery1.SQL.Clear;adoquery1.SQL.Add(’select top 1 * from Image order by id desc’);adoquery1.Open;Ms:=TStream.Create;MS:=adoquery1.CreateBlobStream(adoquery1.FieldbyName(’FileContent’),bmRead);Ms.Position :=0;jpg:=Tjpegimage.Create;Jpg.LoadFromStream(Ms);Image1.Picture.Assign(Jpg);jpg.Free;MS.Free;***隐藏网址***

在delphi7怎么让编写的源代码自动对齐

CnPack IDE 专家包(CnWizards) 里,里面有格式化功能,还有很多其他编码用得上的功能。还有DelForExp,也有缩写作DelForEx,也是格式化的IDE工具。

delphi7中如何打印当前窗体的内容的源代码

form1.PrintScale:=poPrintToFit; form1.Print; 是可以打印出来的啊, 你这样试下: 在USE里加入Clipbrd procedure TForm1.Button1Click(Sender: TObject); var FormImage: TBitmap; MyImage:TImage; begin FormImage := GetFormImage; MyImage:= TImage.Create(nil); try Clipboard.Assign(FormImage); MyImage.Picture.Assign(Clipboard); MyImage.Picture.SaveToFile(’D:/xxx.bmp’); finally begin MyImage.Free; FormImage.Free; end; end; end; 看看产生的xxx.bmp就知道了,如果xxx.bmp没问题建议看看是不是打印机的问题 窗体名直接 .Print只能打印能看见的部分,如果窗体有滚动条,直接看不见那部分是打不出来的

我要做一个体育成绩系统分析与设计 用delphi7做实现软件 access做数据库

使用ACCESS做数据库的话,首先就是连接数据库使用ADOConnection控件连接数据库,可以自己手动设置连接,在ConnectionString属性中进行设置。也可以使用代码连接,代码如下:ADOConnection1.ConnectionString :=’Provider=Microsoft.Jet.OLEDB.4.0;Data Source=’+ExtractFilePath(application.ExeName)+’你的数据库.mdb;Persist Security Info=False;Jet OLEDB:Database Password=数据库密码’;然后使用ADOQuery控件通过SQL语句进行读写数据。最后使用DataSource控件作为数据源、DBGrid控件做表格,可以进行显示数据。你说的存储和调用应该就是读数据和写数据。读数据使用代码: ADOQuery.Close ; Adoquery.SQL.Clear ; Adoquery.SQL.Add(’select * from 表名 where 字段=’查询内容’’); Adoquery.Open ;写数据使用代码: Adoquery.Close ; Adoquery.SQL.Clear ; Adoquery.SQL.Add(’insert into 表名 (字段1,字段2) values(:a,:b)’); Adoquery.Parameters.ParamByName(’a’).Value :=存入的内容1; Adoquery.Parameters.ParamByName(’b’).Value :=存入的内容2; Adoquery.ExecSQL ;你如果要做一个系统的话,不是三言两语就能说完的,要是还有不明白的可以Hi我。

关于本次delphi7信息系统设计与开发实例源代码和有谁能提供delphi7多线程编程序实例看一下的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。