|
================================= Application.Createform(Tform1, form1); Application.Run; end.
◇[DELPHI]如何判断拨号网络是开还是关 if GetSystemMetrics(SM_NETWORK) AND $01 = $01 then showmessage(''''在线!'''') else showmessage(''''不在线!'''');
◇[DELPHI]实现IP到域名的转换 function GetDomainName(Ip:string):string; var pH:PHostent; data:twsadata; ii:dword; begin WSAStartup($101, Data); ii:=inet_addr(pchar(ip)); pH:=gethostbyaddr(@ii,sizeof(ii),PF_INET); if (ph<>nil) then result:=pH.h_name else result:=''''''''; WSACleanup; end;
◇[DELPHI]处理“右键菜单”方法 var reg: TRegistry; begin reg := TRegistry.Create; reg.RootKey:=HKEY_CLASSES_ROOT; reg.OpenKey(''''*\shell\check\command'''', true); reg.WriteString('''''''', ''''"'''' + application.ExeName + ''''" "%1"''''); reg.CloseKey; reg.OpenKey(''''*\shell\diary'''', false); reg.WriteString('''''''', ''''操作(&C)''''); reg.CloseKey; reg.Free; showmessage(''''DONE!''''); end;
◇[DELPHI]发送虚拟键值ctrl V procedure sendpaste; begin keybd_event(VK_Control, MapVirtualKey(VK_Control, 0), 0, 0); keybd_event(ord(''''V''''), MapVirtualKey(ord(''''V''''), 0), 0, 0); keybd_event(ord(''''V''''), MapVirtualKey(ord(''''V''''), 0), KEYEVENTF_KEYUP, 0); keybd_event(VK_Control, MapVirtualKey(VK_Control, 0), KEYEVENTF_KEYUP, 0); end;
◇[DELPHI]当前的光驱的盘符 procedure getcdrom(var cd:char); var str:string; drivers:integer; driver:char; i,temp:integer; begin drivers:=getlogicaldrives; temp:=(1 and drivers); for i:=0 to 26 do begin if temp=1 then begin driver:=char(i+integer(''''a'''')); str:=driver+'''':''''; if getdrivetype(pchar(str))=drive_cdrom then begin cd:=driver; exit; end; end; drivers:=(drivers shr 1); temp:=(1 and drivers); end; end;
◇[DELPHI]字符的加密与解密 function cryptstr(const s:string; stype: dword):string; var i: integer; fkey: integer; begin result:=''''''''; case stype of 0: setpass; begin randomize; fkey := random($ff); for i:=1 to length(s) do result := result+chr( ord(s[i]) xor i xor fkey); result := result + char(fkey); end; 1: getpass begin fkey := ord(s[length(s)]); for i:=1 to length(s) - 1 do result := result+chr( ord(s[i]) xor i xor fkey); end; end;
□◇[DELPHI]向其他应用程序发送模拟键 var h: THandle; begin h := FindWindow(nil, ''''应用程序标题''''); PostMessage(h, WM_KEYDOWN, VK_F9, 0);//发送F9键 end;
□◇[DELPHI]DELPHI 支持的DAO数据格式 td.Fields.Append(td.CreateField (''''dbBoolean'''',dbBoolean,0)); td.Fields.Append(td.CreateField (''''dbByte'''',dbByte,0)); td.Fields.Append(td.CreateField (''''dbInteger'''',dbInteger,0)); td.Fields.Append(td.CreateField (''''dbLong'''',dbLong,0)); td.Fields.Append(td.CreateField (''''dbCurrency'''',dbCurrency,0)); td.Fields.Append(td.CreateField (''''dbSingle'''',dbSingle,0)); td.Fields.Append(td.CreateField (''''dbDouble'''',dbDouble,0)); td.Fields.Append(td.CreateField (''''dbDate'''',dbDate,0)); td.Fields.Append(td.CreateField (''''dbBinary'''',dbBinary,0)); td.Fields.Append(td.CreateField (''''dbText'''',dbText,0)); td.Fields.Append(td.CreateField (''''dbLongBinary'''',dbLongBinary,0)); td.Fields.Append(td.CreateField (''''dbMemo'''',dbMemo,0)); td.Fields[''''ID''''].Set_Attributes(dbAutoIncrField);//自增字段
□◇[DELPHI]DELPHI配置MS SQL 7和BDE步骤 第一步,配置ODBC: 先在ODBC 中设数据源,安装过SQL Server7.0 后,ODBC中有一项"系统DSN"应该有两项 数据源,一个是MQIS,一个是LocalSever,任选一个选后点击配置按钮,不知你的SQL7.0 是不是安装在本地机器上,如果是的话直接进行下一步,如果不是,在服务器一栏中填上 Server,然后进行下一步,填写登录ID 和密码(登录ID,和密码是在SQL7.0中的用户选项 中设的)。 第二步,配置BDE: 打开Delphi的BDE,然后点击MQIS 或 LocalServer,就会提示用户名和密码,这和 ODBC的用户名和密码是一样的,填上就行了。 第三步,配置程序: 如果用的是TTable,就在TTable的DatabaseName中选择MQIS 或LocalServer,然后在 TableName中选择Sale就行了,然后将Active改为True,Delphi弹出提示对话,填入用户 名和密码。 如果用的是TQuery,在TQuery上点击右键,再击"SQL Builder",这是以界面方式配置 SQL语句,或者在TQuery的SQL中填入SQL语句。最后,别忘了将Active改为True。 在运行也可能配置TQuery,具体见Delphi帮助。
□◇[DELPHI]得到图像上某一点的RGB值 procedure Tform1.Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var red,green,blue:byte ; i:integer; begin i:= image1.Canvas.Pixels[x,y]; Blue:= GetBvalue(i); Green:= GetGvalue(i): Red:= GetRvalue(i); Label1.Caption:=inttostr(Red); Label2.Caption:=inttostr(Green); Label3.Caption:=inttostr(Blue); end;
□◇[DELPHI]关于日期格式分解转换 var year,month,day:word;now2:Tdatatime; now2:=date(); decodedate(now2,year,month,day); lable1.Text :=inttostr(year)+''''年''''+inttostr(month)+''''月''''+inttostr(day)+''''日'''';
◇[DELPHI]如何判断当前网络连接方式 判断结果是MODEM、局域网或是代理服务器方式。 uses wininet; Function ConnectionKind :boolean; var flags: dword; begin Result := InternetGetConnectedState(@flags, 0); if Result then begin if (flags and INTERNET_CONNECTION_MODEM) = INTERNET_CONNECTION_MODEM then begin showmessage(''''Modem''''); end; if (flags and INTERNET_CONNECTION_LAN) = INTERNET_CONNECTION_LAN then begin showmessage(''''LAN''''); end; if (flags and INTERNET_CONNECTION_PROXY) = INTERNET_CONNECTION_PROXY then begin showmessage(''''Proxy''''); end; if (flags and INTERNET_CONNECTION_MODEM_BUSY)=INTERNET_CONNECTION_MODEM_BUSY then begin showmessage(''''Modem Busy''''); end; end; end;
◇[DELPHI]如何判断字符串是否是有效EMAIL地址 function IsEMail(EMail: String): Boolean; var s: String;ETpos: Integer; begin ETpos:= pos(''''@'''', EMail); if ETpos > 1 then begin s:= copy(EMail,ETpos+1,Length(EMail)); if (pos(''''.'''', s) > 1) and (pos(''''.'''', s) < length(s)) then Result:= true else Result:= false; end else Result:= false; end;
◇[DELPHI]判断系统是否连接INTERNET 需要引入URL.DLL中的InetIsOffline函数。 函数申明为: function InetIsOffline(Flag: Integer): Boolean; stdcall; external ''''URL.DLL''''; 然后就可以调用函数判断系统是否连接到INTERNET if InetIsOffline(0) then ShowMessage(''''not connected!'''') else ShowMessage(''''connected!''''); 该函数返回TRUE如果本地系统没有连接到INTERNET。 附: 大多数装有IE或OFFICE97的系统都有此DLL可供调用。 InetIsOffline BOOL InetIsOffline( DWORD dwFlags, );
◇[DELPHI]简单地播放和暂停WAV文件 uses mmsystem;
function PlayWav(const FileName: string): Boolean; begin Result := PlaySound(PChar(FileName), 0, SND_ASYNC); end;
procedure StopWav; var buffer: array[0..2] of char; begin buffer[0] := #0; PlaySound(Buffer, 0, SND_PURGE); end;
◇[DELPHI]取机器BIOS信息 with Memo1.Lines do begin Add(''''MainBoardBiosName:''''+^I+string(Pchar(Ptr($FE061)))); Add(''''MainBoardBiosCopyRight:''''+^I+string(Pchar(Ptr($FE091)))); Add(''''MainBoardBiosDate:''''+^I+string(Pchar(Ptr($FFFF5)))); Add(''''MainBoardBiosSerialNo:''''+^I+string(Pchar(Ptr($FEC71)))); end;
◇[DELPHI]网络下载文件 uses UrlMon;
function DownloadFile(Source, Dest: string): Boolean; begin try Result := UrlDownloadToFile(nil, PChar(source), PChar(Dest), 0, nil) = 0; except Result := False; end; end;
if DownloadFile(''''http://www.borland.com/delphi6.zip, ''''c:\kylix.zip'''') then ShowMessage(''''Download succesful'''') else ShowMessage(''''Download unsuccesful'''')
◇[DELPHI]解析服务器IP地址 uses winsock
function IPAddrToName(IPAddr : String): String; var SockAddrIn: TSockAddrIn; HostEnt: PHostEnt; WSAData: TWSAData; begin WSAStartup($101, WSAData); SockAddrIn.sin_addr.s_addr:= inet_addr(PChar(IPAddr)); HostEnt:= gethostbyaddr(@SockAddrIn.sin_addr.S_addr, 4, AF_INET); if HostEnt<>nil then result:=StrPas(Hostent^.h_name) else result:=''''''''; end;
◇[DELPHI]取得快捷方式中的连接 function ExeFromLink(const linkname: string): string; var FDir, FName, ExeName: PChar; z: integer; begin ExeName:= StrAlloc(MAX_PATH); FName:= StrAlloc(MAX_PATH); FDir:= StrAlloc(MAX_PATH); StrPCopy(FName, ExtractFileName(linkname)); StrPCopy(FDir, ExtractFilePath(linkname)); z:= FindExecutable(FName, FDir, ExeName); if z > 32 then Result:= StrPas(ExeName) else Result:= ''''''''; StrDispose(FDir); StrDispose(FName); StrDispose(ExeName); end;
◇[DELPHI]控制TCombobox的自动完成 {''''Sorted'''' property of the TCombobox to true } var lastKey: Word; //全局变量 //TCombobox的OnChange事件 procedure Tform1.AutoCompleteChange(Sender: TObject); var SearchStr: string; retVal: integer; begin SearchStr := (Sender as TCombobox).Text; if lastKey <> VK_BACK then // backspace: VK_BACK or $08 begin retVal := (Sender as TCombobox).Perform(CB_FINDSTRING, -1, LongInt(PChar(SearchStr))); if retVal > CB_Err then begin (Sender as TCombobox).ItemIndex := retVal; (Sender as TCombobox).SelStart := Length(SearchStr); (Sender as TCombobox).SelLength := (Length((Sender as TCombobox).Text) - Length(SearchStr)); end; // retVal > CB_Err end; // lastKey <> VK_BACK lastKey := 0; // reset lastKey end; //TCombobox的onKeyDown事件 procedure Tform1.AutoCompleteKeyDown(Sender: TObject; var Key: Wor 上一页 [1] [2] [3] [4] [5] [6] [7] 下一页 [Delphi程序]先人的DELPHI基础开发技巧
|