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;
var
result : pchar;
i : uint32;
begin 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;
var
result : pchar;
i : uint32;
begin 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;
@ -54,7 +70,8 @@ var
begin 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;
var
size : uint32;
result : pchar;
begin 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;