目前分類:程式開發 (14)

瀏覽方式: 標題列表 簡短摘要

不錯誤的IDE  Code::Block

原來開發環境創建不容易 codeblocks(IDE)+mingw(编译器)+wxwidgets(C++类库)

wxWidgets+CodeBlocks搭建环境

joomy 發表在 痞客邦 留言(0) 人氣()

function Locate(const KeyFields: String; const KeyValues: Variant; Options: TLocateOptions): Boolean;
可區分「單一欄位查詢」與「多欄位查詢」

joomy 發表在 痞客邦 留言(0) 人氣()

API
SetFileAttributes(文件名,FILE_ATTRIBUTE_HIDDEN),  
  或者SetFileAttributes(文件名,6),

DELPHI函数:  
1. 在interface下的uses中引用filectrl单元。  
2.  filesetattr('filename',DELPHI常量)  
   
  例如:  
          filesetattr('my.doc',fareadonly)//改成只读    
          filesetattr('my.doc',fareadonly+faarchive)//成为只读和存档      

joomy 發表在 痞客邦 留言(0) 人氣()

◆PHP 判斷作業系統
if (strtoupper(substr(PHP_OS,0,3)=='WIN')) {
  $eol="\r\n";
} elseif (strtoupper(substr(PHP_OS,0,3)=='MAC')) {
  $eol="\r";
} else {
  $eol="\n";  \\UNIX
}

Script 判斷瀏覽器
<SCRIPT LANGUAGE="JavaScript">
<!--
if (window.navigator.userAgent.indexOf("MSIE")>=1)
{
//如果浏览器为IE
}else{
 if (window.navigator.userAgent.indexOf("Firefox")>=1)
 {
 //如果浏览器为Firefox
 }else{
 //如果浏览器为其他
 }
}

//-->
</SCRIPT>

joomy 發表在 痞客邦 留言(0) 人氣()

TEmbeddedWB 讓 WebBrowser 當出現 forbidden 錯誤時不要在顯示 Dialog

procedure TForm1.EmbeddedWB1forbiddenError(Sender: TObject; ErrorLine,
ErrorCharacter, ErrorCode, ErrorMessage, ErrorUrl: String;
var Continueforbidden, Showdialog: Boolean);
begin
      Continueforbidden :=true;//繼續執行腳本
      Showdialog :=false; //不顯示腳本錯誤訊息視窗
end;

joomy 發表在 痞客邦 留言(0) 人氣()

   window.showModelessDialog("xxx.htm");

onBlur="setTimeout('self.focus()', 200);"
若有兩個以上的網頁同時被開啟,那可是會亂成一團的喔!

joomy 發表在 痞客邦 留言(0) 人氣()

host能輸入domain跟ip
持續改進中....接下來udp跟ssl連線也都要可以測

給它主機名稱跟port,如果正常連線會傳回ture失敗傳回false,監測時間大概一秒鐘,超過則算失敗

function chkservice($host, $port)
{  
    if (ini_get('display_errors')==1){ //判斷ini的display errors的設定
    $ch_ini_display=1;
    ini_set('display_errors', 0);//設定連線錯誤時不要display errors
    }
    $hostip = gethostbyname($host); //檢查輸入的host name dns正解
        if (!$x = fsockopen($hostip, $port, $errno, $errstr, 1)) //測試連線
        {
            return false;
        }
        else
        {
            return ture;
            if ($x){fclose($x); //關閉連線,好寶寶都會養成的好習慣,也不知道有沒有用
            }
        }
    if ($ch_ini_display==1) ini_set('display_errors', 1); //將ini的display error設定改回來
}

joomy 發表在 痞客邦 留言(1) 人氣()

Delphi 11  (Delphi 2007或RAD Studio 5.0)
DCC32.EXE 的檔案版本編號 11.0.2627.5503
CodeGear Delphi for Win32 compiler version 18.5
{VER185}   ==> 所以由此可知 Delphi 2007 與 Delphi 2006 所更新的 Win32 編譯器其實沒有差太多!!

Delphi 10 (Delphi 2006或BDS 4.0)
DCC32.EXE 的檔案版本編號 10.0.2418.27083
Borland Delphi for Win32 compiler version 18.0
{VER180}


Delphi 9 (Delphi 2005或BDS 3.0)
DCC32.EXE 的檔案版本編號 9.X
Borland Delphi for Win32 compiler version 17.0
{VER170}


Delphi 7
DCC32.EXE 的檔案版本編號 7.0.8.1
Borland Delphi Version 15.0
{VER150}

如果在程式中有用到要判斷目前的 Delphi 的版本編號的話,用 VERnnn
{$IFDEF VER180}
     ShowMessage('Delphi2006');
{$ENDIF}

目前這個最常被的地方:
1、元件
2、當程式是在各版本上需有不同的執行結果
3、當各版本在昇級後, Function 放置的 Unit  已經改變時

joomy 發表在 痞客邦 留言(0) 人氣()

Delphi 封裝應用程式後,在某些PC上會發生『找不到重要的DLL檔-QTINTF.DLL』錯誤訊息
==========================

避免uses 一些QXXX.pas
其需要連結qtintf.Dll
有些作業系統無此DLL

joomy 發表在 痞客邦 留言(0) 人氣()

◆ 可取得 Modules
在程式執行時,只要按 Ctrl + Alt + M ,就可以知道在程式執行的時侯,
到底Load了那些Dll囉!

◆ 可取得 EventLos
在程式執行時,只要按 Ctrl + Alt + V

joomy 發表在 痞客邦 留言(0) 人氣()

TCP 的性能取決於幾個方面的因素。兩個最重要的因素是鏈接帶寬(link bandwidth)(報文在網絡上傳輸的速率)和往返時間(round-trip time) 或 RTT(發送報文與接收到另一端的響應之間的延時)。這兩個值確定了稱為 Bandwidth Delay Product(BDP)的內容。

給定鏈接帶寬和 RTT 之後,您就可以計算出 BDP 的值了,不過這代表什麼意義呢?BDP 給出了一種簡單的方法來計算理論上最優的 TCP socket 緩衝區大小(其中保存了排隊等待傳輸和等待應用程序接收的數據)。如果緩衝區太小,那麼 TCP 窗口就不能完全打開,這會對性能造成限制。如果緩衝區太大,那麼寶貴的內存資源就會造成浪費。如果您設置的緩衝區大小正好合適,那麼就可以完全利用可用的帶寬。

下面我們來看一個例子:

      BDP = link_bandwidth * RTT

如果應用程序是通過一個 100Mbps 的局域網進行通信,其 RRT 為 50 ms,那麼 BDP 就是:

      100MBps * 0.050 sec / 8 = 0.625MB = 625KB

注意:此處除以 8 是將位轉換成通信使用的字節。因此,我們可以將 TCP 窗口設置為 BDP 或 1.25MB。但是在 Linux 2.6 上默認的 TCP 窗口大小是 110KB,這會將連接的帶寬限製為 2.2MBps,計算方法如下:

      throughput = window_size / RTT
      110KB / 0.050 = 2.2MBps

如果使用上面計算的窗口大小,我們得到的帶寬就是 12.5MBps,計算方法如下:

      625KB / 0.050 = 12.5MBps

差別的確很大,並且可以為 socket 提供更大的吞吐量。因此現在您就知道如何為您的 socket 計算最優的緩衝區大小了。

joomy 發表在 痞客邦 留言(0) 人氣()

var gsAgentLogo:String;

//宣告監聽程式
var LoadListener:Object = new Object();
var mcLoader:MovieClipLoader = new MovieClipLoader();
mcLoader.addListener(LoadListener);

//載入完成時呼叫
LoadListener.onLoadComplete = function(target_mc:MovieClip):Void  {
     target_mc.gotoAndStop(gsAgentLogo);
};

_root.createEmptyMovieClip("logo", 1);
mcLoader.loadClip(sAgentFile, logo);

joomy 發表在 痞客邦 留言(0) 人氣()

import flash.external.*;

var gsAgentLogo:String;
ExternalInterface.addCallback("CallLoadAgentLogo", this, LoadAgentLogo);
function LoadAgentLogo(sAgentFile, sGotoLabel:String) {
     mcLoader.loadClip(sAgentFile, logo);
     gsAgentLogo = sGotoLabel;
}

_root.createEmptyMovieClip("logo", 1);

joomy 發表在 痞客邦 留言(0) 人氣()

內容截取自:http://www.shou-nao.com/tw/charles/article.cfm?ATC_ID=E477A780-934F-2EAA-1011F1F9BE3E3302

使用firebox发現charles lab的樣式在該瀏覽器中表示有問題,很多元素不支持顯示。之後我修改了該錯誤。今天貼一個透過js來調用css的樣式,就像大家熟悉的動網BBS,透過 選擇就可以調用網站css樣式一樣。但在IE和firefox中的判斷是不太一樣,顯示的效果也有一定的區別一樣。
代碼如下:

<SCRIPT LANGUAGE="JavaScript">
<!--
if (window.navigator.userAgent.indexOf("MSIE")>=1)
{
//如果浏览器为IE
setActiveStyleSheet("default.css");
}else{
if (window.navigator.userAgent.indexOf("Firefox")>=1)
{
//如果浏览器为Firefox
setActiveStyleSheet("default2.css");
}else{
//如果浏览器为其他
setActiveStyleSheet("newsky.css");
}
}

function setActiveStyleSheet(title){
  document.getElementsByTagName("link")[0].href="style/"+title;
}
//-->
</SCRIPT>



解释:
如果浏览器为IE,则调用default.css
如果浏览器为Firefox,则调用default2.css
如果浏览器为其他,则调用newsky.css

joomy 發表在 痞客邦 留言(0) 人氣()