sysutils.xml 206 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390
  1. <?xml version="1.0" encoding="ISO8859-1"?>
  2. <fpdoc-descriptions>
  3. <!--
  4. $Id$
  5. This file is part of the FPC documentation. -->
  6. Copyright (C) 1999, by Michael Van Canneyt
  7. The FPC documentation is free text; you can redistribute it and/or
  8. modify it under the terms of the GNU Library General Public License as
  9. published by the Free Software Foundation; either version 2 of the
  10. License, or (at your option) any later version.
  11. The FPC Documentation is distributed in the hope that it will be useful,
  12. but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  14. Library General Public License for more details.
  15. You should have received a copy of the GNU Library General Public
  16. License along with the FPC documentation; see the file COPYING.LIB. If not,
  17. write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  18. Boston, MA 02111-1307, USA.
  19. -->
  20. <package name="rtl">
  21. <module name="sysutils">
  22. <short>Various system utilities.</short>
  23. <!-- \FPCexampledir{sysutex} -->
  24. <descr>
  25. This documentation describes the <file>sysutils</file> unit. The <file>sysutils</file> unit
  26. was started by Gertjan Schouten, and completed by Michael Van Canneyt.
  27. It aims to be compatible to the Delphi <file>sysutils</file> unit, but in contrast
  28. with the latter, it is designed to work on multiple platforms. It is implemented
  29. on all supported platforms.
  30. </descr>
  31. <topic name="StringFunctions">
  32. <short>String functions</short>
  33. <descr>
  34. <p>
  35. Functions for handling strings.
  36. </p>
  37. <table>
  38. <th><td>Name</td><td>Description</td></th>
  39. <tr><td><link id="AnsiCompareStr"/></td><td>Compare two strings</td></tr>
  40. <tr><td><link id="AnsiCompareText"/></td><td>Compare two strings, case insensitive</td></tr>
  41. <tr><td><link id="AnsiExtractQuotedStr"/></td><td>Removes quotes from string</td></tr>
  42. <tr><td><link id="AnsiLastChar"/></td><td>Get last character of string</td></tr>
  43. <tr><td><link id="AnsiLowerCase"/></td><td>Convert string to all-lowercase</td></tr>
  44. <tr><td><link id="AnsiQuotedStr"/></td><td>Qoutes a string</td></tr>
  45. <tr><td><link id="AnsiStrComp"/></td><td>Compare strings case-sensitive</td></tr>
  46. <tr><td><link id="AnsiStrIComp"/></td><td>Compare strings case-insensitive</td></tr>
  47. <tr><td><link id="AnsiStrLComp"/></td><td>Compare L characters of strings case sensitive</td></tr>
  48. <tr><td><link id="AnsiStrLIComp"/></td><td>Compare L characters of strings case insensitive</td></tr>
  49. <tr><td><link id="AnsiStrLastChar"/></td><td>Get last character of string</td></tr>
  50. <tr><td><link id="AnsiStrLower"/></td><td>Convert string to all-lowercase</td></tr>
  51. <tr><td><link id="AnsiStrUpper"/></td><td>Convert string to all-uppercase</td></tr>
  52. <tr><td><link id="AnsiUpperCase"/></td><td>Convert string to all-uppercase</td></tr>
  53. <tr><td><link id="AppendStr"/></td><td>Append 2 strings</td></tr>
  54. <tr><td><link id="AssignStr"/></td><td>Assign value of strings on heap</td></tr>
  55. <tr><td><link id="CompareStr"/></td><td>Compare two strings case sensitive</td></tr>
  56. <tr><td><link id="CompareText"/></td><td>Compare two strings case insensitive</td></tr>
  57. <tr><td><link id="DisposeStr"/></td><td>Remove string from heap</td></tr>
  58. <tr><td><link id="IsValidIdent"/></td><td>Is string a valid pascal identifier</td></tr>
  59. <tr><td><link id="LastDelimiter"/></td><td>Last occurance of character in a string</td></tr>
  60. <tr><td><link id="LeftStr"/></td><td>Get first N characters of a string</td></tr>
  61. <tr><td><link id="LoadStr"/></td><td>Load string from resources</td></tr>
  62. <tr><td><link id="LowerCase"/></td><td>Convert string to all-lowercase</td></tr>
  63. <tr><td><link id="NewStr"/></td><td>Allocate new string on heap</td></tr>
  64. <tr><td><link id="RightStr"/></td><td>Get last N characters of a string</td></tr>
  65. <tr><td><link id="StrAlloc"/></td><td>Allocate memory for string</td></tr>
  66. <tr><td><link id="StrBufSize"/></td><td>Reserve memory for a string</td></tr>
  67. <tr><td><link id="StrDispose"/></td><td>Remove string from heap</td></tr>
  68. <tr><td><link id="StrPas"/></td><td>Convert PChar to pascal string</td></tr>
  69. <tr><td><link id="StrPCopy"/></td><td>Copy pascal string</td></tr>
  70. <tr><td><link id="StrPLCopy"/></td><td>Copy N bytes of pascal string</td></tr>
  71. <tr><td><link id="UpperCase"/></td><td>Convert string to all-uppercase</td></tr>
  72. </table>
  73. </descr>
  74. </topic>
  75. <topic name="FormatStrings">
  76. <short>Formatting strings</short>
  77. <descr>
  78. <p>
  79. Functions for formatting strings.
  80. </p>
  81. <table>
  82. <th><td>Name</td><td>Description</td></th>
  83. <tr><td><link id="AdjustLineBreaks"/></td><td>Convert line breaks to line breaks for system</td></tr>
  84. <tr><td><link id="FormatBuf"/></td><td>Format a buffer</td></tr>
  85. <tr><td><link id="Format"/></td><td>Format arguments in string</td></tr>
  86. <tr><td><link id="FmtStr"/></td><td>Format buffer</td></tr>
  87. <tr><td><link id="QuotedStr"/></td><td>Quote a string</td></tr>
  88. <tr><td><link id="StrFmt"/></td><td>Format arguments in a string</td></tr>
  89. <tr><td><link id="StrLFmt"/></td><td>Format maximum L characters in a string</td></tr>
  90. <tr><td><link id="TrimLeft"/></td><td>Remove whitespace at the left of a string</td></tr>
  91. <tr><td><link id="TrimRight"/></td><td>Remove whitespace at the right of a string</td></tr>
  92. <tr><td><link id="Trim"/></td><td>Remove whitespace at both ends of a string</td></tr>
  93. </table>
  94. </descr>
  95. </topic>
  96. <topic name="FormatChars">
  97. <short>Date and time formatting characters</short>
  98. <descr>
  99. <p>
  100. Various date and time formatting routines accept a format string.
  101. to format the date and or time. The following characters can be used
  102. to control the date and time formatting:
  103. </p>
  104. <dl>
  105. <dt>c</dt><dd>shortdateformat + ' ' + shorttimeformat</dd>
  106. <dt>d</dt><dd>day of month</dd>
  107. <dt>dd</dt><dd>day of month (leading zero)</dd>
  108. <dt>ddd</dt><dd>day of week (abbreviation)</dd>
  109. <dt>dddd</dt><dd>day of week (full)</dd>
  110. <dt>ddddd</dt><dd>shortdateformat</dd>
  111. <dt>dddddd</dt><dd>longdateformat</dd>
  112. <dt>m</dt><dd>month</dd>
  113. <dt>mm</dt><dd>month (leading zero)</dd>
  114. <dt>mmm</dt><dd>month (abbreviation)</dd>
  115. <dt>mmmm</dt><dd>month (full)</dd>
  116. <dt>y</dt><dd>year (four digits)</dd>
  117. <dt>yy</dt><dd>year (two digits)</dd>
  118. <dt>yyyy</dt><dd>year (with century)</dd>
  119. <dt>h</dt><dd>hour</dd>
  120. <dt>hh</dt><dd>hour (leading zero)</dd>
  121. <dt>n</dt><dd>minute</dd>
  122. <dt>nn</dt><dd>minute (leading zero)</dd>
  123. <dt>s</dt><dd>second</dd>
  124. <dt>ss</dt><dd>second (leading zero)</dd>
  125. <dt>t</dt><dd>shorttimeformat</dd>
  126. <dt>tt</dt><dd>longtimeformat</dd>
  127. <dt>am/pm</dt><dd>use 12 hour clock and display am and pm accordingly</dd>
  128. <dt>a/p</dt><dd>use 12 hour clock and display a and p accordingly</dd>
  129. <dt>/</dt><dd>insert date seperator</dd>
  130. <dt>:</dt><dd>insert time seperator</dd>
  131. <dt>"xx"</dt><dd>literal text</dd>
  132. <dt>'xx'</dt><dd>literal text</dd>
  133. </dl>
  134. </descr>
  135. </topic>
  136. <topic name="PCharFunctions">
  137. <short>PChar related functions</short>
  138. <descr>
  139. <p>
  140. Most PChar functions are the same as their counterparts in the <file>STRINGS</file>
  141. unit. The following functions are the same :
  142. </p>
  143. <ol>
  144. <li><link id="StrCat"/> : Concatenates two <var>PChar</var> strings.</li>
  145. <li><link id="StrComp"/> : Compares two <var>PChar</var> strings.</li>
  146. <li><link id="StrCopy"/> : Copies a <var>PChar</var> string.</li>
  147. <li><link id="StrECopy"/> : Copies a <var>PChar</var> string and returns a pointer to
  148. the terminating null byte.</li>
  149. <li><link id="StrEnd"/> : Returns a pointer to the terminating null byte.</li>
  150. <li><link id="StrIComp"/> : Case insensitive compare of 2 <var>PChar</var> strings.</li>
  151. <li><link id="StrLCat"/> : Appends at most L characters from one <var>PChar</var> to
  152. another <var>PChar</var>.
  153. </li>
  154. <li><link id="StrLComp"/> : Case sensitive compare of at most L characters of 2 <var>PChar</var> strings.
  155. </li>
  156. <li><link id="StrLCopy"/> : Copies at most L characters from one <var>PChar</var> to another.
  157. </li>
  158. <li><link id="StrLen"/> : Returns the length (exclusive terminating null byte)
  159. of a <var>PChar</var> string.</li>
  160. <li> <link id="StrLIComp"/> : Case insensitive compare of at most L characters of 2
  161. <var>PChar</var> strings.
  162. </li>
  163. <li> <link id="StrLower"/> : Converts a <var>PChar</var> to all lowercase letters.
  164. </li>
  165. <li> <link id="StrMove"/> : Moves one <var>PChar</var> to another.
  166. </li>
  167. <li> <link id="StrNew"/> : Makes a copy of a <var>PChar</var> on the heap, and returns
  168. a pointer to this copy.
  169. </li>
  170. <li> <link id="StrPos"/> : Returns the position of one <var>PChar</var> string in
  171. another?
  172. </li>
  173. <li> <link id="StrRScan"/> : returns a pointer to the last occurrence of on
  174. <var>PChar</var> string in another one.
  175. </li>
  176. <li> <link id="StrScan"/> : returns a pointer to the first occurrence of on
  177. <var>PChar</var> string in another one.
  178. </li>
  179. <li> <link id="StrUpper"/> : Converts a <var>PChar</var> to all uppercase
  180. letters.</li>
  181. </ol>
  182. <p>
  183. The subsequent functions are different from their counterparts in
  184. <file>STRINGS</file>, although the same examples can be used.
  185. </p>
  186. </descr>
  187. </topic>
  188. <topic name="IORoutines">
  189. <short>File input/output routines</short>
  190. <descr>
  191. <p>
  192. Functions for reading/writing to file.
  193. </p>
  194. <table>
  195. <th><td>Name</td><td>Description</td></th>
  196. <tr><td><link id="FileCreate"/></td><td>Create a file and return handle</td></tr>
  197. <tr><td><link id="FileOpen"/></td><td>Open file end return handle</td></tr>
  198. <tr><td><link id="FileRead"/></td><td>Read from file</td></tr>
  199. <tr><td><link id="FileSeek"/></td><td>Set file position</td></tr>
  200. <tr><td><link id="FileTruncate"/></td><td>Truncate file length</td></tr>
  201. <tr><td><link id="FileWrite"/></td><td>Write to file</td></tr>
  202. <tr><td><link id="FileClose"/></td><td>Close file handle</td></tr>
  203. </table>
  204. </descr>
  205. </topic>
  206. <topic name="FileNameRoutines">
  207. <short>FileName handling routines</short>
  208. <descr>
  209. <p>
  210. Functions for file manipulation.
  211. </p>
  212. <table>
  213. <th><td>Name</td><td>Description</td></th>
  214. <tr><td><link id="AddDisk"/></td><td>Add sisk to list of disk drives</td></tr>
  215. <tr><td><link id="ChangeFileExt"/></td><td>Change extension of file name</td></tr>
  216. <tr><td><link id="CreateDir"/></td><td>Create a directory</td></tr>
  217. <tr><td><link id="DeleteFile"/></td><td>Delete a file</td></tr>
  218. <tr><td><link id="DiskFree"/></td><td>Free space on disk</td></tr>
  219. <tr><td><link id="DiskSize"/></td><td>Total size of disk</td></tr>
  220. <tr><td><link id="ExpandFileName"/></td><td>Create full file name</td></tr>
  221. <tr><td><link id="ExpandUNCFileName"/></td><td>Create full UNC file name</td></tr>
  222. <tr><td><link id="ExtractFileDir"/></td><td>Extract directory part of filename</td></tr>
  223. <tr><td><link id="ExtractFileDrive"/></td><td>Extract drive part of filename</td></tr>
  224. <tr><td><link id="ExtractFileExt"/></td><td>Extract extension part of filename</td></tr>
  225. <tr><td><link id="ExtractFileName"/></td><td>Extract name part of filename</td></tr>
  226. <tr><td><link id="ExtractFilePath"/></td><td>Extrct path part of filename</td></tr>
  227. <tr><td><link id="ExtractRelativePath"/></td><td>Construct relative path between two files</td></tr>
  228. <tr><td><link id="FileAge"/></td><td>Return file age</td></tr>
  229. <tr><td><link id="FileDateToDateTime"/></td><td>Convert file date to system date</td></tr>
  230. <tr><td><link id="FileExists"/></td><td>Determine whether a file exists on disk</td></tr>
  231. <tr><td><link id="FileGetAttr"/></td><td>Get attributes of file</td></tr>
  232. <tr><td><link id="FileGetDate"/></td><td>Get date of last file modification</td></tr>
  233. <tr><td><link id="FileSearch"/></td><td>Search for file in path</td></tr>
  234. <tr><td><link id="FileSetAttr"/></td><td>Get file attributes</td></tr>
  235. <tr><td><link id="FileSetDate"/></td><td>Get file dates</td></tr>
  236. <tr><td><link id="FindFirst"/></td><td>Start finding a file</td></tr>
  237. <tr><td><link id="FindNext"/></td><td>Find next file</td></tr>
  238. <tr><td><link id="GetCurrentDir"/></td><td>Return current working directory</td></tr>
  239. <tr><td><link id="RemoveDir"/></td><td>Remove a directory from disk</td></tr>
  240. <tr><td><link id="RenameFile"/></td><td>Rename a file on disk</td></tr>
  241. <tr><td><link id="SetCurrentDir"/></td><td>Set current working directory</td></tr>
  242. <tr><td><link id="SetDirSeparators"/></td><td>Set directory separator characters</td></tr>
  243. <tr><td><link id="FindClose"/></td><td>Stop searching a file</td></tr>
  244. <tr><td><link id="DoDirSeparators"/></td><td>Replace directory separator characters</td></tr>
  245. </table>
  246. </descr>
  247. </topic>
  248. <topic name="DateTimeRoutines">
  249. <short>Date/time routines</short>
  250. <descr>
  251. <p>
  252. Functions for date and time handling.
  253. </p>
  254. <table>
  255. <th><td>Name</td><td>Description</td></th>
  256. <tr><td><link id="DateTimeToFileDate"/></td><td>Convert DateTime type to file date</td></tr>
  257. <tr><td><link id="DateTimeToStr"/></td><td>Construct string representation of DateTime</td></tr>
  258. <tr><td><link id="DateTimeToString"/></td><td>Construct string representation of DateTime</td></tr>
  259. <tr><td><link id="DateTimeToSystemTime"/></td><td>Convert DateTime to system time</td></tr>
  260. <tr><td><link id="DateTimeToTimeStamp"/></td><td>Convert DateTime to timestamp</td></tr>
  261. <tr><td><link id="DateToStr"/></td><td>Construct string representation of date</td></tr>
  262. <tr><td><link id="Date"/></td><td>Get current date</td></tr>
  263. <tr><td><link id="DayOfWeek"/></td><td>Get day of week</td></tr>
  264. <tr><td><link id="DecodeDate"/></td><td>Decode DateTime to year month and day</td></tr>
  265. <tr><td><link id="DecodeTime"/></td><td>Decode DateTime to hours, minutes and seconds</td></tr>
  266. <tr><td><link id="EncodeDate"/></td><td>Encode year, day and month to DateTime</td></tr>
  267. <tr><td><link id="EncodeTime"/></td><td>Encode hours, minutes and seconds to DateTime</td></tr>
  268. <tr><td><link id="FormatDateTime"/></td><td>Return string representation of DateTime</td></tr>
  269. <tr><td><link id="IncMonth"/></td><td>Add 1 to month</td></tr>
  270. <tr><td><link id="IsLeapYear"/></td><td>Determine if year is leap year</td></tr>
  271. <tr><td><link id="MSecsToTimeStamp"/></td><td>Convert nr of milliseconds to timestamp</td></tr>
  272. <tr><td><link id="Now"/></td><td>Get current date and time</td></tr>
  273. <tr><td><link id="StrToDateTime"/></td><td>Convert string to DateTime</td></tr>
  274. <tr><td><link id="StrToDate"/></td><td>Convert string to date</td></tr>
  275. <tr><td><link id="StrToTime"/></td><td>Convert string to time</td></tr>
  276. <tr><td><link id="SystemTimeToDateTime"/></td><td>Convert system time to datetime</td></tr>
  277. <tr><td><link id="TimeStampToDateTime"/></td><td>Convert time stamp to DateTime</td></tr>
  278. <tr><td><link id="TimeStampToMSecs"/></td><td>Convert Timestamp to number of millicseconds</td></tr>
  279. <tr><td><link id="TimeToStr"/></td><td>return string representation of Time</td></tr>
  280. <tr><td><link id="Time"/></td><td>Get current tyme</td></tr>
  281. </table>
  282. </descr>
  283. </topic>
  284. <topic name="ConversionRoutines">
  285. <short>Miscellaneous conversion routines</short>
  286. <descr>
  287. <p>
  288. Functions for various conversions.
  289. </p>
  290. <table>
  291. <th><td>Name</td><td>Description</td></th>
  292. <tr><td><link id="BCDToInt"/></td><td>Convert BCD number to integer</td></tr>
  293. <tr><td><link id="CompareMem"/></td><td>Compare two memory regions</td></tr>
  294. <tr><td><link id="FloatToStrF"/></td><td>Convert float to formatted string</td></tr>
  295. <tr><td><link id="FloatToStr"/></td><td>Convert float to string</td></tr>
  296. <tr><td><link id="FloatToText"/></td><td>Convert float to string</td></tr>
  297. <tr><td><link id="FormatFloat"/></td><td>Format a floating point value</td></tr>
  298. <tr><td><link id="GetDirs"/></td><td>Split string in list of directories</td></tr>
  299. <tr><td><link id="IntToHex"/></td><td>return hexadecimal representation of integer</td></tr>
  300. <tr><td><link id="IntToStr"/></td><td>return decumal representation of integer</td></tr>
  301. <tr><td><link id="StrToIntDef"/></td><td>Convert string to integer with default value</td></tr>
  302. <tr><td><link id="StrToInt"/></td><td>Convert string to integer</td></tr>
  303. <tr><td><link id="StrToFloat"/></td><td>Convert string to float</td></tr>
  304. <tr><td><link id="TextToFloat"/></td><td>Convert null-terminated string to float</td></tr>
  305. </table>
  306. </descr>
  307. </topic>
  308. <element name="TDateTime">
  309. <short>Type describing date/time</short>
  310. <descr>
  311. <p>
  312. Many functions return or require a <var>TDateTime</var> type, which contains
  313. a date and time in encoded form. The date and time are converted to a double
  314. as follows:
  315. </p>
  316. <ul>
  317. <li> The date part is stored in the integer part of the double as the
  318. number of days passed since January 1, 1900.
  319. </li>
  320. <li> The time part is stored in the fractional part of the double, as
  321. the number of milliseconds passed since midnight (00:00), divided by the
  322. total number of milliseconds in a day.
  323. </li>
  324. </ul>
  325. </descr>
  326. </element>
  327. <element name="Date">
  328. <short>Return the current date.</short>
  329. <descr>
  330. <var>Date</var> returns the current date in <var>TDateTime</var> format.
  331. </descr>
  332. <errors>
  333. None.
  334. </errors>
  335. <seealso>
  336. <link id="Time"/>
  337. <link id="Now"/>
  338. </seealso>
  339. <example file="sysutex/ex1"/>
  340. </element>
  341. <element name="DateTimeToFileDate">
  342. <short>Convert a <var>TDateTime</var> value to a file age (integer)</short>
  343. <descr>
  344. <var>DateTimeToFileDate</var> function converts a date/time indication in
  345. <var>TDateTime</var> format to a filedate function, such as returned for
  346. instance by the <link id="FileAge"/> function.
  347. </descr>
  348. <errors>
  349. None.
  350. </errors>
  351. <seealso>
  352. <link id="Time"/>
  353. <link id="Date"/>
  354. <link id="FileDateToDateTime"/>,
  355. <link id="DateTimeToSystemTime"/>
  356. <link id="DateTimeToTimeStamp"/>
  357. </seealso>
  358. <example file="sysutex/ex2"/>
  359. </element>
  360. <element name="DateTimeToStr">
  361. <short>Converts a <var>TDateTime</var> value to a string using a predefined format.</short>
  362. <descr>
  363. <var>DateTimeToStr</var> returns a string representation of
  364. <var>DateTime</var> using the formatting specified in
  365. <var>ShortDateTimeFormat</var>. It corresponds to a call to
  366. <var>FormatDateTime('c',DateTime)</var> (see <link id="formatchars"/>).
  367. </descr>
  368. <errors>
  369. None.
  370. </errors>
  371. <seealso>
  372. <link id="FormatDateTime"/>
  373. </seealso>
  374. <example file="sysutex/ex3"/>
  375. </element>
  376. <element name="DateTimeToString">
  377. <short>Converts a <var>TDateTime</var> value to a string with a given format.</short>
  378. <descr>
  379. <var>DateTimeToString</var> returns in <var>Result</var> a string representation of
  380. <var>DateTime</var> using the formatting specified in <var>FormatStr</var>.
  381. for a list of characters that can be used in the <var>FormatStr</var> formatting
  382. string, see <link id="formatchars"/>.
  383. </descr>
  384. <errors>
  385. In case a wrong formatting character is found, an <var>EConvertError</var> is
  386. raised.
  387. </errors>
  388. <seealso>
  389. <link id="FormatDateTime"/>
  390. <link id="formatchars"/>.
  391. </seealso>
  392. <example file="sysutex/ex4"/>
  393. </element>
  394. <element name="DateTimeToSystemTime">
  395. <short>Converts a <var>TDateTime</var> value to a systemtime structure.</short>
  396. <descr>
  397. <var>DateTimeToSystemTime</var> converts a date/time pair in <var>DateTime</var>, with
  398. <var>TDateTime</var> format to a system time <var>SystemTime</var>.
  399. </descr>
  400. <errors>
  401. None.
  402. </errors>
  403. <seealso>
  404. <link id="DateTimeToFileDate"/>
  405. <link id="SystemTimeToDateTime"/>,
  406. <link id="DateTimeToTimeStamp"/>
  407. </seealso>
  408. <example file="sysutex/ex5"/>
  409. </element>
  410. <element name="DateTimeToTimeStamp">
  411. <short>Converts a <var>TDateTime</var> value to a TimeStamp structure.</short>
  412. <descr>
  413. <var>DateTimeToSystemTime</var> converts a date/time pair in <var>DateTime</var>, with
  414. <var>TDateTime</var> format to a <var>TTimeStamp</var> format.
  415. </descr>
  416. <errors>
  417. None.
  418. </errors>
  419. <seealso>
  420. <link id="DateTimeToFileDate"/>
  421. <link id="SystemTimeToDateTime"/>,
  422. <link id="DateTimeToSystemTime"/>
  423. </seealso>
  424. <example file="sysutex/ex6"/>
  425. </element>
  426. <element name="DateToStr">
  427. <short>Converts a <var>TDateTime</var> value to a date string with a predefined format.</short>
  428. <descr>
  429. <var>DateToStr</var> converts <var>Date</var> to a string representation. It uses
  430. <var>ShortDateFormat</var> as it's formatting string. It is hence completely
  431. equivalent to a <var>FormatDateTime('ddddd', Date)</var>.
  432. </descr>
  433. <errors>
  434. None.
  435. </errors>
  436. <seealso>
  437. <link id="TimeToStr"/>
  438. <link id="DateTimeToStr"/>
  439. <link id="FormatDateTime"/>,
  440. <link id="StrToDate"/>
  441. </seealso>
  442. <example file="sysutex/ex7"/>
  443. </element>
  444. <element name="DayOfWeek">
  445. <short>Returns the day of the week.</short>
  446. <descr>
  447. <var>DayOfWeek</var> returns the day of the week from <var>DateTime</var>.
  448. <var>Sunday</var> is counted as day 1, <var>Saturday</var> is counted as
  449. day 7. The result of <var>DayOfWeek</var> can serve as an index to
  450. the <var>LongDayNames</var> constant array, to retrieve the name of
  451. the day.
  452. </descr>
  453. <errors>
  454. None.
  455. </errors>
  456. <seealso>
  457. <link id="Date"/>
  458. <link id="DateToStr"/>
  459. </seealso>
  460. <example file="sysutex/ex8"/>
  461. </element>
  462. <element name="DecodeDate">
  463. <short>Decode a <var>TDateTime</var> to a year,month,day triplet</short>
  464. <descr>
  465. <var>DecodeDate</var> decodes the Year, Month and Day stored in <var>Date</var>,
  466. and returns them in the <var>Year</var>, <var>Month</var> and <var>Day</var> variables.
  467. </descr>
  468. <errors>
  469. None.
  470. </errors>
  471. <seealso>
  472. <link id="EncodeDate"/>
  473. <link id="DecodeTime"/>.
  474. </seealso>
  475. <example file="sysutex/ex9"/>
  476. </element>
  477. <element name="DecodeTime">
  478. <short>Decode a <var>TDateTime</var> to a hour,minute,second,millisec quartet</short>
  479. <descr>
  480. <var>DecodeDate</var> decodes the hours, minutes, second and milliseconds stored
  481. in <var>Time</var>, and returns them in the <var>Hour</var>, <var>Minute</var> and
  482. <var>Second</var> and <var>MilliSecond</var> variables.
  483. </descr>
  484. <errors>
  485. None.
  486. </errors>
  487. <seealso>
  488. <link id="EncodeTime"/>
  489. <link id="DecodeDate"/>.
  490. </seealso>
  491. <example file="sysutex/ex10"/>
  492. </element>
  493. <element name="EncodeDate">
  494. <short>Encode a Year,Month,Day to a <var>TDateTime</var> value.</short>
  495. <descr>
  496. <p>
  497. <var>EncodeDate</var> encodes the <var>Year</var>, <var>Month</var> and <var>Day</var> variables to
  498. a date in <var>TDateTime</var> format. It does the opposite of the
  499. <link id="DecodeDate"/> procedure.
  500. </p>
  501. <p>
  502. The parameters must lie withing valid ranges (boundaries included):
  503. </p>
  504. <dl>
  505. <dt>Year</dt><dd> must be between 1 and 9999.</dd>
  506. <dt>Month</dt><dd> must be within the range 1-12.</dd>
  507. <dt>Day</dt><dd> msut be between 1 and 31.</dd>
  508. </dl>
  509. </descr>
  510. <errors>
  511. In case one of the parameters is out of it's valid range, 0 is returned.
  512. </errors>
  513. <seealso>
  514. <link id="EncodeTime"/>
  515. <link id="DecodeDate"/>
  516. </seealso>
  517. <example file="sysutex/ex11"/>
  518. </element>
  519. <element name="EncodeTime">
  520. <short>Encode a Hour,Min,Sec,millisec to a <var>TDateTime</var> value.</short>
  521. <descr>
  522. <p>
  523. <var>EncodeTime</var> encodes the <var>Hour</var>, <var>Minute</var>, <var>Second</var>,
  524. <var>MilliSecond</var> variables to a <var>TDateTime</var> format result.
  525. It does the opposite of the <link id="DecodeTime"/> procedure.
  526. </p>
  527. <p>
  528. The parameters must have a valid range (boundaries included):
  529. </p>
  530. <dl>
  531. <dt>Hour</dt><dd> must be between 0 and 23.</dd>
  532. <dt>Minute,second</dt><dd> must both be between 0 and 59.</dd>
  533. <dt>Millisecond</dt><dd> must be between 0 and 999.</dd>
  534. </dl>
  535. </descr>
  536. <errors>
  537. In case one of the parameters is outside of it's valid range, 0 is returned.
  538. </errors>
  539. <seealso>
  540. <link id="EncodeDate"/>
  541. <link id="DecodeTime"/>
  542. </seealso>
  543. <example file="sysutex/ex12"/>
  544. </element>
  545. <element name="FileDateToDateTime">
  546. <short>Convert a <var>FileDate</var> value to a <var>TDateTime</var>
  547. value.</short>
  548. <descr>
  549. <var>FileDateToDateTime</var> converts the date/time encoded in <var>filedate</var>
  550. to a <var>TDateTime</var> encoded form. It can be used to convert date/time values
  551. returned by the <link id="FileAge"/> or <link id="FindFirst"/>/<link id="FindNext"/>
  552. functions to <var>TDateTime</var> form.
  553. </descr>
  554. <errors>
  555. None.
  556. </errors>
  557. <seealso>
  558. <link id="DateTimeToFileDate"/>
  559. </seealso>
  560. <example file="sysutex/ex13"/>
  561. </element>
  562. <element name="FormatDateTime">
  563. <short>Return a string representation of a <var>TDateTime</var> value with a given
  564. format.</short>
  565. <descr>
  566. <var>FormatDateTime</var> formats the date and time encoded in <var>DateTime</var>
  567. according to the formatting given in <var>FormatStr</var>. The complete list
  568. of formatting characters can be found in <link id="formatchars"/>.
  569. </descr>
  570. <errors>
  571. On error (such as an invalid character in the formatting string), and
  572. <var>EConvertError</var> exception is raised.
  573. </errors>
  574. <seealso>
  575. <link id="DateTimeToStr"/>
  576. <link id="DateToStr"/>
  577. <link id="TimeToStr"/>
  578. <link id="StrToDateTime"/>
  579. </seealso>
  580. <example file="sysutex/ex14"/>
  581. </element>
  582. <element name="IncMonth">
  583. <short>Increases the month in a <var>TDateTime</var> value with a given amount.</short>
  584. <descr>
  585. <var>IncMonth</var> increases the month number in <var>DateTime</var> with
  586. <var>NumberOfMonths</var>. It wraps the result as to get a month between 1 and
  587. 12, and updates the year accordingly. <var>NumberOfMonths</var> can be negative,
  588. and can be larger than 12 (in absolute value).
  589. </descr>
  590. <errors>
  591. None.
  592. </errors>
  593. <seealso>
  594. <link id="Date"/>
  595. <link id="Time"/>
  596. <link id="Now"/>
  597. </seealso>
  598. <example file="sysutex/ex15"/>
  599. </element>
  600. <element name="IsLeapYear">
  601. <short>Determine whether a year is a leap year.</short>
  602. <descr>
  603. <var>IsLeapYear</var> returns <var>True</var> if <var>Year</var> is a leap year,
  604. <var>False</var> otherwise.
  605. </descr>
  606. <errors>
  607. None.
  608. </errors>
  609. <seealso>
  610. <link id="IncMonth"/>
  611. <link id="Date"/>
  612. </seealso>
  613. <example file="sysutex/ex16"/>
  614. </element>
  615. <element name="MSecsToTimeStamp">
  616. <short>Convert a number of milliseconds to a <var>TDateTime</var> value.</short>
  617. <descr>
  618. <p>
  619. <var>MSecsTiTimeStamp</var> converts the given number of milliseconds to
  620. a <var>TTimeStamp</var> date/time notation.
  621. </p>
  622. <p>
  623. Use <var>TTimeStamp</var> variables if you need to keep very precise track of
  624. time.
  625. </p>
  626. </descr>
  627. <errors>
  628. None.
  629. </errors>
  630. <seealso>
  631. <link id="TimeStampToMSecs"/>
  632. <link id="DateTimeToTimeStamp"/>
  633. </seealso>
  634. <example file="sysutex/ex17"/>
  635. </element>
  636. <element name="Now">
  637. <short>Returns the current date and time.</short>
  638. <descr>
  639. <var>Now</var> returns the current date and time. It is equivalent to
  640. <var>Date+Time</var>.
  641. </descr>
  642. <errors>
  643. None.
  644. </errors>
  645. <seealso>
  646. <link id="Date"/>
  647. <link id="Time"/>
  648. </seealso>
  649. <example file="sysutex/ex18"/>
  650. </element>
  651. <element name="StrToDate">
  652. <short>Convert a date string to a <var>TDateTime</var> value.</short>
  653. <descr>
  654. <p>
  655. <var>StrToDate</var> converts the string <var>S</var> to a <var>TDateTime</var> date
  656. value. The Date must consist of 1 to three digits, separated by the
  657. <var>DateSeparator</var> character. If two numbers are given, they
  658. are supposed to form the day and month of the current year. If only
  659. one number is given, it is supposed to represent the day of the
  660. current month. (This is <em>not</em> supported in Delphi)
  661. </p>
  662. <p>
  663. The order of the digits (y/m/d, m/d/y, d/m/y) is determined from the
  664. <var>ShortDateFormat</var> variable.
  665. </p>
  666. </descr>
  667. <errors>
  668. On error (e.g. an invalid date or invalid character),
  669. an <var>EConvertError</var> exception is raised.
  670. </errors>
  671. <seealso>
  672. <link id="StrToTime"/>
  673. <link id="DateToStr"/>
  674. <link id="TimeToStr"/>
  675. </seealso>
  676. <example file="sysutex/ex19"/>
  677. </element>
  678. <element name="StrToDateTime">
  679. <short>Convert a date/time string to a <var>TDateTime</var> value.</short>
  680. <descr>
  681. <p>
  682. <var>StrToDateTime</var> converts the string <var>S</var> to a <var>TDateTime</var> date
  683. and time value. The Date must consist of 1 to three digits, separated by the
  684. <var>DateSeparator</var> character. If two numbers are given, they
  685. are supposed to form the day and month of the current year. If only
  686. one number is given, it is supposed to represent the day of the
  687. current month. (This is <em>not</em> supported in Delphi)
  688. </p>
  689. <p>
  690. The order of the digits (y/m/d, m/d/y, d/m/y) is determined from the
  691. <var>ShortDateFormat</var> variable.
  692. </p>
  693. </descr>
  694. <errors>
  695. On error (e.g. an invalid date or invalid character),
  696. an <var>EConvertError</var> exception is raised.
  697. </errors>
  698. <seealso>
  699. <link id="StrToDate"/>
  700. <link id="StrToTime"/>
  701. <link id="DateTimeToStr"/>
  702. </seealso>
  703. <example file="sysutex/ex20"/>
  704. </element>
  705. <element name="StrToTime">
  706. <short>Convert a time string to a <var>TDateTime</var> value.</short>
  707. <descr>
  708. <var>StrToTime</var> converts the string <var>S</var> to a <var>TDateTime</var> time
  709. value. The time must consist of 1 to 4 digits, separated by the
  710. <var>TimeSeparator</var> character. If two numbers are given, they
  711. are supposed to form the hour and minutes.
  712. </descr>
  713. <errors>
  714. On error (e.g. an invalid date or invalid character),
  715. an <var>EConvertError</var> exception is raised.
  716. </errors>
  717. <seealso>
  718. <link id="StrToDate"/>
  719. <link id="StrToDateTime"/>
  720. <link id="TimeToStr"/>
  721. </seealso>
  722. <example file="sysutex/ex21"/>
  723. </element>
  724. <element name="SystemTimeToDateTime">
  725. <short>Convert a system time to a <var>TDateTime</var> value.</short>
  726. <descr>
  727. <var>SystemTimeToDateTime</var> converts a <var>TSystemTime</var> record to a
  728. <var>TDateTime</var> style date/time indication.
  729. </descr>
  730. <errors>
  731. None.
  732. </errors>
  733. <seealso>
  734. <link id="DateTimeToSystemTime"/>
  735. </seealso>
  736. <example file="sysutex/ex22"/>
  737. </element>
  738. <element name="Time">
  739. <short>Returns the current time.</short>
  740. <descr>
  741. <var>Time</var> returns the current time in <var>TDateTime</var> format. The date
  742. part of the <var>TDateTimeValue</var> is set to zero.
  743. </descr>
  744. <errors>
  745. None.
  746. </errors>
  747. <seealso>
  748. <link id="Now"/>
  749. <link id="Date"/>
  750. </seealso>
  751. <example file="sysutex/ex23"/>
  752. </element>
  753. <element name="TimeStampToDateTime">
  754. <short>Convert a TimeStamp value to a <var>TDateTime</var> value.</short>
  755. <descr>
  756. <var>TimeStampToDateTime</var> converts <var>TimeStamp</var> to a <var>TDateTime</var>
  757. format variable. It is the inverse operation of <link id="DateTimeToTimeStamp"/>.
  758. </descr>
  759. <errors>
  760. None.
  761. </errors>
  762. <seealso>
  763. <link id="DateTimeToTimeStamp"/>
  764. <link id="TimeStampToMSecs"/>
  765. </seealso>
  766. <example file="sysutex/ex24"/>
  767. </element>
  768. <element name="TimeStampToMSecs">
  769. <short>Converts a timestamp to a number of milliseconds.</short>
  770. <descr>
  771. <p>
  772. <var>TimeStampToMSecs</var> converts <var>TimeStamp</var> to the number of seconds
  773. since <var>1/1/0001</var>.
  774. </p>
  775. <p>
  776. Use <var>TTimeStamp</var> variables if you need to keep very precise track of
  777. time.
  778. </p>
  779. <p>
  780. For an example, see <link id="MSecsToTimeStamp"/>.
  781. </p>
  782. </descr>
  783. <errors>
  784. None.
  785. </errors>
  786. <seealso>
  787. <link id="MSecsToTimeStamp"/>
  788. <link id="TimeStampToDateTime"/>
  789. </seealso>
  790. </element>
  791. <element name="TimeToStr">
  792. <short>Convert a <var>TDateTime</var> time to a string using a predefined format.</short>
  793. <descr>
  794. <var>TimeToStr</var> converts the time in <var>Time</var> to a string. It uses
  795. the <var>ShortTimeFormat</var> variable to see what formatting needs to be
  796. applied. It is therefor entirely equivalent to a
  797. <var>FormatDateTime('t',Time)</var> call.
  798. </descr>
  799. <errors>
  800. None.
  801. </errors>
  802. <seealso>
  803. </seealso>
  804. <example file="sysutex/ex25"/>
  805. </element>
  806. <element name="AddDisk">
  807. <short>Add a disk to the list of known disks (Unix only)</short>
  808. <descr>
  809. <p>
  810. On Linux both the <link id="DiskFree"/> and <link id="DiskSize"/> functions need a
  811. file on the specified drive, since is required for the statfs system call.
  812. </p>
  813. <p>
  814. These filenames are set in drivestr[0..26], and the first 4 have been
  815. preset to :
  816. </p>
  817. <dl>
  818. <dt>Disk 0</dt><dd><var>'.'</var> default drive - hence current directory is used.</dd>
  819. <dt>Disk 1</dt><dd><var>'/fd0/.'</var> floppy drive 1.</dd>
  820. <dt>Disk 2</dt><dd><var>'/fd1/.'</var> floppy drive 2.</dd>
  821. <dt>Disk 3</dt><dd><var>'/'</var> <file>C:</file> equivalent of DOS is the root partition.</dd>
  822. </dl>
  823. <p>
  824. Drives 4..26 can be set by your own applications with the <var>AddDisk</var> call.
  825. </p>
  826. <p>
  827. The <var>AddDisk</var> call adds <var>Path</var> to the names of drive files, and
  828. returns the number of the disk that corresponds to this drive. If you
  829. add more than 21 drives, the count is wrapped to 4.
  830. </p>
  831. </descr>
  832. <errors>
  833. None.
  834. </errors>
  835. <seealso>
  836. <link id="DiskFree"/>
  837. <link id="DiskSize"/>
  838. </seealso>
  839. </element>
  840. <element name="CreateDir">
  841. <short>Create a new directory</short>
  842. <descr>
  843. <p>
  844. <var>CreateDir</var> creates a new directory with name <var>NewDir</var>.
  845. If the directory doesn't contain an absolute path, then the directory is
  846. created below the current working directory.
  847. </p>
  848. <p>
  849. The function returns <var>True</var> if the directory was successfully
  850. created, <var>False</var> otherwise.
  851. </p>
  852. </descr>
  853. <errors>
  854. In case of an error, the function returns <var>False</var>.
  855. </errors>
  856. <seealso>
  857. <link id="RemoveDir"/>
  858. </seealso>
  859. <example file="sysutex/ex26"/>
  860. </element>
  861. <element name="DiskFree">
  862. <short>Return the amount of free diskspace</short>
  863. <descr>
  864. <p>
  865. <var>DiskFree</var> returns the free space (in bytes) on disk <var>Drive</var>.
  866. Drive is the number of the disk drive:
  867. </p>
  868. <dl>
  869. <dt>0</dt><dd> for the current drive.</dd>
  870. <dt>1</dt><dd> for the first floppy drive.</dd>
  871. <dt>2</dt><dd> for the second floppy drive.</dd>
  872. <dt>3</dt><dd> for the first hard-disk partition.</dd>
  873. <dt>4-26</dt><dd> for all other drives and partitions.</dd>
  874. </dl>
  875. <remark>
  876. Under linux, and Unix in general, the concept of disk is
  877. different than the dos one, since the filesystem is seen as one big
  878. directory tree. For this reason, the <var>DiskFree</var> and <link id="DiskSize"/>
  879. functions must be mimicked using filenames that reside on the partitions.
  880. For more information, see <link id="AddDisk"/>.
  881. </remark>
  882. </descr>
  883. <errors>
  884. On error, <var>-1</var> is returned.
  885. </errors>
  886. <seealso>
  887. <link id="DiskSize">DiskSize</link>
  888. <link id="AddDisk"/>
  889. </seealso>
  890. <example file="sysutex/ex27"/>
  891. </element>
  892. <element name="DiskSize">
  893. <short>Return the total amount of diskspace.</short>
  894. <descr>
  895. <p>
  896. <var>DiskSize</var> returns the size (in bytes) of disk <var>Drive</var>.
  897. Drive is the number of the disk drive:
  898. </p>
  899. <dl>
  900. <dt>0</dt><dd> for the current drive.</dd>
  901. <dt>1</dt><dd> for the first floppy drive.</dd>
  902. <dt>2</dt><dd> for the second floppy drive.</dd>
  903. <dt>3</dt><dd> for the first hard-disk parttion.</dd>
  904. <dt>4-26</dt><dd> for all other drives and partitions.</dd>
  905. </dl>
  906. <remark>
  907. Under linux, and Unix in general, the concept of disk is
  908. different than the dos one, since the filesystem is seen as one big
  909. directory tree. For this reason, the <link id="DiskFree"/> and <var>DiskSize</var>
  910. functions must be mimicked using filenames that reside on the partitions.
  911. For more information, see <link id="AddDisk"/>
  912. </remark>
  913. <p>
  914. For an example, see <link id="DiskFree">DiskFree</link>.
  915. </p>
  916. </descr>
  917. <errors>
  918. On error, <var>-1</var> is returned.
  919. </errors>
  920. <seealso>
  921. <link id="DiskFree"/>
  922. <link id="AddDisk"/>
  923. </seealso>
  924. </element>
  925. <element name="GetCurrentDir">
  926. <short>Return the current working directory of the application.</short>
  927. <descr>
  928. <var>GetCurrentDir</var> returns the current working directory.
  929. </descr>
  930. <errors>
  931. None.
  932. </errors>
  933. <seealso>
  934. <link id="SetCurrentDir"/>
  935. <link id="DiskFree"/>
  936. <link id="DiskSize"/>
  937. </seealso>
  938. <example file="sysutex/ex28"/>
  939. </element>
  940. <element name="RemoveDir">
  941. <short>Remove a directory from the filesystem.</short>
  942. <descr>
  943. <p>
  944. <var>RemoveDir</var> removes directory <var>Dir</var> from the disk.
  945. If the directory is not absolue, it is appended to the current working
  946. directory.
  947. </p>
  948. <p>
  949. For an example, see <link id="CreateDir"/>.
  950. </p>
  951. </descr>
  952. <errors>
  953. In case of error (e.g. the directory isn't empty) the function returns
  954. <var>False</var>. If successful, <var>True</var> is returned.
  955. </errors>
  956. <seealso>
  957. </seealso>
  958. </element>
  959. <element name="SetCurrentDir">
  960. <short>Set the current directory of the application.</short>
  961. <descr>
  962. <var>SetCurrentDir</var> sets the current working directory of your program
  963. to <var>NewDir</var>. It returns <var>True</var> if the function was successfull,
  964. <var>False</var> otherwise.
  965. </descr>
  966. <errors>
  967. In case of error, <var>False</var> is returned.
  968. </errors>
  969. <seealso>
  970. <link id="GetCurrentDir"/>
  971. </seealso>
  972. </element>
  973. <example file="sysutex/ex29"/>
  974. <element name="ChangeFileExt">
  975. <short>Change the extension of a filename.</short>
  976. <descr>
  977. <p>
  978. <var>ChangeFileExt</var> changes the file extension in <var>FileName</var> to
  979. <var>Extension</var>.
  980. The extension <var>Extension</var> includes the starting <var>.</var> (dot).
  981. The previous extension of <var>FileName</var> are all characters after the
  982. last <var>.</var>, the <var>.</var> character included.
  983. </p>
  984. <p>
  985. If <var>FileName</var> doesn't have an extension, <var>Extension</var> is just
  986. appended.
  987. </p>
  988. </descr>
  989. <errors>
  990. None.
  991. </errors>
  992. <seealso>
  993. <link id="ExtractFileName"/>
  994. <link id="ExtractFilePath"/>
  995. <link id="ExpandFileName"/>
  996. </seealso>
  997. </element>
  998. <element name="DeleteFile">
  999. <short>Delete a file from the filesystem.</short>
  1000. <descr>
  1001. <var>DeleteFile</var> deletes file <var>FileName</var> from disk. The function
  1002. returns <var>True</var> if the file was successfully removed, <var>False</var>
  1003. otherwise.
  1004. </descr>
  1005. <errors>
  1006. On error, <var>False</var> is returned.
  1007. </errors>
  1008. <seealso>
  1009. <link id="FileCreate"/>
  1010. <link id="FileExists"/>
  1011. </seealso>
  1012. <example file="sysutex/ex31"/>
  1013. </element>
  1014. <element name="DoDirSeparators">
  1015. <short>Convert known directory separators to the current directory separator.</short>
  1016. <descr>
  1017. This function replaces all known directory separators in <var>FileName</var>
  1018. to the directory separator character for the current system. The list of
  1019. known separators is specified in the <link id="DirSeparators"/> constant.
  1020. </descr>
  1021. <errors>
  1022. None.
  1023. </errors>
  1024. <seealso>
  1025. <link id="ExtractFileName"/>
  1026. <link id="ExtractFilePath"/>
  1027. </seealso>
  1028. <example file="sysutex/ex32"/>
  1029. </element>
  1030. <element name="ExpandFileName">
  1031. <short>Expand a relative filename to an absolute filename.</short>
  1032. <descr>
  1033. <var>ExpandFileName</var> expands the filename to an absolute filename.
  1034. It changes all directory separator characters to the one appropriate for the
  1035. system first.
  1036. </descr>
  1037. <errors>
  1038. None.
  1039. </errors>
  1040. <seealso>
  1041. <link id="ExtractFileName"/>
  1042. <link id="ExtractFilePath"/>
  1043. <link id="ExtractFileDir"/>,
  1044. <link id="ExtractFileDrive"/>
  1045. <link id="ExtractFileExt"/>
  1046. <link id="ExtractRelativePath"/>
  1047. </seealso>
  1048. <example file="sysutex/ex33"/>
  1049. </element>
  1050. <element name="ExpandUNCFileName">
  1051. <short>Expand a relative filename to an absolute UNC filename.</short>
  1052. <descr>
  1053. <var>ExpandUNCFileName</var> runs <link id="ExpandFileName"/> on <var>FileName</var>
  1054. and then attempts to replace the driveletter by the name of a shared disk.
  1055. </descr>
  1056. <errors>
  1057. None.
  1058. </errors>
  1059. <seealso>
  1060. <link id="ExtractFileName"/>
  1061. <link id="ExtractFilePath"/>
  1062. <link id="ExtractFileDir"/>,
  1063. <link id="ExtractFileDrive"/>
  1064. <link id="ExtractFileExt"/>
  1065. <link id="ExtractRelativePath"/>
  1066. </seealso>
  1067. </element>
  1068. <element name="ExtractFileDir">
  1069. <short>Extract the directory part of a filename.</short>
  1070. <descr>
  1071. <var>ExtractFileDir</var> returns only the directory part of <var>FileName</var>,
  1072. not including a driveletter. The directory name has NO ending directory
  1073. separator, in difference with <link id="ExtractFilePath"/>.
  1074. </descr>
  1075. <errors>
  1076. None.
  1077. </errors>
  1078. <seealso>
  1079. <link id="ExtractFileName"/>
  1080. <link id="ExtractFilePath"/>
  1081. <link id="ExtractFileDir"/>,
  1082. <link id="ExtractFileDrive"/>
  1083. <link id="ExtractFileExt"/>
  1084. <link id="ExtractRelativePath"/>
  1085. </seealso>
  1086. <example file="sysutex/ex34"/>
  1087. </element>
  1088. <element name="ExtractFileDrive">
  1089. <short>Extract the drive part from a filename.</short>
  1090. <descr>
  1091. <p>
  1092. <var>Extracts</var> the drive letter from a filename. Note that some
  1093. operating systems do not support drive letters.
  1094. </p>
  1095. <p>
  1096. For an example, see <link id="ExtractFileDir"/>.
  1097. </p>
  1098. </descr>
  1099. <errors>
  1100. </errors>
  1101. <seealso>
  1102. <link id="ExtractFileName"/>
  1103. <link id="ExtractFilePath"/>
  1104. <link id="ExtractFileDir"/>,
  1105. <link id="ExtractFileDrive"/>
  1106. <link id="ExtractFileExt"/>
  1107. <link id="ExtractRelativePath"/>
  1108. </seealso>
  1109. </element>
  1110. <element name="ExtractFileExt">
  1111. <short>Return the extension from a filename.</short>
  1112. <descr>
  1113. <p>
  1114. <var>ExtractFileExt</var> returns the extension (including the
  1115. <var>.</var>(dot) character) of <var>FileName</var>.
  1116. </p>
  1117. <p>
  1118. For an example, see <link id="ExtractFileDir"/>.
  1119. </p>
  1120. </descr>
  1121. <errors>
  1122. None.
  1123. </errors>
  1124. <seealso>
  1125. <link id="ExtractFileName"/>
  1126. <link id="ExtractFilePath"/>
  1127. <link id="ExtractFileDir"/>,
  1128. <link id="ExtractFileDrive"/>
  1129. <link id="ExtractFileExt"/>
  1130. <link id="ExtractRelativePath"/>
  1131. </seealso>
  1132. </element>
  1133. <element name="ExtractFileName">
  1134. <short>Extract the filename part from a full path filename.</short>
  1135. <descr>
  1136. <p>
  1137. <var>ExtractFileName</var> returns the filename part from <var>FileName</var>.
  1138. The filename consists of all characters after the last directory separator
  1139. character ('/' or '\') or drive letter.
  1140. </p>
  1141. <p>
  1142. The full filename can always be reconstucted by concatenating the result
  1143. of <link id="ExtractFilePath"/> and <var>ExtractFileName</var>.
  1144. </p>
  1145. <p>
  1146. For an example, see <link id="ExtractFileDir"/>.
  1147. </p>
  1148. </descr>
  1149. <errors>
  1150. None.
  1151. </errors>
  1152. <seealso>
  1153. <link id="ExtractFileName"/>
  1154. <link id="ExtractFilePath"/>
  1155. <link id="ExtractFileDir"/>,
  1156. <link id="ExtractFileDrive"/>
  1157. <link id="ExtractFileExt"/>
  1158. <link id="ExtractRelativePath"/>
  1159. </seealso>
  1160. </element>
  1161. <element name="ExtractFilePath">
  1162. <short>Extract the path from a filename.</short>
  1163. <descr>
  1164. <p>
  1165. <var>ExtractFilePath</var> returns the path part (including driveletter) from
  1166. <var>FileName</var>. The path consists of all characters before the last
  1167. directory separator character ('/' or '\'), including the directory
  1168. separator itself.
  1169. In case there is only a drive letter, that will be returned.
  1170. </p>
  1171. <p>
  1172. The full filename can always be reconstucted by concatenating the result
  1173. of <var>ExtractFilePath</var> and <link id="ExtractFileName"/>.
  1174. </p>
  1175. <p>
  1176. For an example, see <link id="ExtractFileDir"/>.
  1177. </p>
  1178. </descr>
  1179. <errors>
  1180. None.
  1181. </errors>
  1182. <seealso>
  1183. <link id="ExtractFileName"/>
  1184. <link id="ExtractFilePath"/>
  1185. <link id="ExtractFileDir"/>,
  1186. <link id="ExtractFileDrive"/>
  1187. <link id="ExtractFileExt"/>
  1188. <link id="ExtractRelativePath"/>
  1189. </seealso>
  1190. </element>
  1191. <element name="ExtractRelativePath">
  1192. <short>Extract a relative path from a filename, given a base directory.</short>
  1193. <descr>
  1194. <var>ExtractRelativePath</var> constructs a relative path to go from
  1195. <var>BaseName</var> to <var>DestName</var>. If <var>DestName</var> is on another drive
  1196. (Not on Linux) then the whole <var>Destname</var> is returned.
  1197. <em> Note:</em> This function does not exist in the Delphi unit.
  1198. </descr>
  1199. <errors>
  1200. None.
  1201. </errors>
  1202. <seealso>
  1203. <link id="ExtractFileName"/>
  1204. <link id="ExtractFilePath"/>
  1205. <link id="ExtractFileDir"/>,
  1206. <link id="ExtractFileDrive"/>
  1207. <link id="ExtractFileExt"/>,
  1208. </seealso>
  1209. <example file="sysutex/ex35"/>
  1210. </element>
  1211. <element name="FileAge">
  1212. <short>Return the timestamp of a file.</short>
  1213. <descr>
  1214. <var>FileAge</var> returns the last modification time of file <var>FileName</var>.
  1215. The FileDate format can be transformed to <var>TDateTime</var> format with the
  1216. <link id="FileDateToDateTime"/> function.
  1217. </descr>
  1218. <errors>
  1219. In case of errors, <var>-1</var> is returned.
  1220. </errors>
  1221. <seealso>
  1222. <link id="FileDateToDateTime"/>
  1223. <link id="FileExists"/>
  1224. <link id="FileGetAttr"/>
  1225. </seealso>
  1226. <example file="sysutex/ex36"/>
  1227. </element>
  1228. <element name="FileClose">
  1229. <short>Close a file handle.</short>
  1230. <descr>
  1231. <p>
  1232. <var>FileClose</var> closes the file handle <var>Handle</var>. After this call,
  1233. attempting to read or write from the handle will result in an error.
  1234. </p>
  1235. <p>
  1236. For an example, see <link id="FileCreate"/>
  1237. </p>
  1238. </descr>
  1239. <errors>
  1240. None.
  1241. </errors>
  1242. <seealso>
  1243. <link id="FileCreate"/>
  1244. <link id="FileWrite"/>
  1245. <link id="FileOpen"/>
  1246. <link id="FileRead"/>,
  1247. <link id="FileTruncate"/>
  1248. <link id="FileSeek"/>
  1249. </seealso>
  1250. </element>
  1251. <element name="FileCreate">
  1252. <short>Create a new file and return a handle to it.</short>
  1253. <descr>
  1254. <var>FileCreate</var> creates a new file with name <var>FileName</var> on the disk and
  1255. returns a file handle which can be used to read or write from the file with
  1256. the <link id="FileRead"/> and <link id="FileWrite"/> functions.
  1257. If a file with name <var>FileName</var> already existed on the disk, it is
  1258. overwritten.
  1259. </descr>
  1260. <errors>
  1261. If an error occurs (e.g. disk full or non-existent path), the function
  1262. returns <var>-1</var>.
  1263. </errors>
  1264. <seealso>
  1265. <link id="FileClose"/>
  1266. <link id="FileWrite"/>
  1267. <link id="FileOpen"/>
  1268. <link id="FileRead"/>,
  1269. <link id="FileTruncate"/>
  1270. <link id="FileSeek"/>
  1271. </seealso>
  1272. <example file="sysutex/ex37"/>
  1273. </element>
  1274. <element name="FileExists">
  1275. <short>Check whether a file exists in the filesystem.</short>
  1276. <descr>
  1277. <var>FileExists</var> returns <var>True</var> if a file with name <var>FileName</var>
  1278. exists on the disk, <var>False</var> otherwise.
  1279. </descr>
  1280. <errors>
  1281. None.
  1282. </errors>
  1283. <seealso>
  1284. <link id="FileAge"/>
  1285. <link id="FileGetAttr"/>
  1286. <link id="FileSetAttr"/>
  1287. </seealso>
  1288. <example file="sysutex/ex38"/>
  1289. </element>
  1290. <element name="FileGetAttr">
  1291. <short>Return attributes of a file.</short>
  1292. <descr>
  1293. <p>
  1294. <var>FileGetAttr</var> returns the attribute settings of file
  1295. <var>FileName</var>. The attribute is a <var>OR</var>-ed combination
  1296. of the following constants:
  1297. </p>
  1298. <dl>
  1299. <dt>faReadOnly</dt><dd> The file is read-only.</dd>
  1300. <dt>faHidden</dt>
  1301. <dd>
  1302. The file is hidden. (On unix, this means that the filename starts with a dot)
  1303. </dd>
  1304. <dt>faSysFile</dt>
  1305. <dd>
  1306. The file is a system file (On unix, this means that the file is a character, block or FIFO file).
  1307. </dd>
  1308. <dt>faVolumeId</dt>
  1309. <dd> Volume Label. Not possible under unix.</dd>
  1310. <dt>faDirectory</dt><dd> File is a directory.</dd>
  1311. <dt>faArchive</dt><dd> file is an archive. Not possible on Unix</dd>
  1312. </dl>
  1313. </descr>
  1314. <errors>
  1315. In case of error, -1 is returned.
  1316. </errors>
  1317. <seealso>
  1318. <link id="FileSetAttr"/>
  1319. <link id="FileAge"/>
  1320. <link id="FileGetDate"/>.
  1321. </seealso>
  1322. <example file="sysutex/ex40"/>
  1323. </element>
  1324. <element name="FileGetDate">
  1325. <short>Return the file time of an opened file.</short>
  1326. <descr>
  1327. <var>FileGetdate</var> returns the filetime of the opened file with filehandle
  1328. <var>Handle</var>. It is the same as <link id="FileAge"/>, with this difference that
  1329. <var>FileAge</var> only needs the file name, while <var>FilegetDate</var> needs an
  1330. open file handle.
  1331. </descr>
  1332. <errors>
  1333. On error, -1 is returned.
  1334. </errors>
  1335. <seealso>
  1336. <link id="FileAge"/>
  1337. </seealso>
  1338. <example file="sysutex/ex39"/>
  1339. </element>
  1340. <element name="FileOpen">
  1341. <short>Open an existing file and return a filehandle</short>
  1342. <descr>
  1343. <p>
  1344. <var>FileOpen</var> opens a file with name <var>FileName</var> with mode <var>Mode</var>.
  1345. <var>Mode</var> can be one of the following constants:
  1346. </p>
  1347. <dl>
  1348. <dt>fmOpenRead</dt><dd> The file is opened for reading.</dd>
  1349. <dt>fmOpenWrite</dt><dd> The file is opened for writing.</dd>
  1350. <dt>fmOpenReadWrite</dt><dd> The file is opened for reading and
  1351. writing.</dd>
  1352. </dl>
  1353. <p>
  1354. If the file has been successfully opened, it can be read from or written to
  1355. (depending on the <var>Mode</var> parameter) with the <link id="FileRead"/> and
  1356. <var>FileWrite</var> functions.
  1357. </p>
  1358. <remark>
  1359. Remark that you cannot open a file if it doesn't exist yet, i.e. it will not
  1360. be created for you. If you want tp create a new file, or overwrite an old
  1361. one, use the <link id="FileCreate"/> function.
  1362. </remark>
  1363. <p>
  1364. For an example, see <link id="FileOpen"/>
  1365. </p>
  1366. </descr>
  1367. <errors>
  1368. On Error, -1 is returned.
  1369. </errors>
  1370. <seealso>
  1371. <link id="FileClose"/>
  1372. <link id="FileWrite"/>
  1373. <link id="FileCreate"/>
  1374. <link id="FileRead"/>,
  1375. <link id="FileTruncate"/>
  1376. <link id="FileSeek"/>
  1377. </seealso>
  1378. </element>
  1379. <element name="FileRead">
  1380. <short>Read data from a filehandle in a buffer.</short>
  1381. <descr>
  1382. <p>
  1383. <var>FileRead</var> reads <var>Count</var> bytes from file-handle <var>Handle</var> and
  1384. stores them into <var>Buffer</var>. Buffer must be at least <var>Count</var> bytes
  1385. long. No checking on this is performed, so be careful not to overwrite any
  1386. memory. <var>Handle</var> must be the result of a <link id="FileOpen"/> call.
  1387. </p>
  1388. <p>
  1389. For an example, see <link id="FileCreate"/>
  1390. </p>
  1391. </descr>
  1392. <errors>
  1393. On error, -1 is returned.
  1394. </errors>
  1395. <seealso>
  1396. <link id="FileClose"/>
  1397. <link id="FileWrite"/>
  1398. <link id="FileCreate"/>
  1399. <link id="FileOpen"/>,
  1400. <link id="FileTruncate"/>
  1401. <link id="FileSeek"/>
  1402. </seealso>
  1403. </element>
  1404. <element name="FileSearch">
  1405. <short>Search for a file in a path.</short>
  1406. <descr>
  1407. <var>FileSearch</var> looks for the file <var>Name</var> in <var>DirList</var>, where
  1408. dirlist is a list of directories, separated by semicolons or colons.
  1409. It returns the full filename of the first match found.
  1410. </descr>
  1411. <errors>
  1412. On error, an empty string is returned.
  1413. </errors>
  1414. <seealso>
  1415. <link id="ExpandFileName"/>
  1416. <link id="FindFirst"/>
  1417. </seealso>
  1418. <example file="sysutex/ex41"/>
  1419. </element>
  1420. <element name="FileSeek">
  1421. <short>Set the current file position on a file handle.</short>
  1422. <descr>
  1423. <p>
  1424. <var>FileSeek</var> sets the file pointer on position <var>Offset</var>, starting from
  1425. <var>Origin</var>. Origin can be one of the following values:
  1426. </p>
  1427. <dl>
  1428. <dt>fsFromBeginning</dt>
  1429. <dd> <var>Offset</var> is relative to the first byte of the file. This
  1430. position is zero-based. i.e. the first byte is at offset 0.
  1431. </dd>
  1432. <dt>fsFromCurrent</dt><dd><var>Offset</var> is relative to the current position.</dd>
  1433. <dt>fsFromEnd</dt>
  1434. <dd><var>Offset</var> is relative to the end of the file.
  1435. This means that <var>Offset</var> can only be zero or negative in this case.
  1436. </dd>
  1437. </dl>
  1438. <p>
  1439. If successfull, the function returns the new file position, relative to the
  1440. beginning of the file.
  1441. </p>
  1442. <remark>
  1443. The abovementioned constants do not exist in Delphi.
  1444. </remark>
  1445. </descr>
  1446. <errors>
  1447. On error, -1 is returned.
  1448. </errors>
  1449. <seealso>
  1450. <link id="FileClose"/>
  1451. <link id="FileWrite"/>
  1452. <link id="FileCreate"/>
  1453. <link id="FileOpen"/>
  1454. <link id="FileRead"/>
  1455. <link id="FileTruncate"/>
  1456. </seealso>
  1457. <example file="sysutex/ex42"/>
  1458. </element>
  1459. <element name="FileSetAttr">
  1460. <short>Set the attributes of a file.</short>
  1461. <descr>
  1462. <p>
  1463. <var>FileSetAttr</var> sets the attributes of <var>FileName</var> to <var>Attr</var>.
  1464. If the function was successful, 0 is returned, -1 otherwise.
  1465. <var>Attr</var> can be set to an OR-ed combination of the pre-defined
  1466. <var>faXXX</var> constants.
  1467. </p>
  1468. <p>
  1469. This function is not implemented on Unixes.
  1470. </p>
  1471. </descr>
  1472. <errors>
  1473. On error, -1 is returned (always on Unixes).
  1474. </errors>
  1475. <seealso>
  1476. <link id="FileGetAttr"/>
  1477. <link id="FileGetDate"/>
  1478. <link id="FileSetDate"/>.
  1479. </seealso>
  1480. </element>
  1481. <element name="FileSetDate">
  1482. <short>Set the date of a file.</short>
  1483. <descr>
  1484. <p>
  1485. <var>FileSetDate</var> sets the file date of the file with handle <var>Handle</var>
  1486. to <var>Age</var>, where <var>Age</var> is a DOS date-and-time stamp value.
  1487. </p>
  1488. <p>
  1489. The function returns zero if successfull. (not on unixes, where it is not
  1490. implemented)
  1491. </p>
  1492. </descr>
  1493. <errors>
  1494. On Unix, -1 is always returned, since this is impossible to implement.
  1495. On Windows and DOS, a negative error code is returned.
  1496. </errors>
  1497. <seealso>
  1498. </seealso>
  1499. </element>
  1500. <element name="FileTruncate">
  1501. <short>Truncate an open file to a given size.</short>
  1502. <descr>
  1503. <p>
  1504. <var>FileTruncate</var> truncates the file with handle <var>Handle</var> to
  1505. <var>Size</var> bytes. The file must have been opened for writing prior
  1506. to this call. The function returns <var>True</var> is successful, <var>False</var>
  1507. otherwise.
  1508. </p>
  1509. <p>
  1510. For an example, see <link id="FileCreate"/>.
  1511. </p>
  1512. </descr>
  1513. <errors>
  1514. On error, the function returns <var>False</var>.
  1515. </errors>
  1516. <seealso>
  1517. <link id="FileClose"/>
  1518. <link id="FileWrite"/>
  1519. <link id="FileCreate"/>
  1520. <link id="FileOpen"/>
  1521. <link id="FileRead"/>
  1522. <link id="FileSeek"/>
  1523. </seealso>
  1524. </element>
  1525. <element name="FileWrite">
  1526. <short>Write data from a buffer to a given filehandle.</short>
  1527. <descr>
  1528. <p>
  1529. <var>FileWrite</var> writes <var>Count</var> bytes from <var>Buffer</var> to the file with
  1530. handle <var>Handle</var>. Prior to this call, the file must have been opened
  1531. for writing. <var>Buffer</var> must be at least <var>Count</var> bytes large, or
  1532. a memory access error may occur.
  1533. </p>
  1534. <p>
  1535. The function returns the number of bytes written, or -1 in case of an
  1536. error.
  1537. </p>
  1538. <p>
  1539. For an example, see <link id="FileCreate"/>.
  1540. </p>
  1541. </descr>
  1542. <errors>
  1543. In case of error, -1 is returned.
  1544. </errors>
  1545. <seealso>
  1546. <link id="FileClose"/>
  1547. <link id="FileCreate"/>
  1548. <link id="FileOpen"/>
  1549. <link id="FileRead"/>
  1550. <link id="FileTruncate"/>
  1551. <link id="FileSeek"/>
  1552. </seealso>
  1553. </element>
  1554. <element name="FindClose">
  1555. <short>Close a find handle</short>
  1556. <descr>
  1557. <p>
  1558. <var>FindClose</var> ends a series of <link id="FindFirst"/>/<link id="FindNext"/> calls,
  1559. and frees any memory used by these calls. It is <em> absolutely</em> necessary
  1560. to do this call, or huge memory losses may occur.
  1561. </p>
  1562. <p>
  1563. For an example, see <link id="FindFirst"/>.
  1564. </p>
  1565. </descr>
  1566. <errors>
  1567. None.
  1568. </errors>
  1569. <seealso>
  1570. <link id="FindFirst"/>
  1571. <link id="FindNext"/>
  1572. </seealso>
  1573. </element>
  1574. <element name="FindFirst">
  1575. <short>Start a file search and return a findhandle</short>
  1576. <descr>
  1577. <p>
  1578. <var>FindFirst</var> looks for files that match the name (possibly with
  1579. wildcards) in <var>Path</var> and attributes <var>Attr</var>. It then fills up the
  1580. <var>Rslt</var> record with data gathered about the file. It returns 0 if a file
  1581. matching the specified criteria is found, a nonzero value (-1 on linux)
  1582. otherwise.
  1583. </p>
  1584. <p>
  1585. The <var>Rslt</var> record can be fed to subsequent calls to <var>FindNext</var>, in
  1586. order to find other files matching the specifications.
  1587. </p>
  1588. <remark>
  1589. A <var>FindFirst</var> call must <em> always</em> be followed by a
  1590. <link id="FindClose">FindClose</link> call with the same <var>Rslt</var> record. Failure to do so will
  1591. result in memory loss.
  1592. </remark>
  1593. </descr>
  1594. <errors>
  1595. On error the function returns -1 on linux, a nonzero error code on Windows.
  1596. </errors>
  1597. <seealso>
  1598. <link id="FindClose"/>{FindCloseSys}, <link id="FindNext"/>.
  1599. </seealso>
  1600. <example file="sysutex/ex43"/>
  1601. </element>
  1602. <element name="FindNext">
  1603. <short>Find the next entry in a findhandle.</short>
  1604. <descr>
  1605. <p>
  1606. <var>FindNext</var> finds a next occurrence of a search sequence initiated by
  1607. <var>FindFirst</var>. If another record matching the criteria in Rslt is found, 0
  1608. is returned, a nonzero constant is returned otherwise.
  1609. </p>
  1610. <remark>
  1611. The last <var>FindNext</var> call must <em> always</em> be followed by a
  1612. <var>FindClose</var> call with the same <var>Rslt</var> record. Failure to do so will
  1613. result in memory loss.
  1614. </remark>
  1615. <p>
  1616. For an example, see <link id="FindFirst"/>
  1617. </p>
  1618. </descr>
  1619. <errors>
  1620. On error (no more file is found), a nonzero constant is returned.
  1621. </errors>
  1622. <seealso>
  1623. <link id="FindFirst"/>
  1624. <link id="FindClose"/>
  1625. </seealso>
  1626. </element>
  1627. <element name="GetDirs">
  1628. <short>Return a list of directory names from a path.</short>
  1629. <descr>
  1630. <var>GetDirs</var> splits DirName in a null-byte separated list of directory names,
  1631. <var>Dirs</var> is an array of <var>PChars</var>, pointing to these directory names.
  1632. The function returns the number of directories found, or -1 if none were found.
  1633. DirName must contain only OSDirSeparator as Directory separator chars.
  1634. </descr>
  1635. <errors>
  1636. None.
  1637. </errors>
  1638. <seealso>
  1639. <link id="ExtractRelativePath"/>
  1640. </seealso>
  1641. <example file="sysutex/ex45"/>
  1642. </element>
  1643. <element name="RenameFile">
  1644. <short>Rename a file.</short>
  1645. <descr>
  1646. <var>RenameFile</var> renames a file from <var>OldName</var> to <var>NewName</var>. The
  1647. function returns <var>True</var> if successful, <var>False</var> otherwise.
  1648. <em> Remark:</em> you cannot rename across disks or partitions.
  1649. </descr>
  1650. <errors>
  1651. On Error, <var>False</var> is returned.
  1652. </errors>
  1653. <seealso>
  1654. <link id="DeleteFile"/>
  1655. </seealso>
  1656. <example file="sysutex/ex44"/>
  1657. </element>
  1658. <element name="SetDirSeparators">
  1659. <short>Set the directory separators to the known directory separators.</short>
  1660. <descr>
  1661. <var>SetDirSeparators</var> returns <var>FileName</var> with all possible
  1662. DirSeparators replaced by <var>OSDirSeparator</var>.
  1663. </descr>
  1664. <errors>
  1665. None.
  1666. </errors>
  1667. <seealso>
  1668. <link id="ExpandFileName"/>
  1669. <link id="ExtractFilePath"/>
  1670. <link id="ExtractFileDir"/>
  1671. </seealso>
  1672. <example file="sysutex/ex47"/>
  1673. </element>
  1674. <element name="StrAlloc">
  1675. <short>Allocate a null-terminated string on the heap.</short>
  1676. <descr>
  1677. <p>
  1678. <var>StrAlloc</var> reserves memory on the heap for a string with length <var>Len</var>,
  1679. terminating <var>#0</var> included, and returns a pointer to it.
  1680. </p>
  1681. <p>
  1682. Additionally, <var>StrAlloc</var> allocates 4 extra bytes to store the size of
  1683. the allocated memory. Therefore this function is NOT compatible with the
  1684. <link id="StrAlloc"/> function of the <var>Strings</var> unit.
  1685. </p>
  1686. <p>
  1687. For an example, see <link id="StrBufSize"/>.
  1688. </p>
  1689. </descr>
  1690. <errors>
  1691. None.
  1692. </errors>
  1693. <seealso>
  1694. <link id="StrBufSize"/>
  1695. <link id="StrDispose"/>
  1696. <link id="StrAlloc"/>
  1697. </seealso>
  1698. </element>
  1699. <element name="StrBufSize">
  1700. <short>Return the size of a null-terminated string allocated on the heap.</short>
  1701. <descr>
  1702. <var>StrBufSize</var> returns the memory allocated for <var>Str</var>. This function
  1703. ONLY gives the correct result if <var>Str</var> was allocated using
  1704. <link id="StrAlloc">StrAlloc</link>.
  1705. </descr>
  1706. <errors>
  1707. If no more memory is available, a runtime error occurs.
  1708. </errors>
  1709. <seealso>
  1710. <link id="StrAlloc">StrAlloc</link>
  1711. <link id="StrDispose"/>
  1712. </seealso>
  1713. <example file="sysutex/ex46"/>
  1714. </element>
  1715. <element name="StrDispose">
  1716. <short>Dispose of a null-terminated string on the heap.</short>
  1717. <descr>
  1718. <p>
  1719. <var>StrDispose</var> frees any memory allocated for <var>Str</var>. This function
  1720. will only function correctly if <var>Str</var> has been allocated using
  1721. <link id="StrAlloc">StrAlloc</link> from the <file>SysUtils</file> unit.
  1722. </p>
  1723. <p>
  1724. For an example, see <link id="StrBufSize"/>.
  1725. </p>
  1726. </descr>
  1727. <errors>
  1728. If an invalid pointer is passed, or a pointer not allocated with
  1729. <var>StrAlloc</var>, an error may occur.
  1730. </errors>
  1731. <seealso>
  1732. <link id="StrBufSize"/>
  1733. <link id="StrAlloc"/>
  1734. <link id="StrDispose"/>
  1735. </seealso>
  1736. </element>
  1737. <element name="StrPCopy">
  1738. <short>Copy an ansistring to a null-terminated string.</short>
  1739. <descr>
  1740. <p>
  1741. <var>StrPCopy</var> Converts the Ansistring in <var>Source</var> to a Null-terminated
  1742. string, and copies it to <var>Dest</var>. <var>Dest</var> needs enough room to contain
  1743. the string <var>Source</var>, i.e. <var>Length(Source)+1</var> bytes.
  1744. </p>
  1745. <p>
  1746. For an example, see <link id="StrPCopy"/>.
  1747. </p>
  1748. </descr>
  1749. <errors>
  1750. No checking is performed to see whether <var>Dest</var> points to enough memory
  1751. to contain <var>Source</var>.
  1752. </errors>
  1753. <seealso>
  1754. <link id="StrPLCopy"/>
  1755. <link id="StrPCopy"/>
  1756. </seealso>
  1757. </element>
  1758. <element name="StrPLCopy">
  1759. <short>Copy a limited number of characters from an ansistring to a
  1760. null-terminated string.</short>
  1761. <descr>
  1762. <var>StrPLCopy</var> Converts maximally <var>MaxLen</var> characters of the
  1763. Ansistring in <var>Source</var> to a Null-terminated string, and copies
  1764. it to <var>Dest</var>. <var>Dest</var> needs enough room to contain
  1765. the characters.
  1766. </descr>
  1767. <errors>
  1768. No checking is performed to see whether <var>Dest</var> points to enough memory
  1769. to contain L characters of <var>Source</var>.
  1770. </errors>
  1771. <seealso>
  1772. <link id="StrPCopy"/>.
  1773. </seealso>
  1774. </element>
  1775. <element name="StrPas">
  1776. <short>Convert a null-terminated string to an ansistring.</short>
  1777. <descr>
  1778. <p>
  1779. Converts a null terminated string in <var>Str</var> to an Ansitring, and returns
  1780. this string. This string is NOT truncated at 255 characters as is the
  1781. </p>
  1782. <p>
  1783. For an example, see <link id="StrPas"/>.
  1784. </p>
  1785. </descr>
  1786. <errors>
  1787. None.
  1788. </errors>
  1789. <seealso>
  1790. <link id="StrPas"/>
  1791. </seealso>
  1792. </element>
  1793. <element name="AdjustLineBreaks">
  1794. <short>Convert possible line-endings to the currently valid line ending.</short>
  1795. <descr>
  1796. <var>AdjustLineBreaks</var> will change all <var>#13</var> characters with
  1797. <var>#13#10</var> on Windowsnt and dos. On linux, all <var>#13#10</var>
  1798. character pairs are converted to <var>#10</var> and single <var>#13</var>
  1799. characters also.
  1800. </descr>
  1801. <errors>
  1802. None.
  1803. </errors>
  1804. <seealso>
  1805. <link id="AnsiCompareStr"/>
  1806. <link id="AnsiCompareText"/>
  1807. </seealso>
  1808. <example file="sysutex/ex48"/>
  1809. </element>
  1810. <element name="AnsiCompareStr">
  1811. <short>Compare 2 ansistrings, case sensitive, ignoring accents characters.</short>
  1812. <descr>
  1813. <p>
  1814. <var>AnsiCompareStr</var> compares two strings and returns the following
  1815. result:
  1816. </p>
  1817. <dl>
  1818. <dt>&lt; 0</dt><dd> if <var>S1&lt;S2</var>.</dd>
  1819. <dt>0</dt><dd>if <var>S1=S2</var>.</dd>
  1820. <dt>&gt; 0</dt><dd> if <var>S1&gt;S2</var>.</dd>
  1821. </dl>
  1822. <p>
  1823. The comparision takes into account Ansi characters, i.e. it takes
  1824. care of strange accented characters. Contrary to <link id="AnsiCompareText"/>,
  1825. the comparision is case sensitive.
  1826. </p>
  1827. </descr>
  1828. <errors>
  1829. None.
  1830. </errors>
  1831. <seealso>
  1832. <link id="AdjustLineBreaks"/>
  1833. <link id="AnsiCompareText"/>
  1834. </seealso>
  1835. <example file="sysutex/ex49"/>
  1836. </element>
  1837. <element name="AnsiCompareText">
  1838. <short>Compare 2 ansistrings, case insensitive, ignoring accents characters.</short>
  1839. <descr>
  1840. <p>
  1841. <var>AnsiCompareText</var> compares two strings and returns the following
  1842. result:
  1843. </p>
  1844. <dl>
  1845. <dt>&lt;0</dt><dd>if <var>S1&lt;S2</var>.</dd>
  1846. <dt>0</dt><dd>if <var>S1=S2</var>.</dd>
  1847. <dt>&gt;0</dt><dd>if <var>S1&gt;S2</var>.</dd>
  1848. </dl>
  1849. <p>
  1850. the comparision takes into account Ansi characters, i.e. it takes
  1851. care of strange accented characters. Contrary to <link id="AnsiCompareStr"/>,
  1852. the comparision is case insensitive.
  1853. </p>
  1854. </descr>
  1855. <errors>
  1856. None.
  1857. </errors>
  1858. <seealso>
  1859. <link id="AdjustLineBreaks"/>
  1860. <link id="AnsiCompareText"/>
  1861. </seealso>
  1862. <example file="sysutex/ex50"/>
  1863. </element>
  1864. <element name="AnsiExtractQuotedStr">
  1865. <short>Removes the first quoted string from a string.</short>
  1866. <descr>
  1867. <var>AnsiExtractQuotedStr</var> returns the first quoted string in
  1868. <var>Src</var>, and deletes the result from <var>Src</var>. The resulting
  1869. string has with <var>Quote</var> characters removed from the beginning and
  1870. end of the string (if they are present), and double <var>Quote</var>
  1871. characters replaced by a single <var>Quote</var> characters.
  1872. As such, it revereses the action of <link id="AnsiQuotedStr"/>.
  1873. </descr>
  1874. <errors>
  1875. None.
  1876. </errors>
  1877. <seealso>
  1878. <link id="AnsiQuotedStr"/>
  1879. </seealso>
  1880. <example file="sysutex/ex51"/>
  1881. </element>
  1882. <element name="AnsiLastChar">
  1883. <short>Return a pointer to the last character of a string.</short>
  1884. <descr>
  1885. This function returns a pointer to the last character of <var>S</var>.
  1886. Since multibyte characters are not yet supported, this is the same
  1887. as <var>@S[Length(S)])</var>.
  1888. </descr>
  1889. <errors>
  1890. None.
  1891. </errors>
  1892. <seealso>
  1893. <link id="AnsiStrLastChar"/>
  1894. </seealso>
  1895. <example file="sysutex/ex52"/>
  1896. </element>
  1897. <element name="AnsiLowerCase">
  1898. <short>Return a lowercase version of a string.</short>
  1899. <descr>
  1900. <p>
  1901. <var>AnsiLowerCase</var> converts the string <var>S</var> to lowercase characters
  1902. and returns the resulting string.
  1903. It takes into account the operating system language
  1904. settings when doing this, so spcial characters are converted correctly as
  1905. well.
  1906. </p>
  1907. <remark>
  1908. On linux, no language setting is taken in account yet.
  1909. </remark>
  1910. </descr>
  1911. <errors>
  1912. None.
  1913. </errors>
  1914. <seealso>
  1915. <link id="AnsiUpperCase"/>
  1916. <link id="AnsiStrLower"/>
  1917. <link id="AnsiStrUpper"/>
  1918. </seealso>
  1919. <example file="sysutex/ex53"/>
  1920. </element>
  1921. <element name="AnsiQuotedStr">
  1922. <short>Return a quoted version of a string.</short>
  1923. <descr>
  1924. <p>
  1925. <var>AnsiQuotedString</var> quotes the string <var>S</var> and returns the result.
  1926. This means that it puts the <var>Quote</var> character at both the beginning and
  1927. end of the string and replaces any occurrence of <var>Quote</var> in <var>S</var>
  1928. with 2 <var>Quote</var> characters. The action of <var>AnsiQuotedString</var> can be
  1929. reversed by <link id="AnsiExtractQuotedStr"/>.
  1930. </p>
  1931. <p>
  1932. For an example, see <link id="AnsiExtractQuotedStr"/>
  1933. </p>
  1934. </descr>
  1935. <errors>
  1936. None.
  1937. </errors>
  1938. <seealso>
  1939. <link id="AnsiExtractQuotedStr"/>
  1940. </seealso>
  1941. </element>
  1942. <element name="AnsiStrComp">
  1943. <short>Compare two null-terminated strings. Case sensitive.</short>
  1944. <descr>
  1945. <p>
  1946. <var>AnsiStrComp</var> compares 2 <var>PChar</var> strings, and returns the following
  1947. result:
  1948. </p>
  1949. <dl>
  1950. <dt>&lt;0</dt><dd> if <var>S1&lt;S2</var>.</dd>
  1951. <dt>0</dt><dd> if <var>S1=S2</var>.</dd>
  1952. <dt>&gt;0</dt><dd> if <var>S1>S2</var>.</dd>
  1953. </dl>
  1954. <p>
  1955. The comparision of the two strings is case-sensitive.
  1956. The function does not yet take internationalization settings into account.
  1957. </p>
  1958. </descr>
  1959. <errors>
  1960. None.
  1961. </errors>
  1962. <seealso>
  1963. <link id="AnsiCompareText"/>
  1964. <link id="AnsiCompareStr"/>
  1965. </seealso>
  1966. <example file="sysutex/ex54"/>
  1967. </element>
  1968. <element name="AnsiStrIComp">
  1969. <short>Compare two null-terminated strings. Case insensitive.</short>
  1970. <descr>
  1971. <p>
  1972. <var>AnsiStrIComp</var> compares 2 <var>PChar</var> strings, and returns the following
  1973. result:
  1974. </p>
  1975. <dl>
  1976. <dt>&lt;0</dt><dd> if <var>S1&lt;S2</var>.</dd>
  1977. <dt>0</dt><dd> if <var>S1=S2</var>.</dd>
  1978. <dt>>0</dt><dd> if <var>S1>S2</var>.</dd>
  1979. </dl>
  1980. <p>
  1981. The comparision of the two strings is case-insensitive.
  1982. The function does not yet take internationalization settings into account.
  1983. </p>
  1984. </descr>
  1985. <errors>
  1986. None.
  1987. </errors>
  1988. <seealso>
  1989. <link id="AnsiCompareText"/>
  1990. <link id="AnsiCompareStr"/>
  1991. </seealso>
  1992. <example file="sysutex/ex55"/>
  1993. </element>
  1994. <element name="AnsiStrLastChar">
  1995. <short>Return a pointer to the last character of a string.</short>
  1996. <descr>
  1997. <p>
  1998. Return a pointer to the last character of the null-terminated string.
  1999. </p>
  2000. </descr>
  2001. <errors>
  2002. None.
  2003. </errors>
  2004. <seealso>
  2005. <link id="AnsiCompareText"/>
  2006. <link id="AnsiCompareStr"/>
  2007. </seealso>
  2008. <example file="sysutex/ex56"/>
  2009. </element>
  2010. <element name="AnsiStrLIComp">
  2011. <short>Compares a given number of characters of a string, case insensitive.</short>
  2012. <descr>
  2013. <p>
  2014. <var>AnsiStrLIComp</var> compares the first <var>Maxlen</var> characters of
  2015. 2 <var>PChar</var> strings, <var>S1</var> and <var>S2</var>, and returns the following
  2016. result:
  2017. </p>
  2018. <dl>
  2019. <dt>&lt;0</dt><dd> if <var>S1&lt;S2</var>.</dd>
  2020. <dt>0</dt><dd> if <var>S1=S2</var>.</dd>
  2021. <dt>&gt;0</dt><dd> if <var>S1&gt;S2</var>.</dd>
  2022. </dl>
  2023. <p>
  2024. The comparision of the two strings is case-insensitive.
  2025. The function does not yet take internationalization settings into account.
  2026. </p>
  2027. </descr>
  2028. <errors>
  2029. None.
  2030. </errors>
  2031. <seealso>
  2032. <link id="AnsiCompareText"/>
  2033. <link id="AnsiCompareStr"/>
  2034. </seealso>
  2035. <example file="sysutex/ex57"/>
  2036. </element>
  2037. <element name="AnsiStrLower">
  2038. <short>Convert a null-terminated string to all-lowercase characters.</short>
  2039. <descr>
  2040. <p>
  2041. <var>AnsiStrLower</var> converts the PChar <var>Str</var> to lowercase characters
  2042. and returns the resulting pchar. Note that <var>Str</var> itself is modified,
  2043. not a copy, as in the case of <link id="AnsiLowerCase"/>.
  2044. It takes into account the operating system language
  2045. settings when doing this, so special characters are converted correctly as
  2046. well.
  2047. </p>
  2048. <remark>
  2049. On unix, no language setting is taken in account yet.
  2050. </remark>
  2051. </descr>
  2052. <errors>
  2053. None.
  2054. </errors>
  2055. <seealso>
  2056. <link id="AnsiStrUpper"/>
  2057. <link id="AnsiLowerCase"/>
  2058. </seealso>
  2059. <example file="sysutex/ex59"/>
  2060. </element>
  2061. <element name="AnsiStrUpper">
  2062. <short>Convert a null-terminated string to all-uppercase characters.</short>
  2063. <descr>
  2064. <p>
  2065. <var>AnsiStrUpper</var> converts the <var>PChar</var> <var>Str</var> to uppercase characters
  2066. and returns the resulting string. Note that <var>Str</var> itself is modified,
  2067. not a copy, as in the case of <link id="AnsiUpperCase"/>.
  2068. It takes into account the operating system language
  2069. settings when doing this, so special characters are converted correctly as
  2070. well.
  2071. </p>
  2072. <remark> On linux, no language setting is taken in account yet.
  2073. </remark>
  2074. </descr>
  2075. <errors>
  2076. None.
  2077. </errors>
  2078. <seealso>
  2079. <link id="AnsiUpperCase"/>
  2080. <link id="AnsiStrLower"/>
  2081. <link id="AnsiLowerCase"/>
  2082. </seealso>
  2083. <example file="sysutex/ex60"/>
  2084. </element>
  2085. <element name="AnsiUpperCase">
  2086. <short>Return an uppercase version of a string, taking into account special
  2087. characters.</short>
  2088. <descr>
  2089. <p>
  2090. <var>AnsiUpperCase</var> converts the string <var>S</var> to uppercase characters
  2091. and returns the resulting string.
  2092. It takes into account the operating system language
  2093. settings when doing this, so special characters are converted correctly as
  2094. well.
  2095. </p>
  2096. <remark>
  2097. On linux, no language setting is taken in account yet.
  2098. </remark>
  2099. </descr>
  2100. <errors>
  2101. None.
  2102. </errors>
  2103. <seealso>
  2104. <link id="AnsiStrUpper"/>
  2105. <link id="AnsiStrLower"/>
  2106. <link id="AnsiLowerCase"/>
  2107. </seealso>
  2108. <example file="sysutex/ex61"/>
  2109. </element>
  2110. <element name="AppendStr">
  2111. <short>Append one ansistring to another.</short>
  2112. <descr>
  2113. <p>
  2114. <var>AppendStr</var> appends <var>S</var> to Dest.
  2115. </p>
  2116. <p>
  2117. This function is provided for Delphi
  2118. compatibility only, since it is completely equivalent to <var>Dest:=Dest+S</var>.
  2119. </p>
  2120. </descr>
  2121. <errors>
  2122. None.
  2123. </errors>
  2124. <seealso>
  2125. <link id="AssignStr"/>
  2126. <link id="NewStr"/>
  2127. <link id="DisposeStr"/>
  2128. </seealso>
  2129. <example file="sysutex/ex62"/>
  2130. </element>
  2131. <element name="AssignStr">
  2132. <short>Assigns an ansistring to a null-terminated string.</short>
  2133. <descr>
  2134. <p>
  2135. <var>AssignStr</var> allocates <var>S</var> to <var>P</var>. The old value of <var>P</var> is
  2136. disposed of.
  2137. </p>
  2138. <p>
  2139. This function is provided for Delphi compatibility only. <var>AnsiStrings</var>
  2140. are managed on the heap and should be preferred to the mechanism of
  2141. dynamically allocated strings.
  2142. </p>
  2143. </descr>
  2144. <errors>
  2145. None.
  2146. </errors>
  2147. <seealso>
  2148. <link id="NewStr"/>
  2149. <link id="AppendStr"/>
  2150. <link id="DisposeStr"/>
  2151. </seealso>
  2152. <example file="sysutex/ex63"/>
  2153. </element>
  2154. <element name="BCDToInt">
  2155. <short>Convert a BCD coded integer to a normal integer.</short>
  2156. <descr>
  2157. <var>BCDToInt</var> converts a <var>BCD</var> coded integer to a normal integer.
  2158. </descr>
  2159. <errors>
  2160. None.
  2161. </errors>
  2162. <seealso>
  2163. <link id="StrToInt"/>
  2164. <link id="IntToStr"/>
  2165. </seealso>
  2166. <example file="sysutex/ex64"/>
  2167. </element>
  2168. <element name="CompareMem">
  2169. <short>Compare two memory areas.</short>
  2170. <descr>
  2171. <p>
  2172. <var>CompareMem</var> compares, byte by byte, 2 memory areas pointed
  2173. to by <var>P1</var> and <var>P2</var>, for a length of <var>L</var> bytes.
  2174. </p>
  2175. <p>
  2176. It returns the following values:
  2177. </p>
  2178. <dl>
  2179. <dt>&lt;0</dt><dd> if at some position the byte at <var>P1</var> is less than the byte at the
  2180. same postion at <var>P2</var>.
  2181. </dd>
  2182. <dt>0</dt><dd> if all <var>L</var> bytes are the same.</dd>
  2183. <dt>&gt;0</dt><dd>if at some position the byte at <var>P1</var> is greater than the
  2184. byte at the same postion at <var>P2</var>.</dd>
  2185. </dl>
  2186. </descr>
  2187. <errors>
  2188. </errors>
  2189. <seealso>
  2190. </seealso>
  2191. </element>
  2192. <element name="CompareStr">
  2193. <short>Compare 2 ansistrings case-sensitively, ignoring special characters.</short>
  2194. <descr>
  2195. <p>
  2196. <var>CompareStr</var> compares two strings, <var>S1</var> and <var>S2</var>,
  2197. and returns the following
  2198. result:
  2199. </p>
  2200. <dl>
  2201. <dt>&lt;0</dt><dd> if <var>S1&lt;S2</var>.</dd>
  2202. <dt>0</dt><dd> if <var>S1=S2</var>.</dd>
  2203. <dt>&gt;0</dt><dd> if <var>S1&gt;S2</var>.</dd>
  2204. </dl>
  2205. <p>
  2206. The comparision of the two strings is case-sensitive.
  2207. The function does not take internationalization settings into account, it
  2208. simply compares ASCII values.
  2209. </p>
  2210. </descr>
  2211. <errors>
  2212. None.
  2213. </errors>
  2214. <seealso>
  2215. <link id="AnsiCompareText"/>
  2216. <link id="AnsiCompareStr"/>
  2217. <link id="CompareText"/>
  2218. </seealso>
  2219. <example file="sysutex/ex65"/>
  2220. </element>
  2221. <element name="CompareText">
  2222. <short>Compare 2 ansistrings case insensitive.</short>
  2223. <descr>
  2224. <p>
  2225. <var>CompareText</var> compares two strings, <var>S1</var> and <var>S2</var>,
  2226. and returns the following
  2227. result:
  2228. </p>
  2229. <dl>
  2230. <dt>&lt;0</dt><dd> if <var>S1&lt;S2</var>.</dd>
  2231. <dt>0</dt><dd> if <var>S1=S2</var>.</dd>
  2232. <dt>&gt;0</dt><dd> if <var>S1&gt;S2</var>.</dd>
  2233. </dl>
  2234. <p>
  2235. The comparision of the two strings is case-insensitive.
  2236. The function does not take internationalization settings into account, it
  2237. simply compares ASCII values.
  2238. </p>
  2239. </descr>
  2240. <errors>
  2241. None.
  2242. </errors>
  2243. <seealso>
  2244. <link id="AnsiCompareText"/>
  2245. <link id="AnsiCompareStr"/>
  2246. <link id="CompareStr"/>
  2247. </seealso>
  2248. <example file="sysutex/ex66"/>
  2249. </element>
  2250. <element name="DisposeStr">
  2251. <short>Dispose an ansistring from the heap.</short>
  2252. <descr>
  2253. <p>
  2254. <var>DisposeStr</var> removes the dynamically allocated string <var>S</var> from the
  2255. heap, and releases the occupied memory.
  2256. </p>
  2257. <p>
  2258. This function is provided for Delphi compatibility only. <var>AnsiStrings</var>
  2259. are managed on the heap and should be preferred to the mechanism of
  2260. dynamically allocated strings.
  2261. </p>
  2262. <p>
  2263. For an example, see <link id="DisposeStr"/>.
  2264. </p>
  2265. </descr>
  2266. <errors>
  2267. None.
  2268. </errors>
  2269. <seealso>
  2270. <link id="NewStr"/>
  2271. <link id="AppendStr"/>
  2272. <link id="AssignStr"/>
  2273. </seealso>
  2274. </element>
  2275. <element name="FloatToStr">
  2276. <short>Convert a float value to a string using a fixed format.</short>
  2277. <descr>
  2278. <p>
  2279. <var>FloatToStr</var> converts the floating point variable <var>Value</var> to a
  2280. string representation. It will choose the shortest possible notation of the
  2281. two following formats:
  2282. </p>
  2283. <dl>
  2284. <dt>Fixed format</dt><dd> will represent the string in fixed notation,
  2285. </dd><dt>Decimal format</dt><dd> will represent the string in scientific
  2286. notation.</dd>
  2287. </dl>
  2288. <p>
  2289. More information on these formats can be found in <link id="FloatToStrF"/>.
  2290. <var>FloatToStr</var> is completely equivalent to the following call:
  2291. </p>
  2292. <code>
  2293. FloatToStrF(Value, ffGeneral,15, 0);
  2294. </code>
  2295. </descr>
  2296. <errors>
  2297. None.
  2298. </errors>
  2299. <seealso>
  2300. <link id="FloatToStrF"/>
  2301. <link id="FormatFloat"/>
  2302. <link id="StrToFloat"/>
  2303. </seealso>
  2304. <example file="sysutex/ex67"/>
  2305. </element>
  2306. <element name="FloatToStrF">
  2307. <short>Convert a float value to a string using a given format.</short>
  2308. <descr>
  2309. <p>
  2310. <var>FloatToStrF</var> converts the floating point number <var>value</var> to a string
  2311. representation, according to the settings of the parameters <var>Format</var>,
  2312. <var>Precision</var> and <var>Digits</var>.
  2313. </p>
  2314. <p>
  2315. The meaning of the <var>Precision</var> and <var>Digits</var> parameter depends on the
  2316. <var>Format</var> parameter. The format is controlled mainly by the <var>Format</var>
  2317. parameter. It can have one of the following values:
  2318. </p>
  2319. <dl>
  2320. <dt>ffcurrency</dt>
  2321. <dd> Money format. <var>Value</var> is converted to a string using
  2322. the global variables <var>CurrencyString</var>, <var>CurrencyFormat</var> and
  2323. <var>NegCurrencyFormat</var>. The <var>Digits</var> paramater specifies the number of digits
  2324. following the decimal point and should be in the range -1 to 18. If Digits
  2325. equals <var>-1</var>, <var>CurrencyDecimals</var> is assumed. The <var>Precision</var> parameter is ignored.
  2326. </dd>
  2327. <dt>ffExponent</dt>
  2328. <dd> Scientific format. <var>Value</var> is converted to a
  2329. string using scientific notation: 1 digit before the decimal point, possibly
  2330. preceded by a minus sign if <var>Value</var> is negative. The number of
  2331. digits after the decimal point is controlled by <var>Precision</var> and must lie
  2332. in the range 0 to 15.
  2333. </dd>
  2334. <dt>ffFixed</dt>
  2335. <dd> Fixed point format. <var>Value</var> is converted to a string
  2336. using fixed point notation. The result is composed of all digits of the
  2337. integer part of <var>Value</var>, preceded by a minus sign if <var>Value</var> is
  2338. negative. Following the integer part is <var>DecimalSeparator</var> and then the
  2339. fractional part of <var>Value</var>, rounded off to <var>Digits</var> numbers.
  2340. If the number is too large then the result will be in scientific notation.
  2341. </dd>
  2342. <dt>ffGeneral</dt>
  2343. <dd> General number format. The argument is converted to a
  2344. string using <var>ffExponent</var> or <var>ffFixed</var> format, depending on wich one
  2345. gives the shortest string. There will be no trailing zeroes. If <var>Value</var>
  2346. is less than <var>0.00001</var> or if the number of decimals left of the decimal
  2347. point is larger than <var>Precision</var> then scientific notation is used, and
  2348. <var>Digits</var> is the minimum number of digits in the exponent. Otherwise
  2349. <var>Digits</var> is ignored.
  2350. </dd>
  2351. <dt>ffnumber</dt>
  2352. <dd> Is the same as <var>ffFixed</var>, except that thousand separators
  2353. are inserted in the resultig string.
  2354. </dd>
  2355. </dl>
  2356. </descr>
  2357. <errors>
  2358. None.
  2359. </errors>
  2360. <seealso>
  2361. <link id="FloatToStr"/>
  2362. <link id="FloatToText"/>
  2363. </seealso>
  2364. <example file="sysutex/ex68"/>
  2365. </element>
  2366. <element name="FloatToText">
  2367. <short>Return a string representation of a float, with a given format.</short>
  2368. <descr>
  2369. <p>
  2370. <var>FloatToText</var> converts the floating point variable <var>Value</var> to a
  2371. string representation and stores it in <var>Buffer</var>. The conversion is
  2372. governed by <var>format</var>, <var>Precisison</var> and <var>Digits</var>.
  2373. more information on these parameters can be found in <link id="FloatToStrF"/>.
  2374. <var>Buffer</var> should point to enough space to hold the result. No checking on
  2375. this is performed.
  2376. </p>
  2377. <p>
  2378. The result is the number of characters that was copied in <var>Buffer</var>.
  2379. </p>
  2380. </descr>
  2381. <errors>
  2382. None.
  2383. </errors>
  2384. <seealso>
  2385. <link id="FloatToStr"/>
  2386. <link id="FloatToStrF"/>
  2387. </seealso>
  2388. <example file="sysutex/ex69"/>
  2389. </element>
  2390. <element name="FmtStr">
  2391. <short>Format a string with given arguments.</short>
  2392. <descr>
  2393. <var>FmtStr</var> calls <link id="Format"/> with <var>Fmt</var> and <var>Args</var> as arguments,
  2394. and stores the result in <var>Res</var>. For more information on how the
  2395. resulting string is composed, see <link id="Format"/>.
  2396. </descr>
  2397. <errors>
  2398. In case of error, a <var>EConvertError</var> exception is raised.
  2399. </errors>
  2400. <seealso>
  2401. <link id="Format"/>
  2402. <link id="FormatBuf"/>.
  2403. </seealso>
  2404. <example file="sysutex/ex70"/>
  2405. </element>
  2406. <element name="Format">
  2407. <short>Format a string with given arguments.</short>
  2408. <descr>
  2409. <p>
  2410. Format replaces all placeholders in<var>Fmt</var> with the arguments passed in
  2411. <var>Args</var> and returns the resulting string. A placeholder looks as follows:
  2412. </p>
  2413. <code>
  2414. '%' [Index':'] ['-'] [Width] ['.' Precision] ArgType
  2415. </code>
  2416. <p>
  2417. elements between single quotes must be typed as shown without the quotes,
  2418. and elements between square brackets <var>[ ]</var> are optional. The meaning
  2419. of the different elements is shown below:
  2420. </p>
  2421. <dl>
  2422. <dt>'%'</dt>
  2423. <dd> starts the placeholder. If you want to insert a literal
  2424. <var>%</var> character, then you must insert two of them : <var>%%</var>.
  2425. </dd>
  2426. <dt>Index ':'</dt>
  2427. <dd> takes the <var>Index</var>-th element in the argument array
  2428. as the element to insert.
  2429. </dd>
  2430. <dt>'-'</dt>
  2431. <dd> tells <var>Format</var> to left-align the inserted text. The default
  2432. behaviour is to right-align inserted text. This can only take effect if the
  2433. <var>Width</var> element is also specified.
  2434. </dd>
  2435. <dt>Width</dt>
  2436. <dd> the inserted string must have at least have <var>Width</var>
  2437. characters. If not, the inserted string will be padded with spaces. By
  2438. default, the string is left-padded, resulting in a right-aligned string.
  2439. This behaviour can be changed by the <var>'-'</var> character.
  2440. </dd>
  2441. <dt>'.' Precision</dt>
  2442. <dd> Indicates the precision to be used when converting
  2443. the argument. The exact meaning of this parameter depends on <var>ArgType</var>.
  2444. </dd>
  2445. </dl>
  2446. <p>
  2447. The <var>Index</var>, <var>Width</var> and <var>Precision</var> parameters can be replaced
  2448. by <var>*</var>, in which case their value will be read from the next element in
  2449. the <var>Args</var> array. This value must be an integer, or an
  2450. <var>EConvertError</var> exception will be raised.
  2451. </p>
  2452. <p>
  2453. The argument type is determined from <var>ArgType</var>. It can have one of the
  2454. following values (case insensitive):
  2455. </p>
  2456. <dl>
  2457. <dt>D</dt>
  2458. <dd>
  2459. Decimal format. The next argument in the <var>Args</var> array should be
  2460. an integer. The argument is converted to a decimal string,. If precision is
  2461. specified, then the string will have at least <var>Precision</var> digits in it.
  2462. If needed, the string is (left) padded with zeroes.
  2463. </dd>
  2464. <dt>E</dt>
  2465. <dd>
  2466. <p>
  2467. Scientific format. The next argument in the <var>Args</var> array should
  2468. be a Floating point value. The argument is converted to a decimal string
  2469. using scientific notation, using <link id="FloatToStrF"/>, where the optional
  2470. precision is used to specify the total number of decimals. (defalt a valueof
  2471. 15 is used). The exponent is formatted using maximally 3 digits.
  2472. </p>
  2473. <p>
  2474. In short, the <var>E</var> specifier formats it's argument as follows:
  2475. </p>
  2476. <code>
  2477. FloatToStrF(Argument,ffexponent,Precision,3)
  2478. </code>
  2479. </dd>
  2480. <dt>F</dt>
  2481. <dd>
  2482. <p>Fixed point format. The next argument in the <var>Args</var> array
  2483. should be a floating point value. The argument is converted to a
  2484. decimal string, using fixed notation (see <link id="FloatToStrF"/>).
  2485. <var>Precision</var> indicates the number of digits following the
  2486. decimal point.
  2487. </p>
  2488. <p>
  2489. In short, the <var>F</var> specifier formats it's argument as follows:
  2490. </p>
  2491. <code>
  2492. FloatToStrF(Argument,ffFixed,ffixed,9999,Precision)
  2493. </code>
  2494. </dd>
  2495. <dt>G</dt>
  2496. <dd>
  2497. <p>
  2498. General number format. The next argument in the <var>Args</var> array
  2499. should be a floating point value. The argument is converted to a decimal
  2500. string using fixed point notation or scientific notation, depending on which
  2501. gives the shortest result. <var>Precision</var> is used to determine the number
  2502. of digits after the decimal point.
  2503. </p>
  2504. <p>
  2505. In short, the <var>G</var> specifier formats it's argument as follows:
  2506. </p>
  2507. <code>
  2508. FloatToStrF(Argument,ffGeneral,Precision,3)
  2509. </code>
  2510. </dd>
  2511. <dt>M</dt>
  2512. <dd>
  2513. <p>Currency format. the next argument in the var{Args} array must
  2514. be a floating point value. The argument is converted to a decimal string
  2515. using currency notation. This means that fixed-point notation is used, but
  2516. that the currency symbol is appended. If precision is specified, then
  2517. then it overrides the <var>CurrencyDecimals</var> global variable used in the
  2518. <link id="FloatToStrF"/>
  2519. </p>
  2520. <p>
  2521. In short, the <var>M</var> specifier formats it's argument as follows:
  2522. </p>
  2523. <code>
  2524. FloatToStrF(Argument,ffCurrency,9999,Precision)
  2525. </code>
  2526. </dd>
  2527. <dt>N</dt>
  2528. <dd> Number format. This is the same as fixed point format, except that
  2529. thousand separators are inserted in the resulting string.
  2530. </dd>
  2531. <dt>P</dt>
  2532. <dd> Pointer format. The next argument in the <var>Args</var> array must be a
  2533. pointer (typed or untyped). The pointer value is converted to a string of
  2534. length 8, representing the hexadecimal value of the pointer.
  2535. </dd>
  2536. <dt>S</dt>
  2537. <dd> String format. The next argument in the <var>Args</var> array must be
  2538. a string. The argument is simply copied to the result string. If
  2539. <var>Precision</var> is specified, then only <var>Precision</var> characters are
  2540. copied to the result string.
  2541. </dd>
  2542. <dt>X</dt>
  2543. <dd> hexadecimal format. The next argument in the <var>Args</var> array must
  2544. be an integer. The argument is converted to a hexadecimal string with just
  2545. enough characters to contain the value of the integer. If <var>Precision</var>
  2546. is specified then the resulting hexadecimal representation will have at
  2547. least <var>Precision</var> characters in it (with a maximum value of 32).
  2548. </dd>
  2549. </dl>
  2550. </descr>
  2551. <errors>
  2552. <p>
  2553. In case of error, an <var>EConversionError</var> exception is raised. Possible
  2554. errors are:
  2555. </p>
  2556. <ol>
  2557. <li> Errors in the format specifiers.</li>
  2558. <li> The next argument is not of the type needed by a specifier.</li>
  2559. <li> The number of arguments is not sufficient for all format specifiers.</li>
  2560. </ol>
  2561. </errors>
  2562. <seealso>
  2563. <link id="FormatBuf"/>
  2564. </seealso>
  2565. <example file="sysutex/ex71"/>
  2566. </element>
  2567. <element name="FormatBuf">
  2568. <short>Format a string with given arguments and store the result in a buffer.</short>
  2569. <descr>
  2570. <var>FormatBuf</var> calls formatfloat with <var>Buf</var>.
  2571. </descr>
  2572. <errors>
  2573. </errors>
  2574. <seealso>
  2575. </seealso>
  2576. <example file="sysutex/ex72"/>
  2577. </element>
  2578. <element name="FormatFloat">
  2579. <short>Format a float according to a certain mask.</short>
  2580. <descr>
  2581. <p>
  2582. <var>FormatFloat</var> formats the floating-point value given by <var>Value</var> using
  2583. the format specifications in <var>Format</var>. The format specifier can give
  2584. format specifications for positive, negative or zero values (separated by
  2585. a semicolon).
  2586. </p>
  2587. <p>
  2588. If the formatspecifier is empty or the value needs more than 18 digits to
  2589. be correctly represented, the result is formatted with a call to
  2590. <link id="FloatToStrF"/> with the <var>ffGeneral</var> format option.
  2591. </p>
  2592. <p>
  2593. The following format specifiers are supported:
  2594. </p>
  2595. <dl>
  2596. <dt>0</dt>
  2597. <dd> is a digit place holder. If there is a corresponding digit in
  2598. the value being formatted, then it replaces the 0. If not, the 0 is left
  2599. as-is.
  2600. </dd>
  2601. <dt>#</dt>
  2602. <dd> is also a digit place holder. If there is a corresponding digit in
  2603. the value being formatted, then it replaces the #. If not, it is removed.
  2604. by a space.
  2605. </dd>
  2606. <dt>.</dt>
  2607. <dd> determines the location of the decimal point. Only the first '.'
  2608. character is taken into account. If the value contains digits after the
  2609. decimal point, then it is replaced by the value of the <var>DecimalSeparator</var>
  2610. character.
  2611. </dd>
  2612. <dt>,</dt>
  2613. <dd> determines the use of the thousand separator character in the
  2614. output string. If the format string contains one or more ',' charactes,
  2615. then thousand separators will be used. The <var>ThousandSeparator</var> character
  2616. is used.
  2617. </dd>
  2618. <dt>E+</dt>
  2619. <dd> determines the use of scientific notation. If 'E+' or 'E-' (or
  2620. their lowercase counterparts) are present then scientific notation is used.
  2621. The number of digits in the output string is determined by the number of
  2622. <var>0</var> characters after the '<var>E+</var>'
  2623. </dd>
  2624. <dt>;</dt>
  2625. <dd> This character separates sections for positive, negative, and zero numbers in the
  2626. format string.
  2627. </dd>
  2628. </dl>
  2629. </descr>
  2630. <errors>
  2631. If an error occurs, an exception is raised.
  2632. </errors>
  2633. <seealso>
  2634. <link id="FloatToStr"/>
  2635. </seealso>
  2636. <example file="sysutex/ex89"/>
  2637. </element>
  2638. <element name="IntToHex">
  2639. <short>Convert an integer value to a hexadecimal string.</short>
  2640. <descr>
  2641. <var>IntToHex</var> converts <var>Value</var> to a hexadecimal string
  2642. representation. The result will contain at least <var>Digits</var>
  2643. characters. If <var>Digits</var> is less than the needed number of characters,
  2644. the string will NOT be truncated. If <var>Digits</var> is larger than the needed
  2645. number of characters, the result is padded with zeroes.
  2646. </descr>
  2647. <errors>
  2648. None.
  2649. </errors>
  2650. <seealso>
  2651. <link id="IntToStr"/>, <var>StrToInt</var>
  2652. </seealso>
  2653. <example file="sysutex/ex73"/>
  2654. </element>
  2655. <element name="IntToStr">
  2656. <short>Convert an integer value to a decimal string.</short>
  2657. <descr>
  2658. <var>IntToStr</var> coverts <var>Value</var> to it's string representation.
  2659. The resulting string has only as much characters as needed to represent
  2660. the value. If the value is negative a minus sign is prepended to the
  2661. string.
  2662. </descr>
  2663. <errors>
  2664. None.
  2665. </errors>
  2666. <seealso>
  2667. <link id="IntToHex"/>
  2668. <link id="StrToInt"/>
  2669. </seealso>
  2670. <example file="sysutex/ex74"/>
  2671. </element>
  2672. <element name="IsValidIdent">
  2673. <short>Check whether a string is a valid identifier name.</short>
  2674. <descr>
  2675. <var>IsValidIdent</var> returns <var>True</var> if <var>Ident</var> can be used as a
  2676. compoent name. It returns <var>False</var> otherwise. <var>Ident</var> must consist of
  2677. a letter or underscore, followed by a combination of letters, numbers or
  2678. underscores to be a valid identifier.
  2679. </descr>
  2680. <errors>
  2681. None.
  2682. </errors>
  2683. <seealso>
  2684. </seealso>
  2685. <example file="sysutex/ex75"/>
  2686. </element>
  2687. <element name="LastDelimiter">
  2688. <short>Return the last occurrence of a set of delimiters in a string.</short>
  2689. <descr>
  2690. <var>LastDelimiter</var> returns the <em> last</em> occurrence of any character in
  2691. the set <var>Delimiters</var> in the string <var>S</var>.
  2692. </descr>
  2693. <errors>
  2694. </errors>
  2695. <seealso>
  2696. </seealso>
  2697. <example file="sysutex/ex88"/>
  2698. </element>
  2699. <element name="LeftStr">
  2700. <short>Return a number of characters starting at the left of a string.</short>
  2701. <descr>
  2702. <var>LeftStr</var> returns the <var>Count</var> leftmost characters of <var>S</var>.
  2703. It is equivalent to a call to <var>Copy(S,1,Count)</var>.
  2704. </descr>
  2705. <errors>
  2706. None.
  2707. </errors>
  2708. <seealso>
  2709. <link id="RightStr"/>
  2710. <link id="TrimLeft"/>
  2711. <link id="TrimRight"/>
  2712. <link id="Trim"/>
  2713. </seealso>
  2714. <example file="sysutex/ex76"/>
  2715. </element>
  2716. <element name="LoadStr">
  2717. <short>Load a string from the resource tables.</short>
  2718. <descr>
  2719. This function is not yet implemented. resources are not yet supported.
  2720. </descr>
  2721. <errors>
  2722. </errors>
  2723. <seealso>
  2724. </seealso>
  2725. </element>
  2726. <element name="LowerCase">
  2727. <short>Return a lowercase version of a string.</short>
  2728. <descr>
  2729. <var>LowerCase</var> returns the lowercase equivalent of <var>S</var>. Ansi characters
  2730. are not taken into account, only ASCII codes below 127 are converted. It is
  2731. completely equivalent to the lowercase function of the system unit, and is
  2732. provided for compatiibility only.
  2733. </descr>
  2734. <errors>
  2735. None.
  2736. </errors>
  2737. <seealso>
  2738. <link id="AnsiLowerCase"/>
  2739. <link id="UpperCase"/>
  2740. <link id="AnsiUpperCase"/>
  2741. </seealso>
  2742. <example file="sysutex/ex77"/>
  2743. </element>
  2744. <element name="NewStr">
  2745. <short>Allocate a new ansistring on the heap.</short>
  2746. <descr>
  2747. <p>
  2748. <var>NewStr</var> assigns a new dynamic string on the heap, copies <var>S</var> into
  2749. it, and returns a pointer to the newly assigned string.
  2750. </p>
  2751. <p>
  2752. This function is obsolete, and shouldn't be used any more. The
  2753. <var>AnsiString</var> mechanism also allocates ansistrings on the heap, and
  2754. should be preferred over this mechanism.
  2755. </p>
  2756. <p>
  2757. For an example, see <link id="AssignStr"/>.
  2758. </p>
  2759. </descr>
  2760. <errors>
  2761. If not enough memory is present, an EOutOfMemory exception will be raised.
  2762. </errors>
  2763. <seealso>
  2764. <link id="AssignStr"/>
  2765. <link id="DisposeStr"/>
  2766. </seealso>
  2767. </element>
  2768. <element name="QuotedStr">
  2769. <short>Return a quotes version of a string.</short>
  2770. <descr>
  2771. <var>QuotedStr</var> returns the string <var>S</var>, quoted with single quotes. This means
  2772. that <var>S</var> is enclosed in single quotes, and every single quote in <var>S</var>
  2773. is doubled. It is equivalent to a call to <var>AnsiQuotedStr(s, '''')</var>.
  2774. </descr>
  2775. <errors>
  2776. None.
  2777. </errors>
  2778. <seealso>
  2779. <link id="AnsiQuotedStr"/>
  2780. <link id="AnsiExtractQuotedStr"/>.
  2781. </seealso>
  2782. <example file="sysutex/ex78"/>
  2783. </element>
  2784. <element name="RightStr">
  2785. <short>Return a number of characters from a string, starting at the end.</short>
  2786. <descr>
  2787. <p>
  2788. <var>RightStr</var> returns the <var>Count</var> rightmost characters of <var>S</var>.
  2789. It is equivalent to a call to <var>Copy(S,Length(S)+1-Count,Count)</var>.
  2790. </p>
  2791. <p>
  2792. If <var>Count</var> is larger than the actual length of <var>S</var> only the real
  2793. length will be used.
  2794. </p>
  2795. </descr>
  2796. <errors>
  2797. None.
  2798. </errors>
  2799. <seealso>
  2800. <link id="LeftStr"/>
  2801. <link id="Trim"/>
  2802. <link id="TrimLeft"/>
  2803. <link id="TrimRight"/>
  2804. </seealso>
  2805. <example file="sysutex/ex79"/>
  2806. </element>
  2807. <element name="StrFmt">
  2808. <short>Format a string with given arguments, store the result in a buffer.</short>
  2809. <descr>
  2810. <var>StrFmt</var> will format <var>fmt</var> with <var>Args</var>, as the <link id="Format"/>
  2811. function does, and it will store the result in <var>Buffer</var>. The function
  2812. returns <var>Buffer</var>. <var>Buffer</var> should point to enough space to contain
  2813. the whole result.
  2814. </descr>
  2815. <errors>
  2816. for a list of errors, see <link id="Format"/>.
  2817. </errors>
  2818. <seealso>
  2819. <link id="StrLFmt"/>
  2820. <link id="FmtStr"/>
  2821. <link id="Format"/>
  2822. <link id="FormatBuf"/>
  2823. </seealso>
  2824. <example file="sysutex/ex80"/>
  2825. </element>
  2826. <element name="StrLFmt">
  2827. <short>Format a string with given arguments, but with limited length.</short>
  2828. <descr>
  2829. <var>StrLFmt</var> will format <var>fmt</var> with <var>Args</var>, as the <link id="Format"/>
  2830. function does, and it will store maximally <var>Maxlen characters</var> of the
  2831. result in <var>Buffer</var>. The function returns <var>Buffer</var>. <var>Buffer</var>
  2832. should point to enough space to contain <var>MaxLen</var> characters.
  2833. </descr>
  2834. <errors>
  2835. for a list of errors, see <link id="Format"/>.
  2836. </errors>
  2837. <seealso>
  2838. <link id="StrFmt"/>
  2839. <link id="FmtStr"/>
  2840. <link id="Format"/>
  2841. <link id="FormatBuf"/>
  2842. </seealso>
  2843. <example file="sysutex/ex81"/>
  2844. </element>
  2845. <element name="StrToFloat">
  2846. <short>Convert a string to a floating-point value.</short>
  2847. <descr>
  2848. <var>StrToFloat</var> converts the string <var>S</var> to a floating point value.
  2849. <var>S</var> should contain a valid stroing representation of a floating point
  2850. value (either in decimal or scientific notation). If the string
  2851. contains a decimal value, then the decimal separator character can either be
  2852. a '.' or the value of the <var>DecimalSeparator</var> variable.
  2853. </descr>
  2854. <errors>
  2855. If the string <var>S</var> doesn't contain a valid floating point string, then an
  2856. exception will be raised.
  2857. </errors>
  2858. <seealso>
  2859. <link id="TextToFloat"/>
  2860. <link id="FloatToStr"/>
  2861. <link id="FormatFloat"/>
  2862. <link id="StrToInt"/>
  2863. </seealso>
  2864. <example file="sysutex/ex90"/>
  2865. </element>
  2866. <element name="StrToInt">
  2867. <short>Convert a string to an integer value.</short>
  2868. <descr>
  2869. <p>
  2870. <var>StrToInt</var> will convert the string <var>S</var>to an integer.
  2871. If the string contains invalid characters or has an invalid format,
  2872. then an <var>EConvertError</var> is raised.
  2873. </p>
  2874. <p>
  2875. To be successfully converted, a string can contain a combination
  2876. of <var>numerical</var> characters, possibly preceded by a minus sign (<var>-</var>).
  2877. Spaces are not allowed.
  2878. </p>
  2879. </descr>
  2880. <errors>
  2881. In case of error, an <var>EConvertError</var> is raised.
  2882. </errors>
  2883. <seealso>
  2884. <link id="IntToStr"/>
  2885. <link id="StrToIntDef"/>
  2886. </seealso>
  2887. <example file="sysutex/ex82"/>
  2888. </element>
  2889. <element name="StrToIntDef">
  2890. <short>Convert a string to an integer value, with a default value.</short>
  2891. <descr>
  2892. <p>
  2893. <var>StrToIntDef</var> will convert a string to an integer. If the string contains
  2894. invalid characters or has an invalid format, then <var>Default</var> is returned.
  2895. </p>
  2896. <p>
  2897. To be successfully converted, a string can contain a combination of
  2898. <var>numerical</var> characters, possibly preceded by a minus sign (<var>-</var>).
  2899. Spaces are not allowed.
  2900. </p>
  2901. </descr>
  2902. <errors>
  2903. None.
  2904. </errors>
  2905. <seealso>
  2906. <link id="IntToStr"/>
  2907. <link id="StrToInt"/>
  2908. </seealso>
  2909. <example file="sysutex/ex83"/>
  2910. </element>
  2911. <element name="TextToFloat">
  2912. <short>Convert a buffer to a float value.</short>
  2913. <descr>
  2914. <p>
  2915. <var>TextToFloat</var> converts the string in <var>Buffer</var> to a floating point
  2916. value. <var>Buffer</var> should contain a valid stroing representation of a
  2917. floating point value (either in decimal or scientific notation).
  2918. If the buffer contains a decimal value, then the decimal separator
  2919. character can either be a '.' or the value of the <var>DecimalSeparator</var>
  2920. variable.
  2921. </p>
  2922. <p>
  2923. The function returns <var>True</var> if the conversion was successful.
  2924. </p>
  2925. </descr>
  2926. <errors>
  2927. If there is an invalid character in the buffer, then the function returns
  2928. <var>False</var>
  2929. </errors>
  2930. <seealso>
  2931. <link id="StrToFloat"/>
  2932. <link id="FloatToStr"/>
  2933. <link id="FormatFloat"/>
  2934. </seealso>
  2935. <example file="sysutex/ex91"/>
  2936. </element>
  2937. <element name="Trim">
  2938. <short>Trim whitespace from the ends of a string.</short>
  2939. <descr>
  2940. <p>
  2941. <var>Trim</var> strips blank characters (spaces) at the beginning and end of <var>S</var>
  2942. and returns the resulting string. Only <var>#32</var> characters are stripped.
  2943. </p>
  2944. <p>
  2945. If the string contains only spaces, an empty string is returned.
  2946. </p>
  2947. </descr>
  2948. <errors>
  2949. None.
  2950. </errors>
  2951. <seealso>
  2952. <link id="TrimLeft"/>
  2953. <link id="TrimRight"/>
  2954. </seealso>
  2955. <example file="sysutex/ex84"/>
  2956. </element>
  2957. <element name="TrimLeft">
  2958. <short>Trim whitespace from the beginning of a string.</short>
  2959. <descr>
  2960. <var>TrimLeft</var> strips blank characters (spaces) at the beginning of <var>S</var>
  2961. and returns the resulting string. Only <var>#32</var> characters are stripped.
  2962. If the string contains only spaces, an empty string is returned.
  2963. </descr>
  2964. <errors>
  2965. None.
  2966. </errors>
  2967. <seealso>
  2968. <link id="Trim"/>
  2969. <link id="TrimRight"/>
  2970. </seealso>
  2971. <example file="sysutex/ex85"/>
  2972. </element>
  2973. <element name="TrimRight">
  2974. <short>Trim whitespace from the end of a string.</short>
  2975. <descr>
  2976. <var>Trim</var> strips blank characters (spaces) at the end of <var>S</var>
  2977. and returns the resulting string. Only <var>#32</var> characters are stripped.
  2978. If the string contains only spaces, an empty string is returned.
  2979. </descr>
  2980. <errors>
  2981. None.
  2982. </errors>
  2983. <seealso>
  2984. <link id="Trim"/>
  2985. <link id="TrimLeft"/>
  2986. </seealso>
  2987. <example file="sysutex/ex86"/>
  2988. </element>
  2989. <element name="UpperCase">
  2990. <short>Return an uppercase version of a string.</short>
  2991. <descr>
  2992. <var>UpperCase</var> returns the uppercase equivalent of <var>S</var>. Ansi characters
  2993. are not taken into account, only ASCII codes below 127 are converted. It is
  2994. completely equivalent to the <var>UpCase</var> function of the system unit, and is
  2995. provided for compatiibility only.
  2996. </descr>
  2997. <errors>
  2998. None.
  2999. </errors>
  3000. <seealso>
  3001. <link id="AnsiLowerCase"/>
  3002. <link id="LowerCase"/>
  3003. <link id="AnsiUpperCase"/>
  3004. </seealso>
  3005. <example file="sysutex/ex87"/>
  3006. </element>
  3007. <element name="Unix">
  3008. <short>Unix unit.</short>
  3009. </element>
  3010. <element name="errors">
  3011. <short>Error descriptions.</short>
  3012. </element>
  3013. <element name="sysconst">
  3014. <short>Error and other message strings.</short>
  3015. </element>
  3016. <element name="GetLastOSError">
  3017. <short>Return the last code from the OS.</short>
  3018. <descr>
  3019. <p>
  3020. <var>GetLastOSError</var> returns the error code from the last operating
  3021. system call. It does not reset this code. In general, it should be called
  3022. when an operating system call reported an error condition. In that case,
  3023. <var>GetLastOSError</var> gives extended information about the error.
  3024. </p>
  3025. <p>
  3026. No assumptions should be made about the resetting of the error code by
  3027. subsequent OS calls. This may be platform dependent.
  3028. </p>
  3029. </descr>
  3030. <seealso>
  3031. <link id="RaiseLastOSError"/>
  3032. </seealso>
  3033. </element>
  3034. <!-- procedure Visibility: default -->
  3035. <element name="RaiseLastOSError">
  3036. <short>Raise an exception with the last Operating System error code.</short>
  3037. <descr>
  3038. <var>RaiseLastOSError</var> raises an <link id="EOSError"/> exception with
  3039. the error code returned by <var>GetLastOSError</var>. If the Error code is
  3040. nonzero, then the corresponding error message will be returned. If the error
  3041. code is zero, a standard message will be returned.
  3042. </descr>
  3043. <errors>
  3044. This procedure may not be implemented on all platforms. If it is not, then a
  3045. normal <link id="Exception"/> will be raised.
  3046. </errors>
  3047. <seealso>
  3048. <link id="EOSError"/>
  3049. <link id="GetLastOSError"/>
  3050. <link id="Exception"/>
  3051. </seealso>
  3052. </element>
  3053. <!-- function Visibility: default -->
  3054. <element name="GetEnvironmentVariable">
  3055. <short>Return the value of an environment variable.</short>
  3056. <descr>
  3057. <p>
  3058. <var>GetEnvironmentVariable</var> returns the value of the <var>EnvVar</var>
  3059. environment variable. If the specified variable does not exist or
  3060. <var>EnvVar</var> is empty, an empty string is returned.
  3061. </p>
  3062. </descr>
  3063. <seealso>
  3064. <link id="GetEnvironmentString"/>
  3065. <link id="GetEnvironmentVariableCount"/>
  3066. <example file="sysutex/ex93"/>
  3067. </seealso>
  3068. </element>
  3069. <!-- function Visibility: default -->
  3070. <element name="GetEnvironmentVariableCount">
  3071. <short>Return the number of variables in the environment.</short>
  3072. <descr>
  3073. <p>
  3074. <var>GetEnvironmentVariableCount</var> returns the number of variables in
  3075. the environment. The number is 1 based, but the result may be zero if there
  3076. are no environment variables.
  3077. </p>
  3078. </descr>
  3079. <errors>
  3080. If there is no environment, -1 may be returned.
  3081. </errors>
  3082. <seealso>
  3083. <link id="GetEnvironmentString"/>
  3084. <link id="GetEnvironmentVariable"/>
  3085. </seealso>
  3086. <example file="sysutex/ex92"/>
  3087. </element>
  3088. <element name="GetEnvironmentString">
  3089. <short>Return an environment variable by index.</short>
  3090. <descr>
  3091. <p>
  3092. <var>GetEnvironmentString</var> returns the <var>Index</var>-th environment
  3093. variable. The index is 1 based, and is bounded from above by the result of <link
  3094. id="GetEnvironmentVariableCount"/>.
  3095. </p>
  3096. <p>
  3097. For an example, <link id="GetEnvironmentVariableCount"/>.
  3098. </p>
  3099. </descr>
  3100. <errors>
  3101. If there is no environment, -1 may be returned.
  3102. </errors>
  3103. <seealso>
  3104. <link id="GetEnvironmentVariable"/>
  3105. <link id="GetEnvironmentVariableCount"/>
  3106. </seealso>
  3107. </element>
  3108. <!-- procedure Visibility: default -->
  3109. <element name="Sleep">
  3110. <short>Suspend execution of a program for a certain time.</short>
  3111. <descr>
  3112. <p>
  3113. <var>Sleep</var> suspends the execution of the program for
  3114. the specified number of milliseconds (<var>milliseconds</var>).
  3115. After the specified period has expired, program execution resumes.
  3116. </p>
  3117. <remark>The indicated time is not exact, i.e. it is a minimum time. No
  3118. guarantees are made as to the exact duration of the suspension.
  3119. </remark>
  3120. </descr>
  3121. </element>
  3122. <!-- function Visibility: default -->
  3123. <element name="ExecuteProcess">
  3124. <short>Execute another process (program).</short>
  3125. <descr>
  3126. <var>ExecuteProcess</var> will execute the program in <var>Path</var>,
  3127. passing it the arguments in <var>ComLine</var>. <var>ExecuteProcess</var>
  3128. will then wait for the program to finish, and will return the exit code of
  3129. the executed program. In case <var>ComLine</var> is a single string, it will
  3130. be split out in an array of strings, taking into account common whitespace
  3131. and quote rules.
  3132. </descr>
  3133. <errors>
  3134. In case the program could not be executed or an other error occurs,
  3135. an <link id="EOSError"/> exception will be raised.
  3136. </errors>
  3137. <seealso>
  3138. <link id="EOSError"/>
  3139. </seealso>
  3140. </element>
  3141. <!-- function Visibility: default -->
  3142. <element name="GetAppConfigDir">
  3143. <short>Return the appropriate directory for the application's configuration files.</short>
  3144. <descr>
  3145. <p>
  3146. <var>GetAppConfigDir</var> returns the name of a directory in which the
  3147. application should store its configuration files on the current OS.
  3148. If the parameter <var>Global</var> is <var>True</var> then the directory
  3149. returned is a global
  3150. directory, i.e. valid for all users on the system. If the parameter
  3151. <var>Global</var> is false, then the directory is specific for the user who
  3152. is executing the program. On systems that do not support multi-user
  3153. environments, these two directories may be the same.
  3154. </p>
  3155. <p>
  3156. The directory which is returned is the name of the directory where the application is
  3157. supposed to store files. This does not mean that the directory exists, or
  3158. that the user can write in this directory (especially if
  3159. <var>Global</var>=<var>True</var>). It just returns the name of the
  3160. appropriate location.
  3161. </p>
  3162. <p>
  3163. On systems where the operating system provides a call to determine this
  3164. location, this call will be used. On systems where there is no such call,
  3165. an algorithm is used which reflects common practice on that system.
  3166. </p>
  3167. <p>
  3168. The application name is deduced from the binary name via the <link id="ApplicationName"/>
  3169. call, but can be configured by means of the <link id="OnGetApplicationName"/> callback.
  3170. </p>
  3171. </descr>
  3172. <errors>
  3173. None.
  3174. </errors>
  3175. <seealso>
  3176. <link id="GetAppConfigFile"/>
  3177. <link id="ApplicationName"/>
  3178. <link id="OnGetApplicationName"/>
  3179. <link id="CreateDir"/>
  3180. <link id="SysConfigDir"/>
  3181. </seealso>
  3182. </element>
  3183. <!-- function Visibility: default -->
  3184. <element name="GetAppConfigFile">
  3185. <short>Return an appropriate name for an application configuration file.</short>
  3186. <descr>
  3187. <p>
  3188. <var>GetAppConfigFile</var> returns the name of a file in which the
  3189. application can store its configuration parameters. The <var>Global</var>
  3190. parameter determines whether it is a global configuration file
  3191. (value <var>True</var>) or a personal configuration file (value
  3192. <var>False</var>). The parameter <var>SubDir</var>, in case it is set to
  3193. <var>True</var>, will insert the name of a
  3194. directory before the filename. This can be used in case the application
  3195. needs to store other data than configuration data in an application-specific
  3196. directory. Default behaviour is to set this to <var>False</var>.
  3197. </p>
  3198. <p>
  3199. No assumptions should be made about the existence or writeability of this
  3200. file, or the directory where the file should reside.
  3201. </p>
  3202. <p>
  3203. On systems where the operating system provides a call to determine the
  3204. location of configuration files, this call will be used. On systems
  3205. where there is no such call, an algorithm is used which reflects common
  3206. practice on that system.
  3207. </p>
  3208. <p>
  3209. The application name is deduced from the binary name via the <link id="ApplicationName"/>
  3210. call, but can be configured by means of the <link id="OnGetApplicationName"/> callback.
  3211. </p>
  3212. </descr>
  3213. <errors>
  3214. None.
  3215. </errors>
  3216. <seealso>
  3217. <link id="GetAppConfigDir"/>
  3218. <link id="OnGetApplicationName"/>
  3219. <link id="ApplicationName"/>
  3220. <link id="CreateDir"/>
  3221. <link id="ConfigExtension"/>
  3222. <link id="SysConfigDir"/>
  3223. </seealso>
  3224. </element>
  3225. <!-- function Visibility: default -->
  3226. <element name="ApplicationName">
  3227. <short>Return a default application name</short>
  3228. <descr>
  3229. <var>ApplicationName</var> returns the name of the current application.
  3230. Standard this is equal to the result of <var>ParamStr(0)</var>, but it can
  3231. be customized by setting the <link id="OnGetApplicationName"/> callback.
  3232. </descr>
  3233. <errors>
  3234. None.
  3235. </errors>
  3236. <seealso>
  3237. <link id="GetAppConfigDir"/>
  3238. <link id="OnGetApplicationName"/>
  3239. <link id="GetAppConfigFile"/>
  3240. <link id="ConfigExtension"/>
  3241. </seealso>
  3242. </element>
  3243. <!-- constant Visibility: default -->
  3244. <element name="ConfigExtension">
  3245. <short>Default application configuration file extension.</short>
  3246. <descr>
  3247. <var>ConfigExtension</var> is the default extension used by the
  3248. <link id="GetAppConfigFile"/> call. It can be set to any valid extension for
  3249. the current OS.
  3250. </descr>
  3251. <errors>
  3252. </errors>
  3253. <seealso>
  3254. </seealso>
  3255. </element>
  3256. <!-- constant Visibility: default -->
  3257. <element name="SysConfigDir">
  3258. <short>System configuration directory.</short>
  3259. <descr>
  3260. <p>
  3261. <var>SysConfigDir</var> is the default system configuration directory. It is
  3262. set at application startup by the <file>sysutils</file> initialization
  3263. routines.
  3264. </p>
  3265. <p>
  3266. This directory may be returned by the <link id="GetAppConfigDir"/> call on
  3267. some systems.
  3268. </p>
  3269. </descr>
  3270. <errors>
  3271. </errors>
  3272. <seealso>
  3273. <link id="GetAppConfigDir"/>
  3274. </seealso>
  3275. </element>
  3276. <!-- function type Visibility: default -->
  3277. <element name="TGetAppNameEvent">
  3278. <short>Callback type to get customized application name.</short>
  3279. <descr>
  3280. This callback type is used by the <link id="OnGetApplicationName"/> to
  3281. return an alternative application name.
  3282. </descr>
  3283. <errors>
  3284. </errors>
  3285. <seealso>
  3286. </seealso>
  3287. </element>
  3288. <!-- variable Visibility: default -->
  3289. <element name="OnGetApplicationName">
  3290. <short>Callback to get a customized application name.</short>
  3291. <descr>
  3292. <p>
  3293. By default, the configuration file routines <link id="GetAppConfigDir"/> and
  3294. <link id="GetAppConfigFile"/> use a default application name to construct a
  3295. directory or filename. This callback can be used to provide an alternative
  3296. application name.
  3297. </p>
  3298. <p>
  3299. Since the result of this callback will be used to construct a filename, care
  3300. should be taken that the returned name does not contain directory separator
  3301. characters or characters that cannot appear in a filename.
  3302. </p>
  3303. </descr>
  3304. <errors>
  3305. </errors>
  3306. <seealso>
  3307. <link id="TGetAppNameEvent"/>
  3308. <link id="ApplicationName"/>
  3309. <link id="GetAppConfigDir"/>
  3310. <link id="GetAppConfigFile"/>
  3311. </seealso>
  3312. </element>
  3313. <!-- pointer type Visibility: default -->
  3314. <element name="PDayTable">
  3315. <short>Pointer to TDayTable type.</short>
  3316. </element>
  3317. <!-- array type Visibility: default -->
  3318. <element name="TDayTable">
  3319. <short>Array of day names.</short>
  3320. </element>
  3321. <!-- constant Visibility: default -->
  3322. <element name="HoursPerDay">
  3323. <short>Number of hours in a day.</short>
  3324. </element>
  3325. <!-- constant Visibility: default -->
  3326. <element name="MinsPerHour">
  3327. <short>Number of minutes per hour.</short>
  3328. </element>
  3329. <!-- constant Visibility: default -->
  3330. <element name="SecsPerMin">
  3331. <short>Number of seconds per minute</short>
  3332. </element>
  3333. <!-- constant Visibility: default -->
  3334. <element name="MSecsPerSec">
  3335. <short>Number of milliseconds per second</short>
  3336. </element>
  3337. <!-- constant Visibility: default -->
  3338. <element name="MinsPerDay">
  3339. <short>Number of minutes per day.</short>
  3340. </element>
  3341. <!-- constant Visibility: default -->
  3342. <element name="SecsPerDay">
  3343. <short>Number of seconds per day</short>
  3344. </element>
  3345. <!-- constant Visibility: default -->
  3346. <element name="MSecsPerDay">
  3347. <short>Number of milliseconds per day</short>
  3348. </element>
  3349. <!-- constant Visibility: default -->
  3350. <element name="DateDelta">
  3351. <short>Days between 1/1/0001 and 12/31/1899</short>
  3352. </element>
  3353. <!-- constant Visibility: default -->
  3354. <element name="UnixDateDelta">
  3355. <short>Number of days between 1.1.1900 and 1.1.1970</short>
  3356. </element>
  3357. <!-- constant Visibility: default -->
  3358. <element name="MonthDays">
  3359. <short>Array with number of days in the months for leap and non-leap years.</short>
  3360. </element>
  3361. <!-- constant Visibility: default -->
  3362. <element name="TwoDigitYearCenturyWindow">
  3363. <short>Window to determine what century 2 digit years are in.</short>
  3364. </element>
  3365. <!-- record type Visibility: default -->
  3366. <element name="TSystemTime">
  3367. <short>System time structure</short>
  3368. <descr>The System time structure contains the date/time in a
  3369. human-understandable format.
  3370. </descr>
  3371. </element>
  3372. <!-- variable Visibility: default -->
  3373. <element name="TSystemTime.Year">
  3374. <short>Year part</short>
  3375. </element>
  3376. <!-- variable Visibility: default -->
  3377. <element name="TSystemTime.Month">
  3378. <short>Month part</short>
  3379. </element>
  3380. <!-- variable Visibility: default -->
  3381. <element name="TSystemTime.Day">
  3382. <short>Day of month part</short>
  3383. </element>
  3384. <!-- variable Visibility: default -->
  3385. <element name="TSystemTime.Hour">
  3386. <short>Hour of the day</short>
  3387. </element>
  3388. <!-- variable Visibility: default -->
  3389. <element name="TSystemTime.Minute">
  3390. <short>Minute of the hour</short>
  3391. </element>
  3392. <!-- variable Visibility: default -->
  3393. <element name="TSystemTime.Second">
  3394. <short>Second of the minute</short>
  3395. </element>
  3396. <!-- variable Visibility: default -->
  3397. <element name="TSystemTime.MilliSecond">
  3398. <short>Milliseconds in the second</short>
  3399. </element>
  3400. <!-- record type Visibility: default -->
  3401. <element name="TTimeStamp">
  3402. <short>TimeStamp structure</short>
  3403. <descr>
  3404. <var>TTimeStamp</var> contains a timestamp, with the date and time parts
  3405. specified as separate <var>TDateTime</var> values.
  3406. </descr>
  3407. </element>
  3408. <!-- variable Visibility: default -->
  3409. <element name="TTimeStamp.Time">
  3410. <short>Time part</short>
  3411. </element>
  3412. <!-- variable Visibility: default -->
  3413. <element name="TTimeStamp.Date">
  3414. <short>Date part</short>
  3415. </element>
  3416. <!-- function Visibility: default -->
  3417. <element name="TryEncodeDate">
  3418. <short>Try to encode a date, and indicate success.</short>
  3419. <descr>
  3420. <var>TryEncodeDate</var> will check the validity of the <var>Year</var>,
  3421. <var>Month</var> and <var>Day</var> arguments, and if they are all valid,
  3422. then they will be encoded as a <var>TDateTime</var> value and returned in
  3423. <var>D</var>. The function will return <var>True</var> in this case. If an
  3424. inbvalid argument is passed, then <var>False</var> will be returned.
  3425. </descr>
  3426. <errors>
  3427. None. If an error occurs during the encoding, <var>False</var> is returned.
  3428. </errors>
  3429. <seealso>
  3430. <link id="EncodeDate"/>
  3431. <link id="DecodeDateFully"/>
  3432. <link id="DecodeDate"/>
  3433. <link id="TryEncodeTime"/>
  3434. </seealso>
  3435. </element>
  3436. <!-- function Visibility: default -->
  3437. <element name="TryEncodeTime">
  3438. <short>Try to encode a time, and indicate success.</short>
  3439. <descr>
  3440. <var>TryEncodeTime</var> will check the validity of the <var>Hour</var>,
  3441. <var>Min</var>, <var>Sec</var> and <var>MSec</var> arguments, and will
  3442. encode them in a <var>TDateTime</var> value which is returned in
  3443. <var>T</var>. If the arguments are valid, then <var>True</var> is returned,
  3444. otherwise <var>False</var> is returned.
  3445. </descr>
  3446. <errors>
  3447. None. If an error occurs during the encoding, <var>False</var> is returned.
  3448. </errors>
  3449. <seealso>
  3450. <link id="EncodeTime"/>
  3451. <link id="DecodeTime"/>
  3452. <link id="TryEncodeDate"/>
  3453. </seealso>
  3454. </element>
  3455. <!-- function Visibility: default -->
  3456. <element name="DecodeDateFully">
  3457. <short>Decode a date with additional date of the week.</short>
  3458. <descr>
  3459. <var>DecodeDateFully</var>, like <link id="DecodeDate"/>, decodes
  3460. <var>DateTime</var> in its parts and returns these in <var>Year</var>,
  3461. <var>Month</var>, <var>Day</var> but in addition returns the day of
  3462. the week in <var>DOW</var>.
  3463. </descr>
  3464. <errors>
  3465. None.
  3466. </errors>
  3467. <seealso>
  3468. <link id="EncodeDate"/>
  3469. <link id="TryEncodeDate"/>
  3470. <link id="DecodeDate"/>
  3471. </seealso>
  3472. </element>
  3473. <!-- procedure Visibility: default -->
  3474. <element name="GetLocalTime">
  3475. <short>Get the local time.</short>
  3476. <descr>
  3477. <var>GetLocalTime</var> returns the system time in a <link id="TSystemTime"/>
  3478. format.
  3479. </descr>
  3480. <errors>
  3481. None.
  3482. </errors>
  3483. <seealso>
  3484. <link id="Now"/>
  3485. <link id="Date"/>
  3486. <link id="Time"/>
  3487. <link id="TSystemTime"/>
  3488. </seealso>
  3489. </element>
  3490. <!-- pointer type Visibility: default -->
  3491. <element name="PString">
  3492. <short>Pointer to a ansistring</short>
  3493. </element>
  3494. <!-- enumeration type Visibility: default -->
  3495. <element name="TFloatFormat">
  3496. <short>Formats for the FloatToText function.</short>
  3497. <descr>
  3498. <var>TFloatFormat</var> is used to determine how a float value should be
  3499. formatted in the <link id="FloatToText"/> function.
  3500. </descr>
  3501. <seealso>
  3502. <link id="FloatToText"/>
  3503. <link id="FloatToStrF"/>
  3504. </seealso>
  3505. </element>
  3506. <!-- enumeration value Visibility: default -->
  3507. <element name="TFloatFormat.ffGeneral">
  3508. <short>General number format.</short>
  3509. </element>
  3510. <!-- enumeration value Visibility: default -->
  3511. <element name="TFloatFormat.ffExponent">
  3512. <short>Scientific format.</short>
  3513. </element>
  3514. <!-- enumeration value Visibility: default -->
  3515. <element name="TFloatFormat.ffFixed">
  3516. <short>Fixed point format.</short>
  3517. </element>
  3518. <!-- enumeration value Visibility: default -->
  3519. <element name="TFloatFormat.ffNumber">
  3520. <short>Fixed point format with thousand separatord</short>
  3521. </element>
  3522. <!-- enumeration value Visibility: default -->
  3523. <element name="TFloatFormat.ffCurrency">
  3524. <short>Monetary format.</short>
  3525. </element>
  3526. <!-- enumeration type Visibility: default -->
  3527. <element name="TFloatValue">
  3528. <short>Type of float to return in the buffer for TextToFloat.</short>
  3529. <descr>
  3530. <var>TFloatValue</var> determines which kind of value should be returned in
  3531. the (untyped) buffer used by the <link id="TextToFloat"/> function.
  3532. </descr>
  3533. <seealso>
  3534. <link id="TextToFloat"/>
  3535. </seealso>
  3536. </element>
  3537. <!-- enumeration value Visibility: default -->
  3538. <element name="TFloatValue.fvExtended">
  3539. <short>Extended value</short>
  3540. </element>
  3541. <!-- enumeration value Visibility: default -->
  3542. <element name="TFloatValue.fvCurrency">
  3543. <short>Currency value</short>
  3544. </element>
  3545. <!-- enumeration value Visibility: default -->
  3546. <element name="TFloatValue.fvSingle">
  3547. <short>Single value</short>
  3548. </element>
  3549. <!-- enumeration value Visibility: default -->
  3550. <element name="TFloatValue.fvReal">
  3551. <short>Real value</short>
  3552. </element>
  3553. <!-- enumeration value Visibility: default -->
  3554. <element name="TFloatValue.fvDouble">
  3555. <short>Double value</short>
  3556. </element>
  3557. <!-- enumeration value Visibility: default -->
  3558. <element name="TFloatValue.fvComp">
  3559. <short>Comp value</short>
  3560. </element>
  3561. <!-- set type Visibility: default -->
  3562. <element name="TReplaceFlags">
  3563. <short>Flags for StringReplace function</short>
  3564. <descr>
  3565. <var>TReplaceFlags</var> determines the behaviour of the
  3566. <link id="StringReplace"/> function.
  3567. </descr>
  3568. <seealso>
  3569. <link id="StringReplace"/>.
  3570. </seealso>
  3571. </element>
  3572. <!-- enumeration value Visibility: default -->
  3573. <element name="TReplaceFlags.rfReplaceAll">
  3574. <short>Replace all occurrences of the search string with the replacement string.</short>
  3575. </element>
  3576. <!-- enumeration value Visibility: default -->
  3577. <element name="TReplaceFlags.rfIgnoreCase">
  3578. <short>Search case insensitive.</short>
  3579. </element>
  3580. <!-- record type Visibility: default -->
  3581. <element name="TFloatRec">
  3582. <short>Record descriing a float value</short>
  3583. <descr>
  3584. <var>TFloatRec</var> is used to descibe a floating point value by the
  3585. <link id="FloatToDecimal"/> function.
  3586. </descr>
  3587. <seealso>
  3588. <link id="FloatToDecimal"/>
  3589. </seealso>
  3590. </element>
  3591. <!-- variable Visibility: default -->
  3592. <element name="TFloatRec.Exponent">
  3593. <short>Exponent part</short>
  3594. </element>
  3595. <!-- variable Visibility: default -->
  3596. <element name="TFloatRec.Negative">
  3597. <short>Sign part</short>
  3598. </element>
  3599. <!-- variable Visibility: default -->
  3600. <element name="TFloatRec.Digits">
  3601. <short>Digits of fraction</short>
  3602. </element>
  3603. <!-- constant Visibility: default -->
  3604. <element name="MinDateTime">
  3605. <short>Minimum <var>TDateTime</var> value.</short>
  3606. </element>
  3607. <!-- constant Visibility: default -->
  3608. <element name="MaxDateTime">
  3609. <short>Maximum <var>TDateTime</var> value.</short>
  3610. </element>
  3611. <!-- constant Visibility: default -->
  3612. <element name="MinCurrency">
  3613. <short>Minimum Currency value</short>
  3614. </element>
  3615. <!-- constant Visibility: default -->
  3616. <element name="MaxCurrency">
  3617. <short>Maximum currency value</short>
  3618. </element>
  3619. <!-- enumeration type Visibility: default -->
  3620. <element name="TTextLineBreakStyle">
  3621. <short>Line break style</short>
  3622. <descr>
  3623. <var>TTextLineBreakStyle</var> describes the style of linebreaks to be used
  3624. in the <link id="AdjustLineBreaks"/> function.
  3625. </descr>
  3626. <seealso>
  3627. <link id="AdjustLineBreaks"/>
  3628. </seealso>
  3629. </element>
  3630. <!-- enumeration value Visibility: default -->
  3631. <element name="TTextLineBreakStyle.tlbsLF">
  3632. <short>Linefeed only</short>
  3633. </element>
  3634. <element name="TTextLineBreakStyle.tlbsCR">
  3635. <short>Carriage-return only</short>
  3636. </element>
  3637. <!-- enumeration value Visibility: default -->
  3638. <element name="TTextLineBreakStyle.tlbsCRLF">
  3639. <short>Carriage-return and linefeed characters</short>
  3640. </element>
  3641. <!-- constant Visibility: default -->
  3642. <element name="DefaultTextLineBreakStyle">
  3643. <short>Default line break style for the current platform.</short>
  3644. </element>
  3645. <!-- constant Visibility: default -->
  3646. <element name="LeadBytes">
  3647. <short>Lead bytes in Multi-Byte character sets</short>
  3648. <descr>
  3649. <var>LeadBytes</var> contains the set of bytes that serve as lead byte in a
  3650. MBCS string.
  3651. </descr>
  3652. </element>
  3653. <!-- constant Visibility: default -->
  3654. <element name="EmptyStr">
  3655. <short>Empty String Constant</short>
  3656. </element>
  3657. <!-- constant Visibility: default -->
  3658. <element name="NullStr">
  3659. <short>Pointer to an empty string</short>
  3660. </element>
  3661. <!-- constant Visibility: default -->
  3662. <element name="EmptyWideStr">
  3663. <short>Empty wide string.</short>
  3664. </element>
  3665. <!-- function Visibility: default -->
  3666. <element name="CompareMemRange">
  3667. <short>Compare 2 memory locations</short>
  3668. <descr>
  3669. <p>
  3670. <var>CompareMemRange</var> compares the 2 memory locations pointed to by
  3671. <var>P1</var> and <var>P2</var> byte per byte. It stops comparing after
  3672. <var>Length</var> bytes have been compared, or when it has encountered 2
  3673. different bytes. The result is then
  3674. </p>
  3675. <dl>
  3676. <dt>&gt;0</dt><dd> if a byte in range <var>P1</var> was found that is bigger than the
  3677. corresponding byte in range <var>P2</var>.</dd>
  3678. <dt>0</dt><dd> if all bytes in range <var>P1</var> are the same as the corresponding
  3679. bytes in range <var>P2</var>.</dd>
  3680. <dt>&lt;0</dt><dd> if a byte in range <var>P1</var> was found that is less than the
  3681. corresponding byte in range <var>P2</var>.</dd>
  3682. </dl>
  3683. </descr>
  3684. <errors>
  3685. None.
  3686. </errors>
  3687. <seealso>
  3688. <link id="SameText"/>
  3689. </seealso>
  3690. </element>
  3691. <!-- function Visibility: default -->
  3692. <element name="SameText">
  3693. <short>Checks whether 2 strings are the same (case insensitive)</short>
  3694. <descr>
  3695. <var>SameText</var> calls <link id="CompareText"/> with <var>S1</var> and
  3696. <var>S2</var> as parameters and returns <var>True</var> if the result of
  3697. that call is zero, or <var>False</var> otherwise.
  3698. </descr>
  3699. <errors>
  3700. None.
  3701. </errors>
  3702. <seealso>
  3703. <link id="CompareText"/>
  3704. <link id="AnsiSameText"/>
  3705. <link id="AnsiSameStr"/>
  3706. </seealso>
  3707. </element>
  3708. <!-- function Visibility: default -->
  3709. <element name="AnsiSameText">
  3710. <short>Checks whether 2 strings are the same (case insensitive)</short>
  3711. <descr>
  3712. <var>SameText</var> calls <link id="AnsiCompareText"/> with <var>S1</var> and
  3713. <var>S2</var> as parameters and returns <var>True</var> if the result of
  3714. that call is zero, or <var>False</var> otherwise.
  3715. </descr>
  3716. <errors>
  3717. </errors>
  3718. <seealso>
  3719. <link id="AnsiCompareText"/>
  3720. <link id="SameText"/>
  3721. <link id="AnsiSameStr"/>
  3722. </seealso>
  3723. </element>
  3724. <!-- function Visibility: default -->
  3725. <element name="AnsiSameStr">
  3726. <short>Checks whether 2 strings are the same (case sensitive)</short>
  3727. <descr>
  3728. <var>SameText</var> calls <link id="AnsiCompareStr"/> with <var>S1</var> and
  3729. <var>S2</var> as parameters and returns <var>True</var> if the result of
  3730. that call is zero, or <var>False</var> otherwise.
  3731. </descr>
  3732. <errors>
  3733. None.
  3734. </errors>
  3735. <seealso>
  3736. <link id="AnsiCompareStr"/>
  3737. <link id="SameText"/>
  3738. <link id="AnsiSameText"/>
  3739. </seealso>
  3740. </element>
  3741. <!-- function Visibility: default -->
  3742. <element name="AnsiStrLComp">
  3743. <short>Compare a limited number of characters of 2 strings</short>
  3744. <descr>
  3745. <var>AnsiStrLComp</var> functions the same as <link id="AnsiStrComp"/>, but
  3746. compares at most <var>MaxLen</var> characters, if this is less than one of
  3747. the lengths of the passed strings. If the first <var>MaxLen</var> characters
  3748. in both strings are the same, then zero is returned.
  3749. </descr>
  3750. <errors>
  3751. None.
  3752. </errors>
  3753. <seealso>
  3754. <link id="AnsiStrComp"/>
  3755. <link id="AnsiStrIComp"/>
  3756. <link id="AnsiStrLIComp"/>
  3757. </seealso>
  3758. </element>
  3759. <!-- function Visibility: default -->
  3760. <element name="TryStrToInt">
  3761. <short>Try to convert a string to an integer, and report on success.</short>
  3762. <descr>
  3763. <var>TryStrToInt</var> tries to convert the string <var>S</var> to an
  3764. integer, and returns <var>True</var> if this was succesful. In that case the
  3765. converted integer is returned in <var>I</var>. If the conversion failed,
  3766. (an invalid string, or the value is out of range) then <var>False</var> is returned.
  3767. </descr>
  3768. <errors>
  3769. None. On error, <var>False</var> is returned.
  3770. </errors>
  3771. <seealso>
  3772. <link id="StrToInt"/>
  3773. <link id="TryStrToInt64"/>
  3774. <link id="StrToIntDef"/>
  3775. <link id="StrToInt64"/>
  3776. <link id="StrToInt64Def"/>
  3777. </seealso>
  3778. </element>
  3779. <!-- function Visibility: default -->
  3780. <element name="StrToInt64">
  3781. <short>Convert a string to an Int64 value.</short>
  3782. <descr>
  3783. <p>
  3784. <var>StrToInt64</var> converts the string <var>S</var> to a Int64 value, and
  3785. returns this value. The string can only contain numerical characters, and
  3786. optionally a minus sign as the first character. Whitespace is not allowed.
  3787. </p>
  3788. <p>
  3789. Hexadecimal values (starting with the $ character) are supported.
  3790. </p>
  3791. </descr>
  3792. <errors>
  3793. On error, a <link id="EConvertError"/> exception is raised.
  3794. </errors>
  3795. <seealso>
  3796. <link id="TryStrToInt64"/>
  3797. <link id="StrToInt64Def"/>
  3798. <link id="StrToInt"/>
  3799. <link id="TryStrToInt"/>
  3800. <link id="StrToIntDef"/>
  3801. </seealso>
  3802. </element>
  3803. <!-- function Visibility: default -->
  3804. <element name="TryStrToInt64">
  3805. <short>Try to convert a string to an int64 value, and report on success.</short>
  3806. <descr>
  3807. <p>
  3808. <var>TryStrToInt64</var> tries to convert the string <var>S</var> to a Int64 value, and
  3809. returns this value in <var>I</var> if successful. If the conversion was
  3810. succesful, the function result is <var>True</var>, or <var>False</var>
  3811. otherwise.
  3812. The string can only contain numerical characters, and
  3813. optionally a minus sign as the first character. Whitespace is not allowed.
  3814. </p>
  3815. <p>
  3816. Hexadecimal values (starting with the $ character) are supported.
  3817. </p>
  3818. </descr>
  3819. <errors>
  3820. None. On error, <var>False</var> is returned.
  3821. </errors>
  3822. <seealso>
  3823. <link id="StrToInt64"/>
  3824. <link id="StrToInt64Def"/>
  3825. <link id="StrToInt"/>
  3826. <link id="TryStrToInt"/>
  3827. <link id="StrToIntDef"/>
  3828. </seealso>
  3829. </element>
  3830. <!-- function Visibility: default -->
  3831. <element name="StrToInt64Def">
  3832. <short>Convert a string to an Int64 value, with a default value</short>
  3833. <descr>
  3834. <var>StrToInt64Def</var> tries to convert the string <var>S</var> to a Int64
  3835. value, and returns this value. If the conversion fails for some reason, the
  3836. value <var>Default</var> is returned instead.
  3837. </descr>
  3838. <errors>
  3839. None. On error, the <var>Default</var> value is returned.
  3840. </errors>
  3841. <seealso>
  3842. <link id="StrToInt64"/>
  3843. <link id="TryStrToInt64"/>
  3844. <link id="StrToInt"/>
  3845. <link id="TryStrToInt"/>
  3846. <link id="StrToIntDef"/>
  3847. </seealso>
  3848. </element>
  3849. <!-- function Visibility: default -->
  3850. <element name="StrToFloatDef">
  3851. <short>Convert a string to a float, with a default value.</short>
  3852. <descr>
  3853. <var>StrToFloatDef</var> tries to convert the string <var>S</var> to a
  3854. floating point value, and returns this value. If the conversion fails for
  3855. some reason, the value <var>Default</var> is returned instead.
  3856. </descr>
  3857. <errors>
  3858. None. On error, the <var>Default</var> value is returned.
  3859. </errors>
  3860. <seealso>
  3861. </seealso>
  3862. </element>
  3863. <!-- function Visibility: default -->
  3864. <element name="FloatToDateTime">
  3865. <short>Convert a float to a <var>TDateTime</var> value.</short>
  3866. <descr>
  3867. <var>FloatToDateTime</var> converts the <var>Value</var> floating point
  3868. value to a <var>TDateTime</var> value. It checks whether <var>Value</var> is
  3869. in the valid range of dates (determined by <link id="MinDateTime"/> and
  3870. <link id="MaxDateTime"/>). If not, an <link id="EConvertError"/> exception
  3871. is raised.
  3872. </descr>
  3873. <errors>
  3874. If <var>Value</var> is out of range, an <link id="EConvertError"/> exception
  3875. is raised.
  3876. </errors>
  3877. <seealso>
  3878. <link id="EConvertError"/>
  3879. <link id="MinDateTime"/>
  3880. <link id="MaxDateTime"/>
  3881. </seealso>
  3882. </element>
  3883. <!-- function Visibility: default -->
  3884. <element name="FloattoCurr">
  3885. <short>Convert a float to a Currency value.</short>
  3886. <descr>
  3887. <var>FloatToCurr</var> converts the <var>Value</var> floating point
  3888. value to a <var>Currency</var> value. It checks whether <var>Value</var> is
  3889. in the valid range of currencies (determined by <link id="MinCurrency"/> and
  3890. <link id="MaxCurrency"/>). If not, an <link id="EConvertError"/> exception
  3891. is raised.
  3892. </descr>
  3893. <errors>
  3894. If <var>Value</var> is out of range, an <link id="EConvertError"/> exception
  3895. is raised.
  3896. </errors>
  3897. <seealso>
  3898. <link id="EConvertError"/>
  3899. <link id="TryFloatToCurr"/>
  3900. <link id="MinCurrency"/>
  3901. <link id="MaxCurrency"/>
  3902. </seealso>
  3903. </element>
  3904. <!-- function Visibility: default -->
  3905. <element name="TryFloatToCurr">
  3906. <short>Try to convert a float value to a currency value and report on success.</short>
  3907. <descr>
  3908. <var>TryFloatToCurr</var> tries convert the <var>Value</var> floating point
  3909. value to a <var>Currency</var> value. If successful, the function returns
  3910. <var>True</var> and the resulting currency value is returned in
  3911. <var>AResult</var>. It checks whether <var>Value</var> is
  3912. in the valid range of currencies (determined by <link id="MinCurrency"/> and
  3913. <link id="MaxCurrency"/>). If not, <var>False</var> is returned.
  3914. </descr>
  3915. <errors>
  3916. If <var>Value</var> is out of range, <var>False</var> is returned.
  3917. </errors>
  3918. <seealso>
  3919. <link id="FloatToCurr"/>
  3920. <link id="MinCurrency"/>
  3921. <link id="MaxCurrency"/>
  3922. </seealso>
  3923. </element>
  3924. <!-- function Visibility: default -->
  3925. <element name="CurrToStr">
  3926. <short>Convert a currency value to a string.</short>
  3927. <descr>
  3928. <p>
  3929. <var>CurrToStr</var> will convert a currency value to a string with a
  3930. maximum of 15 digits, and precision 2. Calling <var>CurrToStr</var>
  3931. is equivalent to calling <link id="FloatToStrF"/>:
  3932. </p>
  3933. <code>
  3934. FloatToStrF(Value,ffNumber,15,2);
  3935. </code>
  3936. </descr>
  3937. <errors>
  3938. None.
  3939. </errors>
  3940. <seealso>
  3941. <link id="FloatToStrF"/>
  3942. <link id="StrToCurr"/>
  3943. </seealso>
  3944. </element>
  3945. <!-- function Visibility: default -->
  3946. <element name="StrToCurr">
  3947. <short>Convert a string to a currency value</short>
  3948. <descr>
  3949. <var>StrToCurr</var> converts a string to a currency value and returns the
  3950. value. The string
  3951. should contain a valid currency amount, without currency symbol. If the
  3952. conversion fails, an <link id="EConvertError"/> exception is raised.
  3953. </descr>
  3954. <errors>
  3955. On error, an <link id="EConvertError"/> exception is raised.
  3956. </errors>
  3957. <seealso>
  3958. <link id="CurrToStr"/>
  3959. <link id="StrToCurrDef"/>
  3960. </seealso>
  3961. </element>
  3962. <!-- function Visibility: default -->
  3963. <element name="StrToCurrDef">
  3964. <short>Convert a string to a currency value, using a default value</short>
  3965. <descr>
  3966. <var>StrToCurrDef</var> converts a string to a currency value and returns the
  3967. value. The string should contain a valid currency amount, without currency
  3968. symbol. If the conversion fails, the fallback <var>Default</var> value is returned.
  3969. </descr>
  3970. <errors>
  3971. On error, the <var>Default</var> value is returned.
  3972. </errors>
  3973. <seealso>
  3974. <link id="CurrToStr"/>
  3975. <link id="StrToCurr"/>
  3976. </seealso>
  3977. </element>
  3978. <!-- function Visibility: default -->
  3979. <element name="StrToBool">
  3980. <short>Convert a string to a boolean value</short>
  3981. <descr>
  3982. <var>StrToBool</var> will convert the string <var>S</var> to a boolean
  3983. value. The string <var>S</var> can contain one of <var>'True'</var>,
  3984. <var>'False'</var> (case is ignored) or a numerical value. If it contains a
  3985. numerical value, 0 is converted to <var>False</var>, all other values result
  3986. in <var>True</var>. If the string <var>S</var> contains no valid boolean,
  3987. then an <link id="EConvertError"/> exception is raised.
  3988. </descr>
  3989. <errors>
  3990. On error, an <link id="EConvertError"/> exception is raised.
  3991. </errors>
  3992. <seealso>
  3993. <link id="BoolToStr"/>
  3994. </seealso>
  3995. </element>
  3996. <!-- function Visibility: default -->
  3997. <element name="BoolToStr">
  3998. <short>Convert a boolean value to a string.</short>
  3999. <descr>
  4000. <var>BoolToStr</var> converts the boolean <var>B</var> to one of
  4001. the strings <var>'TRUE'</var> or <var>'FALSE'</var>
  4002. </descr>
  4003. <errors>
  4004. None.
  4005. </errors>
  4006. <seealso>
  4007. <link id="StrToBool"/>
  4008. </seealso>
  4009. </element>
  4010. <!-- function Visibility: default -->
  4011. <element name="StringReplace">
  4012. <short>Replace occurrences of one substring with another in a string.</short>
  4013. <descr>
  4014. <var>StringReplace</var> searches the string <var>S</var> for
  4015. occurrences of the string <var>OldPattern</var> and, if it is found,
  4016. replaces it with <var>NewPattern</var>. It returns the resulting string. The
  4017. behaviour of <var>StringReplace</var> can be runed with <var>Flags</var>,
  4018. which is of type <link id="TReplaceFlags"/>. Standard behaviour is to
  4019. replace only the first occurrence of <var>OldPattern</var>, and to search
  4020. case sensitively.
  4021. </descr>
  4022. <errors>
  4023. None.
  4024. </errors>
  4025. <seealso>
  4026. <link id="TReplaceFlags"/>
  4027. </seealso>
  4028. </element>
  4029. <!-- function Visibility: default -->
  4030. <element name="FloatToTextFmt">
  4031. <short>Convert a float value to a string using a given mask.</short>
  4032. <descr>
  4033. <p>
  4034. <var>FloatToTextFmt</var> returns a textual representation of
  4035. <var>Value</var> in the memory location pointed to by <var>Buffer</var>. it
  4036. uses the formatting specification in <var>Format</var> to do this. The
  4037. return value is the number of characters that were written in the buffer.
  4038. </p>
  4039. <p>
  4040. For a list of valid formatting characters, see <link id="FormatFloat"/>
  4041. </p>
  4042. </descr>
  4043. <errors>
  4044. No length checking is performed on the buffer. The buffer should point to
  4045. enough memory to hold the complete string. If this is not the case, an
  4046. access violation may occur.
  4047. </errors>
  4048. <seealso>
  4049. <link id="FormatFloat"/>
  4050. </seealso>
  4051. </element>
  4052. <!-- procedure Visibility: default -->
  4053. <element name="FloatToDecimal">
  4054. <short>Convert a float value to a <var>TFloatRec</var> value.</short>
  4055. <descr>
  4056. <var>FloatToDecimal</var> converts the float <var>Value</var> to a
  4057. float description in the <var>Result</var> <link id="TFloatRec"/> format.
  4058. It will store <var>Precision</var> digits in the <var>Digits</var> field, of
  4059. which at most <var>Decimal</var> decimals.
  4060. </descr>
  4061. <errors>
  4062. None.
  4063. </errors>
  4064. <seealso>
  4065. <link id="TFloatRec"/>
  4066. </seealso>
  4067. </element>
  4068. <!-- function Visibility: default -->
  4069. <element name="IsDelimiter">
  4070. <short>Check whether a given string is a delimiter character.</short>
  4071. <descr>
  4072. <var>IsDelimiter</var> checks whether the <var>Index</var>-th character in the
  4073. string <var>S</var> is a delimiter character as passed in
  4074. <var>Delimiters</var>. If <var>Index</var> is out of range, <var>False</var>
  4075. is returned.
  4076. </descr>
  4077. <errors>
  4078. None.
  4079. </errors>
  4080. <seealso>
  4081. <link id="LastDelimiter"/>
  4082. </seealso>
  4083. </element>
  4084. <!-- enumeration type Visibility: default -->
  4085. <element name="TMbcsByteType">
  4086. <short>Type of multi-byte character set.</short>
  4087. <descr>
  4088. </descr>
  4089. <errors>
  4090. </errors>
  4091. <seealso>
  4092. </seealso>
  4093. </element>
  4094. <!-- enumeration value Visibility: default -->
  4095. <element name="TMbcsByteType.mbSingleByte">
  4096. <short>Single bytes</short>
  4097. </element>
  4098. <!-- enumeration value Visibility: default -->
  4099. <element name="TMbcsByteType.mbLeadByte">
  4100. <short>Uses lead-byte</short>
  4101. </element>
  4102. <!-- enumeration value Visibility: default -->
  4103. <element name="TMbcsByteType.mbTrailByte">
  4104. <short>Uses trailing byte</short>
  4105. </element>
  4106. <!-- function Visibility: default -->
  4107. <element name="ByteType">
  4108. <short>Return the type of byte in an ansistring for a multi-byte character set</short>
  4109. <descr>
  4110. <var>ByteType</var> returns the type of byte in the ansistring <var>S</var>
  4111. at (1-based) position <var>Index</var>.
  4112. </descr>
  4113. <errors>
  4114. No checking on the index is performed.
  4115. </errors>
  4116. <seealso>
  4117. <link id="TMbcsByteType"/>
  4118. <link id="StrByteType"/>
  4119. </seealso>
  4120. </element>
  4121. <!-- function Visibility: default -->
  4122. <element name="StrByteType">
  4123. <short>Return the type of byte in a null-terminated string for a multi-byte character set</short>
  4124. <descr>
  4125. <var>StrByteType</var> returns the type of byte in the null-terminated
  4126. string <var>Str</var> at (0-based) position <var>Index</var>.
  4127. </descr>
  4128. <errors>
  4129. No checking on the index is performed.
  4130. </errors>
  4131. <seealso>
  4132. <link id="TMbcsByteType"/>
  4133. <link id="ByteType"/>
  4134. </seealso>
  4135. </element>
  4136. <!-- function Visibility: default -->
  4137. <element name="ByteToCharLen">
  4138. <short>Convert a length in bytes to a length in characters.</short>
  4139. <descr>
  4140. <var>ByteToCharLen</var> returns the number of bytes in <var>S</var>, but
  4141. limits the result to <var>MaxLen</var>
  4142. </descr>
  4143. <errors>
  4144. This function does not take into account MBCS yet.
  4145. </errors>
  4146. <seealso>
  4147. <link id="CharToByteLen"/>
  4148. <link id="ByteToCharIndex"/>
  4149. </seealso>
  4150. </element>
  4151. <!-- function Visibility: default -->
  4152. <element name="CharToByteLen">
  4153. <short>Convert a length in characters to a length in bytes.</short>
  4154. <descr>
  4155. <var>CharToByteLen</var> returns the number of bytes in <var>S</var>, but
  4156. limits the result to <var>MaxLen</var>
  4157. </descr>
  4158. <errors>
  4159. This function does not take into account MBCS yet.
  4160. </errors>
  4161. <seealso>
  4162. <link id="ByteToCharLen"/>
  4163. <link id="ByteToCharIndex"/>
  4164. </seealso>
  4165. </element>
  4166. <!-- function Visibility: default -->
  4167. <element name="ByteToCharIndex">
  4168. <short>Convert a character index in Bytes to an Index in characters</short>
  4169. <descr>
  4170. <var>ByteToCharIndex</var> returns the index (in characters) of the
  4171. <var>Index</var>-th byte in <var>S</var>.
  4172. </descr>
  4173. <errors>
  4174. This function does not take into account MBCS yet.
  4175. </errors>
  4176. <seealso>
  4177. <link id="CharToByteLen"/>
  4178. <link id="ByteToCharLen"/>
  4179. </seealso>
  4180. </element>
  4181. <!-- constant Visibility: default -->
  4182. <element name="SwitchChars">
  4183. <short>Characters which start a command-line switch</short>
  4184. <descr>
  4185. The characters in this set will be used by the <link id="FindCmdLineSwitch"/>
  4186. function to determine whether a command-line
  4187. argument is a switch (an option) or a value. If the first character of an
  4188. argument is in <var>SwitchChars</var>, it will be considered an option or
  4189. switch.
  4190. </descr>
  4191. <errors>
  4192. </errors>
  4193. <seealso>
  4194. <link id="FindCmdLineSwitch"/>
  4195. </seealso>
  4196. </element>
  4197. <!-- set type Visibility: default -->
  4198. <element name="TSysCharSet">
  4199. <short>Set of characters.</short>
  4200. <descr>
  4201. Generic set of characters type.
  4202. </descr>
  4203. <errors>
  4204. </errors>
  4205. <seealso>
  4206. </seealso>
  4207. </element>
  4208. <!-- function Visibility: default -->
  4209. <element name="FindCmdLineSwitch">
  4210. <short>Check whether a certain switch is present on the command-line.</short>
  4211. <descr>
  4212. <var>FindCmdLineSwitch</var> will check all command-line arguments for the
  4213. presence of the option <var>Switch</var>. It will return <var>True</var> if
  4214. it was found, <var>False</var> otherwise. Characters that appear in
  4215. <var>Chars</var> (default is <link id="SwitchChars"/>) are assumed to
  4216. indicate an option (switch). If the parameter <var>IgnoreCase</var> is
  4217. <var>True</var>, case will be ignored when looking for the switch. Default
  4218. is to search case sensitive.
  4219. </descr>
  4220. <errors>
  4221. None.
  4222. </errors>
  4223. <seealso>
  4224. <link id="SwitchChars"/>
  4225. </seealso>
  4226. </element>
  4227. <!-- alias type Visibility: default -->
  4228. <element name="THandle">
  4229. <short>File Handle type.</short>
  4230. <descr>
  4231. <var>THandle</var> refers to the definition of <var>THandle</var> in the
  4232. system unit, and is provided for backward compatibility only.
  4233. </descr>
  4234. </element>
  4235. <!-- procedure type Visibility: default -->
  4236. <element name="TProcedure">
  4237. <short>Procedural type</short>
  4238. <descr>
  4239. <var>TProcedure</var> is a general definition of a procedural callback.
  4240. </descr>
  4241. </element>
  4242. <!-- alias type Visibility: default -->
  4243. <element name="TFileName">
  4244. <short>Filename type</short>
  4245. <descr>
  4246. <var>TFileName</var> is used in the <link id="TSearchRec"/> definition.
  4247. </descr>
  4248. <seealso>
  4249. <link id="TSearchRec"/>
  4250. </seealso>
  4251. </element>
  4252. <!-- set type Visibility: default -->
  4253. <element name="TIntegerSet">
  4254. <short>Set with size of integer.</short>
  4255. <descr>
  4256. <var>TIntegerSet</var> is a generic integer subrange set definition whose
  4257. size fits in a single integer.
  4258. </descr>
  4259. </element>
  4260. <!-- record type Visibility: default -->
  4261. <element name="LongRec">
  4262. <short>Record describing a longint value</short>
  4263. <descr>
  4264. <var>LongRec</var> can be used to extract the parts of an long Integer: the
  4265. high and low word, or the 4 separate bytes as a zero-based array of bytes.
  4266. Note that the meaning of High and Low parts are different on various CPUs.
  4267. </descr>
  4268. <seealso>
  4269. <link id="WordRec"/>
  4270. <link id="Int64Rec"/>
  4271. </seealso>
  4272. </element>
  4273. <!-- record type Visibility: default -->
  4274. <element name="WordRec">
  4275. <short>Record describing a word value.</short>
  4276. <descr>
  4277. <var>LongRec</var> can be used to extract the parts of a word: the
  4278. high and low byte. Note that the meaning of the High and Low parts
  4279. are different on various CPUs.
  4280. </descr>
  4281. <seealso>
  4282. <link id="LongRec"/>
  4283. <link id="Int64Rec"/>
  4284. </seealso>
  4285. </element>
  4286. <!-- variable Visibility: default -->
  4287. <element name="WordRec.Lo">
  4288. <short>Low byte of the word.</short>
  4289. </element>
  4290. <!-- variable Visibility: default -->
  4291. <element name="WordRec.Hi">
  4292. <short>High byte of the word</short>
  4293. </element>
  4294. <!-- record type Visibility: default -->
  4295. <element name="Int64Rec">
  4296. <short>Record describing an Int64 value</short>
  4297. <descr>
  4298. <var>Int64Rec</var> can be used to extract the parts of a Int64: the
  4299. high and low cardinal, or a zero-based array of 4 words, or a zero based
  4300. array of 8 bytes. Note that the meaning of the High and Low parts
  4301. are different on various CPUs.
  4302. </descr>
  4303. <seealso>
  4304. <link id="LongRec"/>
  4305. <link id="WordRec"/>
  4306. </seealso>
  4307. </element>
  4308. <!-- pointer type Visibility: default -->
  4309. <element name="PByteArray">
  4310. <short>Pointer to an array of byte.</short>
  4311. <descr>
  4312. Generic pointer to <link id="TByteArray"/>. Use to access memory regions as
  4313. a byte array.
  4314. </descr>
  4315. <seealso>
  4316. <link id="TByteArray"/>
  4317. <link id="PWordArray"/>
  4318. <link id="TWordArray"/>
  4319. </seealso>
  4320. </element>
  4321. <!-- array type Visibility: default -->
  4322. <element name="TByteArray">
  4323. <short>Array of bytes</short>
  4324. <descr>
  4325. <var>TByteArray</var> is a generic array definition, mostly for use as a
  4326. base type of the <link id="PByteArray"/> type.
  4327. </descr>
  4328. <seealso>
  4329. <link id="PByteArray"/>
  4330. <link id="PWordArray"/>
  4331. <link id="TWordArray"/>
  4332. </seealso>
  4333. </element>
  4334. <!-- pointer type Visibility: default -->
  4335. <element name="PWordArray">
  4336. <short>Pointer to an array of word.</short>
  4337. <descr>
  4338. Generic pointer to <link id="TWordArray"/>. Use to access memory regions as
  4339. a word array.
  4340. </descr>
  4341. <seealso>
  4342. <link id="TWordArray"/>
  4343. <link id="PByteArray"/>
  4344. <link id="TByteArray"/>
  4345. </seealso>
  4346. </element>
  4347. <!-- array type Visibility: default -->
  4348. <element name="TWordArray">
  4349. <short></short>
  4350. <descr>
  4351. <var>TWordArray</var> is a generic array definition, mostly for use as a
  4352. base type of the <link id="PWordArray"/> type.
  4353. </descr>
  4354. <errors>
  4355. </errors>
  4356. <seealso>
  4357. <link id="PWordArray"/>
  4358. <link id="PByteArray"/>
  4359. <link id="TByteArray"/>
  4360. </seealso>
  4361. </element>
  4362. <!-- record type Visibility: default -->
  4363. <element name="TMethod">
  4364. <short>Record describing a method.</short>
  4365. <descr>
  4366. <var>TMethod</var> describes a general method pointer, and is used in
  4367. Run-Time Type Information handling.
  4368. </descr>
  4369. </element>
  4370. <!-- variable Visibility: default -->
  4371. <element name="TMethod.Code">
  4372. <short>Pointer to method code.</short>
  4373. </element>
  4374. <!-- variable Visibility: default -->
  4375. <element name="TMethod.Data">
  4376. <short>Pointer to object instance.</short>
  4377. </element>
  4378. <!-- object Visibility: default -->
  4379. <element name="Exception">
  4380. <short>Base class of all exceptions.</short>
  4381. <descr>
  4382. <var>Exception</var> is the base class for all exception handling routines
  4383. in the RTL and FCL. While it is possible to raise an exception with any
  4384. class descending from <var>TObject</var>, it is recommended to use
  4385. <var>Exception</var> as the basis of exception class objects:
  4386. the <var>Exception</var> class introduces properties to associate a message
  4387. and a help context with the exception being raised. What is more, the
  4388. <file>SysUtils</file> unit sets the necessary hooks to catch and display
  4389. unhandled exceptions: in such cases, the message displayed to the end user,
  4390. will be the message stored in the exception class.
  4391. </descr>
  4392. <seealso>
  4393. <link id="ExceptObject"/>
  4394. <link id="ExceptAddr"/>
  4395. <link id="ExceptionErrorMessage"/>
  4396. <link id="ShowException"/>
  4397. <link id="Abort"/>
  4398. </seealso>
  4399. </element>
  4400. <!-- constructor Visibility: public -->
  4401. <element name="Exception.Create">
  4402. <short>Constructs a new exception object with a given message.</short>
  4403. <var>Create</var> allocates a new exception object on the heap, and stores
  4404. <var>Msg</var> in the <link id="Exception.Message">Message</link> property.
  4405. <errors>
  4406. Construction may fail if there is not enough memory on the heap.
  4407. </errors>
  4408. <seealso>
  4409. <link id="Exception.CreateFmt"/>
  4410. <link id="Exception.Message"/>
  4411. </seealso>
  4412. </element>
  4413. <!-- constructor Visibility: public -->
  4414. <element name="Exception.CreateFmt">
  4415. <short>Constructs a new exception object and formats a new message.</short>
  4416. <p>
  4417. <var>CreateFmt</var> allocates a new exception object on the heap, and
  4418. fills the <link id="Exception.Message">Message</link> property with the result of a call to <link
  4419. id="Format"/> with <var>Msg</var> and <var>Args</var> as arguments.
  4420. </p>
  4421. <p>Using <var>CreateFmt</var> is equivalent to using the following code:</p>
  4422. <code>
  4423. Exception.Create(Format(Msg,Args));
  4424. </code>
  4425. <errors>
  4426. Construction may fail if there is not enough memory on the heap.
  4427. </errors>
  4428. <seealso>
  4429. <link id="Exception.Create"/>
  4430. <link id="Exception.Message"/>
  4431. <link id="Format"/>
  4432. </seealso>
  4433. </element>
  4434. <!-- constructor Visibility: public -->
  4435. <element name="Exception.CreateRes">
  4436. <short>Constructs a new exception object and gets the message from a resource.</short>
  4437. <p>
  4438. <var>CreateRes</var> allocates a new exception object on the heap, and stores
  4439. fetches the resource string <var>ResString</var> from the resources and
  4440. stores it in the <link id="Exception.Message">Message</link> property.
  4441. </p>
  4442. <remark>
  4443. Resources are not yet implemented in Free Pascal.
  4444. </remark>
  4445. <errors>
  4446. Construction may fail if there is not enough memory on the heap.
  4447. </errors>
  4448. <seealso>
  4449. <link id="Exception.Create"/>
  4450. <link id="Exception.CreateFmt"/>
  4451. <link id="Exception.CreateResFmt"/>
  4452. <link id="Exception.Message"/>
  4453. </seealso>
  4454. </element>
  4455. <!-- constructor Visibility: public -->
  4456. <element name="Exception.CreateResFmt">
  4457. <short>Constructs a new exception object and formats the message from a
  4458. reasource.</short>
  4459. <descr>
  4460. <var>CreateResFmt</var> does the same as <link
  4461. id="Exception.CreateFmt">CreateFmt</link>, but fetches
  4462. the message from the resource string <var>ResString</var>.
  4463. </descr>
  4464. <errors>
  4465. Construction may fail if there is not enough memory on the heap.
  4466. </errors>
  4467. <seealso>
  4468. <link id="Exception.Create"/>
  4469. <link id="Exception.CreateFmt"/>
  4470. <link id="Exception.CreateRes"/>
  4471. <link id="Exception.Message"/>
  4472. </seealso>
  4473. </element>
  4474. <!-- constructor Visibility: public -->
  4475. <element name="Exception.CreateHelp">
  4476. <short>Constructs a new exception object and sets the help context.</short>
  4477. <descr>
  4478. <var>CreateHelp</var> does the same as the <link
  4479. id="Exception.Create">Create</link> constructor,
  4480. but additionally stores <var>AHelpContext</var> in the <link
  4481. id="Exception.HelpContext">HelpContext</link> property.
  4482. </descr>
  4483. <seealso>
  4484. <link id="Exception.Create"/>
  4485. </seealso>
  4486. </element>
  4487. <!-- constructor Visibility: public -->
  4488. <element name="Exception.CreateFmtHelp">
  4489. <short>Constructs a new exception object and sets the help context and
  4490. formats the message</short>
  4491. <descr>
  4492. <var>CreateFmtHelp</var> does the same as the <link
  4493. id="Exception.CreateFmt">CreateFmt</link> constructor,
  4494. but additionally stores <var>AHelpContext</var> in the <link
  4495. id="Exception.HelpContext">HelpContext</link> property.
  4496. </descr>
  4497. <seealso>
  4498. <link id="Exception.CreateFmt"/>
  4499. </seealso>
  4500. </element>
  4501. <!-- constructor Visibility: public -->
  4502. <element name="Exception.CreateResHelp">
  4503. <short>Constructs a new exception object and sets the help context and
  4504. gets the message from a resource</short>
  4505. <descr>
  4506. <var>CreateResHelp</var> does the same as the <link
  4507. id="Exception.CreateRes">CreateRes</link> constructor,
  4508. but additionally stores <var>AHelpContext</var> in the <link
  4509. id="Exception.HelpContext">HelpContext</link> property.
  4510. </descr>
  4511. <seealso>
  4512. <link id="Exception.CreateRes"/>
  4513. </seealso>
  4514. </element>
  4515. <!-- constructor Visibility: public -->
  4516. <element name="Exception.CreateResFmtHelp">
  4517. <short>Constructs a new exception object and sets the help context and
  4518. formats the message from a resource</short>
  4519. <descr>
  4520. <var>CreateResFmtHelp</var> does the same as the <link
  4521. id="Exception.CreateResFmt">CreateResFmt</link> constructor,
  4522. but additionally stores <var>AHelpContext</var> in the <link
  4523. id="Exception.HelpContext">HelpContext</link> property.
  4524. </descr>
  4525. <seealso>
  4526. <link id="Exception.CreateResFmt"/>
  4527. </seealso>
  4528. </element>
  4529. <!-- property Visibility: public -->
  4530. <element name="Exception.helpcontext">
  4531. <short>Help context associated with the exception.</short>
  4532. <descr>
  4533. <var>HelpContext</var> is the help context associated with the exception,
  4534. and can be used to provide context-sensitive help when the exception error
  4535. message is displayed. It should be set in the exception constructor.
  4536. </descr>
  4537. <seealso>
  4538. <link id="Exception.CreateHelp"/>
  4539. <link id="Exception.Message"/>
  4540. </seealso>
  4541. </element>
  4542. <!-- property Visibility: public -->
  4543. <element name="Exception.message">
  4544. <short>Message associated with the exception.</short>
  4545. <descr>
  4546. <var>Message</var> provides additional information about the exception. It
  4547. is shown to the user in e.g. the <link id="ShowException"/> routine, and
  4548. should be set in the constructor when the exception is raised.
  4549. </descr>
  4550. <seealso>
  4551. <link id="Exception.Create"/>
  4552. <link id="Exception.HelpContext"/>
  4553. </seealso>
  4554. </element>
  4555. <!-- "class of" type Visibility: default -->
  4556. <element name="ExceptClass">
  4557. <short>Exception Class reference</short>
  4558. <descr>
  4559. <var>ExceptClass</var> is a <link id="Exception"/> class reference.
  4560. </descr>
  4561. <seealso>
  4562. <link id="Exception"/>
  4563. </seealso>
  4564. </element>
  4565. <!-- object Visibility: default -->
  4566. <element name="EExternal">
  4567. <short>External Exception.</short>
  4568. <descr>
  4569. <var>EExternal</var> is the base exception for all external exceptions, as
  4570. reported by the CPU or operating system, as opposed to internal exceptions,
  4571. which are raised by the program itself. The <file>SysUtils</file> unit
  4572. converts all operating system errors to descendents of <var>EExternal</var>.
  4573. </descr>
  4574. <seealso>
  4575. <link id="EInterror"/>
  4576. <link id="EExternal"/>
  4577. <link id="EMathError"/>
  4578. <link id="EExternalException"/>
  4579. <link id="EAccessViolation"/>
  4580. <link id="EPrivilege"/>
  4581. <link id="EStackOverflow"/>
  4582. <link id="EControlC"/>
  4583. </seealso>
  4584. </element>
  4585. <!-- object Visibility: default -->
  4586. <element name="EIntError">
  4587. <short>Integer operation error.</short>
  4588. <descr>
  4589. <var>EInterror</var> is used when the operating system or CPU signals an
  4590. integer operation error, e.g., an overflow.
  4591. </descr>
  4592. </element>
  4593. <!-- object Visibility: default -->
  4594. <element name="EDivByZero">
  4595. <short>Division by zero error.</short>
  4596. <descr>
  4597. <var>EDivByZero</var> is used when the operating system or CPU signals a
  4598. division by zero error.
  4599. </descr>
  4600. <link id="EIntError"/>
  4601. <link id="ERangeError"/>
  4602. <link id="EIntOverflow"/>
  4603. </element>
  4604. <!-- object Visibility: default -->
  4605. <element name="ERangeError">
  4606. <short>Range check error.</short>
  4607. <descr>
  4608. <var>ERangeError</var> is raised by the Free Pascal runtime library if
  4609. range checking is on, and a range check error occurs.
  4610. </descr>
  4611. <seealso>
  4612. <link id="EIntError"/>
  4613. <link id="EDivByZero"/>
  4614. <link id="EIntOverflow"/>
  4615. </seealso>
  4616. </element>
  4617. <!-- object Visibility: default -->
  4618. <element name="EIntOverflow">
  4619. <short>Integer overflow error.</short>
  4620. <descr>
  4621. <var>EIntOverflow</var> is used when the operating system or CPU signals a
  4622. integer overflow error.
  4623. </descr>
  4624. <seealso>
  4625. <link id="EIntError"/>
  4626. <link id="EDivByZero"/>
  4627. <link id="ERangeError"/>
  4628. </seealso>
  4629. </element>
  4630. <!-- object Visibility: default -->
  4631. <element name="EMathError">
  4632. <short>Mathematical error</short>
  4633. <descr>
  4634. <var>EMathError</var> is used when the operating system or CPU signals a
  4635. floating point overflow error.
  4636. </descr>
  4637. <seealso>
  4638. <link id="EIntError"/>
  4639. <link id="EIntOverflow"/>
  4640. <link id="EDivByZero"/>
  4641. <link id="ERangeError"/>
  4642. </seealso>
  4643. </element>
  4644. <!-- object Visibility: default -->
  4645. <element name="EInvalidOp">
  4646. <short>Invalid operation.</short>
  4647. <descr>
  4648. <var>EInvalidOp</var> is raised when an invalid operation is encountered.
  4649. </descr>
  4650. </element>
  4651. <!-- object Visibility: default -->
  4652. <element name="EZeroDivide">
  4653. <short>Division by zero error.</short>
  4654. <descr>
  4655. <var>EZeroDivide</var> occurs when a float division by zero occurs.
  4656. </descr>
  4657. <seealso>
  4658. <link id="EIntError"/>
  4659. <link id="EIntOverflow"/>
  4660. <link id="EDivByZero"/>
  4661. <link id="ERangeError"/>
  4662. </seealso>
  4663. </element>
  4664. <!-- object Visibility: default -->
  4665. <element name="EOverflow">
  4666. <short>Float overflow error.</short>
  4667. <descr>
  4668. <var>EOverflow</var> occurs when a float operation overflows. (i.e. result
  4669. is too big to represent).
  4670. </descr>
  4671. <seealso>
  4672. <link id="EIntError"/>
  4673. <link id="EIntOverflow"/>
  4674. <link id="EDivByZero"/>
  4675. <link id="ERangeError"/>
  4676. <link id="EUnderFlow"/>
  4677. </seealso>
  4678. </element>
  4679. <!-- object Visibility: default -->
  4680. <element name="EUnderflow">
  4681. <short>Float underflow error</short>
  4682. <descr>
  4683. <var>EOverflow</var> occurs when a float operation underflows (i.e. result
  4684. is too small to represent).
  4685. </descr>
  4686. <seealso>
  4687. <link id="EIntError"/>
  4688. <link id="EIntOverflow"/>
  4689. <link id="EDivByZero"/>
  4690. <link id="ERangeError"/>
  4691. <link id="EOverFlow"/>
  4692. </seealso>
  4693. </element>
  4694. <!-- object Visibility: default -->
  4695. <element name="EInOutError">
  4696. <short>Input/Output error</short>
  4697. <descr>
  4698. <var>EInOutError</var> is raised when a IO routine of Free Pascal returns an
  4699. error. The error is converted to an <var>EInOutError</var> only if the
  4700. input/output checking feature of FPC is turned on. The error code of the
  4701. input/output operation is returned in <link
  4702. id="EInOutError.ErrorCode">ErrorCode</link>.
  4703. </descr>
  4704. <seealso>
  4705. <link id="EInOutError.ErrorCode"/>
  4706. </seealso>
  4707. </element>
  4708. <!-- variable Visibility: public -->
  4709. <element name="EInOutError.ErrorCode">
  4710. <short>Error code for Input/Output operation.</short>
  4711. <descr>
  4712. <var>ErrorCode</var> contains the error code from the I/O operation which
  4713. raised the <link id="EInoutError"/> exception. An explanation of the error
  4714. codes can be found in the user's manual.
  4715. </descr>
  4716. </element>
  4717. <!-- object Visibility: default -->
  4718. <element name="EHeapMemoryError">
  4719. <short>Heap memory error</short>
  4720. <descr>
  4721. <var>EHeapMemoryError</var> is raised when an error occurs in heap
  4722. (dynamically allocated) memory.
  4723. </descr>
  4724. <seealso>
  4725. <link id="EHeapException"/>
  4726. <link id="EoutOfMemory"/>
  4727. <link id="EInvalidPointer"/>
  4728. </seealso>
  4729. </element>
  4730. <!-- alias type Visibility: default -->
  4731. <element name="EHeapException">
  4732. <short>Heap exception</short>
  4733. <descr>
  4734. <var>EHeapMemoryError</var> is raised when an error occurs in the heap
  4735. management routines.
  4736. </descr>
  4737. <seealso>
  4738. <link id="EHeapMemoryError"/>
  4739. <link id="EoutOfMemory"/>
  4740. <link id="EInvalidPointer"/>
  4741. </seealso>
  4742. </element>
  4743. <!-- object Visibility: default -->
  4744. <element name="EExternalException">
  4745. <short>External exception</short>
  4746. <descr>
  4747. <var>EExternalException</var> is raised when an external routine raises an
  4748. exception.
  4749. </descr>
  4750. <seealso>
  4751. <link id="EExternal"/>
  4752. </seealso>
  4753. </element>
  4754. <!-- object Visibility: default -->
  4755. <element name="EInvalidPointer">
  4756. <short>Invalid pointer operation</short>
  4757. <descr>
  4758. <var>EInvalidPointer</var> is raised when an invalid heap pointer is used.
  4759. </descr>
  4760. <seealso>
  4761. <link id="EHeapException"/>
  4762. <link id="EHeapMemoryError"/>
  4763. <link id="EOutOfMemory"/>
  4764. </seealso>
  4765. </element>
  4766. <!-- object Visibility: default -->
  4767. <element name="EOutOfMemory">
  4768. <short>Out of memory error.</short>
  4769. <descr>
  4770. <var>EOutOfMemory</var> occurs when memory can no longer be allocated on the
  4771. heap. An instance of <var>EOutOfMemory</var> is allocated on the heap at
  4772. program startup, so it is available when needed.
  4773. </descr>
  4774. <seealso>
  4775. <link id="EHeapException"/>
  4776. <link id="EHeapMemoryError"/>
  4777. <link id="EInvalidPointer"/>
  4778. </seealso>
  4779. </element>
  4780. <!-- object Visibility: default -->
  4781. <element name="EInvalidCast">
  4782. <short>Invalid typecast error.</short>
  4783. <descr>
  4784. <var>EInvalidCast</var> is raised when an invalid typecast error (using the
  4785. <var>as</var> operator) is encountered.
  4786. </descr>
  4787. <seealso>
  4788. <link id="EIntfCastError"/>
  4789. </seealso>
  4790. </element>
  4791. <!-- object Visibility: default -->
  4792. <element name="EVariantError">
  4793. <short>Variant error.</short>
  4794. <descr>
  4795. <var>EVariantError</var> is raised by the internal variant routines.
  4796. </descr>
  4797. </element>
  4798. <!-- object Visibility: default -->
  4799. <element name="EAccessViolation">
  4800. <short>Access Violation error</short>
  4801. <descr>
  4802. <var>EAccessViolation</var> is raised when the OS reports an Access
  4803. Violation, i.e. when invalid memory is accessed.
  4804. </descr>
  4805. </element>
  4806. <!-- object Visibility: default -->
  4807. <element name="EPrivilege">
  4808. <short>Privileged instruction error.</short>
  4809. <descr>
  4810. <var>EPrivilege</var> is raised when the OS reports that an invalid
  4811. instruction was executed.
  4812. </descr>
  4813. </element>
  4814. <!-- object Visibility: default -->
  4815. <element name="EStackOverflow">
  4816. <short>Stack overflow error.</short>
  4817. <descr>
  4818. <var>EStackOverflow</var> occurs when the stack has grown too big (e.g. by
  4819. infinite recursion).
  4820. </descr>
  4821. </element>
  4822. <!-- object Visibility: default -->
  4823. <element name="EControlC">
  4824. <short>Control-C (abort) was pressed on the console.</short>
  4825. <descr>
  4826. <var>EControlC</var> is raised when the user has pressed CTRL-C in a
  4827. console application.
  4828. </descr>
  4829. </element>
  4830. <!-- object Visibility: default -->
  4831. <element name="EConvertError">
  4832. <short>Conversion error.</short>
  4833. <descr>
  4834. <var>EConvertError</var> is raised by the various conversion routines in the
  4835. <file>SysUtils</file> unit. The message will contain more specific error
  4836. information.
  4837. </descr>
  4838. </element>
  4839. <!-- object Visibility: default -->
  4840. <element name="EAbort">
  4841. <short>Abort error.</short>
  4842. <descr>
  4843. <var>Abort</var> is raised by the <link id="Abort"/> procedure. It is not
  4844. displayed in GUI applications, and serves only to immediatly abort the current
  4845. procedure, and return control to the main program loop.
  4846. </descr>
  4847. <seealso>
  4848. <link id="Abort"/>
  4849. </seealso>
  4850. </element>
  4851. <!-- object Visibility: default -->
  4852. <element name="EAbstractError">
  4853. <short>Abstract error.</short>
  4854. <descr>
  4855. <var>EAbstractError</var> is raised when an abstract error occurs, i.e. when
  4856. an unimplemented abstract method is called.
  4857. </descr>
  4858. </element>
  4859. <!-- object Visibility: default -->
  4860. <element name="EAssertionFailed">
  4861. <short>Assertion failed error.</short>
  4862. <descr>
  4863. <var>EAssertionFailed</var> is raised when an application that is compiled
  4864. with assertions, encounters an invalid assertion.
  4865. </descr>
  4866. <errors>
  4867. </errors>
  4868. <seealso>
  4869. </seealso>
  4870. </element>
  4871. <!-- object Visibility: default -->
  4872. <element name="EPropReadOnly">
  4873. <short>Read-only property error.</short>
  4874. <descr>
  4875. <var>EPropReadOnly</var> is raised when an attempt is made to write to a
  4876. read-only property.
  4877. </descr>
  4878. <link id="EPropWriteOnly"/>
  4879. </element>
  4880. <!-- object Visibility: default -->
  4881. <element name="EPropWriteOnly">
  4882. <short>Write-only property error.</short>
  4883. <descr>
  4884. <var>EPropWriteOnly</var> is raised when an attempt is made to read from a
  4885. write-only property.
  4886. </descr>
  4887. <seealso>
  4888. <link id="EPropReadOnly"/>
  4889. </seealso>
  4890. </element>
  4891. <!-- object Visibility: default -->
  4892. <element name="EIntfCastError">
  4893. <short>Invalid interface cast error.</short>
  4894. <descr>
  4895. <var>EIntfCastError</var> is raised when an invalid interface cast is
  4896. encountered.
  4897. </descr>
  4898. <seealso>
  4899. <link id="EInvalidCast"/>
  4900. </seealso>
  4901. </element>
  4902. <!-- object Visibility: default -->
  4903. <element name="EInvalidContainer">
  4904. <short>Invalid container error.</short>
  4905. <descr>
  4906. <var>EInvalidContainer</var> is not yet used by Free Pascal, and is provided
  4907. for Delphi compatibility only.
  4908. </descr>
  4909. </element>
  4910. <!-- object Visibility: default -->
  4911. <element name="EInvalidInsert">
  4912. <short>Invalid insert error.</short>
  4913. <descr>
  4914. <var>EInvalidInsert</var> is not yet used by Free Pascal, and is provided
  4915. for Delphi compatibility only.
  4916. </descr>
  4917. </element>
  4918. <!-- object Visibility: default -->
  4919. <element name="EPackageError">
  4920. <short>Package error.</short>
  4921. <descr>
  4922. <var>EPackageError</var> is not yet used by Free Pascal, and is provided
  4923. for Delphi compatibility only.
  4924. </descr>
  4925. </element>
  4926. <!-- object Visibility: default -->
  4927. <element name="EOSError">
  4928. <short>Operating system error.</short>
  4929. <descr>
  4930. <var>EOSError</var> is raised when some Operating System call fails. The
  4931. <link id="EOSError.ErrorCode">ErrorCode</link> property contains the
  4932. operating system error code.
  4933. </descr>
  4934. <seealso>
  4935. <link id="EOSError.ErrorCode"/>
  4936. </seealso>
  4937. </element>
  4938. <!-- variable Visibility: public -->
  4939. <element name="EOSError.ErrorCode">
  4940. <short>Operating system error code.</short>
  4941. <descr>
  4942. <var>ErrorCode</var> contains the error code reported by the operating
  4943. system for the call which caused the <link id="EOSError"/> to be raised.
  4944. </descr>
  4945. <seealso>
  4946. <link id="EOSError"/>
  4947. </seealso>
  4948. </element>
  4949. <!-- object Visibility: default -->
  4950. <element name="ESafecallException">
  4951. <short>SafeCall exception.</short>
  4952. <descr>
  4953. <var>ESafecallException</var> is not yet used by Free Pascal, and is provided
  4954. for Delphi compatibility only.
  4955. </descr>
  4956. </element>
  4957. <!-- object Visibility: default -->
  4958. <element name="ENoThreadSupport">
  4959. <short>No Thread support error.</short>
  4960. <descr>
  4961. <var>ENoThreadSupport</var> is raised when some thread routines are invoked,
  4962. and thread support was not enabled when the program was compiled.
  4963. </descr>
  4964. </element>
  4965. <!-- function Visibility: default -->
  4966. <element name="ExceptObject">
  4967. <short>Current Exception object.</short>
  4968. <descr>
  4969. <var>ExceptObject</var> returns the currently treated exception object when
  4970. an exception is raised, and the stack is unwound.
  4971. </descr>
  4972. <errors>
  4973. If there is no exception, the function returns <var>Nil</var>
  4974. </errors>
  4975. <seealso>
  4976. <link id="ExceptAddr"/>
  4977. <link id="ExceptionErrorMessage"/>
  4978. <link id="ShowException"/>
  4979. </seealso>
  4980. </element>
  4981. <!-- function Visibility: default -->
  4982. <element name="ExceptAddr">
  4983. <short>Current exception address.</short>
  4984. <descr>
  4985. <var>ExceptAddr</var> returns the address from the currently treated
  4986. exception object when an exception is raised, and the stack is unwound.
  4987. </descr>
  4988. <seealso>
  4989. <link id="ExceptObject"/>
  4990. <link id="ExceptionErrorMessage"/>
  4991. <link id="ShowException"/>
  4992. </seealso>
  4993. </element>
  4994. <!-- function Visibility: default -->
  4995. <element name="ExceptionErrorMessage">
  4996. <short>Return a message describing the exception.</short>
  4997. <descr>
  4998. <p>
  4999. <var>ExceptionErrorMessage</var> creates a string that describes the
  5000. exception object <var>ExceptObject</var> at address <var>ExceptAddr</var>.
  5001. It can be used to display exception messages. The string will be stored in
  5002. the memory pointed to by <var>Buffer</var>, and will at most have
  5003. <var>Size</var> characters.
  5004. </p>
  5005. <p>
  5006. The routine checks whether <var>ExceptObject</var> is a <link
  5007. id="Exception"/> object or not, and adapts the output accordingly.
  5008. </p>
  5009. </descr>
  5010. <seealso>
  5011. <link id="ExceptObject"/>
  5012. <link id="ExceptAddr"/>
  5013. <link id="ShowException"/>
  5014. </seealso>
  5015. </element>
  5016. <!-- procedure Visibility: default -->
  5017. <element name="ShowException">
  5018. <short>Show the current exception to the user.</short>
  5019. <descr>
  5020. <p>
  5021. <var>ShowException</var> shows a message stating that a <var>ExceptObject</var>
  5022. was raised at address <var>ExceptAddr</var>. It uses <link
  5023. id="ExceptionErrorMessage"/> to create the message, and is aware of the fact
  5024. whether the application is a console application or a GUI application. For a
  5025. console application, the message is written to standard error output. For a
  5026. GUI application, <link id="OnShowException"/> is executed.
  5027. </p>
  5028. </descr>
  5029. <errors>
  5030. <p>
  5031. If, for a GUI application, <link id="OnShowException"/> is not set, no
  5032. message will be displayed to the user.
  5033. </p>
  5034. <p>
  5035. The exception message can be at most 255 characters long: It is possible
  5036. that no memory can be allocated on the heap, so ansistrings are not
  5037. available, so a shortstring is used to display the message.
  5038. </p>
  5039. </errors>
  5040. <seealso>
  5041. <link id="ExceptObject"/>
  5042. <link id="ExceptAddr"/>
  5043. <link id="ExceptionErrorMessage"/>
  5044. </seealso>
  5045. </element>
  5046. <!-- procedure Visibility: default -->
  5047. <element name="Abort">
  5048. <short>Abort program execution.</short>
  5049. <descr>
  5050. <var>Abort</var> raises an <link id="EAbort"/> exception.
  5051. </descr>
  5052. <seealso>
  5053. <link id="Abort"/>
  5054. </seealso>
  5055. </element>
  5056. <!-- procedure Visibility: default -->
  5057. <element name="OutOfMemoryError">
  5058. <short>Raise an <var>EOutOfMemory</var> exception</short>
  5059. <descr>
  5060. <var>OutOfMemoryError</var> raises an <link id="EOutOfMemory"/> exception,
  5061. with an exception object that has been allocated on the heap at program
  5062. startup. The program should neved create an <link id="EOutOfMemory"/>
  5063. exception, but always call this routine.
  5064. </descr>
  5065. <seealso>
  5066. <link id="EOutOfMemory"/>
  5067. </seealso>
  5068. </element>
  5069. <!-- procedure Visibility: default -->
  5070. <element name="Beep">
  5071. <short>Sound the system bell.</short>
  5072. <descr>
  5073. <var>Beep</var> sounds the system bell, if one is available.
  5074. </descr>
  5075. <errors>
  5076. This routine may not be implemented on all platforms.
  5077. </errors>
  5078. </element>
  5079. <!-- function Visibility: default -->
  5080. <element name="SysErrorMessage">
  5081. <short>Format a system error message.</short>
  5082. <descr>
  5083. <var>SysErrorMessage</var> returns a string that describes the operating
  5084. system error code <var>ErrorCode</var>.
  5085. </descr>
  5086. <errors>
  5087. This routine may not be implemented on all platforms.
  5088. </errors>
  5089. <seealso>
  5090. <link id="EOSError"/>
  5091. </seealso>
  5092. </element>
  5093. <!-- function type Visibility: default -->
  5094. <element name="TTerminateProc">
  5095. <short>Terminate procedure procedural variable.</short>
  5096. <descr>
  5097. <var>TTerminateProc</var> is the procedural type which should be used when
  5098. adding exit procedures.
  5099. </descr>
  5100. <seealso>
  5101. <link id="AddTerminateProc"/>
  5102. </seealso>
  5103. </element>
  5104. <!-- procedure Visibility: default -->
  5105. <element name="AddTerminateProc">
  5106. <short>Add a procedure to the exit chain.</short>
  5107. <descr>
  5108. <var>AddTerminateProc</var> adds <var>TermProc</var> to the list of exit
  5109. procedures. When the program exits, the list of exit procedures is run over,
  5110. and all procedures are called one by one, in the reverse order that they
  5111. were added to the exit chain.
  5112. </descr>
  5113. <errors>
  5114. If no memory is available on the heap, an exception may be raised.
  5115. </errors>
  5116. <seealso>
  5117. <link id="TTerminateProc"/>
  5118. <link id="CallTerminateProcs"/>
  5119. </seealso>
  5120. </element>
  5121. <!-- function Visibility: default -->
  5122. <element name="CallTerminateProcs">
  5123. <short>Call the exit chain procedures.</short>
  5124. <descr>
  5125. <var>CallTerminateProcs</var> is run on program exit. It executes all
  5126. terminate procedures that were added to the exit chain with <link
  5127. id="AddTerminateProc"/>, and does this in reverse order.
  5128. </descr>
  5129. <errors>
  5130. If one of the exit procedure raises an exception, it is <em>not</em> caught,
  5131. and the remaining exit procedures will not be executed.
  5132. </errors>
  5133. <seealso>
  5134. <link id="TTerminateProc"/>
  5135. <link id="AddTerminateProc"/>
  5136. </seealso>
  5137. </element>
  5138. <!-- variable Visibility: default -->
  5139. <element name="OnShowException">
  5140. <short>Callback to show unhandled exceptions.</short>
  5141. <descr>
  5142. <var>OnShowException</var> is the callback that <link id="ShowException"/>
  5143. uses to display a message in a GUI application. For GUI applications, this
  5144. variable should always be set. Note that no memory may be available when
  5145. this callback is called, so the callback should already have all resources
  5146. it needs, when the callback is set.
  5147. </descr>
  5148. <seealso>
  5149. <link id="ShowException"/>
  5150. <link id="ExceptionErrorMessage"/>
  5151. </seealso>
  5152. </element>
  5153. <!-- constant Visibility: default -->
  5154. <element name="filerecnamelength">
  5155. <short>Length of filerec filename field.</short>
  5156. <descr>
  5157. <var>filerecnamelength</var> describes the length of the <link
  5158. id="FileRec"/> filename field.
  5159. </descr>
  5160. </element>
  5161. <!-- record type Visibility: default -->
  5162. <element name="FileRec">
  5163. <short>Record describing an untyped file.</short>
  5164. <descr>
  5165. <p>
  5166. <var>FileRec</var> describes a untyped file. This record is made available
  5167. so it can be used to implement drivers for other than the normal file system
  5168. file records.
  5169. </p>
  5170. </descr>
  5171. <seealso>
  5172. <link id="TFileRec"/>
  5173. <link id="TextRec"/>
  5174. <link id="TTextRec"/>
  5175. </seealso>
  5176. </element>
  5177. <!-- variable Visibility: default -->
  5178. <element name="FileRec.Handle">
  5179. <short>Operating system file handle.</short>
  5180. </element>
  5181. <!-- variable Visibility: default -->
  5182. <element name="FileRec.Mode">
  5183. <short>Current file mode.</short>
  5184. </element>
  5185. <!-- variable Visibility: default -->
  5186. <element name="FileRec.RecSize">
  5187. <short>Record data size</short>
  5188. </element>
  5189. <!-- variable Visibility: default -->
  5190. <element name="FileRec._private">
  5191. <short>Private data. Do not use</short>
  5192. </element>
  5193. <!-- variable Visibility: default -->
  5194. <element name="FileRec.UserData">
  5195. <short>User data. Only use when implementing new type.</short>
  5196. </element>
  5197. <!-- variable Visibility: default -->
  5198. <element name="FileRec.name">
  5199. <short>File name</short>
  5200. </element>
  5201. <!-- constant Visibility: default -->
  5202. <element name="TextRecNameLength">
  5203. <short>Length of text file record filename field </short>
  5204. </element>
  5205. <!-- constant Visibility: default -->
  5206. <element name="TextRecBufSize">
  5207. <short>Buffer size of text file record.</short>
  5208. <var>TextRecBufSize</var> is the size of the default buffer in <link
  5209. id="TextRec"/>
  5210. </element>
  5211. <!-- array type Visibility: default -->
  5212. <element name="TextBuf">
  5213. <short>Text record buffer array type</short>
  5214. <descr>
  5215. <var>TextBuf</var> is the type for the default buffer in <link
  5216. id="TextRec"/>
  5217. </descr>
  5218. </element>
  5219. <!-- record type Visibility: default -->
  5220. <element name="TextRec">
  5221. <short>Record describing a text file type</short>
  5222. <descr>
  5223. <p>
  5224. <var>TextRec</var> describes a text file. This record is made available
  5225. so it can be used to implement drivers for other than the normal file system
  5226. file records.
  5227. </p>
  5228. <p>
  5229. To implement a driver, an <var>Assign</var> procedure must be implemented,
  5230. which fills in the various fields of the record. Most notably, the callback
  5231. functions must be filled in appropriately.
  5232. After this, the normal file operations will handle all necessary calls to the
  5233. various callbacks.
  5234. </p>
  5235. </descr>
  5236. <seealso>
  5237. <link id="TTextRec"/>
  5238. <link id="TFileRec"/>
  5239. <link id="FileRec"/>
  5240. </seealso>
  5241. </element>
  5242. <!-- variable Visibility: default -->
  5243. <element name="TextRec.Handle">
  5244. <short>Operating system handle for file.</short>
  5245. </element>
  5246. <!-- variable Visibility: default -->
  5247. <element name="TextRec.Mode">
  5248. <short>Open mode</short>
  5249. </element>
  5250. <!-- variable Visibility: default -->
  5251. <element name="TextRec.bufsize">
  5252. <short>Size of buffer.</short>
  5253. </element>
  5254. <!-- variable Visibility: default -->
  5255. <element name="TextRec._private">
  5256. <short>Private data. Do not use.</short>
  5257. </element>
  5258. <!-- variable Visibility: default -->
  5259. <element name="TextRec.bufpos">
  5260. <short>Current buffer position.</short>
  5261. </element>
  5262. <!-- variable Visibility: default -->
  5263. <element name="TextRec.bufend">
  5264. <short>Current buffer end.</short>
  5265. </element>
  5266. <!-- variable Visibility: default -->
  5267. <element name="TextRec.bufptr">
  5268. <short>Pointer to current buffer.</short>
  5269. </element>
  5270. <!-- variable Visibility: default -->
  5271. <element name="TextRec.openfunc">
  5272. <short>File open function. Allocates handle.</short>
  5273. </element>
  5274. <!-- variable Visibility: default -->
  5275. <element name="TextRec.inoutfunc">
  5276. <short>Read/write function</short>
  5277. </element>
  5278. <!-- variable Visibility: default -->
  5279. <element name="TextRec.flushfunc">
  5280. <short>Flush buffer function</short>
  5281. </element>
  5282. <!-- variable Visibility: default -->
  5283. <element name="TextRec.closefunc">
  5284. <short>Close handle function.</short>
  5285. </element>
  5286. <!-- variable Visibility: default -->
  5287. <element name="TextRec.UserData">
  5288. <short>User data for text rec.</short>
  5289. </element>
  5290. <!-- variable Visibility: default -->
  5291. <element name="TextRec.name">
  5292. <short>File name</short>
  5293. </element>
  5294. <!-- variable Visibility: default -->
  5295. <element name="TextRec.buffer">
  5296. <short>Default buffer.</short>
  5297. </element>
  5298. <!-- constant Visibility: default -->
  5299. <element name="HexDisplayPrefix">
  5300. <short>String to prepend to hexadecimal values</short>
  5301. <descr>
  5302. <var>HexDisplayPrefix</var> is used by the formatting routines to indicate
  5303. that the number which follows the prefix is in Hexadecimal notation.
  5304. </descr>
  5305. <errors>
  5306. Currently unused in Free Pascal.
  5307. </errors>
  5308. </element>
  5309. <!-- constant Visibility: default -->
  5310. <element name="PathDelim">
  5311. <short>Path (directory) delimiter.</short>
  5312. <descr>
  5313. <var>PathDelim</var> refers to the system unit's <var>DirectorySeparator</var>
  5314. constant, it is for Delphi compatibility only.
  5315. </descr>
  5316. <seealso>
  5317. <link id="DriveDelim"/>
  5318. <link id="PathSep"/>
  5319. </seealso>
  5320. </element>
  5321. <!-- constant Visibility: default -->
  5322. <element name="DriveDelim">
  5323. <short>Drive letter delimiter</short>
  5324. <descr>
  5325. <var>DriveDelim</var> refers to the system unit's <var>DriveSeparator</var>
  5326. constant, it is for Delphi compatibility only.
  5327. </descr>
  5328. <seealso>
  5329. <link id="PathDelim"/>
  5330. <link id="PathSep"/>
  5331. </seealso>
  5332. </element>
  5333. <!-- constant Visibility: default -->
  5334. <element name="PathSep">
  5335. <short>Path separator. (Separates paths in search path lists)</short>
  5336. <descr>
  5337. <var>PathSep</var> refers to the system unit's <var>PathSeparator</var>
  5338. constant, it is for Delphi compatibility only.
  5339. </descr>
  5340. <seealso>
  5341. <link id="PathDelim"/>
  5342. <link id="DriveDelim"/>
  5343. </seealso>
  5344. </element>
  5345. <!-- alias type Visibility: default -->
  5346. <element name="TFileRec">
  5347. <short>Record describing an untyped file.</short>
  5348. <descr>
  5349. Alias for <link id="FileRec"/> for Delphi compatibility.
  5350. </descr>
  5351. </element>
  5352. <!-- alias type Visibility: default -->
  5353. <element name="TTextRec">
  5354. <short>Record describing a text file.</short>
  5355. <descr>
  5356. Alias for <link id="TextRec"/> for Delphi compatibility.
  5357. </descr>
  5358. </element>
  5359. <!-- array type Visibility: default -->
  5360. <element name="TCaseTranslationTable">
  5361. <short>Type for case conversion tables.</short>
  5362. <descr>
  5363. <var>TCaseTranslationTable</var> is the type for a lookup table that can
  5364. convert 255 ascii characters.
  5365. </descr>
  5366. <seealso>
  5367. <link id="UpperCaseTable"/>
  5368. <link id="LowerCaseTable"/>
  5369. </seealso>
  5370. </element>
  5371. <!-- variable Visibility: default -->
  5372. <element name="UpperCaseTable">
  5373. <short>Table for conversion of characters to uppercase.</short>
  5374. <descr>
  5375. <var>UpperCaseTable</var> is used by the <link id="UpperCase"/> routine (and
  5376. friends) to convert a string to all-uppercase characters. It is filled with
  5377. the appropriate entries by the <file>SysUtils</file> unit initialization routines.
  5378. </descr>
  5379. <seealso>
  5380. <link id="TCaseTranslationTable"/>
  5381. <link id="LowerCaseTable"/>
  5382. <link id="UpperCase"/>
  5383. </seealso>
  5384. </element>
  5385. <!-- variable Visibility: default -->
  5386. <element name="LowerCaseTable">
  5387. <short>Table for conversion of characters to lowercase.</short>
  5388. <descr>
  5389. <var>LowerCaseTable</var> is used by the <link id="LowerCase"/> routine (and
  5390. friends) to convert a string to all-lowercase characters. It is filled with
  5391. the appropriate entries by the <file>SysUtils</file> unit initialization
  5392. routines.
  5393. </descr>
  5394. <seealso>
  5395. <link id="TCaseTranslationTable"/>
  5396. <link id="UpperCaseTable"/>
  5397. <link id="LowerCase"/>
  5398. </seealso>
  5399. </element>
  5400. <!-- constant Visibility: default -->
  5401. <element name="DateSeparator">
  5402. <short>Date separator character (subject to locale).</short>
  5403. <descr>
  5404. <var>DateSeparator</var> is the character used by various date/time
  5405. conversion routines as the character that separates the day from the month
  5406. and the month from the year in a date notation. It is used by the date
  5407. formatting routines. This constant is initialized by the
  5408. initialization routines of the <file>SysUtils</file> unit.
  5409. </descr>
  5410. <seealso>
  5411. <link id="LongDateFormat"/>
  5412. <link id="FormatDateTime"/>
  5413. <link id="DateSeparator"/>
  5414. </seealso>
  5415. </element>
  5416. <!-- constant Visibility: default -->
  5417. <element name="ShortDateFormat">
  5418. <short>Short Date Format string (subject to locale).</short>
  5419. <descr>
  5420. <var>ShortDateFormat</var> contains a template to format a date in a short
  5421. format. It is used by the date formatting routines.
  5422. This constant is initialized by the initialization routines of the <file>SysUtils</file> unit.
  5423. </descr>
  5424. <seealso>
  5425. <link id="LongDateFormat"/>
  5426. <link id="FormatDateTime"/>
  5427. <link id="DateSeparator"/>
  5428. </seealso>
  5429. </element>
  5430. <!-- constant Visibility: default -->
  5431. <element name="LongDateFormat">
  5432. <short>Long date format string (subject to locale).</short>
  5433. <descr>
  5434. <var>LongDateFormat</var> contains a template to format a date in a long
  5435. format. It is used by the date formatting routines.
  5436. This constant is initialized by the initialization routines of the <file>SysUtils</file> unit.
  5437. </descr>
  5438. <seealso>
  5439. <link id="ShortDateFormat"/>
  5440. <link id="FormatDateTime"/>
  5441. <link id="DateSeparator"/>
  5442. </seealso>
  5443. </element>
  5444. <!-- constant Visibility: default -->
  5445. <element name="ShortMonthNames">
  5446. <short>Names of months, abbreviated form.</short>
  5447. <descr>
  5448. <var>ShortMonthNames</var> is an array with the abbreviated names of months.
  5449. It is used by the date formatting routines.
  5450. This constant is initialized by the initialization routines of the <file>SysUtils</file> unit.
  5451. </descr>
  5452. <seealso>
  5453. <link id="ShortDateFormat"/>
  5454. <link id="FormatDateTime"/>
  5455. <link id="LongMonthNames"/>
  5456. <link id="ShortDayNames"/>
  5457. </seealso>
  5458. </element>
  5459. <!-- constant Visibility: default -->
  5460. <element name="LongMonthNames">
  5461. <short>Full names of months.</short>
  5462. <descr>
  5463. <var>LongMonthNames</var> is an array with the full names of months.
  5464. It is used by the date formatting routines.
  5465. This constant is initialized by the initialization routines of the <file>SysUtils</file> unit.
  5466. </descr>
  5467. <seealso>
  5468. <link id="ShortDateFormat"/>
  5469. <link id="FormatDateTime"/>
  5470. <link id="ShortMonthNames"/>
  5471. </seealso>
  5472. </element>
  5473. <!-- constant Visibility: default -->
  5474. <element name="ShortDayNames">
  5475. <short>Names of days, abbreviated form.</short>
  5476. <descr>
  5477. <var>ShortDayNames</var> is an array with the abbreviated names of days.
  5478. It is used by the date formatting routines.
  5479. This constant is initialized by the initialization routines of the <file>SysUtils</file> unit.
  5480. </descr>
  5481. <seealso>
  5482. <link id="ShortDateFormat"/>
  5483. <link id="FormatDateTime"/>
  5484. <link id="LongDayNames"/>
  5485. <link id="ShortMonthNames"/>
  5486. </seealso>
  5487. </element>
  5488. <!-- constant Visibility: default -->
  5489. <element name="LongDayNames">
  5490. <short>Full names of days.</short>
  5491. <descr>
  5492. <var>LongDayNames</var> is an array with the full names of days.
  5493. It is used by the date formatting routines.
  5494. This constant is initialized by the initialization routines of the <file>SysUtils</file> unit.
  5495. </descr>
  5496. <seealso>
  5497. <link id="ShortDateFormat"/>
  5498. <link id="FormatDateTime"/>
  5499. <link id="ShortDayNames"/>
  5500. <link id="ShortMonthNames"/>
  5501. </seealso>
  5502. </element>
  5503. <!-- constant Visibility: default -->
  5504. <element name="ShortTimeFormat">
  5505. <short>Short time format string (subject to locale).</short>
  5506. <descr>
  5507. <var>ShortTimeFormat</var> contains a template to format a time in a short
  5508. notation. It is used by the time formatting routines.
  5509. This constant is initialized by the initialization routines of the <file>SysUtils</file> unit.
  5510. </descr>
  5511. <seealso>
  5512. <link id="LongTimeFormat"/>
  5513. <link id="FormatDateTime"/>
  5514. <link id="TimeSeparator"/>
  5515. </seealso>
  5516. </element>
  5517. <!-- constant Visibility: default -->
  5518. <element name="LongTimeFormat">
  5519. <short>Long time format string (subject to locale)</short>
  5520. <descr>
  5521. <var>LongTimeFormat</var> contains a template to format a time in full
  5522. notation. It is used by the time formatting routines.
  5523. This constant is initialized by the initialization routines of the <file>SysUtils</file> unit.
  5524. </descr>
  5525. <seealso>
  5526. <link id="ShortTimeFormat"/>
  5527. <link id="FormatDateTime"/>
  5528. <link id="TimeSeparator"/>
  5529. </seealso>
  5530. </element>
  5531. <!-- constant Visibility: default -->
  5532. <element name="TimeSeparator">
  5533. <short>Time separator character.</short>
  5534. <descr>
  5535. <var>TimeSeparator</var> is used by the time formatting routines to separate
  5536. the hours from the minutes and the minutes from the seconds.
  5537. It is used by the time formatting routines.
  5538. This constant is initialized by the initialization routines of the <file>SysUtils</file> unit.
  5539. </descr>
  5540. <seealso>
  5541. <link id="ShortTimeFormat"/>
  5542. <link id="FormatDateTime"/>
  5543. <link id="LongTimeFormat"/>
  5544. <link id="TimeAMString"/>
  5545. <link id="TimePMString"/>
  5546. </seealso>
  5547. </element>
  5548. <!-- constant Visibility: default -->
  5549. <element name="TimeAMString">
  5550. <short>AM indicator string.</short>
  5551. <descr>
  5552. <var>TimeAMString</var> is used to display the AM symbol in the time
  5553. formatting routines.
  5554. It is used by the time formatting routines.
  5555. This constant is initialized by the initialization routines of the <file>SysUtils</file> unit.</descr>
  5556. <errors>
  5557. </errors>
  5558. <seealso>
  5559. <link id="ShortTimeFormat"/>
  5560. <link id="FormatDateTime"/>
  5561. <link id="LongTimeFormat"/>
  5562. <link id="TimePMString"/>
  5563. </seealso>
  5564. </element>
  5565. <!-- constant Visibility: default -->
  5566. <element name="TimePMString">
  5567. <short>PM indicator string.</short>
  5568. <descr>
  5569. <var>TimePMString</var> is used to display the PM symbol in the time
  5570. formatting routines.
  5571. It is used by the time formatting routines.
  5572. This constant is initialized by the initialization routines of the <file>SysUtils</file> unit.
  5573. </descr>
  5574. <seealso>
  5575. <link id="ShortTimeFormat"/>
  5576. <link id="FormatDateTime"/>
  5577. <link id="LongTimeFormat"/>
  5578. <link id="TimeAMString"/>
  5579. </seealso>
  5580. </element>
  5581. <!-- constant Visibility: default -->
  5582. <element name="DecimalSeparator">
  5583. <short>Decimal point separator.</short>
  5584. <descr>
  5585. <var>DecimalSeparator</var> is used to display the decimal symbol in
  5586. floating point numbers or currencies.
  5587. It is used by the float formatting routines.
  5588. This constant is initialized by the initialization routines of the
  5589. <file>SysUtils</file> unit.
  5590. </descr>
  5591. <seealso>
  5592. <link id="ThousandSeparator"/>
  5593. <link id="Format"/>
  5594. <link id="FormatFloat"/>
  5595. <link id="FloatToStr"/>
  5596. </seealso>
  5597. </element>
  5598. <!-- constant Visibility: default -->
  5599. <element name="ThousandSeparator">
  5600. <short>Thousand grouping character.</short>
  5601. <descr>
  5602. <var>ThousandSeparator</var> is used to separate groups of thousands in
  5603. floating point numbers or currencies. It is used by the float formatting routines.
  5604. This constant is initialized by the initialization routines of the
  5605. <file>SysUtils</file> unit.
  5606. </descr>
  5607. <seealso>
  5608. <link id="DecimalSeparator"/>
  5609. <link id="Format"/>
  5610. <link id="FormatFloat"/>
  5611. <link id="FloatToStr"/>
  5612. </seealso>
  5613. </element>
  5614. <!-- constant Visibility: default -->
  5615. <element name="CurrencyDecimals">
  5616. <short>Number of decimals in currency amounts.</short>
  5617. <descr>
  5618. <var>CurrencyDecimals</var> is the number of decimals to be used when
  5619. formatting a currency. It is used by the float formatting routines.
  5620. This constant is initialized by the initialization routines of the
  5621. <file>SysUtils</file> unit.
  5622. </descr>
  5623. <seealso>
  5624. <link id="Format"/>
  5625. <link id="DecimalSeparator"/>
  5626. </seealso>
  5627. </element>
  5628. <!-- constant Visibility: default -->
  5629. <element name="CurrencyFormat">
  5630. <short>Format string for currencies.</short>
  5631. <descr>
  5632. <var>CurrencyFormat</var> is the default format string for positive currencies.
  5633. It is used by the float formatting routines.
  5634. This constant is initialized by the initialization routines of the
  5635. <file>SysUtils</file> unit.
  5636. </descr>
  5637. <seealso>
  5638. <link id="CurrencyDecimals"/>
  5639. <link id="NegCurrFormat"/>
  5640. <link id="CurrencyString"/>
  5641. <link id="Format"/>
  5642. <link id="FloatToText"/>
  5643. </seealso>
  5644. </element>
  5645. <!-- constant Visibility: default -->
  5646. <element name="NegCurrFormat">
  5647. <short>Format string for negative currencies.</short>
  5648. <descr>
  5649. <var>CurrencyFormat</var> is the default format string for negative currencies.
  5650. It is used by the float formatting routines.
  5651. This constant is initialized by the initialization routines of the
  5652. <file>SysUtils</file> unit.
  5653. </descr>
  5654. <seealso>
  5655. <link id="CurrencyDecimals"/>
  5656. <link id="CurrencyFormat"/>
  5657. <link id="CurrencyString"/>
  5658. <link id="Format"/>
  5659. <link id="FloatToText"/>
  5660. </seealso>
  5661. </element>
  5662. <!-- constant Visibility: default -->
  5663. <element name="CurrencyString">
  5664. <short>Name of currency.</short>
  5665. <descr>
  5666. <var>CurrencyString</var> is the currency symbol for the current locale.
  5667. It is used by the float formatting routines.
  5668. This constant is initialized by the initialization routines of the
  5669. <file>SysUtils</file> unit.
  5670. </descr>
  5671. <seealso>
  5672. <link id="CurrencyDecimals"/>
  5673. <link id="NegCurrFormat"/>
  5674. <link id="CurrencyFormat"/>
  5675. <link id="Format"/>
  5676. <link id="FloatToText"/>
  5677. </seealso>
  5678. </element>
  5679. <!-- function Visibility: default -->
  5680. <element name="strlen">
  5681. <short>Length of a null-terminated string.</short>
  5682. <descr>
  5683. Returns the length of the null-terminated string <var>P</var>.
  5684. </descr>
  5685. <errors>
  5686. None.
  5687. </errors>
  5688. <seealso>
  5689. <link id="StrNew"/>
  5690. </seealso>
  5691. <example file="stringex/ex1"/>
  5692. </element>
  5693. <!-- function Visibility: default -->
  5694. <element name="strcopy">
  5695. <short>Copy a null-terminated string</short>
  5696. <descr>
  5697. Copy the null terminated string in <var>Source</var> to <var>Dest</var>, and
  5698. returns a pointer to <var>Dest</var>. <var>Dest</var> needs enough room to contain
  5699. <var>Source</var>, i.e. <var>StrLen(Source)+1</var> bytes.
  5700. </descr>
  5701. <errors>
  5702. No length checking is performed.
  5703. </errors>
  5704. <seealso>
  5705. <link id="StrPCopy"/>
  5706. <link id="StrLCopy"/>
  5707. <link id="StrECopy"/>
  5708. </seealso>
  5709. <example file="stringex/ex4"/>
  5710. </element>
  5711. <!-- function Visibility: default -->
  5712. <element name="strlcopy">
  5713. <short>Copy a null-terminated string, limited in length.</short>
  5714. <descr>
  5715. Copies <var>MaxLen</var> characters from <var>Source</var> to <var>Dest</var>, and makes
  5716. <var>Dest</var> a null terminated string.
  5717. </descr>
  5718. <errors>
  5719. No length checking is performed.
  5720. </errors>
  5721. <seealso>
  5722. <link id="StrCopy"/>
  5723. <link id="StrECopy"/>
  5724. </seealso>
  5725. <example file="stringex/ex5"/>
  5726. </element>
  5727. <!-- function Visibility: default -->
  5728. <element name="strecopy">
  5729. <short>Copy a null-terminated string, return a pointer to the end.</short>
  5730. <descr>
  5731. Copies the Null-terminated string in <var>Source</var> to <var>Dest</var>, and
  5732. returns a pointer to the end (i.e. the terminating Null-character) of the
  5733. copied string.
  5734. </descr>
  5735. <errors>
  5736. No length checking is performed.
  5737. </errors>
  5738. <seealso>
  5739. <link id="StrLCopy"/>
  5740. <link id="StrCopy"/>
  5741. </seealso>
  5742. <example file="stringex/ex6"/>
  5743. </element>
  5744. <!-- function Visibility: default -->
  5745. <element name="strend">
  5746. <short>Return a pointer to the end of a null-terminated string</short>
  5747. <descr>
  5748. Returns a pointer to the end of <var>P</var>. (i.e. to the terminating
  5749. null-character.
  5750. </descr>
  5751. <errors>
  5752. None.
  5753. </errors>
  5754. <seealso>
  5755. <link id="StrLen"/>
  5756. </seealso>
  5757. <example file="stringex/ex7"/>
  5758. </element>
  5759. <!-- function Visibility: default -->
  5760. <element name="strcat">
  5761. <short>Concatenate 2 null-terminated strings.</short>
  5762. <descr>
  5763. Attaches <var>Source</var> to <var>Dest</var> and returns <var>Dest</var>.
  5764. </descr>
  5765. <errors>
  5766. No length checking is performed.
  5767. </errors>
  5768. <seealso>
  5769. <link id="StrLCat"/>
  5770. </seealso>
  5771. <example file="stringex/ex11"/>
  5772. </element>
  5773. <!-- function Visibility: default -->
  5774. <element name="strcomp">
  5775. <short>Compare 2 null-terminated strings, case sensitive.</short>
  5776. <descr>
  5777. <p>
  5778. Compares the null-terminated strings <var>S1</var> and <var>S2</var>.
  5779. The result is
  5780. </p>
  5781. <ul>
  5782. <li> A negative <var>Longint</var> when <var>S1&lt;S2</var>.
  5783. </li>
  5784. <li> 0 when <var>S1=S2</var>.
  5785. </li>
  5786. <li> A positive <var>Longint</var> when <var>S1&gt;S2</var>.
  5787. </li>
  5788. </ul>
  5789. <p>
  5790. For an example, see <link id="StrLComp"/>.
  5791. </p>
  5792. </descr>
  5793. <errors>
  5794. None.
  5795. </errors>
  5796. <seealso>
  5797. <link id="StrLComp"/>
  5798. <link id="StrIComp"/>
  5799. <link id="StrLIComp"/>
  5800. </seealso>
  5801. </element>
  5802. <!-- function Visibility: default -->
  5803. <element name="strlcomp">
  5804. <short>Compare limited number of characters of 2 null-terminated strings </short>
  5805. <descr>
  5806. <p>
  5807. Compares maximum <var>L</var> characters of the null-terminated strings
  5808. <var>S1</var> and <var>S2</var>.
  5809. The result is
  5810. </p>
  5811. <ul>
  5812. <li> A negative <var>Longint</var> when <var>S1&lt;S2</var>.
  5813. </li>
  5814. <li> 0 when <var>S1=S2</var>.
  5815. </li>
  5816. <li> A positive <var>Longint</var> when <var>S1&gt;S2</var>.
  5817. </li>
  5818. </ul>
  5819. </descr>
  5820. <errors>
  5821. None.
  5822. </errors>
  5823. <seealso>
  5824. <link id="StrComp"/>
  5825. <link id="StrIComp"/>
  5826. <link id="StrLIComp"/>
  5827. </seealso>
  5828. <example file="stringex/ex8"/>
  5829. </element>
  5830. <!-- function Visibility: default -->
  5831. <element name="stricomp">
  5832. <short>Compare 2 null-terminated strings, case insensitive.</short>
  5833. <descr>
  5834. <p>
  5835. Compares the null-terminated strings <var>S1</var> and <var>S2</var>, ignoring case.
  5836. The result is
  5837. </p>
  5838. <ul>
  5839. <li> A negative <var>Longint</var> when <var>S1&lt;S2</var>.
  5840. </li>
  5841. <li> 0 when <var>S1=S2</var>.
  5842. </li>
  5843. <li> A positive <var>Longint</var> when <var>S1&gt;S2</var>.
  5844. </li>
  5845. </ul>
  5846. </descr>
  5847. <errors>
  5848. None.
  5849. </errors>
  5850. <seealso>
  5851. <link id="StrLComp"/>
  5852. <link id="StrComp"/>
  5853. <link id="StrLIComp"/>
  5854. </seealso>
  5855. <example file="stringex/ex8"/>
  5856. </element>
  5857. <!-- function Visibility: default -->
  5858. <element name="strmove">
  5859. <short>Move a null-terminated string to new location.</short>
  5860. <descr>
  5861. Copies <var>MaxLen</var> characters from <var>Source</var> to <var>Dest</var>. No
  5862. terminating null-character is copied.
  5863. Returns <var>Dest</var>
  5864. </descr>
  5865. <errors>
  5866. None.
  5867. </errors>
  5868. <seealso>
  5869. <link id="StrLCopy"/>
  5870. <link id="StrCopy"/>
  5871. </seealso>
  5872. <example file="stringex/ex10"/>
  5873. </element>
  5874. <!-- function Visibility: default -->
  5875. <element name="strlcat">
  5876. <short>Concatenate 2 null-terminated strings, with length boundary.</short>
  5877. <descr>
  5878. Adds <var>MaxLen</var> characters from <var>Source</var> to <var>Dest</var>, and adds a
  5879. terminating null-character. Returns <var>Dest</var>.
  5880. </descr>
  5881. <errors>
  5882. None.
  5883. </errors>
  5884. <seealso>
  5885. <link id="StrCat"/>
  5886. </seealso>
  5887. <example file="stringex/ex12"/>
  5888. </element>
  5889. <!-- function Visibility: default -->
  5890. <element name="strscan">
  5891. <short>Find first occurrence of a character in a null-terminated string.</short>
  5892. <descr>
  5893. Returns a pointer to the first occurrence of the character <var>C</var> in the
  5894. null-terminated string <var>P</var>. If <var>C</var> does not occur, returns
  5895. <var>Nil</var>.
  5896. </descr>
  5897. <errors>
  5898. None.
  5899. </errors>
  5900. <seealso>
  5901. <link id="StrRScan"/>
  5902. <link id="StrPos"/>
  5903. </seealso>
  5904. <example file="stringex/ex13"/>
  5905. </element>
  5906. <!-- function Visibility: default -->
  5907. <element name="strrscan">
  5908. <short>Find last occurrence of a character in a null-terminated string.</short>
  5909. <descr>
  5910. <p>
  5911. Returns a pointer to the last occurrence of the character <var>C</var> in the
  5912. null-terminated string <var>P</var>. If <var>C</var> does not occur, returns
  5913. <var>Nil</var>.
  5914. </p>
  5915. <p>
  5916. For an example, see <link id="StrScan"/>.
  5917. </p>
  5918. </descr>
  5919. <errors>
  5920. None.
  5921. </errors>
  5922. <seealso>
  5923. <link id="StrScan"/>
  5924. <link id="StrPos"/>
  5925. </seealso>
  5926. </element>
  5927. <!-- function Visibility: default -->
  5928. <element name="strlower">
  5929. <short>Convert null-terminated string to all-lowercase.</short>
  5930. <descr>
  5931. Converts <var>P</var> to an all-lowercase string. Returns <var>P</var>.
  5932. </descr>
  5933. <errors>
  5934. None.
  5935. </errors>
  5936. <seealso>
  5937. <link id="StrUpper"/>
  5938. </seealso>
  5939. <example file="stringex/ex14"/>
  5940. </element>
  5941. <!-- function Visibility: default -->
  5942. <element name="strupper">
  5943. <short>Convert null-terminated string to all-uppercase</short>
  5944. <descr>
  5945. <p>
  5946. Converts <var>P</var> to an all-uppercase string. Returns <var>P</var>.
  5947. </p>
  5948. <p>
  5949. For an example, see <link id="StrLower"/>
  5950. </p>
  5951. </descr>
  5952. <errors>
  5953. None.
  5954. </errors>
  5955. <seealso>
  5956. <link id="StrLower"/>
  5957. </seealso>
  5958. </element>
  5959. <!-- function Visibility: default -->
  5960. <element name="strlicomp">
  5961. <short>Compare limited number of characters in 2 null-terminated strings,
  5962. ignoring case.</short>
  5963. <descr>
  5964. <p>
  5965. Compares maximum <var>L</var> characters of the null-terminated strings <var>S1</var>
  5966. and <var>S2</var>, ignoring case.
  5967. The result is
  5968. </p>
  5969. <ul>
  5970. <li> A negative <var>Longint</var> when <var>S1&lt;S2</var>.
  5971. </li>
  5972. <li> 0 when <var>S1=S2</var>.
  5973. </li>
  5974. <li> A positive <var>Longint</var> when <var>S1&gt;S2</var>.
  5975. </li>
  5976. </ul>
  5977. <p>
  5978. For an example, see <link id="StrIComp"/>
  5979. </p>
  5980. </descr>
  5981. <errors>
  5982. None.
  5983. </errors>
  5984. <seealso>
  5985. <link id="StrLComp"/>
  5986. <link id="StrComp"/>
  5987. <link id="StrIComp"/>
  5988. </seealso>
  5989. </element>
  5990. <!-- function Visibility: default -->
  5991. <element name="strpos">
  5992. <short>Find position of one null-terminated substring in another.</short>
  5993. <descr>
  5994. Returns a pointer to the first occurrence of <var>S2</var> in <var>S1</var>.
  5995. If <var>S2</var> does not occur in <var>S1</var>, returns <var>Nil</var>.
  5996. </descr>
  5997. <errors>
  5998. None.
  5999. </errors>
  6000. <seealso>
  6001. <link id="StrScan"/>
  6002. <link id="StrRScan"/>
  6003. </seealso>
  6004. <example file="stringex/ex15"/>
  6005. </element>
  6006. <!-- function Visibility: default -->
  6007. <element name="strnew">
  6008. <short>Allocate room for new null-terminated string.</short>
  6009. <descr>
  6010. Copies <var>P</var> to the Heap, and returns a pointer to the copy.
  6011. </descr>
  6012. <errors>
  6013. Returns <var>Nil</var> if no memory was available for the copy.
  6014. </errors>
  6015. <seealso>
  6016. <link id="StrCopy"/>
  6017. <link id="StrDispose"/>
  6018. </seealso>
  6019. <example file="stringex/ex16"/>
  6020. </element>
  6021. <!-- function Visibility: default -->
  6022. <element name="AnsiCompareFileName">
  6023. <short>Compare 2 filenames.</short>
  6024. <descr>
  6025. <p>
  6026. <var>AnsiCompareFileName</var> compares 2 filenames <var>S1</var> and
  6027. <var>S2</var>, and returns
  6028. </p>
  6029. <dl>
  6030. <dt>&lt; 0</dt>
  6031. <dd>if <var>S1</var>&lt;<var>S2</var>. </dd>
  6032. <dt>= 0</dt> <dd>if <var>S1=S2</var>. </dd>
  6033. <dt>&gt; 0</dt>
  6034. <dd>if <var>S1</var>&gt;<var>S2</var>. </dd>
  6035. </dl>
  6036. <p>
  6037. The function actually checks <var>FileNameCaseSensitive</var> and returns
  6038. the result of <link id="AnsiCompareStr"/> or <link id="AnsiCompareText"/>
  6039. depending on whether <var>FileNameCaseSensitive</var> is <var>True</var> or
  6040. <var>False</var>
  6041. </p>
  6042. </descr>
  6043. <errors>
  6044. None.
  6045. </errors>
  6046. <seealso>
  6047. <link id="AnsiCompareStr"/>
  6048. <link id="AnsiCompareText"/>
  6049. <link id="AnsiLowerCaseFileName"/>
  6050. </seealso>
  6051. </element>
  6052. <!-- function Visibility: default -->
  6053. <element name="AnsiLowerCaseFileName">
  6054. <short>Convert filename to lowercase.</short>
  6055. <descr>
  6056. <p>
  6057. <var>AnsiLowerCaseFileName</var> simply returns the result of
  6058. </p>
  6059. <code>
  6060. AnsiLowerCase(S);
  6061. </code>
  6062. </descr>
  6063. <seealso>
  6064. <link id="AnsiLowerCase"/>
  6065. <link id="AnsiCompareFileName"/>
  6066. <link id="AnsiUpperCaseFileName"/>
  6067. </seealso>
  6068. </element>
  6069. <!-- function Visibility: default -->
  6070. <element name="AnsiUpperCaseFileName">
  6071. <short>Convert filename to uppercase.</short>
  6072. <descr>
  6073. <p>
  6074. <var>AnsiUpperCaseFileName</var> simply returns the result of
  6075. </p>
  6076. <code>
  6077. AnsiUpperCase(S);
  6078. </code>
  6079. </descr>
  6080. <seealso>
  6081. <link id="AnsiUpperCase"/>
  6082. <link id="AnsiCompareFileName"/>
  6083. <link id="AnsiLowerCaseFileName"/>
  6084. </seealso>
  6085. </element>
  6086. <!-- function Visibility: default -->
  6087. <element name="AnsiPos">
  6088. <short>Return Position of one ansistring in another.</short>
  6089. <descr>
  6090. <var>AnsiPos</var> does the same as the standard <var>Pos</var> function.
  6091. </descr>
  6092. <seealso>
  6093. <link id="AnsiStrPos"/>
  6094. <link id="AnsiStrScan"/>
  6095. <link id="AnsiStrRScan"/>
  6096. </seealso>
  6097. </element>
  6098. <!-- function Visibility: default -->
  6099. <element name="AnsiStrPos">
  6100. <short>Return position of one null-terminated substring in another</short>
  6101. <descr>
  6102. <var>AnsiStrPos</var> returns a pointer to the first occurrence of
  6103. <var>SubStr</var> in <var>Str</var>. If <var>SubStr</var> does not occur in
  6104. <var>Str</var> then <var>Nil</var> is returned.
  6105. </descr>
  6106. <errors>
  6107. An access violation may occur if either <var>Str</var> or <var>SubStr</var>
  6108. point to invalid memory.
  6109. </errors>
  6110. <seealso>
  6111. <link id="AnsiPos"/>
  6112. <link id="AnsiStrScan"/>
  6113. <link id="AnsiStrRScan"/>
  6114. </seealso>
  6115. </element>
  6116. <!-- function Visibility: default -->
  6117. <element name="AnsiStrRScan">
  6118. <short>Find last occurrence of a character in a null-terminated string.</short>
  6119. <descr>
  6120. <var>AnsiStrPos</var> returns a pointer to the <em>last</em> occurrence of
  6121. the character <var>Chr</var> in <var>Str</var>. If <var>Chr</var> does not occur in
  6122. <var>Str</var> then <var>Nil</var> is returned.
  6123. </descr>
  6124. <errors>
  6125. An access violation may occur if <var>Str</var> points to invalid memory.
  6126. </errors>
  6127. <seealso>
  6128. <link id="AnsiPos"/>
  6129. <link id="AnsiStrScan"/>
  6130. <link id="AnsiStrPos"/>
  6131. </seealso>
  6132. </element>
  6133. <!-- function Visibility: default -->
  6134. <element name="AnsiStrScan">
  6135. <short>Find first occurrence of a character in a null-terminated string.</short>
  6136. <descr>
  6137. <var>AnsiStrPos</var> returns a pointer to the <em>first</em> occurrence of
  6138. the character <var>Chr</var> in <var>Str</var>. If <var>Chr</var> does not occur in
  6139. <var>Str</var> then <var>Nil</var> is returned.
  6140. </descr>
  6141. <errors>
  6142. An access violation may occur if <var>Str</var> points to invalid memory.
  6143. </errors>
  6144. <seealso>
  6145. <link id="AnsiPos"/>
  6146. <link id="AnsiStrScan"/>
  6147. <link id="AnsiStrPos"/>
  6148. </seealso>
  6149. </element>
  6150. <!-- constant Visibility: default -->
  6151. <element name="DirSeparators">
  6152. <short>Characters that are known directory separators.</short>
  6153. <descr>
  6154. <var>DirSeparators</var> is a set of characters which are known directory
  6155. separator characters on all supported platforms. This set is used by the
  6156. <link id="SetDirSeparators"/> call to correct pathnames for the current
  6157. platform.
  6158. </descr>
  6159. <seealso>
  6160. <link id="DoDirSeparators"/>
  6161. <link id="SetDirSeparators"/>
  6162. </seealso>
  6163. </element>
  6164. <!-- function Visibility: default -->
  6165. <element name="IncludeTrailingPathDelimiter">
  6166. <short>Add trailing directory separator to a pathname, if needed.</short>
  6167. <descr>
  6168. <var>IncludeTrailingPathDelimiter</var> adds a trailing path delimiter
  6169. character (<link id="PathDelim"/>) to <var>Path</var> if none is present
  6170. yet, and returns the result. If <var>Path</var> is empty, nothing is added.
  6171. </descr>
  6172. <seealso>
  6173. <link id="IncludeTrailingBackslash"/>
  6174. <link id="ExcludeTrailingPathDelimiter"/>
  6175. <link id="PathDelim"/>
  6176. <link id="IsPathDelimiter"/>
  6177. </seealso>
  6178. </element>
  6179. <!-- function Visibility: default -->
  6180. <element name="IncludeTrailingBackslash">
  6181. <short>Add trailing directory separator to a pathname, if needed.</short>
  6182. <descr>
  6183. <var>IncludeTrailingBackslash</var> is provided for backwards compatibility
  6184. with Delphi. Use <link id="IncludeTrailingPathDelimiter"/> instead.
  6185. </descr>
  6186. <seealso>
  6187. <link id="IncludeTrailingPathDelimiter"/>
  6188. <link id="ExcludeTrailingPathDelimiter"/>
  6189. <link id="PathDelim"/>
  6190. <link id="IsPathDelimiter"/>
  6191. </seealso>
  6192. </element>
  6193. <!-- function Visibility: default -->
  6194. <element name="ExcludeTrailingPathDelimiter">
  6195. <short>Strip trailing directory separator from a pathname, if needed.</short>
  6196. <descr>
  6197. <var>ExcludeTrailingPathDelimiter</var> removes the trailing path delimiter
  6198. character (<link id="PathDelim"/>) from <var>Path</var> if it is present,
  6199. and returns the result.
  6200. </descr>
  6201. <seealso>
  6202. <link id="ExcludeTrailingBackslash"/>
  6203. <link id="IncludeTrailingPathDelimiter"/>
  6204. <link id="PathDelim"/>
  6205. <link id="IsPathDelimiter"/>
  6206. </seealso>
  6207. </element>
  6208. <!-- function Visibility: default -->
  6209. <element name="ExcludeTrailingBackSlash">
  6210. <short>Strip trailing directory separator from a pathname, if needed.</short>
  6211. <descr>
  6212. <var>ExcludeTrailingBackslash</var> is provided for backwards compatibility
  6213. with Delphi. Use <link id="ExcludeTrailingPathDelimiter"/> instead.
  6214. </descr>
  6215. <seealso>
  6216. <link id="IncludeTrailingPathDelimiter"/>
  6217. <link id="ExcludeTrailingPathDelimiter"/>
  6218. <link id="PathDelim"/>
  6219. <link id="IsPathDelimiter"/>
  6220. </seealso>
  6221. </element>
  6222. <!-- function Visibility: default -->
  6223. <element name="IsPathDelimiter">
  6224. <short>Is the character at the given position a pathdelimiter ?</short>
  6225. <descr>
  6226. <var>IsPathDelimiter</var> returns <var>True</var> if the character at
  6227. position <var>Index</var> equals <link id="PathDelim"/>, i.e. if it is a
  6228. path delimiter character for the current platform.
  6229. </descr>
  6230. <errors>
  6231. <link id="IncludeTrailingPathDelimiter"/>
  6232. <link id="ExcludeTrailingPathDelimiter"/>
  6233. <link id="PathDelim"/>
  6234. </errors>
  6235. <seealso>
  6236. </seealso>
  6237. </element>
  6238. <!-- function Visibility: default -->
  6239. <element name="SameFileName">
  6240. <short>Are two filenames referring to the same file ?</short>
  6241. <descr>
  6242. <var>SameFileName</var> returns <var>True</var> if calling <link
  6243. id="AnsiCompareFileName"/> with arguments <var>S1</var> and <var>S2</var>
  6244. returns 0, and returns <var>False</var> otherwise.
  6245. </descr>
  6246. <errors>
  6247. None.
  6248. </errors>
  6249. <seealso>
  6250. <link id="AnsiCompareFileName"/>
  6251. </seealso>
  6252. </element>
  6253. <!-- record type Visibility: default -->
  6254. <element name="TSearchRec">
  6255. <short>Record describing a search handle or result </short>
  6256. <descr>
  6257. <p>
  6258. <var>TSearchRec</var> is a search handle description record. It is
  6259. initialized by a call to <link id="FindFirst"/> and can be used to do
  6260. subsequent calls to <link id="FindNext"/>. It contains the result of these
  6261. function calls. It must be used to close the search sequence with a call to
  6262. <link id="FindClose"/>.
  6263. </p>
  6264. <remark>
  6265. Not all fields of this record should be used. Some of the fields are for
  6266. internal use only.
  6267. </remark>
  6268. </descr>
  6269. <seealso>
  6270. <link id="FindFirst"/>
  6271. <link id="FindNext"/>
  6272. <link id="FindClose"/>
  6273. </seealso>
  6274. </element>
  6275. <!-- variable Visibility: default -->
  6276. <element name="TSearchRec.Time">
  6277. <short>Timestamp of the file.</short>
  6278. </element>
  6279. <!-- variable Visibility: default -->
  6280. <element name="TSearchRec.Size">
  6281. <short>Size of the file.</short>
  6282. </element>
  6283. <!-- variable Visibility: default -->
  6284. <element name="TSearchRec.Attr">
  6285. <short>Attributes of the file.</short>
  6286. </element>
  6287. <!-- variable Visibility: default -->
  6288. <element name="TSearchRec.Name">
  6289. <short>File name (no directory part)</short>
  6290. </element>
  6291. <!-- variable Visibility: default -->
  6292. <element name="TSearchRec.ExcludeAttr">
  6293. <short>Attributes to exclude from search (do not use).</short>
  6294. </element>
  6295. <!-- variable Visibility: default -->
  6296. <element name="TSearchRec.FindHandle">
  6297. <short>Internal OS handle (do not use).</short>
  6298. </element>
  6299. <!-- constant Visibility: default -->
  6300. <element name="faReadOnly">
  6301. <short>Read-Only file.</short>
  6302. <descr>
  6303. Attribute of a file, meaning the file is read-only.
  6304. Used in <link id="TSearchRec"/> and <link id="FindFirst"/>
  6305. </descr>
  6306. <seealso>
  6307. <link id="TSearchRec"/>
  6308. <link id="FindFirst"/>
  6309. </seealso>
  6310. </element>
  6311. <!-- constant Visibility: default -->
  6312. <element name="faHidden">
  6313. <short>Hidden file.</short>
  6314. <descr>Attribute of a file, meaning the file is hidden. On unix, this means
  6315. the filename starts with a dot character.</descr>
  6316. <descr>
  6317. Attribute of a file, meaning the file is read-only.
  6318. Used in <link id="TSearchRec"/> and <link id="FindFirst"/>
  6319. </descr>
  6320. <seealso>
  6321. <link id="TSearchRec"/>
  6322. <link id="FindFirst"/>
  6323. </seealso>
  6324. </element>
  6325. <!-- constant Visibility: default -->
  6326. <element name="faSysFile">
  6327. <short>System file (Dos/Windows only)</short>
  6328. <descr>
  6329. Attribute of a file, meaning the file is a system file.
  6330. Used in <link id="TSearchRec"/> and <link id="FindFirst"/>
  6331. </descr>
  6332. <seealso>
  6333. <link id="TSearchRec"/>
  6334. <link id="FindFirst"/>
  6335. </seealso>
  6336. </element>
  6337. <!-- constant Visibility: default -->
  6338. <element name="faVolumeId">
  6339. <short>Volume id (Dos/Windows only)</short>
  6340. <descr>
  6341. Attribute of a file, meaning the file contains the volume ID.
  6342. Used in <link id="TSearchRec"/> and <link id="FindFirst"/>
  6343. </descr>
  6344. <seealso>
  6345. <link id="TSearchRec"/>
  6346. <link id="FindFirst"/>
  6347. </seealso>
  6348. </element>
  6349. <!-- constant Visibility: default -->
  6350. <element name="faDirectory">
  6351. <short>File is a directory</short>
  6352. <descr>
  6353. Attribute of a file, meaning the file is a directory.
  6354. Used in <link id="TSearchRec"/> and <link id="FindFirst"/>
  6355. </descr>
  6356. <seealso>
  6357. <link id="TSearchRec"/>
  6358. <link id="FindFirst"/>
  6359. </seealso>
  6360. </element>
  6361. <!-- constant Visibility: default -->
  6362. <element name="faArchive">
  6363. <short>Archive bit is set</short>
  6364. <descr>
  6365. Attribute of a file, meaning the file has the archive bit set.
  6366. Used in <link id="TSearchRec"/> and <link id="FindFirst"/>
  6367. </descr>
  6368. <seealso>
  6369. <link id="TSearchRec"/>
  6370. <link id="FindFirst"/>
  6371. </seealso>
  6372. </element>
  6373. <!-- constant Visibility: default -->
  6374. <element name="faAnyFile">
  6375. <short>Match any file</short>
  6376. <descr>
  6377. Use this attribute in the <link id="FindFirst"/> call to find all matching
  6378. files.
  6379. </descr>
  6380. <seealso>
  6381. <link id="FindFirst"/>
  6382. </seealso>
  6383. </element>
  6384. <!-- constant Visibility: default -->
  6385. <element name="fmOpenRead">
  6386. <short>Open file in read-only mode</short>
  6387. <descr>
  6388. <var>fmOpenRead</var> is used in the <link id="FileOpen"/> call to open a
  6389. file in read-only mode.
  6390. </descr>
  6391. <seealso>
  6392. <link id="FileOpen"/>
  6393. </seealso>
  6394. </element>
  6395. <!-- constant Visibility: default -->
  6396. <element name="fmOpenWrite">
  6397. <short>Open file in write-only mode</short>
  6398. <descr>
  6399. <var>fmOpenWrite</var> is used in the <link id="FileOpen"/> call to open a
  6400. file in write-only mode.
  6401. </descr>
  6402. <seealso>
  6403. <link id="FileOpen"/>
  6404. </seealso>
  6405. </element>
  6406. <!-- constant Visibility: default -->
  6407. <element name="fmOpenReadWrite">
  6408. <short>Open file in read/write mode.</short>
  6409. <descr>
  6410. <var>fmOpenReadWrite</var> is used in the <link id="FileOpen"/> call to open a
  6411. file in read-write mode.
  6412. </descr>
  6413. <seealso>
  6414. <link id="FileOpen"/>
  6415. </seealso>
  6416. </element>
  6417. <!-- constant Visibility: default -->
  6418. <element name="fmShareCompat">
  6419. <short>Open file in DOS share-compatibility mode</short>
  6420. <descr>
  6421. <var>fmOpenShareCompat</var> is used in the <link id="FileOpen"/> call
  6422. OR-ed together with one of <link id="fmOpenReadWrite"/>, <link
  6423. id="fmOpenRead"/> or <link id="fmOpenWrite"/>,to open a
  6424. file in a sharing modus that is equivalent to sharing implemented in MS-DOS.
  6425. </descr>
  6426. <seealso>
  6427. <link id="FileOpen"/>
  6428. </seealso>
  6429. </element>
  6430. <!-- constant Visibility: default -->
  6431. <element name="fmShareExclusive">
  6432. <short>Lock file for exclusive use</short>
  6433. <descr>
  6434. <var>fmOpenShareExclusive</var> is used in the <link id="FileOpen"/> call
  6435. OR-ed together with one of <link id="fmOpenReadWrite"/>, <link
  6436. id="fmOpenRead"/> or <link id="fmOpenWrite"/>, to open a
  6437. file exclusively.
  6438. </descr>
  6439. <seealso>
  6440. <link id="FileOpen"/>
  6441. </seealso>
  6442. </element>
  6443. <!-- constant Visibility: default -->
  6444. <element name="fmShareDenyWrite">
  6445. <short>Lock file so other processes can only read.</short>
  6446. <descr>
  6447. <var>fmOpenShareExclusive</var> is used in the <link id="FileOpen"/> call
  6448. OR-ed together with one of <link id="fmOpenReadWrite"/>, <link
  6449. id="fmOpenRead"/> or <link id="fmOpenWrite"/>, to open a
  6450. file exclusively.
  6451. </descr>
  6452. <seealso>
  6453. <link id="FileOpen"/>
  6454. </seealso>
  6455. </element>
  6456. <!-- constant Visibility: default -->
  6457. <element name="fmShareDenyRead">
  6458. <short>Lock file so other processes cannot read.</short>
  6459. <descr>
  6460. <var>fmOpenShareExclusive</var> is used in the <link id="FileOpen"/> call
  6461. OR-ed together with one of <link id="fmOpenReadWrite"/>, <link
  6462. id="fmOpenRead"/> or <link id="fmOpenWrite"/>, to open a
  6463. file so other processes cannot read from it.
  6464. </descr>
  6465. <seealso>
  6466. <link id="FileOpen"/>
  6467. </seealso>
  6468. </element>
  6469. <!-- constant Visibility: default -->
  6470. <element name="fmShareDenyNone">
  6471. <short>Do not lock file.</short>
  6472. <descr>
  6473. <var>fmOpenShareExclusive</var> is used in the <link id="FileOpen"/> call
  6474. OR-ed together with one of <link id="fmOpenReadWrite"/>, <link
  6475. id="fmOpenRead"/> or <link id="fmOpenWrite"/>, to open a
  6476. file so other processes can read/write the file as well.
  6477. </descr>
  6478. <seealso>
  6479. <link id="FileOpen"/>
  6480. </seealso>
  6481. </element>
  6482. <!-- constant Visibility: default -->
  6483. <element name="fsFromBeginning">
  6484. <short>Start seek operation from beginning of file.</short>
  6485. <descr>
  6486. <var>fsFromBeginning</var> is used to indicate in the <link id="FileSeek"/>
  6487. call that a seek operation should be started at the start of the file.
  6488. </descr>
  6489. <seealso>
  6490. <link id="FileSeek"/>
  6491. </seealso>
  6492. </element>
  6493. <!-- constant Visibility: default -->
  6494. <element name="fsFromCurrent">
  6495. <short>Start seek operation from current position in file.</short>
  6496. <descr>
  6497. <var>fsFromBeginning</var> is used to indicate in the <link id="FileSeek"/>
  6498. call that a seek operation should be started at the current position in the file.
  6499. </descr>
  6500. <seealso>
  6501. <link id="FileSeek"/>
  6502. </seealso>
  6503. </element>
  6504. <!-- constant Visibility: default -->
  6505. <element name="fsFromEnd">
  6506. <short>Start seek operation from end of file.</short>
  6507. <descr>
  6508. <var>fsFromBeginning</var> is used to indicate in the <link id="FileSeek"/>
  6509. call that a seek operation should be started at the last position in the file.
  6510. </descr>
  6511. <seealso>
  6512. <link id="FileSeek"/>
  6513. </seealso>
  6514. </element>
  6515. <!-- function Visibility: default -->
  6516. <element name="DirectoryExists">
  6517. <short>Check whether a directory exists in the file system.</short>
  6518. <descr>
  6519. <var>DirectoryExists</var> checks whether <var>Directory</var> exists in the
  6520. filesystem and is actually a directory. If this is the case, the function
  6521. returns <var>True</var>, otherwise <var>False</var> is returned.
  6522. </descr>
  6523. <seealso>
  6524. <link id="FileExists"/>
  6525. </seealso>
  6526. </element>
  6527. <!-- function Visibility: default -->
  6528. <element name="FileIsReadOnly">
  6529. <short>Check whether a file is read-only.</short>
  6530. <descr>
  6531. <var>FileIsReadOnly</var> checks whether <var>FileName</var> exists in the
  6532. filesystem and is a read-only file. If this is the case, the function
  6533. returns <var>True</var>, otherwise <var>False</var> is returned.
  6534. </descr>
  6535. <seealso>
  6536. <link id="FileExists"/>
  6537. </seealso>
  6538. </element>
  6539. <!-- function Visibility: default -->
  6540. <element name="GetFileHandle">
  6541. <short>Extract OS handle from an untyped file or text file.</short>
  6542. <descr>
  6543. <var>GetFileHandle</var> returns the operating system handle for the file
  6544. descriptor <var>F</var>. It can be used in various file operations which are
  6545. not directly supported by the pascal language.
  6546. </descr>
  6547. </element>
  6548. <!-- function Visibility: default -->
  6549. <element name="InterLockedIncrement">
  6550. <short>Thread-safe integer increment.</short>
  6551. <descr>
  6552. <var>InterlockedIncrement</var> increments <var>Target</var> in a
  6553. thread-safe way, and returns the new value of <var>Target</var>
  6554. </descr>
  6555. <seealso>
  6556. <link id="InterlockedDecrement"/>
  6557. <link id="InterlockedExchange"/>
  6558. <link id="InterlockedExchangeAdd"/>
  6559. </seealso>
  6560. </element>
  6561. <!-- function Visibility: default -->
  6562. <element name="InterLockedDecrement">
  6563. <short>Thread-safe integer decrement</short>
  6564. <descr>
  6565. <var>InterlockedDecrement</var> decrements <var>Target</var> in a
  6566. thread-safe way, and returns the new value of <var>Target</var>
  6567. </descr>
  6568. <seealso>
  6569. <link id="InterlockedIncrement"/>
  6570. <link id="InterlockedExchange"/>
  6571. <link id="InterlockedExchangeAdd"/>
  6572. </seealso>
  6573. </element>
  6574. <!-- function Visibility: default -->
  6575. <element name="InterLockedExchange">
  6576. <short>Thread-safe exchange of 2 values.</short>
  6577. <descr>
  6578. <var>InterlockedDecrement</var> replaces <var>Target</var> with
  6579. <var>Source</var> in a thread-safe way, and returns the old value
  6580. of <var>Target</var>
  6581. </descr>
  6582. <seealso>
  6583. <link id="InterlockedIncrement"/>
  6584. <link id="InterlockedDecrement"/>
  6585. <link id="InterlockedExchange"/>
  6586. <link id="InterlockedExchangeAdd"/>
  6587. </seealso>
  6588. </element>
  6589. <!-- function Visibility: default -->
  6590. <element name="InterLockedExchangeAdd">
  6591. <short>Thread-safe exchange of 2 values</short>
  6592. <descr>
  6593. <var>InterlockedDecrement</var> adds to <var>Target</var> the value of
  6594. <var>Source</var> in a thread-safe way, and returns the old value
  6595. of <var>Target</var>
  6596. </descr>
  6597. <seealso>
  6598. <link id="InterlockedIncrement"/>
  6599. <link id="InterlockedDecrement"/>
  6600. <link id="InterlockedExchange"/>
  6601. </seealso>
  6602. </element>
  6603. <!-- procedure Visibility: default -->
  6604. <element name="FreeAndNil">
  6605. <short>Free object if needed, and set object reference to <var>Nil</var></short>
  6606. <descr>
  6607. <var>FreeAndNil</var> will free the object in <var>Obj</var> and will
  6608. set the reference in <var>Obj</var> to <var>Nil</var>. The reference is set
  6609. to <var>Nil</var> first, so if an exception occurs in the destructor of the
  6610. object, the reference will be <var>Nil</var> anyway.
  6611. </descr>
  6612. <errors>
  6613. Exceptions that occur during the destruction of <var>Obj</var> are not
  6614. caught.
  6615. </errors>
  6616. </element>
  6617. <element name="GetTempDir">
  6618. <short>Return name of system's temporary directory</short>
  6619. <descr>
  6620. <p>
  6621. <var>GetTempDir</var> returns the temporary directory of the system. If
  6622. <var>Global</var> is <var>True</var> (the default value) it returns the
  6623. system temporary directory, if it is <var>False</var> then a directory
  6624. private to the user is returned. The returned name will end with a
  6625. directory delimiter character.
  6626. </p>
  6627. <p>
  6628. These directories may be the same. No guarantee is made that this directory
  6629. exists or is writeable by the user.
  6630. </p>
  6631. <p>
  6632. The <link id="OnGetTempDir"/> handler may be set to provide custom handling
  6633. of this routine: One could implement callbacks which take into consideration
  6634. frameworks like KDE or GNOME, and return a different value from the default
  6635. system implementation.
  6636. </p>
  6637. </descr>
  6638. <errors>
  6639. On error, an empty string is returned.
  6640. </errors>
  6641. <seealso>
  6642. <link id="OnGetTempDir"/>
  6643. <link id="GetTempFileName"/>
  6644. </seealso>
  6645. </element>
  6646. <element name="GetTempFileName">
  6647. <short>Return the name of a temporary file.</short>
  6648. <descr>
  6649. <p>
  6650. <var>GetTempFileName</var> returns the name of a temporary file in directory
  6651. <var>Dir</var>. The name of the file starts with <var>Prefix</var>.
  6652. </p>
  6653. <p>
  6654. If <var>Dir</var> is empty, the value returned by <var>GetTempDir</var> is
  6655. used, and if <var>Prefix</var> is empty, 'TMP' is used.
  6656. </p>
  6657. <p>
  6658. The <link id="OnGetTempFile"/> handler may be set to provide custom handling
  6659. of this routine: One could implement callbacks which take into consideration
  6660. frameworks like KDE or GNOME, and return a different value from the default
  6661. system implementation.
  6662. </p>
  6663. </descr>
  6664. <errors>
  6665. On error, an empty string is returned.
  6666. </errors>
  6667. <seealso>
  6668. <link id="GetTempDir"/>
  6669. <link id="OnGetTempFile"/>
  6670. </seealso>
  6671. </element>
  6672. <element name="OnGetTempDir">
  6673. <short>Handler for <link id="#rtl.sysutils.GetTempDir">GetTempDir</link> function.</short>
  6674. <descr>
  6675. <var>OnGetTempDir</var> can be used to provide custom behaviour for the
  6676. <link id="GetTempDir"/> function. Note that the returned name should have a
  6677. trailing directory delimiter character.
  6678. </descr>
  6679. <seealso>
  6680. <link id="GetTempDir"/>
  6681. <link id="OnGetTempFile"/>
  6682. </seealso>
  6683. </element>
  6684. <element name="OnGetTempFile">
  6685. <short>Handler for <link id="#rtl.sysutils.GetTempFileName">GetTempFileName</link> function.</short>
  6686. <descr>
  6687. <var>OnGetTempDir</var> can be used to provide custom behaviour for the
  6688. <link id="GetTempFileName"/> function. Note that the values for
  6689. <var>Prefix</var> and <var>Dir</var> should be observed.
  6690. </descr>
  6691. <seealso>
  6692. <link id="OnGetTempDir"/>
  6693. <link id="GetTempFileName"/>
  6694. </seealso>
  6695. </element>
  6696. <element name="TGetTempDirEvent">
  6697. <short>Function prototype for <link id="#rtl.sysutils.OnGetTempDir">OnGetTempDir</link> handler.</short>
  6698. </element>
  6699. <element name="TGetTempFileEvent">
  6700. <short>Function prototype for <link id="#rtl.sysutils.OnGetTempFile">OnGetTempFile</link> handler.</short>
  6701. </element>
  6702. <element name="TLineEndStr">
  6703. <short>End-of-line string</short>
  6704. <descr>
  6705. <var>TLineEndStr</var> is used in the <link id="TextRec"/> record to
  6706. indicate the end-of-line sequence for a text file.
  6707. </descr>
  6708. </element>
  6709. </descr>
  6710. </element>
  6711. <element name="TSysLocale">
  6712. <short>Type describing the current locale</short>
  6713. <descr>
  6714. <var>TSysLocale</var> describes the current locale. If <var>Fareast</var> or
  6715. <var>MBCS</var> is <var>True</var>, then the current locale uses a
  6716. Multi-Byte Character Set. If <var>MiddleEast</var> or <var>RightToLeft</var>
  6717. is <var>True</var> then words and sentences are read from right to left.
  6718. </descr>
  6719. </element>
  6720. <element name="TSysLocale.FarEast">
  6721. <short>Multi-Byte Character Set used</short>
  6722. </element>
  6723. <element name="TSysLocale.MiddleEast">
  6724. <short>Reading direction is Right-to-left</short>
  6725. </element>
  6726. <element name="TSysLocale.MBCS">
  6727. <short>Multi-Byte Character Set used</short>
  6728. </element>
  6729. <element name="TSysLocale.RightToLeft">
  6730. <short>Reading direction is Right-to-left</short>
  6731. </element>
  6732. <element name="SysLocale">
  6733. <short>Variable with locale information</short>
  6734. <descr>
  6735. <var>SysLocale</var> is initialized by the initialization code of the
  6736. <file>SysUtils</file> unit. For an explanation of the fields, see <link
  6737. id="TSysLocale"/>
  6738. </descr>
  6739. <seealso>
  6740. <link id="TSysLocale"/>
  6741. </seealso>
  6742. </element>
  6743. <element name="ForceDirectories">
  6744. <short>Create a chain of directories</short>
  6745. <descr>
  6746. <var>ForceDirectories</var> tries to create any missing directories in
  6747. <var>Dir</var> till the whole path in <var>Dir</var> exists. It returns
  6748. <var>True</var> if <var>Dir</var> already existed or was created
  6749. succesfully. If it failed to create any of the parts, <var>False</var> is
  6750. returned.
  6751. </descr>
  6752. </element>
  6753. <element name="StrCharLength">
  6754. <short>Return the length of a null-terminated string in characters.</short>
  6755. <descr>
  6756. <var>StrCharLength</var> returns the length of the null-terminated string
  6757. <var>Str</var> (a widestring) in characters (not in bytes). It uses the
  6758. widestringmanager to do this.
  6759. </descr>
  6760. </element>
  6761. <element name="TryStrToFloat">
  6762. <short>Try to convert a string to a float.</short>
  6763. <descr>
  6764. <var>TryStrToFloat</var> tries to convert the string <var>S</var> to a
  6765. floating point value, and stores the result in <var>Value</var>. It returns
  6766. <var>True</var> if the operation was succesful, and <var>False</var> if it
  6767. failed. This operation takes into account the system settings for floating
  6768. point representations.
  6769. </descr>
  6770. <errors>
  6771. On error, -1 is returned.
  6772. </errors>
  6773. <seealso>
  6774. <link id="StrToFloat"/>
  6775. </seealso>
  6776. </element>
  6777. <element name="WideCompareStr">
  6778. <short>Compare two widestrings (case sensitive)</short>
  6779. <descr>
  6780. </descr>
  6781. </element>
  6782. <element name="WideCompareText">
  6783. <short>Compare two widestrings (ignoring case).</short>
  6784. <descr>
  6785. </descr>
  6786. </element>
  6787. <element name="WideFormat">
  6788. <short>Format a wide string.</short>
  6789. <descr>
  6790. </descr>
  6791. </element>
  6792. <element name="WideLowerCase">
  6793. <short>Change a widestring to all-lowercase.</short>
  6794. <descr>
  6795. </descr>
  6796. </element>
  6797. <element name="WideSameStr">
  6798. <short>Check whether two widestrings are the same (case sensitive)</short>
  6799. <descr>
  6800. </descr>
  6801. </element>
  6802. <element name="WideSameText">
  6803. <short>Check whether two widestrings are the same (ignoring case)</short>
  6804. <descr>
  6805. </descr>
  6806. </element>
  6807. <element name="WideUpperCase">
  6808. <short>Change a widestring to all-lowercase.</short>
  6809. <descr>
  6810. </descr>
  6811. </element>
  6812. <element name="WrapText">
  6813. <short></short>
  6814. <descr></descr>
  6815. </element>
  6816. </module>
  6817. </package>
  6818. </fpdoc-descriptions>