|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Переписать с Delphi на С++
Здрасте.
Собственно: Было на 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 ли начинаются строки?
|