◇[DELPHI]程序不出现在任务栏 uses windows var ExtendedStyle : Integer; begin Application.Initialize; //============================================================== ExtendedStyle := GetWindowLong (Application.Handle, GWL_EXSTYLE); SetWindowLong(Application.Handle, GWL_EXSTYLE, ExtendedStyle OR WS_EX_TOOLWINDOW AND NOT WS_EX_APPWINDOW); //=============================================================== 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]当前的光驱的盘符 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]关于日期格式分解转换 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'''')
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; //