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

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

04.10.2018, 09:39. Показов 31602. Ответов 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
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
09.10.2018, 11:12  [ТС]
Студворк — интернет-сервис помощи студентам
Нет нет. Я имею ввиду, допустим, папки с актуальной датой на фтп нету. Чтобы программа не вылетела, а выдавал что-то в консоли
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
09.10.2018, 11:17
Цитата Сообщение от Damenikx Посмотреть сообщение
Нет нет. Я имею ввиду, допустим, папки с актуальной датой на фтп нету. Чтобы программа не вылетела, а выдавал что-то в консоли
Это просто, можно обложить в майн классе все оберткой try{}catch(Exeption ex){}
можно на каждом подозрительном шагу солить оберткой try{}catch(Exeption ex){}
Можно производить проверку на существование, то как я вам посоветовал сделать с папкой на локальном компьютере.
А можно вообще все три варианта использовать.
Вопрос, в том на сколько вам это нужно.
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
09.10.2018, 11:18  [ТС]
Я понял. Спасибо огромное за вашу помощь в данном проекте!
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
09.10.2018, 11:29
Damenikx, я честно говоря не сторонник соленых огурцов, поэтому я бы остановился только на обертке метода Download(); + проверке на существовании папки на фтп.
Это выглядело бы вот так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
try
{
Console.WriteLine("{0}|Начата загрузка файла", DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss"));
new FtpDownloader().Download();
Console.WriteLine("{0}|Загрузка файла окончена", DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss"));
}
catch(Exeption ex)
{
Console.WriteLine("{0}|В ходе работы возникла ошибка!", DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss"));
Console.WriteLine("Сообщение об ошибке:");
Console.WriteLine(ex.Message);
Console.WriteLine("StackTrace:");
Console.WriteLine(ex.StackTrace);
}
Console.Read();
}
Дополнительно добавил бы проверку на существование папки на фтп вот здесь:
Цитата Сообщение от Damenikx Посмотреть сообщение
FtpFilesInfo
создал бы bool свойство проверяющее существование папки.
И если существует, то в методе Download(), запускать загрузку, а то и вообще в методе майн проверять создана ли папка, а потом уже загружать, но это уже на ваш вкус.

Добавлено через 9 секунд
Damenikx, я честно говоря не сторонник соленых огурцов, поэтому я бы остановился только на обертке метода Download(); + проверке на существовании папки на фтп.
Это выглядело бы вот так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
try
{
Console.WriteLine("{0}|Начата загрузка файла", DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss"));
new FtpDownloader().Download();
Console.WriteLine("{0}|Загрузка файла окончена", DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss"));
}
catch(Exeption ex)
{
Console.WriteLine("{0}|В ходе работы возникла ошибка!", DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss"));
Console.WriteLine("Сообщение об ошибке:");
Console.WriteLine(ex.Message);
Console.WriteLine("StackTrace:");
Console.WriteLine(ex.StackTrace);
}
Console.Read();
}
Дополнительно добавил бы проверку на существование папки на фтп вот здесь:
Цитата Сообщение от Damenikx Посмотреть сообщение
FtpFilesInfo
создал бы bool свойство проверяющее существование папки.
И если существует, то в методе Download(), запускать загрузку, а то и вообще в методе майн проверять создана ли папка, а потом уже загружать, но это уже на ваш вкус.
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
09.10.2018, 12:55  [ТС]
Стал разбираться немного в коде, что вы предложили, решил для начала вот сюда добавить вывод файлов, которые находятся в папке на фтп сервере по актуальной дате, но столкнулся с такой проблемой:

C#
1
2
3
4
5
Console.WriteLine("{0}|Список файлов на ФТП;")
new FtpFilesInfo().TodayFileNames();//тут ругается, говорит: Называемый член TodayFileNames не может использоваться, как метод. 
Console.WriteLine("{0}|Начата загрузка файла", DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss"));
new FtpDownloader().Download();
Console.WriteLine("{0}|Загрузка файла окончена", DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss"));
Сам VS предлагает решить проблему путём выставления "заглушки"
Но тогда выпадает ошибка:

Неоднозначность между TodayFilesNames и TodayFilesNames().

Добавлено через 23 минуты
Цитата Сообщение от V_Monomax Посмотреть сообщение
И если существует, то в методе Download(), запускать загрузку, а то и вообще в методе майн проверять создана ли папка, а потом уже загружать, но это уже на ваш вкус.
Попытлся сделать таким методом.
C#
1
2
3
4
5
String dir = FullFTPAdressToDay;
                        if (!Directory.Exists(dir))
                        {
                            Directory.CreateDirectory(dir);
                        }
Я видимо точно где-то туплю, потому что ни черта не выходит.
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
09.10.2018, 13:28
Цитата Сообщение от Damenikx Посмотреть сообщение
new FtpFilesInfo().TodayFileNames();//тут ругается, говорит: Называемый член TodayFileNames не может использоваться, как метод.
правильно он ругается вам надо new FtpFilesInfo().TodayFileNames - это свойство, а не метод.
приэтом, вы еще и не эффективно это делаете, раз получили коллекцию, то хотя бы выведите ее на обзор
C#
1
2
3
4
5
6
var fff =new FtpFilesInfo().TodayFileNames;
Console.WriteLine("{0}|Список файлов на ФТП:"DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss"))//у вас и здесь ругаться должно при выводе, так как не хватает, членов использована перегрузка Console.WriteLine(string, params object[])
foreach(var f in fff)
{
Console.WriteLine(f);
}
Добавлено через 1 минуту
Цитата Сообщение от Damenikx Посмотреть сообщение
Попытлся сделать таким методом.
C#
1
2
3
4
5
String dir = FullFTPAdressToDay;
 if (!Directory.Exists(dir))
 {
 Directory.CreateDirectory(dir);
 }
не понял, это к чему?
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
09.10.2018, 13:52  [ТС]
Проверка на наличие папки
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
09.10.2018, 14:13
Цитата Сообщение от Damenikx Посмотреть сообщение
Проверка на наличие папки
а в чем проблема?
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
09.10.2018, 14:44  [ТС]
У меня уже крыша едет =)
C#
1
2
3
4
5
String dir = FullFTPAdressToDay;
 if (!Directory.Exists(dir))
 {
 Directory.CreateDirectory(dir);
 }
Пишет что FullFTPAdressToDay; не существует в данном контексте.

И ещё один вопрос.
Есть возможность сделать тоже самое, на что мы потратили с вами почти неделю, но только на вчерашнюю дату.
(В целях саморазвития, очень интересно попробовать сделать, но я уверен, что без вас мне не обойтись)

Добавлено через 4 минуты
C#
1
2
3
4
5
String dir = FTPSettings.FullFTPAdressToDay();
 if (!Directory.Exists(dir))
 {
 Directory.CreateDirectory(dir);
 }
Если сделать так, то выводит ошибку:
FullFTPAdressToDay является свойство, но используется, как тип.
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
09.10.2018, 14:49
Цитата Сообщение от Damenikx Посмотреть сообщение
У меня уже крыша едет =)
C#
1
2
3
4
5
String dir = FullFTPAdressToDay;
 if (!Directory.Exists(dir))
 {
 Directory.CreateDirectory(dir);
 }

а что вы делаете этим кодом?
если проверяете на текущем компьютере папку, то зачем вам адрес фтп?
Цитата Сообщение от Damenikx Посмотреть сообщение
Есть возможность сделать тоже самое, на что мы потратили с вами почти неделю, но только на вчерашнюю дату.
легко, посмотрите, у вас есть несколько методов использующих вообще любую дату, их нужно и использовать.
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
09.10.2018, 14:53  [ТС]
Цитата Сообщение от V_Monomax Посмотреть сообщение
а что вы делаете этим кодом?
если проверяете на текущем компьютере папку, то зачем вам адрес фтп?
Не, я хочу проверить наличие папки на фтп. Но после ваших слов я так понимаю, что данным методом у меня ничего не выйдет, попробую по-другому. Не подсказывайте!!! =)

Цитата Сообщение от V_Monomax Посмотреть сообщение
легко, посмотрите, у вас есть несколько методов использующих вообще любую дату, их нужно и использовать.
Я прочитал, что для этого, якобы, всего-ли нужно даписать "-1", но что-то мне не кажется, что всё так просто =)
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
09.10.2018, 15:32
Цитата Сообщение от Damenikx Посмотреть сообщение
Не подсказывайте!!!
хорошо, не буду.
Цитата Сообщение от Damenikx Посмотреть сообщение
Я прочитал, что для этого, якобы, всего-ли нужно даписать "-1", но что-то мне не кажется, что всё так просто =)
вопрос в том как вы будете подходить, если губить код, то да это делается просто, если развивать, то надо в классе

FtpFilesInfo, создать два новых метода, принимающих вообще произвольную дату, и возвращающих соответственно полную информацию о папке и имена файлов.
А дальше произвести перегрузку метода Download(DateTime CurrentDate) - по сути перегрузка, говорит, о том что метод другой (т.е. новый). В вашем случае метод должен делать все то-же самое, но только с одной оговоркой, дата другая должна быть. Так как сама Цель очень большая, советую разбить ее на несколько задач:
№ задачинаименованиеКласс
1Создать метод возвращающий bool при проверке папки на фтп на заданную датуFtpFilesInfo
2Создать метод возвращающий коллекцию информации о содержимом папки на заданную датуFtpFilesInfo
3Создать метод возвращающий коллекцию имен файлов находящихся в папке на заданную датуFtpFilesInfo
4Создать метод перегружающий Download с параметром DateTime CurrentDateFtpDownloader
По крайней мере, я бы пошел по такому пути.

Добавлено через 6 минут
Ссылка в помощь по первому вопросу

Добавлено через 53 секунды
Цитата Сообщение от Damenikx Посмотреть сообщение
Не подсказывайте!!! =)
простите не удержался.
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
09.10.2018, 15:58  [ТС]
Цитата Сообщение от V_Monomax Посмотреть сообщение
Сообщение от Damenikx
Не подсказывайте!!!
хорошо, не буду.
Сообщение от Damenikx
Я прочитал, что для этого, якобы, всего-ли нужно даписать "-1", но что-то мне не кажется, что всё так просто =)
вопрос в том как вы будете подходить, если губить код, то да это делается просто, если развивать, то надо в классе
FtpFilesInfo, создать два новых метода, принимающих вообще произвольную дату, и возвращающих соответственно полную информацию о папке и имена файлов.
А дальше произвести перегрузку метода Download(DateTime CurrentDate) - по сути перегрузка, говорит, о том что метод другой (т.е. новый). В вашем случае метод должен делать все то-же самое, но только с одной оговоркой, дата другая должна быть. Так как сама Цель очень большая, советую разбить ее на несколько задач:
№ задачи наименование Класс
1 Создать метод возвращающий bool при проверке папки на фтп на заданную дату FtpFilesInfo
2 Создать метод возвращающий коллекцию информации о содержимом папки на заданную дату FtpFilesInfo
3 Создать метод возвращающий коллекцию имен файлов находящихся в папке на заданную дату FtpFilesInfo
4 Создать метод перегружающий Download с параметром DateTime CurrentDate FtpDownloader
По крайней мере, я бы пошел по такому пути.
Для начала я попробовал (потому что тупой), просто сделать таким образом из этого:
C#
1
public string FileOutPutFolder{get;set;} ="D://FTPFiles/"+DateTime.Now.ToString("yyyyMMdd");
Сделать вот так
C#
1
public string FileOutPutFolder{get;set;} ="D://FTPFiles/"+DateTime.Now.AddDays(-1).ToString("yyyyMMdd");
Но не получилось. Тут у меня возник вопрос:
Это я такой тупой?
Или оно в принципе так работать не может?

Добавлено через 1 минуту
Цитата Сообщение от V_Monomax Посмотреть сообщение
Добавлено через 6 минут
Ссылка в помощь по первому вопросу
Добавлено через 53 секунды
Сообщение от Damenikx
Не подсказывайте!!! =)
простите не удержался.

А я уже нашёл

Добавлено через 13 минут
В общем, из-за того, что я тупорылый идиот, ну, не внимателен, я просто ошибся с названием папки на фтп и поэтому ничего не работало =)

Добавлено через 1 минуту
По поводу той подсказки, которую вы дали (проверка наличия папки на фтп) хотел бы спросить у Вас совета. Делать это отдельным классом или же будет лучше в Main вывести?
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
09.10.2018, 16:01
Damenikx, Давайте по порядку, откатывайте код к тому что был сделан совместно.
Теперь давайте сначала сделаем проверку для этого нам нужен метод возвращающий bool при этом принимающий DateTime CurrentDate.
итак должно получиться вот так:
C#
1
2
3
4
5
6
bool CurDateFolderExist(DateTime CurrentDate)
{
   var res = false;
 
    return res;
}
данный код должен располагаться в классе FtpFilesInfo
Теперь ваша задача, написать сначала здесь на сайте, какими должны быть внутренности данного метода. Жду.
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
09.10.2018, 16:44  [ТС]
Цитата Сообщение от V_Monomax Посмотреть сообщение
Damenikx, Давайте по порядку, откатывайте код к тому что был сделан совместно.
Теперь давайте сначала сделаем проверку для этого нам нужен метод возвращающий bool при этом принимающий DateTime CurrentDate.
итак должно получиться вот так:
C#
1
2
3
4
5
6
bool CurDateFolderExist(DateTime CurrentDate)
{
   var res = false;
 
    return res;
}
данный код должен располагаться в классе FtpFilesInfo
Теперь ваша задача, написать сначала здесь на сайте, какими должны быть внутренности данного метода. Жду.
Прошу прощения но я не понимаю. Мне нужно написать метод который будет проверять сегодняшнюю дату?

Добавлено через 18 минут
Давайте продолжим завтра? Спасибо Вам за вашу помощь!
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
09.10.2018, 16:52
Цитата Сообщение от Damenikx Посмотреть сообщение
Прошу прощения но я не понимаю. Мне нужно написать метод который будет проверять сегодняшнюю дату?
нет данный метод будет проверять, а существует ли папка на указанную дату.
Цитата Сообщение от Damenikx Посмотреть сообщение
Давайте продолжим завтра?
Давайте.

Добавлено через 5 минут
поскольку вы начинаете раньше меня, то вот вам задание для написания метода:
в созданном методе, попытаться подключиться к папке, если подключение прошло успешно, вернуть истина, иначе ложь, для этого используйте обертку try{}catch(WebException ex){}
внутри try - должно происходить подключение, а внутри catch, должна быть проверка на то что файл не создан, иначе выдать исключение.
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
10.10.2018, 09:23  [ТС]
День добрый!

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
bool CurDateFolderExist(DataTime CurrentDate)
{
var res = false;
try
{
var res = (FtpWebRequest)FtpWebRequest.Create(FolderAdress); 
            res.Credentials = new NetworkCredential(UserFTP, PwdFTP); 
            res.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
}
catch (WebException ex)
{
Console.WriteLine("Нема", ex);
}
return res;
}
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
10.10.2018, 10:02
Damenikx, уже лучше, но у вас переменная
Цитата Сообщение от Damenikx Посмотреть сообщение
res
создается дважды,
Цитата Сообщение от Damenikx Посмотреть сообщение
UserFTP, PwdFTP
не видны в этой части кода и наконец, метод всегда возвращает
Цитата Сообщение от Damenikx Посмотреть сообщение
false;
Это явно не то что нужно. Тут на засыпку подумав, решил что нужно проверять не существование папки, а возможность подключения к папке, поэтому и метод лучше назвать CurDateFolderMayConnect потому как WebException, выдает не только наличие папки, но и отсутствие соединения. Поэтому лучше переименовать метод, и пойти по пути проверки возможности подключения. Damenikx, Правьте, выкладывайте.
1
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
10.10.2018, 10:13  [ТС]
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
bool CurDateFolderExist(DataTime CurrentDate)
{
try
{
var res = (FtpWebRequest)FtpWebRequest.Create(FolderAdress); 
            res.Credentials = new NetworkCredential("login", "pass"); 
            res.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
}
catch (WebException ex)
{
if res = true
Console.WriteLine("Удалось", ex);
}
else
Console.WriteLine("Нема");
return res;
}
0
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
10.10.2018, 10:18
Damenikx, не спешите, зачем нам в бизнес логике отображение? Речь идет о
Цитата Сообщение от Damenikx Посмотреть сообщение
Console.WriteLine("Удалось", ex);
Цитата Сообщение от Damenikx Посмотреть сообщение
Console.WriteLine("Нема");
Это пока не к чему.
у вас код работать не будет, так как вы сначала res объявляете как FtpWebRequest, потом вдруг используете как переменную bool, вам сразу же компилятор сообщит о том что не соответствуют типы. (Такое проходит в javascript, но в C# так делать нельзя). Переделывайте.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.10.2018, 10:18

Скачивание файла с 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"); Вот такой код...


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

Или воспользуйтесь поиском по форуму:
160
Закрытая тема Создать тему
Новые блоги и статьи
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru