Delphi에서 StrToInt을 하는 경우 Exception 발생하는데, Debug 시에는 귀찮을 때가 있어 Tip을 올립니다. SysUtil.pas의 StrToInt 내부를 보면, Var 함수를 사용하고 있는데, 3번째 인자의 값이 0이 아니면 Exception을 발생하도록 되어 있습니다. function StrToInt(const S: string): Integer; var E: Integer; begin Val(S, Result, E); if E 0 then ConvertErrorFmt(@SInvalidInteger, [S]); end; 사용예) 아래의 예를 보시면 Result 값을 0으로 초기화 하고 Var의 3번째 인자의 값이 0이면 Result에 값에 담아서 반환하도록 했습니다. functi..
uses StrUtils; procedure TForm1.Button1Click(Sender: TObject); var tmpDirStr : String; offset : integer; function GetFindStr(SubFindStr : String; var offset : integer):string; var offsetOld, offset2 : integer; begin Result := ''; offset2 := 0; if SubFindStr[offset] = '/' then inc(offset2); offsetOld := offset; offset := PosEx('/', SubFindStr, offset + offset2); if offset>0 then begin Result := M..
type TDatabaseType = (dbtMSSQL, dbtOracle, dbtCUBRID, dbtSybase, dbtNone); TDatabaseSet = set of TDatabaseType; const StrDatabaseNames : array[TDatabaseType] of String = ('MSSQL', 'Oracle', 'CUBRID', 'Sybase', 'None'); 함수 내용 Typeinfo 열거형의 형정보(TypeInfo)에 대한 포인터 반환 GetEnumName 열거형의 각 멤버를 문자열로 반환 GetEnumValue Ord Pred Succ Dec Inc Low procedure TForm1.Button1Click(Sender: TObject); var DatabaseType..
원본 사이트 : http://www.experts-exchange.com/Programming/Languages/Pascal/Delphi/Q_10231553.html procedure TForm1.Button1Click(Sender: TObject); function GetLocale(ALcid: Integer): string; var s: string; begin Result := '[Unknown]'; SetLength(s, 128); if GetLocaleInfo(ALcid, LOCALE_SENGLANGUAGE, PChar(s), 128) > 0 then begin Result := StrPas(PChar(s)); if GetLocaleInfo(ALcid, LOCALE_SENGCOUNTRY, PCh..
- Query 실행후 동적으로 컬럼 추가 (cxGridDBTableView1.DataController as IcxCustomGridDataController).DeleteAllItems; (cxGridDBTableView1.DataController as IcxCustomGridDataController).CreateAllItems(true); cxGridDBTableView1.ApplyBestFit(); - [Enter] 키로 Cell 이동 cxGrid1TableView1.OptionsBehavior.FocusCellOnCycle := true; cxGrid1TableView1.OptionsBehavior.FocusCellOnTab := true; cxGrid1TableView1.OptionsBeha..
참조 http://delphigeist.blogspot.com/2009/11/saveload-controls-from-inifile-using.html uses inifiles; procedure TForm1.FormCreate(Sender: TObject); var IniFile : TiniFile; begin // IniFile := TiniFile.Create(ChangeFileExt(Application.ExeName,'.ini')); try isDEBUG := IniFile.ReadBool('INFO', 'DEBUG', false); finally IniFile.Free; end; end; procedure TForm1.FormDestroy(Sender: TObject); var IniFile ..
uses Dialogs; function MessageDlg(const Msg: string; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons; HelpCtx: Longint; DefaultButton: TMsgDlgBtn): Integer; overload; TMsgDlgType = ( mtWarning, mtError, mtInformation, mtConfirmation, mtCustom ); TMsgDlgBtn = ( mbYes, mbNo, mbOK, mbCancel, mbAbort, mbRetry, mbIgnore, mbAll, mbNoToAll, mbYesToAll, mbHelp, mbClose ); if MessageDlg('종료 할래?', mtConfirm..
- Total
- Today
- Yesterday
- 튜닝쇼 2008
- Mac
- 동경
- Linux
- 레이싱모델 익스트림 포토 페스티벌
- NDK
- ffmpeg
- Spring MVC
- Spring
- SAS
- sas2009
- ubuntu
- oracle
- android
- Java
- BPI-M4
- flex
- 송주경
- Xcode
- ble
- Delphi
- 지스타2007
- 일본여행
- Delphi Tip
- KOBA
- 서울오토살롱
- MySQL
- koba2010
- JavaScript
- 전예희
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |