![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Здрасте.
Собственно: Было на Delphi: Код:
function Matching(StrInputA: WideString;
StrInputB: WideString;
lngLen: Integer) : TRetCount;
Var
TempRet : TRetCount;
PosStrB : Integer;
PosStrA : Integer;
StrA : WideString;
StrB : WideString;
StrTempA : WideString;
StrTempB : WideString;
begin
StrA := String(StrInputA);
StrB := String(StrInputB);
For PosStrA:= 1 To Length(strA) - lngLen + 1 do
begin
StrTempA:= System.Copy(strA, PosStrA, lngLen);
PosStrB:= 1;
For PosStrB:= 1 To Length(strB) - lngLen + 1 do
begin
StrTempB:= System.Copy(strB, PosStrB, lngLen);
If SysUtils.AnsiCompareText(StrTempA,StrTempB) = 0 Then
begin
Inc(TempRet.lngCountLike);
break;
end;
end;
Inc(TempRet.lngSubRows);
end; // PosStrA
Result:= TempRet;
end;Я переписал на С++. PHP код:
Но что-то пошло не так.Может кто увидит , что. Последний раз редактировалось Redstason, 10.12.2015 в 18:15. |
|
#2
|
|||
|
|||
|
Вообще меня смущает вот эти строчки:
Matching.lngCountLike:= TempRet.lngCountLike; Matching.lngSubRows := TempRet.lngSubRows; Как их повторить на С++? |
|
#3
|
|||
|
|||
|
А зачем нужно вот это
Код:
StrA := String(StrInputA);
StrB := String(StrInputB); |
|
#4
|
|||
|
|||
|
Цитата:
А даже в Delphi надо было написать просто Код:
Result:=TempRet; |
|
#5
|
|||
|
|||
|
Учел замечания, но это не помогло.
Вопрос в том ,что в сишной функции значения TempRet берутся непонятно откуда |
|
#6
|
|||
|
|||
|
А в C не с 0 ли начинаются строки?
|