Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Delphi to PHP! Переведите ПЛЗ! 
:(
    Опции темы
Frikazoid
Дата 15.8.2002, 08:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 424
Регистрация: 29.3.2002

Репутация: нет
Всего: 2



Доброго времени суток All!
У меня есть проблема!
Есть текст на delphi, который мне надо переделать на пхп!
Помогите мне плз, а то совсем замучался(я новичок в пхп)!

procedure TForm1.Combination(k,l:Integer);
Var
i:Integer;
begin
if(k<=l) Then
For i:=1 To Length(a) Do
begin
s:=s+a[i];
Combination(k+1,l);
Delete(s,k,1);
end
Else
Begin
Memo1.Lines.Add(s);
End;
end;



Спасибо за внимание!


--------------------
RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле!
А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое.
PM MAIL WWW ICQ   Вверх
MuToGeN
Дата 15.8.2002, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

Репутация: 7
Всего: 32



Цитата(Frikazoid @ 15.8.2002, 01:40)
TForm1.Combination(k,l:Integer)

php - это server-side скрипты для веб-программинга, грубо говоря их основная функция - динамически создать страницу и выдать юзеру в окошко броузера, предварительно порывшись в БД или по-быстрому полазив по FTP-серверу (к примеру). а дельфевый код который ты написал - это уже пардон работа с vcl. короче говоря, на пхп это не переведешь


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
Frikazoid
Дата 15.8.2002, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 424
Регистрация: 29.3.2002

Репутация: нет
Всего: 2



Ну да! Я почти переделал! Но там остался баг, которого не могу отловить!


--------------------
RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле!
А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое.
PM MAIL WWW ICQ   Вверх
Frikazoid
Дата 16.8.2002, 04:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 424
Регистрация: 29.3.2002

Репутация: нет
Всего: 2



Вот что у меня получилось!
Это совсем не то, но может кто-то подкорректирует!
:( :( :( :( :( :( :( :(
Я просто не снаю ПХП

<?php
function strarray($in_string) {
if(!($in_string)) return 0;
for($i=0;$i<=(strlen($in_string)-1);$i++) {
$current_char=substr($in_string,$i,1);  
$string_array[$i]=$current_char;}
return $string_array;}

$a=strarray('1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM');
$s='                                        ';

function combination($k,$l) {
if($k<=$l) for($i=1; $i=62; $i++) {
$s="$s$a[$i]";
combination($k+1,$l);
$t=strarray($s);
$t[$k]="";
$a=implode($t,"");}
else echo($s);}

combination(1,2);
?>


--------------------
RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле!
А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое.
PM MAIL WWW ICQ   Вверх
Sattu
Дата 16.8.2002, 04:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 7.8.2002
Где: Західна Україна

Репутация: 3
Всего: 4



А ты напиши скрипт...
Напиши в чем проблема...
--------------------
тссссс.... «ЖЖ»
PM WWW ICQ AOL   Вверх
Frikazoid
Дата 16.8.2002, 06:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 424
Регистрация: 29.3.2002

Репутация: нет
Всего: 2



Код я уже писал! А проблема в том, что не работает! :(

Вот я кое-что подправил, но всё равно не то!

Он мне должен выводить такую фишку:
11
12
13
......
21
22
23
......
ty
tu
ti
...... ииииииии таккккк далее..
Смысл понятен?
Мне надо комбинации символов перебрать!


<?php
$a=strarray('1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM');
$s='                                                                               ';
$t=array();

function strarray($in_string) {
if(!($in_string)) return 0;
for($i=0;$i<=(strlen($in_string)-1);$i++) {
$current_char=substr($in_string,$i,1);  
$string_array[$i]=$current_char;}
return $string_array;}

function combination($k,$l,$a,$s) {
if($k<=$l) for($i=0;$i<=60;$i++) {
$s="$s$a[$i]";
combination($k+1,$l,$a,$s);
$t=strarray($s);
$t[$k]=" ";
$s=implode($t,"");}
else echo($s);}

combination(0,1,$a,$s); //Второй пораметр это кол-во цифр!
?>


--------------------
RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле!
А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое.
PM MAIL WWW ICQ   Вверх
Frikazoid
Дата 16.8.2002, 08:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 424
Регистрация: 29.3.2002

Репутация: нет
Всего: 2



<?php
$a=strarray('1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM');
$j='                                                                       ';
$t=array();

function strarray($in_string) {
if(!($in_string)) return 0;
for($i=0;$i<=(strlen($in_string)-1);$i++) {
$current_char=substr($in_string,$i,1);  
$string_array[$i]=$current_char;}
return $string_array;}

function combination($k,$l,$a,$u) {
$s=$u;
if($k<=$l)for($i=0;$i<=60;$i++) {
$s="$s$a[$i]";
$y="";
for($z=0;$z<=$l;$z++) if(!($z==$k)) {$f=substr($s,$z,1);$y="$y$f";}$s=$y;
combination($k+1,$l,$a,$s);
}
else {echo($s);echo("<br>");}}
combination(0,2,$a,$j);
?>

Это уже похоже на правду, но всё равно фиговый код!
Нужна помощь специалиста!
???  ???  ???  ???  :(  :(  :(  :(


--------------------
RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле!
А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое.
PM MAIL WWW ICQ   Вверх
MuToGeN
Дата 18.8.2002, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

Репутация: 7
Всего: 32



въехал чего вы хотите... но не до конца... и до конца после всего выпитого пива не въеду... но могу кой-чо подсказать:

1) стринговые переменные в ПХП - они и так работают как символьные массивы, т.е. если сделать
Код

<?
$str = "BLA-BLA-BLA";
echo $str[0].$str[3];
?>

то выдаст оно "B-", т.е. нулевой и третий символы.
2) рекурсия в ПХП - дело жутко тормозное, лучше ее не юзать...


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
Frikazoid
Дата 18.8.2002, 21:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 424
Регистрация: 29.3.2002

Репутация: нет
Всего: 2



Я так и думал, что это массивы!
Но когда я пытался перевести Delphi2PHP, то у меня ни чего не
получалось! Вот я и подумал, что проблема в том, что надо строку в
массив перегнать! Оказалось, что проблема в другом! :( Короче, этот
алгоритм не работает, как хотелось! Если кто-то знает как выполнить
перебор всех комбинаций из 62 по 3(к примеру) на пхп, то напишите плз!


--------------------
RTFM - "Всё для программиста" Это уменя есть сайт! Урыл в профайле!
А там.... Ну всё что надо по PHP Delphi CSS HTML JavaScript Perl API ASP MySQL XML С++ VBasic и многое другое.
PM MAIL WWW ICQ   Вверх
MuToGeN
  Дата 19.8.2002, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

Репутация: 7
Всего: 32



если просто все символьные комбинации (из заданных символов), то без проблем (сразу б сказал)
Код
<?
$str="abcdefghijk"; // и так далее
$l=strlen($str);
for($i=0;$i<$l;$i++)
for($j=0;$j<$l;$j++)
for($k=0;$k<$l;$k++)
$result[$i*$l*$l+$j*$l+$k];
// все комбинации - в массиве $result
?>

например, вывод $result на машину юзеру:
Код
<?
for($i=0;$i<sizeof($result);$i++)
echo $result[$i]."<br>";
?>

вот так... все размеры определяются динамически, если что и править, то только $str


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
MuToGeN
Дата 19.8.2002, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

Репутация: 7
Всего: 32



и без рекурсии


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0780 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.