Time of Update: 2018-12-07
在服務函數中用Var用參數關鍵字時,比如function TEMISLogic.UpdateMenu(var OldFields: TEMISFields): Boolean;begin Result := False; try Result := FEMISS.UpdateMenu(OldFields); except on E : Exception do begin FEMISCommon.ErrorDlg(e.Message); Exit;
Time of Update: 2018-12-07
防止同時開啟多個應用程式的執行個體,也就是同時只有一個程式在運行,再運行同一個程式時,會自動關閉,以下代碼放在項目的.dpr(專案檔)中的Application.Initialize;上面。 代碼如下var hMutex: DWORD; Ret: Integer;{以上代碼要放在begin..end上}hMutex := 0; try hMutex := CreateMutex(nil, False, 'eShapeOfClient'); /
Time of Update: 2018-12-07
今天外面又是暴雨如注啊,不知道會不會發洪水,呵呵。外面傾盆大雨的時候,坐在椅子上的我汗水似傾盆大雨。 昨天剛做完軟體更新模組,後來客戶需要把現在的程式做成MDI(又是費神的事情)。做就做吧,程式改完,F9。還好沒有任何問題(心裡正美的),關閉時問題出現了 “.....too many consecutive
Time of Update: 2018-12-07
錯誤資訊: 伺服器: 訊息 15135,層級 16,狀態 1,過程 sp_validatepropertyinputs,行 100. 對象無效。 不允許在 '.cash_flux' 上使用擴充屬性,或對象不存在。在使用PowerDesigner12設計資料庫時,沒有為表指定Owner,於是出現了上述錯誤,因為我需要為表和欄位產生注釋,如下:execute sp_addextendedproperty 'MS_Description', '要貨單'
Time of Update: 2018-12-07
1declare @Menu_id varchar(250) 2declare @pos int 3declare @oldPos int 4declare @tempstr varchar(100) 5 6 7create table #temp_id ( id int ) 8 9set @Menu_id = '60,62,63,64'10set @pos=1 11set @oldPos=1 12while @pos<len(@Menu_id) 13begin 14 se
Time of Update: 2018-12-07
在DELPHI下建立一工程,放置Edit1,Edit2,Label1,Label2,Button1組件.具體代碼如下: unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,Registry;//在此加上Registry以便調用註冊表. type TForm1 = class(TForm) Button1: TButton;
Time of Update: 2018-12-07
var PageLine: integer;//現在列印到第幾行 PageMaxRow: integer=15; //空行行數procedure MasterData1OnBeforePrint(Sender: TfrxComponent);begin PageLine := <Line> mod PageMaxRow; if (PageLine = 1) and (<line> > 1) then Engine.newpag
Time of Update: 2018-12-07
最近用powerDesinger遇到一些小問題,遇到好幾次同樣的問題了,寫在這裡,以備查用:--------------------------------------------------------------------------------------------------sql語句中表名與欄位名前的引號去除:開啟cdm的情況下,進入Tools-Model Options-Naming Convention,把Name和Code的標籤的Charcter
Time of Update: 2018-12-07
CDM是大多數開發人員使用PD時最先建立的模型,也是整個資料庫設計最高層的抽象。CDM是建立在傳統的ER圖模型理論之上的,ER圖中有三大主要元素:實體型,屬性和聯絡。其中實體型對應到CDM中的Entity,屬性對應到CDM中每個Entity的Attribute,在概念上基本上是一一對應的。但在聯絡上,CDM有了比較大的擴充,除了保留ER圖原有的RelationShip概念之外,還增加了Association,Inheritance兩種實體關聯,下面就讓我們分別看看這些關係的用法和之間的區
Time of Update: 2018-12-07
在Delphi中,也有與C相似的先行編譯指令,雖然該類指令只在當前的單個檔案有效(也有可能是筆者未全面瞭解該類指令的真正用法),但是這一類指令對於進行多版本的製作工作(如從標準版中出學習版),確實有著相當不錯的用途。 一.指令介紹:1. DEFINE指令:格式:{$DEFINE 名稱} 說明 :用於定義一個在當前單元有效符號(Symbol)。定義了 之後可以使用IF
Time of Update: 2018-12-07
人民幣大寫金額轉換函式function MoneyToCn(ANumberic: Real): string;const s1: string = '零壹貳三肆伍陸柒捌玖'; s2: string = '分角元拾佰仟萬拾佰仟億拾佰仟萬';function StrTran(const S, s1, s2: string): string;begin Result := StringReplace(S, s1, s2, [rfReplaceAll]);end;var S, dx: strin
Time of Update: 2018-12-07
1、PChar到string的轉換 可直接賦值,如: X: string; Y: PChar; X := '1'; Y := '2'; X := Y; // X=22、string到PChar的轉換 一般情況下都可以用PChar('')來強制轉換 Y: PChar; Y := PChar('2');
Time of Update: 2018-12-07
IOC英文為 Inversion of Control,即反轉模式,這裡有著名的好萊塢理論:你獃著別動,到時我會找你。Ioc模式是解決調用者和被調用者之間關係的模式,可以有效降低軟體的耦合度,並適合團隊開發,使用這種模式需要首先設計一個好的架構,也可以稱之為IoC容器(可能這樣的說法在Java世界更Cool J)。其實Windows內部就存在這樣的模式,稱之為Callback(回調),在Delphi 的原始碼中也有很多這樣的方式。看一個例子: 可以開啟下面兩個檔案
Time of Update: 2018-12-07
摘要:本文主要介紹我在將一個本機資料庫遷移到SQL Azure資料庫時,遇到的一個錯誤資訊“Deprecated feature 'More than two-part column name' is not supported in this version of SQL Server.” (“列名多於兩個組成部分”),及其解決辦法。關鍵詞: SQL Azure, TSQL, SQL Server 2008 我在把本機資料遷移到SQL Azure時,執行如下指令碼時:CREATE VIEW [
Time of Update: 2018-12-07
function IsRuning(const AObjectName: string): Boolean;{AObjectName='aaa.exe'}var lppe : TProcessEntry32; sshandle: Thandle; found: boolean;begin Result := False; sshandle := CreateToolhelp32Snapshot(TH32CS_SNAPALL,0); found := Process32First(ss
Time of Update: 2018-12-07
最近無意中發現在盒子論壇中有人回答了本文的問題,最後在Eurekalog的安裝目錄中的ExceptionLog.pas找到了多發送的Rest命令的地方,現傳上來,有需要的朋友下載下面的檔案。 因為163,SINA等郵件伺服器的命令規定,在STOCK發送郵件時多發送了一個REST命令,去掉REST命令,問題解決。 ExceptionLog.pas檔案下載 在D7下編譯通過。
Time of Update: 2018-12-07
論壇上很多朋友(也包括我)提到ActiveForm的發布問題,都沒有得到很好的解決。下面是本人開發ActiveForm的一點經驗,拿出來跟大家分享,開發環境為 Win2000Server,IIS5.0,BCB5.0,Delphi也差不多的了。 先說說程式的開發,如果是從一般應用程式移植而來,注意所有的表單(除了主表單)都要動態建立,工程的選項裡面是沒有Auto-Create
Time of Update: 2018-12-07
大家都知道TList即可用於鏈表,又可用於數組,最近在做項目時遇到點小問題(可能是我對指標瞭解的不透徹吧),造成了不大不小的問題,下面就說說是怎麼回事。 首先我先定義了Record及對應的指標類型。PGoodsInfo = ^GoodsInfo; GoodsInfo = record ID : string; Name : string; Number : string; end; 下面是定義變數
Time of Update: 2018-12-07
Delphi能不能開發Windows的驅動程式(這裡的驅動程式當然不是指VxD了^_^)一直是廣大Delphi fans關注的問題。姑且先不說能或者不能,我們先來看看用Delphi開發驅動程式需要解決哪些技術上問題。 Delphi的連結器是無法產生Windows核心模式程式的,因此用delphi無法直接產生驅動程式。M$的連結器是可以產生Windows核心模式程式的,那麼是否可以用Delphi產生目標檔案,然後用M$連結呢?要這麼做必須要解決以下的問題: Delphi產生的目標檔案是OMF格
Time of Update: 2018-12-07
procedure DelFiles(fileName: string);var SearchRec: TSearchRec;begin ChDir(ExtractFilePath(fileName)); //進入檔案路徑 FindFirst(fileName, faAnyFile, SearchRec); repeat if FileExists(SearchRec.Name) then begin //FileSetAttr(SearchRec.Name,0)