??????QuotedStr : 此函數(shù)的作用保證數(shù)據(jù)庫里面執(zhí)行的SQL不會因?yàn)椤忍厥庾址鲥e;
??????Dual????????? : oracle數(shù)據(jù)庫里面的函數(shù)。
2、????????? Application.ProcessMessages;
這個語句的作用很大啊,工控里面有專門負(fù)責(zé)數(shù)據(jù)采集的程序,時時的需要采集數(shù)據(jù),里面要是不加上這么一句話你的前臺展示,就會很難看,鼠標(biāo)點(diǎn)擊下去,老半天沒有反應(yīng)。
3、Delphi--Stream和Variant的轉(zhuǎn)化網(wǎng)上廣為流傳的兩個函數(shù),確實(shí)好用。
procedure VariantToStream (const v : OleVariant; Stream : TMemoryStream);
var
? p : pointer;
begin
? Stream.Position := 0;
? Stream.Size := VarArrayHighBound (v, 1) - VarArrayLowBound (v, 1) + 1;
? p := VarArrayLock (v);
? Stream.Write (p^, Stream.Size);
? VarArrayUnlock (v);
? Stream.Position := 0;
end;
procedure StreamToVariant (Stream : TMemoryStream; var v : OleVariant);
var
? p : pointer;
begin
? v := VarArrayCreate ([0, Stream.Size - 1], varByte);
? p := VarArrayLock (v);
? Stream.Position := 0;
? Stream.Read (p^, Stream.Size);
? VarArrayUnlock (v);
end;
4、這個函數(shù)也是非常鎮(zhèn)的,
function ByteType(const S: string; Index: Integer): TMbcsByteType;
IsDBCSLeadByte
告訴你一個非常有用的函數(shù)。
bytetype? 它可以判斷一個字符串中,某個 Char 是單個字母,還是雙字節(jié)的前一位或
后一位。
mbSingleByte?單字母
mbLeadByte?雙字節(jié)第一位
mbTrailByte?雙字節(jié)第二位
在copy(Str,1,12)中結(jié)果有個全角的8,,,過不去了居然quotedstr()的結(jié)果也出現(xiàn)了?我怎么辦
function TFrmMain.procQJWT(olds: String): String;
var
? tmp : string;
begin
? tmp := Trim(olds);
? Result := tmp;?
? if Length(tmp)>12 then
? begin
??? //是單個字符
??? if? ByteType(tmp,12)=mbLeadByte then
????? result := Copy(tmp,1,11)
??? else
????? result := Copy(tmp,1,12);
? end;
end;
寫了一個函數(shù)就解決戰(zhàn)斗了!