рд╡рд┐рдВрдбреЛрдЬ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдХреЗ рд╕рд╛рде рд╕рд╛рджреГрд╢реНрдп рджреНрд╡рд╛рд░рд╛ рд╕реВрдЪреА рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд░рдирд╛

рдЬрдм рдкрд░рд┐рдпреЛрдЬрдирд╛ рд▓рдЧрднрдЧ рдкреВрд░реА рд╣реЛ рдЬрд╛рддреА рд╣реИ рдФрд░ рд╕рдВрдкреВрд░реНрдг рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдХрднреА-рдХрднреА "рдЫреЛрдЯреА рдЪреАрдЬрд╝реЛрдВ рдФрд░ рдЪрд┐рдкреНрд╕" рдФрд░ рдЕрдиреНрдп "рд╕рдЬрд╛рд╡рдЯ" рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдкреВрд░рдХ рдХрд░рдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рд╣реЛрддреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреБрдЫ рдЖрдЗрдХрдиреЛрдВ рдХреЛ рдЕрдзрд┐рдХ рд╕реБрдВрджрд░ рд▓реЛрдЧреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдПрдВ, рдпрд╛ рдПрдХ рдЕрд▓реНрдлрд╛ рдЪреИрдирд▓ рдХреЗ рд╕рд╛рде рдПрдХ рдврд╛рд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рддрддреНрд╡реЛрдВ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред
рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рд╣рдЬ рдЗрдЪреНрдЫрд╛ рд╕реВрдЪреА рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ (рд╡рд┐рд╢реЗрд╖рдХрд░ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рдордп рд╣реИ) рдФрд░ рд╕рднреА рдЕрд▓рдВрдХрд░рдгреЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╕реЗ рдЬреЛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдХрд┐рд╕реА рднреА рд╢рдмреНрджрд╛рд░реНрде рднрд╛рд░ рдХреЛ рдирд╣реАрдВ рд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВ - рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдм рд╣реИред

рдЗрд╕ рдорд┐рдиреА-рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рдЗрдирдореЗрдВ рд╕реЗ рдПрдХ "рд╡рд┐рд╢рд▓рд┐рд╕реНрдЯ" рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реВрдВрдЧрд╛ред

рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ TListView рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рддрддреНрд╡реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ, рддреЛ рдЖрдк рдЗрд╕реЗ рдХреНрд░рдордмрджреНрдз рдХрд░рдиреЗ рдФрд░ рдРрд╕рд╛ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред

рдЫрд╡рд┐

рдпрд╣ рд╕реБрдВрджрд░ рдирд╣реАрдВ рд╣реИ, рдпрд╣ "101" рдирд╛рдо рдХреЗ рд╕рд╛рде рджреВрд╕рд░рд╛ рддрддреНрд╡ рдХреНрдпреЛрдВ рд╣реИ? рдЖрдЦрд┐рд░рдХрд╛рд░, рдпрд╣ рдПрдХ рд╕рдВрдЦреНрдпрд╛ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ "2" рдирд╛рдо рдХреЗ рд╕рд╛рде рдХрдо рд╕реЗ рдХрдо рддрддреНрд╡ рдХреЗ рдмрд╛рдж рдПрдХ рдЬрдЧрд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рд╛рдВ, рдФрд░ "рдирдпрд╛ рдлрд╝реЛрд▓реНрдбрд░ (101)" рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ "рдирдпрд╛ рдлрд╝реЛрд▓реНрдбрд░ (2)" рдХреЗ рдмрд╛рдж рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕рдм рдХреЗ рдмрд╛рдж, рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдореЗрдВ рд╕рдм рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рджрд┐рдЦрддрд╛ рд╣реИред

рдЫрд╡рд┐

рдЖрдЗрдП рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рдХрд╛рд░рдгреЛрдВ рдХреЛ рд╕рдордЭрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдФрд░ рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдВ рдЬреЛ рдЕрдзрд┐рдХ рд╕рд╣реА рд╣реИ, рдПрдХ рдорд╛рдирд╡ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдЫрдВрдЯрд╛рдИ рдХрд╛ред

рдкрд╣рд▓реЗ, рдЪрд▓реЛ рдЧрд▓рдд рдЫрдВрдЯрд╛рдИ рдХреЗ рдХрд╛рд░рдгреЛрдВ рдХреЛ рджреЗрдЦреЗрдВред
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, TListView рддрд╛рд░ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП lstrcmp рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╡рд░реНрдг рджреНрд╡рд╛рд░рд╛ рддрд╛рд░ рд╡рд░реНрдг рдХреА рддреБрд▓рдирд╛ рдХрд░рддрд╛ рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рджреЛ рд▓рд╛рдЗрдиреЗрдВ "1" рдФрд░ "2" рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рджреВрд╕рд░реА рд╕реЗ рдКрдкрд░ рд╕реНрдерд┐рдд рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдЗрдХрд╛рдИ рдкреНрд░рддреАрдХ рдбреНрдпреВрд╕ рд╕реЗ рдкрд╣рд▓реЗ рдЬрд╛рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдЧрд░ рд╣рдо рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдХреЗ рдмрдЬрд╛рдп "101" рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ lstrcmp рдлрд╝рдВрдХреНрд╢рди рдпрд╣ рднреА рдХрд╣реЗрдЧрд╛ рдХрд┐ рдпрд╣ рд░реЗрдЦрд╛ рдкрд╣рд▓реЗ рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рджреЛрдиреЛрдВ рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдмрд╣реБрдд рдкрд╣рд▓реЗ рдЪрд░рд┐рддреНрд░ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдкрд░ рдирд┐рд░реНрдгрдп рд▓реЗрддрд╛ рд╣реИ, рдЗрд╕ рддрдереНрдп рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реБрдП рдХрд┐ рджреЛрдиреЛрдВ рд▓рд╛рдЗрдиреЗрдВ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХрд╛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рд╣реИрдВред ред

рдЪрд▓реЛ рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рдФрд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдмрдирд╛рддреЗ рд╣реИрдВ, "1a2" рдФрд░ "1a101" рд▓рд╛рдЗрдиреЗрдВ рд▓реЗрддреЗ рд╣реИрдВ, рдЬрд┐рд╕ рдкрд░ lstrcmp рдлрд┐рд░ рд╕реЗ рдЧрд▓рдд рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИ, рдпрд╣ рдХрд╣рддреЗ рд╣реБрдП рдХрд┐ рджреВрд╕рд░реА рдкрдВрдХреНрддрд┐ рдХреЛ рдкрд╣рд▓реЗ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╡рд╣ рдЗрд╕ рдирд┐рд░реНрдгрдп рдХреЛ рджреЛрдиреЛрдВ рддрд╛рд░реЛрдВ рдХреЗ рддреАрд╕рд░реЗ рдЪрд░рд┐рддреНрд░ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмрдирд╛рддреА рд╣реИ, рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╡реЗ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рдХрдбрд╝реЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рднреА рд╣реИрдВред

рд╣рдордиреЗ рдХрд╛рд░рдгреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛, рдЕрдм рд╣рдо рдПрдХ рд╕рдорд╛рдзрд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд░рд╣реЗ рд╣реИрдВред
рдЪреВрдВрдХрд┐ lstrcmp рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЧрд▓рдд рд╣реИ, рдкреНрд░рддреАрдХреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рдирд╛, рдПрдХ рд╕рдорд╛рди рддреБрд▓рдирд╛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рддреБрд▓рдирд╛ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдХреА рдЬрд╛рдПрдЧреА, рди рдХрд┐ рдкреНрд░рддреАрдХреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВред

рдПрд▓реНрдЧреЛрд░рд┐рджрдорд┐рдХ рд░реВрдк рд╕реЗ, рдпрд╣ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИред

рдлрд┐рд░ рд╕реЗ, "1a2" рдФрд░ "1a101" рд▓реЗрдВред рд╣рдо рдЙрдиреНрд╣реЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдШрдЯрдХреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдВ рд╡рд░реНрдг рд╕рдВрдЦреНрдпрд╛рдУрдВ рд╕реЗ рдЕрд▓рдЧ рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред рдпрджрд┐ рд╣рдо "1 + рдП + 2" рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ "1 + рдП + 101" рдХреЗ рд░реВрдк рдореЗрдВ рджреВрд╕рд░рд╛, рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдХреЗрд╡рд▓ рддреАрди рддреБрд▓рдирд╛рдУрдВ рдХреЛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

1. рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рд╕рдВрдЦреНрдпрд╛
2. рдкреНрд░рддреАрдХ рдХреЗ рд╕рд╛рде рдкреНрд░рддреАрдХ
3. рдлрд┐рд░ рд╕реЗ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рд╕рдВрдЦреНрдпрд╛

рдЗрд╕ рддрд░рд╣ рдХреА рддреБрд▓рдирд╛ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╕рд╣реА рд╣реЛрдЧрд╛ рдФрд░ рдпрд╣ рджрд┐рдЦрд╛рдПрдЧрд╛ рдХрд┐ рджреВрд╕рд░реА рдкрдВрдХреНрддрд┐ рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджреВрд╕рд░реА рдЬрдЧрд╣ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рди рдХрд┐ рдкрд╣рд▓реА, рдХреНрдпреЛрдВрдХрд┐ lstrcmp рдиреЗ рд╣рдореЗрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд┐рдпрд╛ рд╣реИред

рдЕрдм рд╣рдо рдЗрд╕ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдЯреАрдХреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред

рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐:
1. рдпрджрд┐ рддреБрд▓рдирд╛ рдХреЗ рд▓рд┐рдП рдкрд╛рд░рд┐рдд рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЦрд╛рд▓реА рд╣реИ - рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рдКрдкрд░ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
2. рдпрджрд┐ рджреЛрдиреЛрдВ рд░реЗрдЦрд╛рдПрдБ рдЦрд╛рд▓реА рд╣реИрдВ, рддреЛ рд╡реЗ рд╕рдорд╛рди рд╣реИрдВред
3. рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╕рдордп рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рдирд╣реАрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред
4. рд▓рд╛рдЗрдиреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо рдПрдХ рдХрд░реНрд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдХреЗ рд╡рд░реНрддрдорд╛рди рдкрд╛рд░реНрд╕ рдЪрд░рд┐рддреНрд░ рдХрд╛ рдкрддрд╛ рд╣реЛрддрд╛ рд╣реИред
5. рдпрджрд┐ рдХрд┐рд╕реА рдПрдХ рдкрдВрдХреНрддрд┐ рдХреЗ рдХрд░реНрд╕рд░ рдореЗрдВ рдПрдХ рд╕рдВрдЦреНрдпрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рджреВрд╕рд░реА рдкрдВрдХреНрддрд┐ рдХреЗ рдХрд░реНрд╕рд░ рдореЗрдВ рдПрдХ рд╡рд░реНрдг рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рджреВрд╕рд░реА рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛрддреА рд╣реИред
6. рдпрджрд┐ рд▓рд╛рдЗрди рдХрд░реНрд╕рд░ рдПрдХ рдЪрд░рд┐рддреНрд░ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддреЗ рд╣реИрдВ - рддреБрд▓рдирд╛ lstrcmp рдХреЗ рд╕рдорд╛рди рд╣реИ
7. рдпрджрд┐ рд▓рд╛рдЗрди рдХрд░реНрд╕рд░ рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рджреЛрдиреЛрдВ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╣реИрдВред
7.1 рдпрджрд┐ рджреЛрдиреЛрдВ рд╕рдВрдЦреНрдпрд╛рдПрдБ рд╢реВрдиреНрдп рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "00" рдФрд░ "0000"), рддреЛ рдХрдо рд╢реВрдиреНрдп рд╡рд╛рд▓реЗ рдирдВрдмрд░ рдХреЛ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред
8. рдпрджрд┐ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рджреМрд░рд╛рди рдХрд┐рд╕реА рднреА рд▓рд╛рдЗрди рдХреЗ рдХрд░реНрд╕рд░ рдХреЛ рдПрдХ рд╕рдорд╛рдкреНрддрд┐ рд╢реВрдиреНрдп рдорд┐рд▓рд╛ - рдпрд╣ рд░реЗрдЦрд╛ рдКрдкрд░ рдЬрд╛рддреА рд╣реИред
.рез рдпрджрд┐ рдЙрд╕реА рдХреНрд╖рдг рджреВрд╕рд░реА рдкрдВрдХреНрддрд┐ рдХрд╛ рдХрд░реНрд╕рд░ рднреА рд╕рдорд╛рдкреНрддрд┐ рд╢реВрдиреНрдп рдкрд░ рд╣реИ - рд░реЗрдЦрд╛рдПрдВ рд╕рдорд╛рди рд╣реИрдВред

рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЯреАрдХреЗ рдкрд░реНрдпрд╛рдкреНрдд рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣рдо рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ:

// // CompareStringOrdinal      , .. // "  (3)" < "  (103)" // //    // -1 -     // 0 -   // 1 -     // ============================================================================= function CompareStringOrdinal(const S1, S2: string): Integer; //  CharInSet    Delphi 2009, //        function CharInSet(AChar: Char; ASet: TSysCharSet): Boolean; begin Result := AChar in ASet; end; var S1IsInt, S2IsInt: Boolean; S1Cursor, S2Cursor: PChar; S1Int, S2Int, Counter, S1IntCount, S2IntCount: Integer; SingleByte: Byte; begin //     if S1 = '' then if S2 = '' then begin Result := 0; Exit; end else begin Result := -1; Exit; end; if S2 = '' then begin Result := 1; Exit; end; S1Cursor := @AnsiLowerCase(S1)[1]; S2Cursor := @AnsiLowerCase(S2)[1]; while True do begin //      if S1Cursor^ = #0 then if S2Cursor^ = #0 then begin Result := 0; Exit; end else begin Result := -1; Exit; end; //      if S2Cursor^ = #0 then begin Result := 1; Exit; end; //        S1IsInt := CharInSet(S1Cursor^, ['0'..'9']); S2IsInt := CharInSet(S2Cursor^, ['0'..'9']); if S1IsInt and not S2IsInt then begin Result := -1; Exit; end; if not S1IsInt and S2IsInt then begin Result := 1; Exit; end; //   if not (S1IsInt and S2IsInt) then begin if S1Cursor^ = S2Cursor^ then begin Inc(S1Cursor); Inc(S2Cursor); Continue; end; if S1Cursor^ < S2Cursor^ then begin Result := -1; Exit; end else begin Result := 1; Exit; end; end; //        S1Int := 0; Counter := 1; S1IntCount := 0; repeat Inc(S1IntCount); SingleByte := Byte(S1Cursor^) - Byte('0'); S1Int := S1Int * Counter + SingleByte; Inc(S1Cursor); Counter := 10; until not CharInSet(S1Cursor^, ['0'..'9']); S2Int := 0; Counter := 1; S2IntCount := 0; repeat SingleByte := Byte(S2Cursor^) - Byte('0'); Inc(S2IntCount); S2Int := S2Int * Counter + SingleByte; Inc(S2Cursor); Counter := 10; until not CharInSet(S2Cursor^, ['0'..'9']); if S1Int = S2Int then begin if S1Int = 0 then begin if S1IntCount < S2IntCount then begin Result := -1; Exit; end; if S1IntCount > S2IntCount then begin Result := 1; Exit; end; end; Continue; end; if S1Int < S2Int then begin Result := -1; Exit; end else begin Result := 1; Exit; end; end; end; 


рд╣рдо рдЗрд╕ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВред

рдЫрд╡рд┐

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдЕрдкреЗрдХреНрд╖рд┐рдд рдерд╛ред
рдЕрдЧрд▓рд╛ "рдбреЗрдХреЛрд░реЗрдЯрд░" рддреИрдпрд╛рд░ рд╣реИред

рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдПрдХ рд╕рд╛рдЗрдХрд┐рд▓ рд╣реИ рдФрд░ рдЖрдкрдХреЛ StrCmpLogicalW рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
msdn.microsoft.com/en-us/library/windows/desktop/bb759947

рдЦреИрд░, рдЗрд╕реЗ рдЖрдЬрд╝рдорд╛рдПрдВ - рддреАрд╕рд░рд╛ рдмрдЯрди рдЗрд╕ рддрд░рд╣ рдХреА рдЫрдВрдЯрд╛рдИ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред
рдЫрдБрдЯрд╛рдИ рдХреЗ рдмрд╛рдж рд╕реВрдЪреА рдХреЗ рдкрд╣рд▓реЗ рдкрд╛рдБрдЪ рддрддреНрд╡реЛрдВ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред

рдЫрд╡рд┐

рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡реЗ рдХрдВрдбрдХреНрдЯрд░ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд╕рдорд╛рди рд╣реИрдВ, рд╡реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдЪ рдирд╣реАрдВ рд╣реИрдВред рдЦреИрд░, "0" рдирд╛рдо рд╡рд╛рд▓рд╛ рддрддреНрд╡ рддрддреНрд╡ "00" рдФрд░ рдЕрдиреНрдп рдХреЗ рддрд╣рдд рд╕реНрдерд┐рдд рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдбреЗрдореЛ рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб рдЗрд╕ рд▓рд┐рдВрдХ рд╕реЗ рд▓рд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

Source: https://habr.com/ru/post/In181760/


All Articles