⑴ delphi如何能判斷網路通不通
給你個我自己用的函數吧。
//---------------
//公用函數
//引用操作系統SensApi.dll 判斷當前的網路是否連接
function IsNetworkAlive(var lpdwFlagsLib:Integer):Integer;stdcall;external'SensApi.dll';
//ping網路
function fucPing(url: String): Boolean;
//獲取當前網路的連接狀態 add by jzh 2010-05-24
function fucIsNetworkAlive: Boolean;
const
NETWORK_ALIVE_LAN = 1; //通過區域網上網
const
NETWORK_ALIVE_WAN = 2; //通過廣域網上網
var
falg: Integer;
bAlive: Boolean;
begin
try
bAlive:= False;
IsNetworkAlive(falg);
case falg of
NETWORK_ALIVE_LAN:
begin
bAlive:= True;
end;
NETWORK_ALIVE_WAN:
begin
bAlive:= True;
end;
end;
result:= bAlive;
except
result:= false;
end;
end;
//ping網路
function fucPing(url: String): Boolean;
var
aIdICMPClient: TIdICMPClient;
begin
aIdICMPClient:= TIdICMPClient.Create(nil);
aIdIcmpclient.ReceiveTimeout:=500;
aIdICMPClient.Host:= url;
try
aIdICMPClient.Ping();
except
Result:= false;
end;
if (aidicmpclient.ReplyStatus.fromipaddress<>'0.0.0.0')
and (aidicmpclient.ReplyStatus.fromipaddress<>'') then
result:= true
else
result:= false;
aIdICMPClient.Free;
end;
⑵ delphi 函數的定義及使用
如果需要讓別的單元可以調用,可以在interface部分,type下的public,或者在type下都可以.例如:
public
function test(i : integer): string;
{ Public declarations }
如果需要在整個單元內使用,可以在type下的private部分聲明,或者"緊接著implementation之後":
implementation
function TForm1.test(i: integer): string;
begin
i := i + 1;
result := inttostr(i);
end;
如果只是想過程里使用,可以在過程內部裡面聲明.例如:
procere TForm1.Button1Click(Sender: TObject);
var i : integer;
function TForm1.test(i: integer): string;
begin
i := i + 1;
result := inttostr(i);
end;
begin
//....正文內容
end;
上面是我以前回答別人問題的答案.
http://..com/question/18481053.html
⑶ Delphi函數簡介
跳轉語句ObjectPascal的跳轉語句有if和case兩個。if語句if語句會計算一個表達式,並根據計算結果決定程序流程。在上文的常式中,根據ColorDialog.Execute的返回值,決定窗體的背景顏色。if保留字後跟隨一個生成Boolean值True或False的表達式。一般用「=」作為關系運算符,比較產生一個布爾型值。當表達式為True時,執行then後的語句。否則執行else後的代碼,if語句也可以不含else部分,表達式為False時自動跳到下一行程序。if語句可以嵌套,當使用復合語句表達時,復合語句前後需加上begin…end。else保留字前不能加「;」,而且,編譯器會將else語句視為屬於最靠近的if語句。必要時,須使用begin…end保留字來強迫else部分屬於某一級的if語句。
⑷ Delphi,關於函數體內定義內部函數的,這是一段類似的代碼,定義了之後,有什麼優缺點,不勝感激!
樓上的回答明顯文不對題,不知怎麼能夠被推薦,正解如下:
內部函數,或者稱為內嵌函數,算是pascal(delphi)的一個特徵了,其好處有二:
1、通過局部化,體現一種封裝思想。一個函數的內嵌函數如同它的局部變數一樣,對其外部邏輯不可見,這樣能夠屏蔽外界非期望的調用或訪問,保證代碼邏輯的安全性。另外一個好處也很明顯,不同函數的內嵌函數允許同名,就像許多函數或過程中的循環變數都用i、j一樣,不用費神去給變數、函數等起不同的名字,尤其是邏輯功能接近的函數,相信大家都有這樣的體會,在編碼實現的過程中,起名字是個讓人撓頭的事兒。本人的經驗是:作用范圍寬廣的,名字要清楚地表意,一般較長,而作用范圍很小的,命名不需要太講究,因為講究起來成本不小。
2、每個內嵌函數可以「見到」其父層函數的參數和定義在前面的局部變數,這樣,內嵌函數能夠控制的資源就多一些,不必要所有的東西都通過參數傳遞,在一定程度上能夠節省參數傳遞的性能開銷,這個問題的性質與「怎樣審慎地使用全局變數?」相同,簡單地全面否定全局變數也並非在任何場合都有好處。《代碼大全》是一本非常棒的數,其中就有關於全局變數的適用性探討,按此書的描述,使用全局變數可以消除「穿梭數據」。
⑸ Delphi7.0裡面常用到的函數,及屬性,事件有哪些
abort 函數 引起放棄的意外處理
addexitproc 函數 將一過程添加到運行時庫的結束過程表中
addr 函數 返回指定對象的地址
adjustlinebreaks 函數 將給定字元串的行分隔符調整為cr/lf 序列
allocmem 函數 在堆棧上分配給定大小的塊
ansicomparestr 函數 比較字元串(區分大小寫)
ansicomparetext 函數 比較字元串(不區分大小寫)
ansilowercase 函數 將字元轉換為小寫
ansiuppercase 函數 將字元轉換為大寫
append 函數 以附加的方式打開已有的文件
assignfile 函數 給文件變數賦一外部文件名
assigned 函數 測試函數或過程變數是否為空
beginthread 函數 以適當的方式建立用於內存管理的線程
blockread 函數 讀一個或多個記錄到變數中
blockwrite 函數 從變數中寫一個或多個記錄
changefileext 函數 改變文件的後綴
chdir 函數 改變當前目錄
chr 函數 返回指定序數的字元
closefile 命令 關閉打開的文件
comparestr 函數 比較字元串(區分大小寫)
函數 返回一字元串的子串
datetimetofiledate 函數 將delphi 的日期格式轉換為dos 的日期格式
datetimetostr 函數 將日期時間格式轉換為字元串
datetimetostring 函數 將日期時間格式轉換為字元串
datetostr 函數 將日期格式轉換為字元串
dayofweek 函數 返回星期的數值
dec 函數 遞減變數值
decodedate 函數 將日期格式分解為年月日
decodetime 函數 將時間格式分解為時、分、秒、毫秒
delete 函數 從字元串中刪除子串
deletefile 命令 刪除文件
diskfree 函數 返回剩餘磁碟空間的大小
disksize 函數 返回指定磁碟的容量
dispose 函數 釋放動態變數所佔的空間
disposestr 函數 釋放字元串在堆棧中的內存空間
ditherbackground 命令 使背景色的色彩加重或減少50%
dragcursor 屬性 當滑鼠按下時游標的形狀
dragmode 屬性 按動的作用方式
dropdowncount 屬性 容許的顯示數據項的數目
editmask 屬性 編輯模式
encodedate 函數 將年月日合成為日期格式
encodetime 函數 將時、分、秒、毫秒合成為時間格式
endmargin 屬性 末尾邊緣
eoln 函數 返迴文本文件的行結束狀態
erase 命令 刪除外部文件
exceptaddr 函數 返回引起當前意外的地址
exclude 函數 從集合中刪除一些元素
exceptobject 函數 返回當前意外的索引
extendedselect 屬性 是否允許存在選擇模式,true 時,multiselect 才有意義
fileage 函數 返迴文件已存在的時間
fileclose 命令 關閉指定的文件
filecreate 命令 用指定的文件名建立新文件
filedatetodatetime 函數 將dos 的日期格式轉換為delphi 的日期格式
filegatattr 函數 返迴文件的屬性
filegetdate 函數 返迴文件的dos 日期時間標記
fileopen 命令 用指定的存取模式打開指定的文件
filepos 函數 返迴文件的當前指針位置
fileread 命令 從指定的文件讀取
filesearch 命令 在目錄中搜索指定的文件
fileseek 函數 改變文件的指針
filesetattr 函數 設置文件屬性
filesetdate 函數 設置文件的dos 日期時間標記
filesize 函數 返回當前文件的大小
filewrite 函數 對指定的文件做寫操作
fillchar 函數 用指定的值填充連續位元組的數
findclose 命令 終止findfirst/findnext 序列
findfirst 命令 對指定的文件名及屬性搜索目錄
findnext 命令 返回與文件名及屬性匹配的下一入口
floattodecimal 函數 將浮點數轉換為十進制數
floattostrf 函數 將浮點數轉換為字元串
floattostr 函數 將浮點數轉換為字元串
floattotext 函數 將給定的浮點數轉換為十進制數
floattotextfmt 函數 將給定的浮點數轉換為十進制數
flush 函數 將緩沖區的內容刷新到輸出的文本文件中
fmtloadstr 函數 從程序的資源字元串表中裝載字元串
fmtstr 函數 格式化一系列的參數,其結果以參數result 返回
format 函數 格式化一系列的參數並返回pascal 字元串
formatbuf 函數 格式化一系列的參數
formatdatetime 函數 用指定的格式來格式化日期和時間
formatfloat 函數 指定浮點數格式
frac 函數 返回參數的小數部分
freemem 函數 按給定大小釋放動態變數所佔的空間
getdir 函數 返回指定驅動器的當前目錄
getheapstatus 函數 返回內存管理器的當前狀態
getmem 函數 建立一指定大小的動態變數,並將指針指向該處
getmemorymanager 函數 返回內存管理器的入口點
glyph 函數 按鈕上的圖象
halt 命令 停止程序的執行並返回到操作系統
hi 函數 返回參數的高地址位
high 函數 返回參數的上限值
int 函數 返回參數的整數部分
include 函數 添加元素到集合中
insert 函數 在字元串中插入子串
inttohex 函數 將整型數轉換為十六進制數
inttostr 函數 將整型數轉換為字元串
ioresult 函數 返回最新的i/o 操作完成狀態
isvalidident 函數 測試字元串是否為有效的標識符
largechange 屬性 最大改變值
length 函數 返回字元串的動態長度
lines 屬性 預設顯示內容
ln 函數 自然對數函數
lo 函數 返回參數的低地址位
loadstr 函數 從應用程序的可執行文件中裝載字元資源
lowercase 函數 將給定的字元串變為小寫
low 函數 返回參數的下限值
mkdir 命令 建立一子目錄
move 函數 從源到目標復制位元組
newstr 函數 在堆棧上分配新的字元串
ondeactivate 事件 用戶切換到另一應用程序觸發
ondragover 事件 有其他控制項從他上面移過觸發
ord 函數 返回序數類的序數
outofmemoryerror 命令 引起outofmemory 意外
pageindex 屬性 頁索引
paramcount 函數 返回在命令行上傳遞給程序的參數數量
paramstr 函數 返回指定的命令行參數
pictureclosed 屬性 設置closed 點陣圖
pictureleaf 屬性 設置leaf 點陣圖
pictureminus 屬性 設置minus 點陣圖
pictureopen 屬性 設置open 點陣圖
pictureplus 屬性 設置plus 點陣圖
pos 函數 在字元串中搜索子串
pred 函數 返回先前的參數
random 函數 返回一隨機函數
randomize 函數 用一隨機數初始化內置的隨機數生成器
read 函數 對有格式的文件,讀一文件組件到變數中;
對文本文件,讀一個或多個值到一個或多個變數中
readln 函數 執行read 過程,然後跳到文件下一行
readonly 屬性 只讀屬性
reallocmem 函數 分配一動態變數
rename 函數 重命名外部文件
renamefile 函數 對文件重命名
reset 函數 打開已有的文件
rewrite 函數 建立並打開一新的文件
rmdir 函數 刪除空的子目錄
round 函數 將實數值舍入為整型值
runerror 函數 停止程序的執行
seek 函數 將文件的當前指針移動到指定的組件上
seekeof 函數 返迴文件的文件結束狀態
seekeoln 函數 返迴文件的行結束狀態
setmemorymanager 函數 設置內存管理器的入口點
settextbuf 函數 給文本文件指定i/o 緩沖區
showexception 函數 顯示意外消息與地址
sizeof 函數 返回參數所佔的位元組數
smallchange 屬性 最小改變值
str 函數 將數值轉換為字元串
stralloc 函數 給以null 結束的字元串分配最大長度-1 的緩沖區
strbufsize 函數 返回存儲在由stralloc 分配的字元緩沖區的最大字元數
strcomp 函數 比較兩個字元串
str 函數 將一個字元串復制到另一個字元串中
strdispose 函數 釋放堆棧上的字元串
stre 函數 將一字元串復制到另一個字元串並返回結果字元串尾部的指針
strend 函數 返回指向字元串尾部的指針
stretch 屬性 自動適應控制項的大小
strfmt 函數 格式化一系列的參數
stricomp 函數 比較兩個字元串(不區分大小寫)
stringtowidechar 函數 將ansi 字元串轉換為unicode 字元串
strlcat 函數 將一字元串中的字元附加到另一字元串尾並返回合並的字元串
strlcomp 函數 以最大長度比較兩個字元串
strl 函數 將一個字元串中的字元復制到另一個字元串中
strlen 函數 返回字元串中的字元數
strlfmt 函數 格式化一系列的參數,其結果中包含有指向目標緩沖區的指針
strlicomp 函數 以最大長度比較兩個字元串(不區分大小寫)
strlower 函數 將字元串中的字元轉換為小寫
strmove 函數 將一個字元串中的字元復制到另一個字元串中
strnew 函數 在堆棧上分配一個字元串
strpas 函數 將以null 結束的字元串轉換為pascal 類的字元串
strp 函數 將pascal 類的字元串復制為以null 結束的字元串
strpl 函數 從pascal 類的最大長度字元串復制為以null 結束的字元串
strpos 函數 返回一個字元串在另一個字元串中首次出現指針
strrscan 函數 返回字元串中最後出現字元的指針
strscan 函數 返回字元串中出現首字元的指針
strtodate 函數 將字元串轉換為日期格式
strtodatetime 函數 將字元串轉換為日期/時間格式
strtofloat 函數 將給定的字元串轉換為浮點數
strtoint 函數 將字元串轉換為整型
strtointdef 函數 將字元串轉換為整型或默認值
strtotime 函數 將字元串轉換為時間格式
strupper 函數 將字元串中的字元轉換為大寫
suce 函數 返回後繼的參數
swap 函數 交換參數的高低地址位
texttofloat 函數 將字元串(以null 結束的格式)轉換為浮點數
timetostr 函數 將時間格式轉換為字元串
trunc 函數 將實型值截取為整型值
truncate 函數 截去當前文件位置後的內容
unselectedcolor 屬性 未選中顏色
upcase 函數 將字元轉換為大寫
uppercase 函數 將給定的字元串變為大寫
val 函數 將字元串轉換為整型值
vararraycreate 函數 以給定的界限和維數建立變體數組
vararraydimcount 函數 返回給定變體的維數
vararrayhighbound 函數 返回給定變體數組維數的上界
vararraylock 函數 鎖定給定的變體數組
vararraylowbound 函數 返回給定變體數組維數的下界
vararrayof 函數 返回指定變體的數組元素
vararrayredim 函數 通過改變上限來調整變體的大小
vararrayunlock 函數 解鎖指定的變體數組
varastype 函數 將變體轉換為指定的類型
varcase 函數 將變體轉換為指定的類型並保存他
varclear 函數 清除指定的變體
var 函數 將指定的變體復制為指定的變體
varformdatetime 函數 返回包含日期時間的變體
varisarray 函數 測試變體是否為數組
varisempty 函數 測試變體是否為unassigned
varisnull 函數 測試變體是否為null
vartodatetime 函數 將給定的變體轉換為日期時間
vartype 函數 將變體轉換為指定的類型並保存他
wantreturns 屬性 為true 時,按回車鍵產生一個回車符;
為false 時,按下ctrl+enter 才產生回車符
write 命令 對有格式的文件,寫一變數到文件組件中;
對文本文件,寫一個或多個值到文件中
writeln 命令 執行write 過程,然後輸出一行結束標志
widecharlentostring 函數 將ansi 字元串轉換為unicode 字元串
widecharlentostrwar 函數 將unicode 字元串轉換為ansi 字元串變數
widechartostring 函數 將unicode 字元串轉換為ansi 字元串
widechartostrvar 函數 將unicode 字元串轉換為ansi 字元串變數