Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 24.07.2016
Сообщений: 1

Перевод кода с PHP

24.07.2016, 22:07. Показов 1151. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть кусок кода:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
function array_all_combinations($items, $perms = array(), &$result = array()) 
{
if (empty($items)) 
{ 
$result[] = join(' ', $perms);
} 
else 
{
for ($i = count($items) - 1; $i >= 0; --$i)
{
$newitems = $items;
$newperms = $perms;
list($foo) = array_splice($newitems, $i, 1);
array_unshift($newperms, $foo);
array_all_combinations($newitems, $newperms, $result);
}
}
return $result;
}
 
$rgArg0 = array(1, 2, 3);
$rgArg1 = array(4);
$rgArg2 = array(5, 6);
$arr =  array_merge($rgArg0, $rgArg1, $rgArg2);
$result = array_all_combinations($arr);
echo '<pre>'.print_r($result, 1).'</pre>';
Результат работы можно посмотреть PHPTester.
Пожалуйста, сделайте данный код на Visual Basic. Совсем в PHP не шарю.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.07.2016, 22:07
Ответы с готовыми решениями:

Перевод кода с AS3
есть код на языке ActionScript, но думаю в нем не проблема разобраться, нужно сделать аналог на vb.net используется побайтовый сдвиг, я с...

Перевод кода C# -> VB.NET
Всем привет! Ребят, есть метод: private int Index(TabPage page) { for(int i = 0; i &lt; TabPages.Count; i++) { ...

Перевод кода из C# в vb.net
блин ребят я тут помучался вроде какбы типо пытался перевести в vb.net но всегда все равно оставаались синтаксические ошибки помогите плиз...

1
10 / 10 / 2
Регистрация: 07.07.2013
Сообщений: 24
30.07.2016, 13:41
А чего разбираться!?)
https://learnxinyminutes.com/docs/ru-ru/php-ru/ - очень краткий ввод в PHP
http://php.net/manual/ru/ref.array.php - На офф сайте PHP по русски все функции расписаны

Если почти слово в слово перевести, то как-то так:
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
Public Class Form1
    Dim rgArg0 = {1, 2, 3}
    Dim rgArg1 = {4}
    Dim rgArg2 = {5, 6}
    Dim arr = array_merge(rgArg0, rgArg1, rgArg2)
    Dim result As New List(Of String)
 
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        result = array_all_combinations(arr)
        RichTextBox1.Text = String.Join(vbCrLf, result.ToArray)
    End Sub
 
    Function array_all_combinations(items%(), Optional perms%() = Nothing) As List(Of String)
        If items.Length = 0 Then
            Dim s = ""
            For Each item In perms
                s &= " " & item.ToString
            Next
            result.Add("[" & result.Count & "] =>" & s)
        Else
            For i = items.Length - 1 To 0 Step -1
                Dim newitems = items
                Dim newperms = perms
                Dim foo = array_splice(newitems, i, 1)
                array_unshift(newperms, foo)
                array_all_combinations(newitems, newperms)
            Next
        End If
        Return result
    End Function
 
    'Функция слияния массивов в один. Встроена в PHP
    Function array_merge(ParamArray arrs()) As Integer()
        Dim ResultArray As New List(Of Integer)
        For Each arr As Integer() In arrs
            ResultArray.AddRange(arr)
        Next
        Return ResultArray.ToArray
    End Function
 
    'Метод (функция) добавляет один или несколько элементов в начало массива. Встроена в PHP
    Sub array_unshift(ByRef array%(), values%())
        Dim l As New List(Of Integer)
        l.AddRange(values)
        If array IsNot Nothing Then l.AddRange(array)
        array = l.ToArray
    End Sub
 
    'Функция удаляет часть массива и возвращает удалённые. Встроена в PHP
    Function array_splice(ByRef input%(), offset%, length%) As Integer()
        Dim result As New List(Of Integer)
        result.AddRange(input)
        Dim DelArr%(length - 1)
        result.CopyTo(offset, DelArr, 0, length)
        result.RemoveRange(offset, length)
        ReDim input(result.Count - 1)
        input = result.ToArray
        Return DelArr
    End Function
End Class
P.S. Ну, это если .NET Framework 2.0. На более старшем можно более лаконично сделать

Ну и результат
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.07.2016, 13:41
Помогаю со студенческими работами здесь

Перевод кода с Pascal на VB .NET
Здравствуйте! Есть код на паскале: k=0 For i := length(s)To 1 k = k + 1 For i := length(s) To 1...

Перевод кода с JavaScript на VB .NET
Привет всем! Подскажите, пожалуйста, существует ли какой-то автоматический переводчик кода с Java-скрипт на VB .NET или на C# .NET ?...

Отправка почты - перевод кода с C#
Помогите с конвертировать код: SmtpClient client = new SmtpClient(&quot;smtp.mail.ru&quot;, 2525); client.Credentials = new...

Перевод кода C# -> VB.NET (подписка на событие)
Всем привет! Мужики, может кто-то понятным языком объяснить, как это работает? И как это можно переписать на VB.NET? ...

Перевод кода простейшего графического редактора с C#
приветик!!! помогите пожалуйста мне.. нужно Создать проект простейшего графического редактора... Переделать программку с C# на VB.NET ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru