Lazarus
Home
Help
TinyPortal
Search
Login
Register
Lazarus
»
Forum
»
Free Pascal
»
General
(Moderators:
FPK
,
Tomas Hajny
) »
RPosEx param Offs has type Cardinal, why not SizeInt
Free Pascal
Website
Downloads
Wiki
Documentation
Bugtracker
Mailing List
Lazarus
Website
Downloads (Laz+FPC)
Packages (OPM)
FAQ
Wiki
Documentation (RTL/FCL/LCL)
Bugtracker
CCR Bugs
GIT
Mailing List
Other languages
Foundation
Website
Useful Wiki Links
Project Roadmap
Getting the Source
Screenshots
How to use the forum
Forum Rules
About donations (wiki)
Bookstore
Computer Math and Games in Pascal
(preview)
Lazarus Handbook
Search
Advanced search
Recent
embed .jpg file into .pp ...
by
Thaddy
[
Today
at 09:51:38 am]
AArch64. Fast method to c...
by
LemonParty
[
Today
at 09:47:20 am]
Call SetLength from assem...
by
Thaddy
[
Today
at 09:00:36 am]
Lazarus Main and Gnome/Wa...
by
robert rozee
[
Today
at 08:57:55 am]
Knigo
by
kirchfritz
[
Today
at 08:53:06 am]
TPlaysound problem Ubuntu...
by
jamie
[
Today
at 12:57:32 am]
Portable verion of FPC an...
by
Martin_fr
[
Today
at 12:26:26 am]
[New Component] ExtTabCtr...
by
d7_2_laz
[June 07, 2026, 11:42:02 pm]
Release ray4laz 6.0
by
lazarusprogrammer
[June 07, 2026, 08:02:14 pm]
Where is Lazarus config
by
n7800
[June 07, 2026, 07:49:03 pm]
Auto-vectorization hint/w...
by
Ten_Mile_Hike
[June 07, 2026, 07:31:42 pm]
Splitting Picture into Qu...
by
Dzandaa
[June 07, 2026, 06:16:22 pm]
Lazarus 4.99 - New featur...
by
Martin_fr
[June 07, 2026, 05:46:05 pm]
FPC Unleashed (inline var...
by
Thaddy
[June 07, 2026, 05:27:05 pm]
GDB 17 for Windows
by
Martin_fr
[June 07, 2026, 04:45:35 pm]
Hint not being shown
by
J-G
[June 07, 2026, 03:34:25 pm]
UnoLib - library in Pasca...
by
ackarwow
[June 07, 2026, 02:16:15 pm]
Very rough version of a s...
by
hedgehog
[June 07, 2026, 08:24:00 am]
water filling simulation
by
ADMGNS
[June 06, 2026, 09:54:50 pm]
Array of structure -> str...
by
Seenkao
[June 06, 2026, 09:44:44 pm]
TStringGrid Question
by
J-G
[June 06, 2026, 08:05:52 pm]
Benchmark: converting arr...
by
LemonParty
[June 06, 2026, 03:25:25 pm]
Read/Parse PDB file to ge...
by
marcov
[June 06, 2026, 02:48:12 pm]
[SOVLED]Curved text in La...
by
paweld
[June 06, 2026, 11:00:52 am]
Fast Canvas Library V1.05...
by
microxa
[June 06, 2026, 07:03:07 am]
« previous
next »
Print
Pages: [
1
]
Author
Topic: RPosEx param Offs has type Cardinal, why not SizeInt (Read 288 times)
AlexTP
Hero Member
Posts: 2713
RPosEx param Offs has type Cardinal, why not SizeInt
«
on:
January 29, 2026, 07:38:13 am »
Code: Pascal
[Select]
[+]
[-]
function
RPosEx
(
C
:
char
;
const
S
:
AnsiString
;
offs
:
cardinal
)
:
SizeInt
;
var
I
:
SizeUInt
;
p
,
p2
:
pChar
;
Begin
I
:
=
Length
(
S
)
;
If
(
I<>
0
)
and
(
offs<
=
i
)
Then
begin
p
:
=
@
s
[
offs
]
;
p2
:
=
@
s
[
1
]
;
while
(
p2<
=
p
)
and
(
p
^
<>c
)
do
dec
(
p
)
;
RPosEx
:
=
(
p
-
p2
)
+
1
;
end
else
RPosEX
:
=
0
;
End
;
if we change type of Offs to SizeInt, it will be more logical.
«
Last Edit: January 29, 2026, 08:54:15 am by AlexTP
»
Logged
CudaText editor
-
ATSynEdit
-
More from me
Zvoni
Hero Member
Posts: 3396
Re: RPosEx param Offs has type Cardinal, why not SizeInt
«
Reply #1 on:
January 29, 2026, 11:32:00 am »
The only fishy thing i see with your proposal, is that "offs" is used as an Index in Line 10.
SizeInt allows negative Values, which doesn't make sense in the context of accessing a string's characters by Index
Logged
One System to rule them all, One Code to find them,
One IDE to bring them all, and to the Framework bind them,
in the Land of Redmond, where the Windows lie
---------------------------------------------------------------------
Code is like a joke: If you have to explain it, it's bad
Print
Pages: [
1
]
« previous
next »
Lazarus
»
Forum
»
Free Pascal
»
General
(Moderators:
FPK
,
Tomas Hajny
) »
RPosEx param Offs has type Cardinal, why not SizeInt
TinyPortal
© 2005-2018