Форум: "Потрепаться";
Текущий архив: 2005.08.07;
Скачать: [xml.tar.bz2];
ВнизDelphi to PHP Найти похожие ветки
← →
Новичокк (2005-07-16 20:37) [0]Помогите перевести функцию с Delphi на PHP:
function GetCharKey(UserID,CharName:string):string;
var
i:integer;
begin
if Length(CharName)<7 then SetLength(CharName,7);
if Length(CharName)<7 then for i:=Length(CharName)+1 to 7 do CharName:=CharName+CharName[1];
for i:=1 to 7 do Result:=Result+IntToStr(abs(StrToInt(UserID[i])-(Ord(CharName[i]) mod 10)));
end;
Пример обращения:
GetCharKey("3910543","Hint");
У меня с PHP туго =( Пишу только со справочником постоянно смотря примеры =)
← →
Knight © (2005-07-16 20:40) [1]
> Новичокк (16.07.05 20:37)
> У меня с PHP туго =( Пишу только со справочником постоянно
> смотря примеры =)
А все так пишут... кроме тех кто зарабатывает на этом деле :)
← →
desam (2005-07-17 01:52) [2]Я тут написал тебе, может так?
<?php
class DelphiToPHP {
function GetSymbol ($str,$num) {
// получаем символ по его номеру в строке
return substr($str,$num-1,1);
}
function GetCharKey ($userID,$CharName) {
// сама функция
if (strlen($CharName) < 7) {
for ($i = strlen($CharName); $i <= 7; $i++) {
$CharName .= $this->GetSymbol($CharName,1);
}
for ($i = 1; $i <= 7; $i++) {
$toret .= abs($this->GetSymbol($userID,$i)) - ord($this->GetSymbol($CharName,$i) % 10);
}
}
return $toret;
}
}
// пример использования
$d = new DelphiToPHP;
print $d->GetCharKey("3910543","Hint");
?>
← →
Новичокк (2005-07-17 11:07) [3]Большое спасибо. Приду домой - проверю.
← →
Новичокк (2005-07-17 12:43) [4]Не работает :(
Результат такой:
-45-39-47-48-43-44-45
Хотя должен быть такой:
1416543
← →
desam © (2005-07-18 00:54) [5]To Новичокк
Сейчас посмотрю. Попробую исправить? А для чего эта функция нужна?
← →
desam © (2005-07-18 01:40) [6]Всё, сделал. Вроде правильно.
<?php
class DelphiToPHP {
function GetSymbol ($str,$num) {
// получаем символ по его номеру в строке
return substr($str,$num-1,1);
}
function GetCharKey ($userID,$CharName) {
// сама функция
if (strlen($CharName) < 7) {
for ($i = strlen($CharName)+1; $i <= 7; $i++) {
$CharName .= $this->GetSymbol($CharName,$i);
}
for ($i = 1; $i <= 7; $i++) {
$toret .= abs($this->GetSymbol($userID,$i) - (Ord($this->GetSymbol($CharName,$i) ) % 10));
}
}
return $toret;
}
}
$d = new DelphiToPHP;
print $d->GetCharKey("3910543","Hint");
?>
← →
desam © (2005-07-18 16:25) [7]Ну что, работает?
← →
desam © (2005-07-18 16:25) [8]Ну что, работает правильно?
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2005.08.07;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.039 c