Форум программистов, компьютерный форум, киберфорум
Обо всем!
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.75/24: Рейтинг темы: голосов - 24, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 17.08.2007
Сообщений: 539

Обсуждение проекта EPCS (удаленное программирование)

22.06.2008, 19:02. Показов 5461. Ответов 51
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Повторение - мать учения. А кто этого учения отец? :-)

------------------------------------

Краткое описание проекта (первое приближение):

Имеется фирма, продающая услуги потребителям. В качестве услуг принята электроэнергия. Фирма работает с абонентами. Абоненты распределены по нескольким населенным пунктам. В каждом населенном пункте имеется представитель фирмы или контролер. Конролер проверяет показания приборов учета у абонентов, проверяет наличие и исправность приборов учета. В случае неисправного прибора с абонента взимается оплата по тарифу, устанавливаемому ежемесячно. Т.е. имеется два вида оплаты -'по тарифу' и 'по счетчику'. С случае несвоевременной оплаты услуг фирма начисляет пени, кроме того имеется система штрафов. Штраф может быть наложен как по решению суда, так и по факту намеренного повреждения прибора учета.

Что требуется от разработчиков:

Требуется создать систему, автоматизирующую деятельность данного предприятия. Причем только по работе с абонентами (фирма работает и с организациями, но программа для данного типа учета уже создана и эксплуатируется несколко лет). Система должна учитывать наличие удаленных пользователей.

Материальная база:

Фирма располагает несколькими достаточно мощными ПК в центральном офисе, объединенными в локальную сеть. В населенных пунктах используются ПК старых моделей (не ниже 486DX4 с RAM 16M) с модемами, которые вообще не используются. Основная ОС - Windows9x. При необходимости можно установить WNT,W2K на один из офисных ПК.

------------------------------------

Данный проект выполнен как однопользовательский (A97), проблема с удаленными офисами решена за счет систематизации документооборота фирмы. В работающем проекте 7 таблиц, 5 основных форм, несколько очетов, 1 модуль класса, в который сведена вся бизнес-логика. Цель - сделать его многопользовательским.

Срок обсуждения проекта - 15 дней с момента выхода данного топика. На 30 апреля намечена рассылка первого пакета заданий. Ориентировочный срок сдачи проекта в эксплуатацию - конец июля.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.06.2008, 19:02
Ответы с готовыми решениями:

Удаленное Программирование на 1С v 8.
Работаю программистом в 1С:Франчайзи 9 месяцев. Имею сертификат 1С профессионал по платформе 8.1. Хотел бы развиваться в области 1С...

Удаленное программирование на 1С
http:///index.html?act=boardrules

Обсуждение работы проекта "Калькулятор со скобками и корнем"
Калькулятор со скобками и корнем Вот так, легко и просто, за один вечер собрал эту штуку надеюсь комунибудь придет идея сделать эту...

51
0 / 0 / 0
Регистрация: 25.12.2007
Сообщений: 92
26.06.2008, 16:57
Студворк — интернет-сервис помощи студентам
я живой...
0
0 / 0 / 0
Регистрация: 17.08.2007
Сообщений: 539
28.06.2008, 11:03  [ТС]
Я живой!
Прошу прощения - провайдер подвел. Два дня без сети... :-(
(зато хоть весну заметил) :-)

2GHOST: МОЛОДЕЦ!!! Значит сервисы устанавливать можем и это очень радует!

Едем дальше:

Работа с договорами - это основа. Другая важная часть - ввод показаний счетчиков. Еще раз напомню, что существуют два типа оплаты - 'по счетчикам' и 'по тарифам'. Причем, если имеется X абонентов и X1 из них по счетчикам, то X2 - по тарифам и X2=(X-X1). На практике это выглядит следующим образом - имеется список договоров по данному населенному пункту. На основании этого списка контролеру дается другой список - так называемый 'список по реализации' - обычный лист для ввода показаний. Если у данного абонента есть счетчик, то в графу напротив номера его договора ставится показание. Если нет, то ничего не ставится - тариф. Затем данный лист (листы) передаются в головной офис для ввода (девочке :-) ). Естественно, девочка вводит только имеющиеся данные. Затем жмет на кнопочку 'пересчет' и ПК начинает считать. Программа проходит по всему списку и, если встречает показания счетчика, то выставляет данному абоненту (договору) объем по формуле: объем=показания текущего месяца - показания предыдущего месяца (кстати, проблема с 'начальными показаниями' решается очень просто - вначале берем тариф, так как 'показаний предыдущего месяца' нет). Если ничего в графе нет, то выставляется объем по тарифу. Тарифы устанавливаются ежемесячно и зависят от времени года и т.п. Формула учета по тарифу включает в себя количество комнат и т.п. Будет дана позднее, дабы не забивать светлые головы :-)
Итак, имеется задача 'Ввод показаний счетчиков'. Без предыдущей задачи ее не сделать, так как необходимы данные по абонентам. Прошу записать в блокноты, господа :-)

Теперь продолжение задачи 'О работе с абонентами':
BLL: Основные действия с абонентами - добавить договор, удалить договор, отредактировать договор. Стандартно и обыденно :-)
DAL: Договор содержит в себе: #Договора, Адрес, ФИО, Число комнат, #Паспорта, Дата заключения договора, Дата расторжения договора, Комментарий. Это сторона 'многие'. Сторона 'один' - наименование населенных пунктов.

Пока все по задачам. Продолжение, как говорят, в следующем номере :-)

Дополнительная информация:

Что требуется продумать по технической стороне - задачу по работе с абонентами. Сделайте базу в формате Access97. Две таблицы - 'населенные пункты' и 'абоненты'. Продумайте запросы с параметрами. Например qryDivisionAdd - добавить населенный пункт. Параметр - strDivisionName. Поднимаемся на уровень выше - сервис с одним параметром wsDivisionAdd(strDivisionName) - просто вызывает наш запрос. Поднимаемся на уровень выше - вебформа с одним текстовым полем txtDivisionAdd и кнопкой cmd..., при нажатии на которую вызывается сервис, которому передается значение, занесенное в txtDivisionAdd. Это выглядит просто, но на основе таких простых шагов и будет строиться все приложение. Надеюсь, что работать с договором через веб вам покажется не таким уж сложным делом.

И еще одно дополнение - в приложении будет использоваться система защиты на уровне пользователей, то есть *.mdw-файл (бринкстер разрешает). Если пользователю не разрешено запускать данный запрос, то он получит сообщение об ошибке. Просто...

Удачи всем,
В случае возникновения вопросов пишите на почту или в форум. Помните 'не реже 1 раза в 2 дня'? :-)
0
0 / 0 / 0
Регистрация: 17.08.2007
Сообщений: 539
28.06.2008, 11:11  [ТС]
2smalig: И шо Вы таки скептические? :-) Ну проект пытаемся сделать. Ну трудности, как у всякого дела вначале. А при чем тут форум по САПР?
0
0 / 0 / 0
Регистрация: 25.12.2007
Сообщений: 92
29.06.2008, 10:43
2debutant: что-то у меня не получилось запустить web-application на бесплатном хостинге. В нашей локальной сети оно работает, а на сервере нет. Может, я чего-то не допонимаю?
0
Ghost
29.06.2008, 11:17
2 mitroshin : http://www10.brinkster.com/crazyghost
Мы об этом говорим?
0 / 1 / 3
Регистрация: 27.03.2012
29.06.2008, 12:04
>> И шо Вы таки скептические? :-)

гм, я наоборот оптимист вроде бы всегда :-) просто задача вроде бы как раз та, что искали, да еще и денег за работу пообещали, потому я и встрял в ваш разговор. хотя там, конечно, не все так просто, да и без веб-сервера..., но все равно, было бы интересно. А форум САПР в случае выбора той задачи как раз бы был при чем, потому что там как раз тоже самое и обсуждают, только не так активно к сожалению, как здесь... ;-(
0
0 / 0 / 0
Регистрация: 25.12.2007
Сообщений: 92
29.06.2008, 13:58
А у меня выводит
Server Error in '/' Application.
--------------------------------------------------------------------------------

Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

Parser Error Message: It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS.

Source Error:

Line 36: 'Passport' and 'None'
Line 37: -->
Line 38: <authentication mode='Windows' />
Line 39:
Line 40: <!-- APPLICATION-LEVEL TRACE LOGGING


Source File: \genfs1www10mitroshinWebCSAppweb.config Line: 38

--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:1.0.3705.209; ASP.NET Version:1.0.3705.0

Что бы это значило?
0
Ghost
29.06.2008, 14:12
Хрен его знает.
Мой .aspx скинуть?
Ghost
29.06.2008, 14:13
Хрен его знает.
Что-то ты там не так наваял - я думаю, что надо .aspx код смотреть.
Мой .aspx скинуть?
Ghost
29.06.2008, 14:13
Хрен его знает.
Что-то ты там не так навая - я думаю, что надо .aspx код смотреть.
Мой .aspx скинуть?
0 / 0 / 0
Регистрация: 25.12.2007
Сообщений: 92
29.06.2008, 14:19
скинь...Только по-иоему, aspx тут ни при чем, в локальной-то сети работает. Ты туда какие файлы закидывал и как? Я все, что у меня в виртуальном каталоге нашлись.
aspx:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<%@ Page language='c#' Codebehind='WebFormSum.aspx.cs' AutoEventWireup='false' Inherits='WebCSApp.WebForm1' %>
<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.0 Transitional//EN' >
<HTML>
    <HEAD>
        <title>WebForm1</title>
        <meta name='GENERATOR' Content='Microsoft Visual Studio 7.0'>
        <meta name='CODE_LANGUAGE' Content='C#'>
        <meta name='vs_defaultClientScript' content='JavaScript'>
        <meta name='vs_targetSchema' content='http://schemas.microsoft.com/intellisense/ie5'>
    </HEAD>
    <body MS_POSITIONING='GridLayout'>
        <form id='Form1' method='post' runat='server'>
            <asp:TextBox id='txtSum1' style='Z-INDEX: 101; LEFT: 108px; POSITION: absolute; TOP: 60px' runat='server' Width='94px' Height='23px'></asp:TextBox>
            <asp:Label id='Label1' style='Z-INDEX: 102; LEFT: 25px; POSITION: absolute; TOP: 22px' runat='server' Width='212px' Height='29px'>Сколько будет 2+2?</asp:Label>
            <asp:TextBox id='txtSum2' style='Z-INDEX: 103; LEFT: 257px; POSITION: absolute; TOP: 62px' runat='server' Width='136px' Height='23px'></asp:TextBox>
            <asp:Button id='btnSumma' style='Z-INDEX: 104; LEFT: 467px; POSITION: absolute; TOP: 113px' runat='server' Width='84px' Height='28px' Text='Посчитать'></asp:Button>
            <asp:Label id='Label2' style='Z-INDEX: 105; LEFT: 222px; POSITION: absolute; TOP: 64px' runat='server' Height='16px' Width='15px'>+</asp:Label>
            <asp:Label id='Label3' style='Z-INDEX: 106; LEFT: 412px; POSITION: absolute; TOP: 63px' runat='server' Height='23px' Width='13px'>=</asp:Label>
            <asp:TextBox id='txtSumma' style='Z-INDEX: 107; LEFT: 463px; POSITION: absolute; TOP: 61px' runat='server' Height='25px' Width='93px'></asp:TextBox>
        </form>
    </body>
</HTML>
aspx.cz:
[code]
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Runtime.Serialization;

namespace WebCSApp
{
/// <summary>
/// Summary description for WebForm1.
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.TextBox txtSum1;
protected System.Web.UI.WebControls.TextBox txtSum2;
protected System.Web.UI.WebControls.Button btnSumma;
protected System.Web.UI.WebControls.Label Label2;
protected System.Web.UI.WebControls.Label Label3;
protected System.Web.UI.WebControls.TextBox txtSumma;
protected System.Web.UI.WebControls.Label Label1;

private void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
}

#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
0
Ghost
29.06.2008, 15:37
Ну, я не так крут. У меня всё по-проще.

Code
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
<%@ Page Inherits='System.Web.UI.MobileControls.MobilePage' Language='VB' %>
<%@ Register TagPrefix='mobile' Namespace='System.Web.UI.MobileControls' Assembly='System.Web.Mobile' %>
 
<script runat='server' language='VB'>
 
Protected Sub AddCommand_OnClick(sender As Object, e As EventArgs)
    If ((EditX.Text <> '') And (EditY.Text <> ''))
        if ((IsNumeric(EditX.Text)) And (IsNumeric(EditY.Text))) Then
            Result.Text = CDbl(EditX.Text) + CDbl(EditY.Text)
        else
            Result.Text = 'Enter ONLY Numeric values!!!!'
        end if
    else
        Result.Text = 'Enter values in the fields'
    end if
End Sub
 
</script>
 
<mobile:Form runat='server'>
    <mobile:Label runat='server'>X = </mobile:Label>
    <mobile:TextBox runat='server' id='EditX' />
    <mobile:Label runat='server'> + </mobile:Label>
    <mobile:Label runat='server'>Y = </mobile:Label>
    <mobile:TextBox runat='server' id='EditY' />
    <mobile:Command runat='server' OnClick='AddCommand_OnClick' Text=' = ' />
    <mobile:Label runat='server' id='Result' />
</mobile:Form>
Как закидываю?
Да нажимаю создать новый файл, туда shift-INS, сохранить и выйти, просмотр.
Вроде всё.
0 / 0 / 0
Регистрация: 25.12.2007
Сообщений: 92
29.06.2008, 17:14
Я просек, почему у меня не получается - я использую два файла, в одном описываю форму, во втором - программный код. Но когда в файле формы я указываю Codebehinf='', мне говорят, что такой класс формы не существует, а если указываю Src='', то такого файла нет. Что бы это значило?Вообще, нездорово получается. Лучше - то разделять программный код и описание интерфейса.
0
Ghost
29.06.2008, 17:53
Согласен всеми 4-мя лапами.
Но! Не силен я с веб-прЫграммирование
0 / 0 / 0
Регистрация: 25.12.2007
Сообщений: 92
29.06.2008, 18:19
я тут порылся в форумах на brinkster'е и выяснил, что можно все-таки использовать codebehind, но для этого надо установить dll(полученные из .aspx.cs) на своем сайте, а для этого надо вызвать Start Page->Web Hosting->Additional Providers->Upload directly to your Brinkster account, далее вводим свой логин+пароль и по идее дело в шляпе(для текущего проекта). Но почему - то он мне выдает 'Доступ запрещен'. Может из-за кривого VS7?Может, у кого-то получится лучше?
0
0 / 0 / 0
Регистрация: 25.12.2007
Сообщений: 92
29.06.2008, 18:25
Хотя, если еще подумать, то когда мы используем директиву Src, то в отличие от codebehind компилирование происходит на лету, по-моем. А значит, можно, по идее, обойтись без установки своих dll. Но мне говорится, что компилятор не нашел мой src. В командной строке указывается сетевой путь, типа \genfs1www10mitroshinWebFormSum.cs
Может, из-за этого выдается такая ошибка:
error CS2001: Source file '\genfs1www10mitroshinWebFormSum.cs' could not be found
fatal error CS2008: No inputs specified
0
0 / 0 / 0
Регистрация: 25.12.2007
Сообщений: 92
29.06.2008, 20:50
А вот есть еще такой сайт www.hostbasket.com, так там все это работает (http://svc119.bne001netu.server-web.com/WebApplication1/WebForm1.aspx), притом в максимально удобной для разработчика форме - создаем новый проект, указываем имя сайта ( в данном случае http://svc119.bne001netu.server-web.com/, и начинаем работать)Притом очень широкие возможности для настройки сайта.
0
0 / 0 / 0
Регистрация: 17.08.2007
Сообщений: 539
30.06.2008, 00:47  [ТС]
2mitroshin: Отлично! Классный хостинг (с первого взгляда). Пробовать можно, а может быть и нужно, на нем. Что скажите, господа?
По поводу бринкстера у меня тоже не выходит, да и осадок после борьбы с ним остался неприятный :-(

2smalig: Спасибо за отеческую поддержку. Меня радует сам факт наличия интереса к теме создания распредгруппы. Кто знает, может быть из затеи с учебным проектом действительно получится группа разработчиков. По крайней мере я этого очень хочу и хочу работать в такой группе. Да, я согласен с мнением, что доверять выполнение проектов распредгруппе - авантюра. Но есть же и заказчики-авантюристы :-)

2AllMembers: Третья часть Марлезонского балета :-)

Итак, у нас имееются две задачи - 'Работа с абонентами' и 'Работа с показаниями'. Т.е. есть население, есть объем услуг, которое это население потребило. Пришло время собирать камни :-) Камни будут позднее, когда пенсионер, придя с жировкой, в которой ваша программа округлила десятки до сотен, набъет физиономию контролеру тете Клаве, которая в свою очередь, придя в центральный офис... Что-то я отвлекся :-) О чем это я? Ах, да!
Пришло время собирать деньги!
Третья часть балета называется 'Работа с платежами'. Тот же список абонентов. Напротив каждой фамилии (договора) ручками вписывается сумма, которую данный абонент внес и номер документа, подтверждающего данный взнос (попросту - квитанция номер ХХХХ). Опять же девочка (а может быть она уже и не девочка :-( ) вносит данный список в ПК. Прошу обратить еще раз внимание на факт разграничения полномочий. Оператор в головном офисе только вводит присланные ему данные. Больше он ничего не делает. Понимаю, что пахнет Альтаиром или компьютерами на базе процессоров Intel8080 (Intel inside - Idiot outside - прошу прощения, если обидел данной шуткой), но и такая оптимизация позволяет сэкономить немало средств. Можно, конечно, продумать вариант выхода ПК контролеров в населенных пунктах в сеть организации, но тогда задача учебного проекта немного усложниться - повременка дороговата, чтобы ждать, пока тетя Клава заполнит весь список, 'выплюнутый' на ее бедный экран офисным сервером. Здесь я оставляю право вам самим решить что делать. Хотя, в принципе, для учебного проекта лучше принять идеальные граничные условия - тетя Клава имеет соединение T1 и в прошлом году заняла первое место на спартакиаде секретарей-машинисток в номинации 'слепая десятипальцевая печать одним пальцем' :-)

Небольшие итоги
----------------
Основная задача - построение приложения по учету услуг фирмы
Подзадачи:
1. Работа с договорами (Потребители)
2. Работа с показаниями (Потребленные услуги)
3. Работа с платежами (Оплаченные услуги)

Остается еще одна задача, которую я опишу позднее. Кроме этой задачи есть еще пара мелких подзадач наподобие 'ввод/редактирование тарифов' и т.п.

Дополнительно по п.п.1,2,3 - DAL подзадач - три таблицы 'Договора', 'Показания', 'Платежи'. Таблицы 'Показания' и 'Платежи' связаны с таблицей 'Договора' и находятся на стороне 'многие'. Связывающим полем, как вы уже догадались, является номер договора.

Вот и все folks на сегодня :-)
Жду комментариев и проч.

Удачи всем!
0
0 / 0 / 0
Регистрация: 25.12.2007
Сообщений: 92
30.06.2008, 11:35
Всем приношу извинения. Вышеприведенный адрес относится к www.webcentral.com, хотя на hostbaskete работа также осуществляется. Разница в том, что на webcentral trial 3 месяца x 50 Мб, а на hostbasket 1 месяц.
0
0 / 0 / 0
Регистрация: 17.08.2007
Сообщений: 539
03.07.2008, 18:02  [ТС]
Мда...
Живое обсуждение :-)
Живые хоть есть? Дальше продолжать?
А то разговор в стиле 'моно' получается :-)

После переклички :-) опишу последнюю часть проекта. Если желающие еще живы...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.07.2008, 18:02

Разработка проекта. Программирование разветвляющихся процессов.
Разработать в Delphi проект &quot;Проверка таблицы умножения&quot;. Программа должна выводить пример на умножение двух однозначных случайных чисел,...

есть идея проекта! сам не могу осуществить, так как не знаю программирование!
есть идея проекта! сам не могу осуществить, так как не знаю программирование! платить не буду, но проект будет общий, так что прибыль...

как сделать ссылку из страницы одного проекта на страницу другого проекта?
Добрый день! Подскажите пожалуйста, у меня есть Solution, в нем проект на WebForms и проект Dinamic Data. Ссылки на проект есть у WebForms...

Закрытие проекта Visual Studio 2010 при редактировании проекта
Когда редактирую любой проект в visual studio ultimate 2010 ( x64)студия закрывается,скажите,пожалуйста, что делать?

Предача библиотек компонентов проекта VBA через инсталляцию проекта
Столкнулся со следующей проблемой. Знаю что тема вполне изъезжена на данном форуме, просмотрел как положено подобные темы и темнеменее... ...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru