String utils stuff

git-svn-id: https://spexeah.com:8443/svn/Asuro@235 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
This commit is contained in:
kieron 2017-10-24 08:21:30 +00:00
parent 1606144c4c
commit 5a59376eae
8 changed files with 28 additions and 4 deletions

BIN
Asuro.iso

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -18,13 +18,29 @@ function stringContains(str : pchar; sub : pchar) : boolean;
implementation implementation
function stringToUpper(str : pchar) : pchar; function stringToUpper(str : pchar) : pchar;
begin var
result : pchar;
i : uint32;
begin
result:= stringCopy(str);
for i:=0 to stringSize(result) do begin
if (byte(result[i]) >= 97) and (byte(result[i]) <= 122) then result[i]:= char(byte(result[i]) - 32);
end;
stringToUpper:= result;
end; end;
function stringToLower(str : pchar) : pchar; function stringToLower(str : pchar) : pchar;
begin var
result : pchar;
i : uint32;
begin
result:= stringCopy(str);
for i:=0 to stringSize(result) do begin
if (byte(result[i]) >= 65) and (byte(result[i]) <= 90) then result[i]:= char(byte(result[i]) + 32);
end;
stringToLower:= result;
end; end;
function stringEquals(str1, str2 : pchar) : boolean; function stringEquals(str1, str2 : pchar) : boolean;
@ -55,6 +71,7 @@ begin
size:= stringSize(str); size:= stringSize(str);
result:= stringNew(size); result:= stringNew(size);
memcpy(uint32(str), uint32(result), size); memcpy(uint32(str), uint32(result), size);
stringCopy:= result;
end; end;
function stringNew(size : uint32) : pchar; function stringNew(size : uint32) : pchar;
@ -80,8 +97,15 @@ begin
end; end;
function stringConcat(str1, str2 : pchar) : pchar; function stringConcat(str1, str2 : pchar) : pchar;
begin var
size : uint32;
result : pchar;
begin
result:= stringNew(stringSize(str1)+stringSize(str2));
memcpy(uint32(str1), uint32(result), stringSize(str1));
memcpy(uint32(str2), uint32(result+stringSize(str1)), stringSize(str2));
stringConcat:= result;
end; end;
function stringContains(str : pchar; sub : pchar) : boolean; function stringContains(str : pchar; sub : pchar) : boolean;