1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- {
- This file is part of the Free Pascal Run time library.
- Copyright (c) 2011 by the Free Pascal development team
- This unit redefines the Char type from ansichar into widechar
- See the file COPYING.FPC, included in this distribution,
- For details about the copyright.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- **********************************************************************}
- unit uuchar;
- interface
- type
- char = widechar;
- pchar = pwidechar;
- {$ifdef FPC_HAS_FEATURE_COMMANDARGS}
- {$ifdef MSWINDOWS}
- {$define HAS_PARAMSTRU}
- {$undef FPC_HAS_FEATURE_COMMANDARGS} // Skip the implementation of ParamStr()
- {$endif MSWINDOWS}
- Function ParamStr(Param: Longint): UnicodeString;
- {$ifdef HAS_PARAMSTRU} external name '_FPC_ParamStrU'; {$endif}
- {$endif FPC_HAS_FEATURE_COMMANDARGS}
- implementation
- {$ifdef FPC_HAS_FEATURE_COMMANDARGS}
- Function ParamStr(Param: Longint): UnicodeString;
- begin
- {
- Paramstr(0) should return the name of the binary.
- Since this functionality is included in the system unit,
- we fetch it from there.
- Normally, pathnames are less than 255 chars anyway,
- so this will work correct in 99% of all cases.
- In time, the system unit should get a GetExeName call.
- }
- if (Param=0) then
- Paramstr:=UnicodeString(System.Paramstr(0))
- else if (Param>0) and (Param<argc) then
- paramstr:=UnicodeString(Argv[Param])
- else
- paramstr:='';
- end;
- {$endif FPC_HAS_FEATURE_COMMANDARGS}
- end.
|