Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.85/117: Рейтинг темы: голосов - 117, средняя оценка - 4.85
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533

Скачивание папки с FTP - сервера по актуальной дате

04.10.2018, 09:39. Показов 31258. Ответов 897
Метки ftp, tls (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Возможно ли реализовать скачку с фтп папки в которой находятся файлы, папок много, а скачать файлы нужно из той папки, которая названа сегодняшней датой
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.10.2018, 09:39
Ответы с готовыми решениями:

Скачивание папки с FTP - сервера по актуальной дате (2)
Продолжение темы https://www.cyberforum.ru/csharp-net/thread2329455.html var mStr = "20181206_20-15-30.txt"; var dtAr =...

Скачивание папок с FTP-сервера
всем приветик ! подскажите плиииз ! есть батник он подключается к фтп и копирует оттуда файлы все ! open 89.253.247.10 metko ...

Скачивание файла с FTP-сервера
Здравствуйте. Подскажите как загрузить файл с сервера по ftp?

897
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
12.12.2018, 09:47
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Damenikx Посмотреть сообщение
В них мы будем заносить нашу информацию из двух предыдущих свойств
не верно, это нужно что-бы проверить что в свойствах действительно находятся нужные пароль и имя пользователя!

Добавлено через 39 секунд
теперь вам понятен код?
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
12.12.2018, 09:58  [ТС]
Да, понятен.
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
12.12.2018, 10:04
ну что же тогда откорректируем тест:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
FTPSettings settings= new FTPSettings 
{
   UserFTP="Test",  
    PwdFTP="12345678" 
};
 
         [TestMethod]
        public void TestFolderNotExist() 
        {                 
            string FolderName = "Кейптаун"; 
            var fe =settings.DirectoryCheck(FolderName); 
            Assert.IsFalse(fe, "Не правильное значение проверки, ожидалось: ложь, пришло: истина");
            Console.WriteLine("TestFolderNotExist прошёл успешно {0}",fe); 
        }
откорректируем сам тестируемый метод:
C#
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
public bool DirectoryExists(string directory)
{
      try
        {
         
             var ftp = (FtpWebRequest)FtpWebRequest.Create(FTPAdress + directory);
           
             ftp.Credentials = new NetworkCredential(UserFTP, PwdFTP); ///логин, пароль
             ftp.KeepAlive = false;///не держим соединение после выполнения запроса
             ftp.UseBinary = true;///тип данных для передачи
             ftp.Method = WebRequestMethods.Ftp.PrintWorkingDirectory;
 
               using (FtpWebResponse response = ftp.GetResponse() as FtpWebResponse)
                {          
                    Console.WriteLine("{0}| {1}", response.StatusCode, response.StatusDescription );
                    Console.WriteLine("{0} {1}", "FTPAdress/" + directory, response.LastModified);
                    Console.WriteLine("{0} |{1}", response.StatusCode, response.StatusDescription );         
                   if(response.StatusCode == FtpStatusCode.PathnameCreated)
                     {
                           Console.WriteLine("{0} |{1}", "FTPAdress/" + directory, true);
                             return true;
                     }
                     else
                      {
                         Console.WriteLine("{0} |{1} |f", "FTPAdress/" + directory, false);
                        return false;
                      }
 
                }
               
        }catch(Exception ex)
         {
            Console.WriteLine("{0} |{1} |ex", "FTPAdress/" + directory, false);  
             Console.WriteLine("ex");
             Console.WriteLine();
            Console.WriteLine(ex.Message);          
          return false;
          }
И прогоним тест, ожидаем что тест не пройдет.
(выкладывайте результаты).
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
12.12.2018, 11:15  [ТС]
Имя теста: TestFolderNotExist
Полное имя теста: UnitTestProject1.Test_FTPSettings_Direct oryCheck.TestFolderNotExist
Источник теста: c:\Users\admin\Documents\Visual Studio 2012\Projects\FTPFilesTaker\UnitTestProj ect1\UnitTest1.cs : строка 23
Выходные данные теста: Сбой
Продолжительность теста: 0:00:00,0592407

Результат Сообщение: Ошибка в Assert.IsFalse. Не правильное значение проверки, ожидалось: ложь, пришло: истина
Результат Трассировка стека: в UnitTestProject1.Test_FTPSettings_Direct oryCheck.TestFolderNotExist() в c:\Users\admin\Documents\Visual Studio 2012\Projects\FTPFilesTaker\UnitTestProj ect1\UnitTest1.cs:строка 30
Результат Стандартный вывод:
PathnameCreated| 257 "/" is current directory.

FTPAdress/Кейптаун 01/01/0001 00:00:00
PathnameCreated |257 "/" is current directory.

FTPAdress/Кейптаун |True
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
12.12.2018, 11:35
Замечательно, теперь снимаем Коментарии с метода TestFolderExist
Прогнать оба теста, в результате один тест пройдет второй нет.
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
12.12.2018, 11:54  [ТС]
Имя теста: TestFolderNotExist
Полное имя теста: UnitTestProject1.Test_FTPSettings_Direct oryCheck.TestFolderNotExist
Источник теста: c:\Users\adn\Documents\Visual Studio 2012\Projects\FTPFilesTaker\UnitTestProj ect1\UnitTest1.cs : строка 28
Выходные данные теста: Сбой
Продолжительность теста: 0:00:00,030197

Результат Сообщение: Ошибка в Assert.IsFalse. Не правильное значение проверки, ожидалось: ложь, пришло: истина
Результат Трассировка стека: в UnitTestProject1.Test_FTPSettings_Direct oryCheck.TestFolderNotExist() в c:\Users\adn\Documents\Visual Studio 2012\Projects\FTPFilesTaker\UnitTestProj ect1\UnitTest1.cs:строка 31
Результат Стандартный вывод:
PathnameCreated| 257 "/" is current directory.

FTPAdress/Кейптаун 01/01/0001 00:00:00
PathnameCreated |257 "/" is current directory.

FTPAdress/Кейптаун |True

Прошёл:

Имя теста: TestFolderExist
Полное имя теста: UnitTestProject1.Test_FTPSettings_Direct oryCheck.TestFolderExist
Источник теста: c:\Users\adn\Documents\Visual Studio 2012\Projects\FTPFilesTaker\UnitTestProj ect1\UnitTest1.cs : строка 20
Выходные данные теста: Пройден
Продолжительность теста: 0:00:00,0618572

Результат Стандартный вывод:
PathnameCreated| 257 "/" is current directory.

FTPAdress/Москва 01/01/0001 00:00:00
PathnameCreated |257 "/" is current directory.

FTPAdress/Москва |True
PathnameCreated| 257 "/" is current directory.

FTPAdress/Москва 01/01/0001 00:00:00
PathnameCreated |257 "/" is current directory.

FTPAdress/Москва |True
Тест прошёл успешно
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
12.12.2018, 13:33
итак, нам надо справоцировать ошибку, либо смену кода в методе, который тестируем, ваши идеи?

Добавлено через 5 минут
попробуем переписать наш метод и прогнать тесты:
C#
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
public bool DirectoryExists(string directory)
{
      try
        {
         
             var ftp = (FtpWebRequest)FtpWebRequest.Create(FTPAdress + directory);
           
             ftp.Credentials = new NetworkCredential(UserFTP, PwdFTP); ///логин, пароль
             ftp.KeepAlive = false;///не держим соединение после выполнения запроса
             ftp.UseBinary = true;///тип данных для передачи
             ftp.Method = WebRequestMethods.Ftp.GetFileSize;//изменено здесь!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
               using (FtpWebResponse response = ftp.GetResponse() as FtpWebResponse)
                {          
                    Console.WriteLine("{0}| {1}", response.StatusCode, response.StatusDescription );
                    Console.WriteLine("{0} {1}", "FTPAdress/" + directory, response.LastModified);
                    Console.WriteLine("{0} |{1}", response.StatusCode, response.StatusDescription );         
                   if(response.StatusCode == FtpStatusCode.PathnameCreated)
                     {
                           Console.WriteLine("{0} |{1}", "FTPAdress/" + directory, true);
                             return true;
                     }
                     else
                      {
                         Console.WriteLine("{0} |{1} |f", "FTPAdress/" + directory, false);
                        return false;
                      }
 
                }
               
        }catch(Exception ex)
         {
            Console.WriteLine("{0} |{1} |ex", "FTPAdress/" + directory, false);  
             Console.WriteLine("ex");
             Console.WriteLine();
            Console.WriteLine(ex.Message);          
          return false;
          }
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
12.12.2018, 13:43  [ТС]
Я сделал, как вы написали (спровоцировал ошибку). Ошибка 550 Файл недоступен.

Добавлено через 1 минуту
Результат в студию:

Имя теста: TestFolderExist
Полное имя теста: UnitTestProject1.Test_FTPSettings_Direct oryCheck.TestFolderExist
Источник теста: c:\Users\adn\Documents\Visual Studio 2012\Projects\FTPFilesTaker\UnitTestProj ect1\UnitTest1.cs : строка 20
Выходные данные теста: Сбой
Продолжительность теста: 0:00:00,0962991

Результат Сообщение: Ошибка в Assert.IsTrue. Не правильное значение проверки, ожидалось: истина, пришло: ложь
Результат Трассировка стека: в UnitTestProject1.Test_FTPSettings_Direct oryCheck.TestFolderExist() в c:\Users\adn\Documents\Visual Studio 2012\Projects\FTPFilesTaker\UnitTestProj ect1\UnitTest1.cs:строка 23
Результат Стандартный вывод:
FTPAdress/Москва |False |ex
ex

Удаленный сервер возвратил ошибку: (550) Файл недоступен (например, не найден или к нему нет доступа).
FTPAdress/Москва |False |ex
ex

Удаленный сервер возвратил ошибку: (550) Файл недоступен (например, не найден или к нему нет доступа).




Имя теста: TestFolderNotExist
Полное имя теста: UnitTestProject1.Test_FTPSettings_Direct oryCheck.TestFolderNotExist
Источник теста: c:\Users\adn\Documents\Visual Studio 2012\Projects\FTPFilesTaker\UnitTestProj ect1\UnitTest1.cs : строка 28
Выходные данные теста: Пройден
Продолжительность теста: 0:00:00,0120117

Результат Стандартный вывод:
FTPAdress/Кейптаун |False |ex
ex

Удаленный сервер возвратил ошибку: (550) Файл недоступен (например, не найден или к нему нет доступа).
TestFolderNotExist прошёл успешно False
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
12.12.2018, 14:21
Цитата Сообщение от Damenikx Посмотреть сообщение
Я сделал, как вы написали (спровоцировал ошибку). Ошибка 550 Файл недоступен.
по подробнее, что вы сделали?
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
12.12.2018, 16:24  [ТС]
Спровоцировал ошибку путём смены кода в методе, который мы тестируем.

Добавлено через 1 час 55 минут
Пока Вас не было, я вроде как сделал =)

Добавлено через 7 секунд
Но это не точно)
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
12.12.2018, 17:22
Цитата Сообщение от Damenikx Посмотреть сообщение
Пока Вас не было, я вроде как сделал =)
выкладывай код того что сделал!
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
13.12.2018, 08:16  [ТС]
Я не менял ни метод ни тест, я просто сделал вывод и ошибку.

Добавлено через 2 минуты
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
try
            {
                if (directoryCheck == false)
                    foreach (var css in new FtpFilesInfo().CurFolderDirectoryDetails(CurFolderPath, settings))
                    {
                        listBox1.Items.Add(css);
                    }
            }
            catch
            {
                string captionFoldeCheckError = "Ошибка ввода.";
                string bodyFolderCheckError = "Имя папки, которую вы ввели, не существует.";
                MessageBox.Show(bodyFolderCheckError, captionFoldeCheckError, MessageBoxButtons.OK, MessageBoxIcon.Error); 
            }
Добавлено через 10 минут
Мы же договорились, что я код не меняю. Я не менял
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
13.12.2018, 08:52
Цитата Сообщение от Damenikx Посмотреть сообщение
я просто сделал вывод и ошибку.
противоречит
Цитата Сообщение от Damenikx Посмотреть сообщение
Мы же договорились, что я код не меняю. Я не менял
ладно, но вы пошли не по тому пути, сейчас задача сделать так, что-бы тесты проходили.
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
13.12.2018, 09:01  [ТС]
Я просто тот код который был раньше убрал с комментариев и слегка переписал, надо же было чем-то заниматься полка вы были заняты. Сейчас я его обратно закомментирую и всё Тесты же вроде бы вчера прошли?
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
13.12.2018, 09:36
Цитата Сообщение от Damenikx Посмотреть сообщение
Тесты же вроде бы вчера прошли?
да, а это:
Цитата Сообщение от Damenikx Посмотреть сообщение
Выходные данные теста: Сбой
Цитата Сообщение от Damenikx Посмотреть сообщение
Результат Сообщение: Ошибка в Assert.IsTrue. Не правильное значение проверки, ожидалось: истина, пришло: ложь
по вашему тест прошел???
Так что у нас пока тест не пройден, о дальнейшем развитии программы речи идтить не может!
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
13.12.2018, 11:01  [ТС]
Я понял, жду указаний, код вернул на место.
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
13.12.2018, 13:32
проверяй имя пользователя и пароль! Ты делаешь не правильно! Смотри на тесты, у тебя должен тест проходить, а он не проходит, зато тест который не должен проходить, наоборот, где-то косяк, ищи!
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
13.12.2018, 14:37  [ТС]
Ошибка в тесте я так понимаю?

Добавлено через 3 минуты
Хотя нет, не в тесте. Буду искать.

Добавлено через 3 минуты
Хм, странно, но!
Я немного решил поэксперементировать и в во в этой части:

C#
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
public bool DirectoryExists(string directory)
{
      try
        {
         
             var ftp = (FtpWebRequest)FtpWebRequest.Create(FTPAdress + directory);// - - - ВОТ ТУТ!!! 
           
             ftp.Credentials = new NetworkCredential(UserFTP, PwdFTP); ///логин, пароль
             ftp.KeepAlive = false;///не держим соединение после выполнения запроса
             ftp.UseBinary = true;///тип данных для передачи
             ftp.Method = WebRequestMethods.Ftp.GetFileSize;//изменено здесь!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
               using (FtpWebResponse response = ftp.GetResponse() as FtpWebResponse)
                {          
                    Console.WriteLine("{0}| {1}", response.StatusCode, response.StatusDescription );
                    Console.WriteLine("{0} {1}", "FTPAdress/" + directory, response.LastModified);
                    Console.WriteLine("{0} |{1}", response.StatusCode, response.StatusDescription );         
                   if(response.StatusCode == FtpStatusCode.PathnameCreated)
                     {
                           Console.WriteLine("{0} |{1}", "FTPAdress/" + directory, true);
                             return true;
                     }
                     else
                      {
                         Console.WriteLine("{0} |{1} |f", "FTPAdress/" + directory, false);
                        return false;
                      }
 
                }
               
        }catch(Exception ex)
         {
            Console.WriteLine("{0} |{1} |ex", "FTPAdress/" + directory, false);  
             Console.WriteLine("ex");
             Console.WriteLine();
            Console.WriteLine(ex.Message);          
          return false;
          }
Убрал + directory. Ведь если мы оставим метод подключения с параметром (FTPAdress + directory) то получится адрес типа:

ftp://111.11.11.11:5577/directory

А ведь такого фтп пути у нас нет.

Я убрал и тест перестал ругаться на ошибку входа.

Добавлено через 20 минут
В общем ошибка теперь в тесте вот такая:

Запрашиваемый URI - адрес не допустим для этой команды фтп.

Хотя программа работает и всё выводит и выдаёт ошибку при отсутствии папки.
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
13.12.2018, 14:45
Все правильно, по сути, проблема, о которой я не знал:
Несмотря на реализацию статус кодов, они по сути являются бесполезными
попробуйте переписать так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public bool DirectoryExists(string directory)
{
      try
        {
             var ftp = (FtpWebRequest)FtpWebRequest.Create(FTPAdress + directory);
             ftp.Credentials = new NetworkCredential(UserFTP, PwdFTP); ///логин, пароль
             ftp.KeepAlive = false;///не держим соединение после выполнения запроса
             ftp.UseBinary = true;///тип данных для передачи
             ftp.Method = WebRequestMethods.Ftp.GetFileSize;
 
               using (FtpWebResponse response = ftp.GetResponse() as FtpWebResponse)
                {          return true;  }
        }catch(Exception ex)
         {
            Console.WriteLine("{0} |{1} |ex", "FTPAdress/" + directory, false);  
             Console.WriteLine("ex");
             Console.WriteLine();
            Console.WriteLine(ex.Message);          
          return false;
          }
}
и после этого прогнать тесты.

Добавлено через 3 минуты
теперь задача сводится к тому, чтобы, найти такой
WebRequestMethods.Ftp
при котором для существующей папки, получалось подсоединится, а при не существующей вылетала ошибка
(пробуйте различные варианты, пока оба теста не пойдут).
Вот здесь я говорю поэксперементируйте с WebRequestMethods.Ftp!
Попробуйте все методы, если не получится, то тогда будем думать еще.
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
13.12.2018, 15:04  [ТС]
Я поменял так, как вы сказали, но теперь ошибка входа.

Мы ведь опять добавили (FTPAdress + directory)

Добавлено через 15 минут
Если убрать directory, то всё равно ошибка URI-адреса.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.12.2018, 15:04

Скачивание файла с ftp сервера
Привет! Решил попробовать написать систему обновления для своей программы. Есть вот такая идея: создать сайт и вручную залить по ftp на...

Скачивание каталога с FTP сервера
Доброго времени суток. Работаю с FTP сервером в C# при помощи библиотеки BytesRoad.Net.Ftp. Появилась необходимость скачивать ВЕСЬ каталог...

Скачивание файлов с FTP сервера на локальный ЖД
Здравствуйте. Возникла проблема, возможно глупая и её решение должно быть элементарным, но всё же :) Добавлено через 9 минут ...

Скачивание файла с FTP-сервера с использованием Wget
Доброго времени суток! Задача - необходим батник чтобы он: 1. Скачивал необходимый файл с ftp(хранилище можем подобрать иное) 2....

Скачивание папки с удаленного сервера
WebClient wb = new WebClient(); wb.DownloadFile("https://cloud.mail.ru/public/46F4/Eqhw66Kb2", @"C:\test\sandbox"); Вот такой код...


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

Или воспользуйтесь поиском по форуму:
800
Закрытая тема Создать тему
Новые блоги и статьи
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр. Дословно, отклонённая. . .
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru