Модераторы: Snowy, Poseidon

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проект Музыкальный школьный звонок, Нужна помощь в доделке проекта 
:(
    Опции темы
уни
Дата 6.8.2010, 07:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Ну и чтобы совсем добить русскую тему и почему я так за неё взялся. Пришлось мне как-то писать заказную программу для Роспайпа. Это была программа для гидравлического и статического расчёта труб для систем водоотведения. Надо ли говорить, что писать нужно было по ГОСТам, т.к. эти расчёты приведены в регламентирующих документах. Все понятия там русские, а писал я на Дельфе. И вот мне нужно было придумать удобный код, чтобы обращаться к ОГРОМНОМУ количеству параметров.

Оцените степень извращения при писании кода на английском для внутреннего потребления:
Код

  TCalcVariables = class(TObject)
  public                                                        
// --= / [ Начало списка параметров] / =--
// --= / [ Общие параметры ] / =--
    MinerDiameter                                  : TVariable; // Dвнутр - Внутренний диаметр трубопровода
    ExternalDiameter                               : TVariable; // Dнаруж - Наружный диаметр трубопровода

// --= / [ Параметры статического расчёта ] / =--
    ShellDepth                                     : TVariable; // s      - Толщина оболочки
    CorrugationWidth                               : TVariable; // Lв     - Ширина гофра
    CorrugationStep                                : TVariable; // Lш     - Шаг гофра
    PipelineDepthFilling                           : TVariable; // Hтр    - Глубина засыпки трубопровода, считается от поверхности земли до уровня горизонтального диаметра
    ShortlivedElongationModulusOnPipelineEndLife   : TVariable; // Eo     - Кратковременный модуль упругости при растяжении материала трубы на конец срока службы эксплуатации трубопровода
    LongtimeElongationModulusOnPipelineEndLife     : TVariable; // Etau   - Долговременный модуль упругости при растяжении материала трубы на конец срока службы эксплуатации трубопровода
    PoissonConstantTubeStuff                       : TVariable; // Mu     - Коэффициент Пуассона материала трубы, приводится в норматив-ной документации
    ShortlivedStrengthAtTubeStuffStretching        : TVariable; // Sigmao - Кратковременная расчётная прочность при растяжении материала трубы
    SoilSpecificWeigth                             : TVariable; // Gamma  - Удельный вес грунта
    SoilDeformationModuleInTrenchSinuses           : TVariable; // Eгр    - Модуль деформации грунта в пазухах траншеи
    WeigthOnOneAxis                                : TVariable; // m      - Масса в тоннах на одну ось
    WheelLeanArea                                  : TVariable; // F      - Площадь опирания колеса
    InternalWaterPressureInPipeline                : TVariable; // P      - Перевод массы транспорта в давление на поверхности грунта
    GroundWaterLevelAltitude                       : TVariable; // Hв     - Высота грунтовых вод
    StrengthCondition                              : TVariable; //        - Условие прочности
    PipelineMaterial                               : TVariable; //        - Материал трубопровода
    PipelineMaterialMark                           : TVariable; //        - Марка материала трубопровода
    SoilType                                       : TVariable; //        - Тип грунта засыпки
    CorrugationHeight                              : TVariable; // e      - Высота гофра "e"
    GravityCenterYCoordinate                       : TVariable; // y      - Координата y центра тяжести
    TubeAreaSecondMoment                           : TVariable; // I      - Момент инерции поперечного сечения кольца относительно центральной оси
    RingCrossSectionArea                           : TVariable; // A      - Площадь поперечного сечения кольца
    ConditionalDiameter                            : TVariable; // D      - Диаметр окружной центральной линии кольца
    GeneralExternalVerticalLoading                 : TVariable; // qc     - Суммарная внешняя вертикальная нагрузка
    ShortlivedRingtypeShellRigidity                : TVariable; // Go     - Кратковременная кольцевая жесткость оболочки трубы
    RLSVDTGroundLoad                               : TVariable; // Psi_гр - Относительное укорочение вертикального диаметра трубы под действием грунтовой нагрузки
    RLSVDTTransportLoads                           : TVariable; // Psi_Т  - Относительное укорочение вертикального диаметра трубы под действием транспортных нагрузок
    RLSVDTWarehouseing                             : TVariable; // Psi_М  - Относительное укорочение вертикального диаметра трубы, образовавшееся в процессе складирования, транспортировки и монтажа
    GeneralRLSVDTInSoil                            : TVariable; // Psi    - Суммарное относительное укорочение вертикального диаметра трубы в грунте
    MaxRatingDeformationWallStuff                  : TVariable; // Eps_p  - Максимальное значение деформации материала в стенке трубы из-за овальности поперечного сечения трубы под действием грунтов и транспортных нагрузок
    CompressionRatioWallStuff                      : TVariable; // Eps_c  - Степень сжатия материала стенки трубы от воздействия внешних нагрузок на трубопровод
    MVTDSWStressRrelaxations                       : TVariable; // Eps_pp - Предельно допустимое значение деформации растяжения материала в стенке трубы, происходящей в условиях релаксаций напряжений
    MVTDSWTCreep                                   : TVariable; // Eps_pn - Предельно допустимая деформация растяжения материала в стенке трубы в условиях ползучести
    GroundLoad                                     : TVariable; // qгр    - Грунтовая нагрузка
    TransportLoad                                  : TVariable; // qt     - Транспортная нагрузка, принимаемая по справочным данным для гусеничного, колёсного и другого вида транспорта
    GroundwatersExternalPressure                   : TVariable; // Qгв    - внешнее давление грунтовых вод на уровне горизонтального диаметра трубы
    GeneralExternalPressureOnTube                  : TVariable; // qвш    - суммарное внешнее давление на трубу
    ExtPressureFromStabilityCondWithTransportLoad  : TVariable; // qвш    - суммарное внешнее давление на трубу при учёте транспортной нагрузки
    ExternalPressureFromStabilityCondition         : TVariable; // qуст   - допускаемое значение внешнего давления из условия устойчивости
    DepthLocationFactor                            : TVariable; // n      - Коэффициент, учитывающий глубину заложения трубопровода
    SoilWeightFluidizedInWater                     : TVariable; // Gammav - Вес взвешенного в воде грунта
    LonglivedRingtypeRigidity                      : TVariable; // Gtau   - Длительная кольцевая жесткость на единицу длины трубы

// --= / [ Параметры гидравлического расчёта ] / =--
    HydraulicRadius                                : TVariable; // Rs     - Гидравлический радиус потока
    EmpiricalExponent                              : TVariable; // a      - Эмпирический показатель степени
    HydraulicFrictionCoeff                         : TVariable; // Ls     - Коэффициент гидравлического трения по длине трубопровода
    SelfflowPipeSlop                               : TVariable; // is     - Уклон самотечного трубопровода
    PipeFilling                                    : TVariable; // hs_d   - Наполнение трубопровода
    DimlessExponentBeg                             : TVariable; // bs     - Безразмерный показатель степени
    DimlessExponentEnd                             : TVariable; // Beg    - начальное, End - конечное значение
    Acceleration                                   : TVariable; // g      - Ускорение свободного падения
    FluidFlowAverSpeed                             : TVariable; // u      - Средняя скорость потока жидкости
    ReinoldsNumQuad                                : TVariable; // Requ   - Число Рейнольдса
    ReinoldsNumPhi                                 : TVariable; // Rephi  - Число Рейнольдса
    NotFillFluidFlowAverSpeed                      : TVariable; // Vnf    - Средняя скорость течения жидкости при неполном заполнении трубопровода
    FillFluidFlowAverSpeedBeg                      : TVariable; // Vf     - Средняя скорость течения жидкости при полном заполнении трубопровода
    FillFluidFlowAverSpeedEnd                      : TVariable; // Beg    - начальное, End - конечное значение
    KinematicsToughCoef                            : TVariable; // v      - Коэффициент кинематической вязкости
    RsnfRsfCoef                                    : TVariable; // Rsnf_Rsf - Табличное отношение
    FluidConsumption                               : TVariable; // qs     - Расход жидкости

// --= / [ Коэффициенты ] / =--
    KwCoef                                         : TVariable; // Kw     - Табличный коэффициент
    AssuranceFactorOnStability                     : TVariable; // Kzu    - Коэффициент запаса на устойчивость
    TubeRoundoffProcessFactor                      : TVariable; // Kok    - коэффициент, учитывающий процесс округления овализованной трубы под действием внутреннего давления воды в водопроводе
    CrossSectionOvalityDelay                       : TVariable; // Ktau   - Коэффициент, учитывающий запаздывание овальности поперечного сечения трубы во времени и зависящий от типа грунта, степени его уплотнения, гидрогеологических условий, геометрии траншеи
    TroughFactor                                   : TVariable; // Kw     - Коэффициент прогиба, учитывающий качество подготовки ложа и уплотнения
    CrossSectionBottomEffectFactor                 : TVariable; // Kgr    - Коэффициент, учитывающий влияние грунта засыпки на овальность поперечного сечения трубопровода
    RingTypeRigidityFactor                         : TVariable; // Kg     - Коэффициент, учитывающий влияние кольцевой жёсткости оболочки трубы на овальность поперечного сечения трубопровода
    SandbedSoilFactorForFlexuralStresses           : TVariable; // Ksigma - Коэффициент постели грунта для изгибающих напряжений, учитывающий качество уплотнения
    AssuranceFactorOnOvalityTubeCrossSection       : TVariable; // Kzpsi  - Коэффициент запаса на овальность поперечного сечения трубы
    AssuranceFactor                                : TVariable; // Kz     - Коэффициент запаса, должен приводиться в нормативных документах
    SoilBulkFactor                                 : TVariable; // Ku     - Коэффициент уплотнения грунта
    RoughnessCoef                                  : TVariable; // Ke     - Коэффициент эквивалентной шероховатости
    InfluencingSoilFillingShellStabilityFactor     : TVariable; // Куг    - коэффициент, учитывающий влияние засыпки грунта на устойчивость оболочки
    TubeOvalityFactor                              : TVariable; // Ков    - коэффициент, учитывающий овальность трубы
// --= / [ Конец списка параметров] / =--

    CurrentCalc: TCalcType;
   public
    DBMaterialId: Integer;
    DBSoilId: Integer;

    procedure InitializeVars;

    constructor Create;
    destructor Destroy;
  end;


Я тогда был неопытный товарищ и не владел парсингом и разбором текста по грамматике. Таким бы извращением не занимался. А сделал бы, как в приведённым выше коде парсера, где у меня все переменные в текстовом файле настроек - русские и заполняют они специальный массив в памяти.

Дак вот, я затратил кучу мозговых усилий на перевод специальных терминов на английский ТОЛЬКО ДЛЯ ТОГО, ЧТОБЫ КОД КОМПИЛИРОВАЛСЯ! Сейчас бы я всё сделал проще и элегантнее.

Вот когда посидишь и поломаешь голову над английскими терминами... то сто раз проклянёшь этот английский с его убогостью. Я сделал совершенно не нужную работу.
PM MAIL   Вверх
уни
Дата 6.8.2010, 08:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Вот ещё пример из моей практики. Кусок кода из Конфигуратора модуля ввода-вывода систем АСУТП (C++ Builder) и та же история:
Код

        // 16 разрядные регистры
        FMIPID = new CDeviceStandartTags<unsigned short>(static_cast<IDevice*>(this), "Код прибора", DeviceTagsID::MIPID, DEV_READ, 0xFF, 1, 3, 0x005, 3, 0, 0);
        FMIPVersionPO = new CDeviceStandartTags<unsigned short>(static_cast<IDevice*>(this), "Версия ПО", DeviceTagsID::MIPVersionPO, DEV_READ, 0xFF, 1, 3, 0x006, 0, 0, 0);
        FMIPAnalogChannelCount = new CDeviceStandartTags<unsigned short>(static_cast<IDevice*>(this), "Количество аналоговых каналов", DeviceTagsID::MIPAnalogChannelCount, DEV_READ, 0xFF, 1, 3, 0x007, 0, 0, 0);
        FMIPDigitalInputCount = new CDeviceStandartTags<unsigned short>(static_cast<IDevice*>(this), "Количество цифровых каналов", DeviceTagsID::MIPDigitalInputCount, DEV_READ, 0xFF, 1, 3, 0x007, 0, 0, 0);
        FMIPRelayCount = new CDeviceStandartTags<unsigned short>(static_cast<IDevice*>(this), "Количество релейных выходов", DeviceTagsID::MIPRelayCount, DEV_READ, 0xFF, 1, 3, 0x008, 0, 0, 0);
        FMIPRelayType = new CDeviceStandartTags<unsigned short>(static_cast<IDevice*>(this), "Тип релейных выходов", DeviceTagsID::MIPRelayType, DEV_READ, 0xFF, 1, 3, 0x009, 0, 0, 0);
        FMIPSerialNumber = new CDeviceStandartTags<unsigned long>(static_cast<IDevice*>(this), "Серийный номер", DeviceTagsID::MIPSerialNumber, DEV_READ, 0xFF, 1, 3, 0x00a, 0, 0, 0);

        FMIPDateTime = new CDeviceDateTimeTags(static_cast<IDevice*>(this), "Дата и время", DeviceTagsID::MIPDateTime, DEV_RDWR);
        FMIPState = new CDeviceStandartTags<unsigned short>(static_cast<IDevice*>(this), "Регистр состояния МИП", DeviceTagsID::MIPState, DEV_READ, 0xFF, 1, 3, 0x103, 0, 0, 0);
        FArchiveIndex = new CDeviceStandartTags<unsigned long>(static_cast<IDevice*>(this), "Номер текущей записи архива", DeviceTagsID::ArchiveIndex, DEV_READ, 0xFF, 1, 3, 0x104, 0, 0, 0);
        FArchiveDamageIndex = new CDeviceStandartTags<unsigned long>(static_cast<IDevice*>(this), "Номер текущей записи архива аварий", DeviceTagsID::ArchiveDamageIndex, DEV_READ, 0xFF, 1, 3, 0x105, 0, 0, 0);
        FArchiveCalibrationIndex = new CDeviceStandartTags<unsigned long>(static_cast<IDevice*>(this), "Номер текущей записи архива калибровок", DeviceTagsID::ArchiveCalibrationIndex, DEV_READ, 0xFF, 1, 3, 0x106, 0, 0, 0);
        FArchiveWorkPeriod = new CDeviceStandartTags<unsigned char>(static_cast<IDevice*>(this), "Период архивирования", DeviceTagsID::ArchiveWorkPeriod, DEV_RDWR | DEV_ALL | DEV_FILE, 0xFF, 1, 3, 0x107, 0, 0, 12);
        FArchiveDeviation = new CDeviceStandartTags<float>(static_cast<IDevice*>(this), "Максимальное отклонение архива", DeviceTagsID::ArchiveDeviation, DEV_RDWR | DEV_ALL | DEV_FILE, 0xFF, 1, 3, 0x109, 0, 0, 10);
        FArchiveDamagePeriod = new CDeviceStandartTags<unsigned char>(static_cast<IDevice*>(this), "Период архивирования аварий", DeviceTagsID::ArchiveDamagePeriod, DEV_RDWR | DEV_ALL | DEV_FILE, 0xFF, 1, 3, 0x10b, 0, 0, 12);
        FArchiveDamageDeviation = new CDeviceStandartTags<float>(static_cast<IDevice*>(this), "Максимальное отклонение архива аварий", DeviceTagsID::ArchiveDamageDeviation, DEV_RDWR | DEV_ALL | DEV_FILE, 0xFF, 1, 3, 0x10d, 0, 0, 10);
        FMIPDefaultKXC = new CDeviceStandartTags<signed short>(static_cast<IDevice*>(this), "Температура КХС по умолчанию", DeviceTagsID::MIPDefaultKXC, DEV_RDWR | DEV_ALL | DEV_FILE, 0xFF, 1, 3, 0x10f, 0, -45, 55);
        FLinkAddress = new CDeviceStandartTags<unsigned char>(static_cast<IDevice*>(this), "Магистральный адрес", DeviceTagsID::LinkAddress, DEV_RDWR, 0xFF, 1, 3, 0x110, 1, 1, 255);
        FLinkSpeed = new CDeviceStandartTags<unsigned char>(static_cast<IDevice*>(this), "Скорость обмена", DeviceTagsID::LinkSpeed, DEV_RDWR | DEV_FILE, 0xFF, 1, 3, 0x111, 0, 0, 1);
        FMIPUserPassword = new CDeviceStandartTags<unsigned short>(static_cast<IDevice*>(this), "Пароль на уставки", DeviceTagsID::MIPUserPassword, DEV_RDWR, 0xFF, 1, 3, 0x112, 0, 0, 9999);
        FMIPAdminPassword = new CDeviceStandartTags<unsigned short>(static_cast<IDevice*>(this), "Общий пароль", DeviceTagsID::MIPAdminPassword, DEV_RDWR, 0xFF, 1, 3, 0x113, 0, 0, 9999);

        FChannelSensorType = new CDeviceStandartTags<unsigned char>(static_cast<IDevice*>(this), "Типы датчиков аналоговых каналов", DeviceTagsID::ChannelSensorType, DEV_RDWR | DEV_ALL | DEV_FILE, 0, 0, 3, 0x210, 0, 0, 43);
        FChannelCommaPosition = new CDeviceStandartTags<unsigned char>(static_cast<IDevice*>(this), "Позиции запятых аналоговых каналов", DeviceTagsID::ChannelCommaPosition, DEV_RDWR | DEV_ALL | DEV_FILE, 0, 0, 3, 0x220, 0, 0, 3);
        FChannelCoefDigitalFiltration = new CDeviceStandartTags<unsigned char>(static_cast<IDevice*>(this), "Цифровая фильтрация аналоговых каналов", DeviceTagsID::ChannelCoefDigitalFiltration, DEV_RDWR | DEV_ALL | DEV_FILE, 0, 0, 3, 0x230, 0, 0, 2);
        FChannelRelay1Charter[0] = new CDeviceStandartTags<unsigned char>(static_cast<IDevice*>(this), "Первое реле первой уставки", DeviceTagsID::ChannelRelay1Charter1, DEV_RDWR | DEV_ALL | DEV_FILE, 0, 0, 3, 0x2c0, 0, 0, InitMVA8Settings.CountRelay);
        FChannelRelay1Charter[1] = new CDeviceStandartTags<unsigned char>(static_cast<IDevice*>(this), "Первое реле второй уставки", DeviceTagsID::ChannelRelay1Charter2, DEV_RDWR | DEV_ALL | DEV_FILE, 0, 0, 3, 0x2e0, 0, 0, InitMVA8Settings.CountRelay);
        FChannelRelay1Charter[2] = new CDeviceStandartTags<unsigned char>(static_cast<IDevice*>(this), "Первое реле третьей уставки", DeviceTagsID::ChannelRelay1Charter3, DEV_RDWR | DEV_ALL | DEV_FILE, 0, 0, 3, 0x300, 0, 0, InitMVA8Settings.CountRelay);
        FChannelRelay1Charter[3] = new CDeviceStandartTags<unsigned char>(static_cast<IDevice*>(this), "Первое реле четвёртой уставки", DeviceTagsID::ChannelRelay1Charter4, DEV_RDWR | DEV_ALL | DEV_FILE, 0, 0, 3, 0x320, 0, 0, InitMVA8Settings.CountRelay);
        FChannelRelay2Charter[0] = new CDeviceStandartTags<unsigned char>(static_cast<IDevice*>(this), "Второе реле первой уставки", DeviceTagsID::ChannelRelay2Charter1, DEV_RDWR | DEV_ALL | DEV_FILE, 0, 0, 3, 0x2d0, 0, 0, InitMVA8Settings.CountRelay);
        FChannelRelay2Charter[1] = new CDeviceStandartTags<unsigned char>(static_cast<IDevice*>(this), "Второе реле второй уставки", DeviceTagsID::ChannelRelay2Charter2, DEV_RDWR | DEV_ALL | DEV_FILE, 0, 0, 3, 0x2f0, 0, 0, InitMVA8Settings.CountRelay);
        FChannelRelay2Charter[2] = new CDeviceStandartTags<unsigned char>(static_cast<IDevice*>(this), "Второе реле третьей уставки", DeviceTagsID::ChannelRelay2Charter3, DEV_RDWR | DEV_ALL | DEV_FILE, 0, 0, 3, 0x310, 0, 0, InitMVA8Settings.CountRelay);
        FChannelRelay2Charter[3] = new CDeviceStandartTags<unsigned char>(static_cast<IDevice*>(this), "Второе реле четвёртой уставки", DeviceTagsID::ChannelRelay2Charter4, DEV_RDWR | DEV_ALL | DEV_FILE, 0, 0, 3, 0x330, 0, 0, InitMVA8Settings.CountRelay);
//        FChannelRelayCharterNDAT[0] = new CDeviceStandartTags<unsigned char>(static_cast<IDevice*>(this), "Логика реле первой уставки при не норме датчика", DeviceTagsID::FChannelRelayCharter1NDAT, DEV_RDWR | DEV_ALL | DEV_FILE, 0, 0, 3, 0x340, 0, 0, 3);
//        FChannelRelayCharterNDAT[1] = new CDeviceStandartTags<unsigned char>(static_cast<IDevice*>(this), "Логика реле второй уставки при не норме датчика", DeviceTagsID::FChannelRelayCharter2NDAT, DEV_RDWR | DEV_ALL | DEV_FILE, 0, 0, 3, 0x350, 0, 0, 3);
//        FChannelRelayCharterNDAT[2] = new CDeviceStandartTags<unsigned char>(static_cast<IDevice*>(this), "Логика реле третьей уставки при не норме датчика", DeviceTagsID::FChannelRelayCharter3NDAT, DEV_RDWR | DEV_ALL | DEV_FILE, 0, 0, 3, 0x360, 0, 0, 3);
//        FChannelRelayCharterNDAT[3] = new CDeviceStandartTags<unsigned char>(static_cast<IDevice*>(this), "Логика реле четвёртой уставки при не норме датчика", DeviceTagsID::FChannelRelayCharter4NDAT, DEV_RDWR | DEV_ALL | DEV_FILE, 0, 0, 3, 0x370, 0, 0, 3);
        FChannelRelayNDAT = new CDeviceStandartTags<unsigned char>(static_cast<IDevice*>(this), "Реле не нормы датчика аналоговых каналов", DeviceTagsID::ChannelRelayNDAT, DEV_RDWR | DEV_ALL | DEV_FILE, 0, 0, 3, 0x380, 0, 0, InitMVA8Settings.CountRelay);
        FCurrentAnalogChannelValue = new CDeviceStandartTags<float>(static_cast<IDevice*>(this), "Текущие значения аналоговых каналов", DeviceTagsID::CurrentAnalogChannelValue, DEV_READ, 0, 0, 3, 0x390, 0, -32768, 25000);
        FChannelPhizicalValueMin = new CDeviceStandartTags<float>(static_cast<IDevice*>(this), "Нижняя граница физических значений аналоговых каналов", DeviceTagsID::ChannelPhizicalValueMin, DEV_RDWR | DEV_ALL | DEV_FILE, 0, 0, 3, 0x3a0, 0, -1999, 9999);
        FChannelPhizicalValueMax = new CDeviceStandartTags<float>(static_cast<IDevice*>(this), "Верхняя граница физических значений аналоговых каналов", DeviceTagsID::ChannelPhizicalValueMax, DEV_RDWR | DEV_ALL | DEV_FILE, 0, 0, 3, 0x3b0, 0, -1999, 9999);
        FChannelCharterValue[0] = new CDeviceStandartTags<float>(static_cast<IDevice*>(this), "Значения первых уставок", DeviceTagsID::ChannelCharter1Value, DEV_RDWR | DEV_ALL | DEV_FILE, 0, 0, 3, 0x3c0, -1999, -1999, 9999);
        FChannelCharterValue[1] = new CDeviceStandartTags<float>(static_cast<IDevice*>(this), "Значения вторых уставок", DeviceTagsID::ChannelCharter2Value, DEV_RDWR | DEV_ALL | DEV_FILE, 0, 0, 3, 0x3d0, -1999, -1999, 9999);
        FChannelCharterValue[2] = new CDeviceStandartTags<float>(static_cast<IDevice*>(this), "Значения третьих уставок", DeviceTagsID::ChannelCharter3Value, DEV_RDWR | DEV_ALL | DEV_FILE, 0, 0, 3, 0x3e0, 9999, -1999, 9999);
        FChannelCharterValue[3] = new CDeviceStandartTags<float>(static_cast<IDevice*>(this), "Значения четвёртых уставок", DeviceTagsID::ChannelCharter4Value, DEV_RDWR | DEV_ALL | DEV_FILE, 0, 0, 3, 0x3f0, 9999, -1999, 9999);
        FChannelCharterHistoresist = new CDeviceStandartTags<float>(static_cast<IDevice*>(this), "Гистерезис срабатывания уставок", DeviceTagsID::ChannelCharterHistoresist, DEV_RDWR | DEV_ALL | DEV_FILE, 0, 0, 3, 0x400, 0, 0, 10);
        FChannelMaxSpeed = new CDeviceStandartTags<float>(static_cast<IDevice*>(this), "Максимальная скорость изменения аналоговых каналов", DeviceTagsID::ChannelMaxSpeed, DEV_RDWR | DEV_ALL | DEV_FILE, 0, 0, 3, 0x410, 0, 0, 10);


Это всё практический код, который работает где-то в России, написанный нашими программерами для России. И все почему-то считают это нормальным smile
Когда очень много на разных языках и в разных сферах попрограммишь, то начнёшь думать глобально и задавать естественные вопросы и бытии всего сущего.
PM MAIL   Вверх
sanboll
Дата 6.8.2010, 18:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Добавлю к вышесказанному: имя переменной "строка" при компиляции (компилер WTK 2.5.2) заменили на "_fld044104420440043E043A0430"

PM MAIL   Вверх
уни
Дата 8.8.2010, 13:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Народ, Вы меня удивляете... так держаться за старые понятия, когда новые в силе уже не меньше 5 лет! Эти процессы идут помимо вашего желания... и они объективны. В полку программистов прибавятся люди, которые не зная английского будут писать по-русски программки. Да, да smile уже появились, как вы видите (правда я знаю английский и опыт программирования у меня очень большой, также я  умею идти в ногу со временем).

Мои посты для программеров нового поколения и любых профессий.

Что касаемо проекта, то он готов. На следующей неделе договорился тестировать в школе. Сейчас исправляю ошибки и неточности, прилизываю код. Как приятно, когда всё на родном языке написано, пусть даже с вкраплениями английских библиотек.
PM MAIL   Вверх
уни
Дата 8.8.2010, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(sanboll @  6.8.2010,  18:59 Найти цитируемый пост)
имя переменной "строка" при компиляции (компилер WTK 2.5.2) заменили на "_fld044104420440043E043A0430"

Представьте себе как мой код будет смотреться в листингах "дезбайткодеров" и прочих декомпиляторов, которые не поддерживают UTF-8 smile и обфурскация не нужна.
PM MAIL   Вверх
уни
Дата 11.8.2010, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Вот такую несложную вещь мне нужно было:
user posted image
Это только половина дела.

А вот так выглядит установленный образец музыкального звонка в школе:
http://vkontakte.ru/photo-18953849_175524996
PM MAIL   Вверх
JackyFox
Дата 12.8.2010, 08:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Уважаемый уни! Я глубоко уважаю Ваш глубокий жизненный опыт, разностороннее техническое образование и стремление доказать совершенно незнакомым людям своё превосходство как в программерской области, так и чисто бытовой. Но никак не возьму в толк, чего вы хотите добиться подобным поведением.

Судя по первому сообщению темы, Вы находитесь в поисках коллег, которые совместно с Вами захотят продолжить разработку Вашего ПП. В дальнейшем же выясняется, что целью Вашего здесь появления оказалось:
  • желание похвастаться своими достижениями в программировании
  • попытка доказать всем и сразу, что Ваша точка зрения — есть абсолют, не подверженный сомнениям
Вынужден Вас разочаровать. Писать программы на русском — идея интересная, но вызывает у большинства программистов приступы головной боли еще со времен школьный поделок, призванных вроде бы для обучения детей программированию. Ведь общепринятая мировая практика — код на английском. Комментарии можете писать на любом языке. Хорошо написанный код на английском будет понятен любому программисту в мире, даже без комментариев. А замыкаться в русофилии — очень плохая привычка. 
По второму пункту. На этом форуме с завидной регулярностью появляются личности, несущие в массы свет своего гения, зародившегося в недрах российской глубинки. На поверку же эти вундеркинды оказываются напыщенными выпендрежниками, и уходят отсюда довольно скоро, блаженно полагая, что были несправедливо осмеяны и непоняты.

Человека, как знаете, встречают по одежке. В Сети, к сожалению, её не видно, и составлять первое впечатление приходится по словам и, что главное, делам. Вы с первых минут пошли на конфронтацию с «местным населением». Боюсь данный форум для Вас потерян. Каждым своим сообщением Вы только усугубляете свой имидж.

Добавлено @ 09:02
Ах да, про ВКонтакте забыл написать.
Возможно, он удобен для Вас лично. Но есть мнение, и не только моё, что выкладывать какие-либо материалы в закрытых социальных сетях, не есть грамотный подход к популяризации своих продуктов.

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

Это сообщение отредактировал(а) JackyFox - 12.8.2010, 09:37
--------------------
У вас менее 250 сообщений, ссылки отключены
PM   Вверх
уни
Дата 14.8.2010, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



JackyFox
Проект уже закончен и тестируется в школе.

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

По поводу русского. Старички пусть пишут на экспорт. Моя идея для тех, кто ПОНИМАЕТ для чего создавался UNICODE и для людей, которые хотят программировать, знают ЧТО им нужно, но не владеют английским. Таких людей очень много и задач внутри России для них предостаточно. Заколебался уже Вам всем тут по сто раз пояснять... как-будто все тут пишут код для индусов, японцев и китайцев ;) с которыми каждый день общаются по скайпу. Вернитесь об землю.

У меня нет никакой русофилии - я практик, это у Вас - англофилия и повёрнутось мировоззрения на запад. Я же нашёл и вижу много задач внутри страны. Мне есть чем заняться и я сам подбираю для этого инструменты, языки, платформы и прочее, что я считаю удобнее, т.к. меня этому обучали основательно. 2 высших технических всё-таки.

Сейчас появилась другая проблема. Планировщик в "Школьнике-3" позволяет составлять расписание на год.
Вот как выглядит шаблон, на основе которого я забиваю данные в мобилу:
user posted image

Скрины взяты с мобилы поочерёдно и сведены в один учебный год. Числа раскрашиваются согласно расписаний.
Потом этот план превращается вот в такой код:
Код

Р1 = Будни;
Р2 = Суббота;
Р3 = Пустое;

ОсновнойПлан =
[
[Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1],
[Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р3,Р3,Р3],
[Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1],
[Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3],
[Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1],
[Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3],
[Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3],
[Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1],
[Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р3],
[Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3],
[Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р3],
[Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1]
];

ДополнительныйПлан =
[
[Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3],
[Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3],
[Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3],
[Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3],
[Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3],
[Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3],
[Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3],
[Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3],
[Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3],
[Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3],
[Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3],
[Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3]
];

ДобавитьПлан( "2010-2011 гг.", ОсновнойПлан, ДополнительныйПлан );


Мой интерпретатор это дело считывает и настраивает программу на автоматическую работу по годовому плану.

Задача: Сделать аналог Планировщика на ЯВУ. Я сам за пример взял планировщик из видео:
http://vkontakte.ru/video-18953849_148488416

Для мобилы чуть урезал масштабы, но вся функциональность осталась. Вот теперь нужно сделать именно такую программу.
Как всегда буду делать сам ;) Если будет трудновато... найму кого-нить на фрилансе. Задачка интересная. Пока не выбрал на каком языке писать... мне бы хотелось на C#, но там возможен напряг с компонентами, зато поддержка русского.

Цитата

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

Вы сами-то видели интерфейс Яндекса? У меня и там есть страничка и на фейсбуке. Я сначала думаю, потом пробую, а потом уже советую.
Если Вы не видите разницы между вконтакте и я.ру - тут уж я ни чем не помогу ;) Попробуйте функциональность и там и там. Я попробовал и выбрал.

Цитата

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

Человека, как знаете, встречают по одежке. В Сети, к сожалению, её не видно, и составлять первое впечатление приходится по словам и, что главное, делам. Вы с первых минут пошли на конфронтацию с «местным населением». Боюсь данный форум для Вас потерян. Каждым своим сообщением Вы только усугубляете свой имидж.

Каких бы ярлыков Вы мне не навешали ;) я  - человек, который может сам задать грамматику и по ней написать код интерпретатора (или парсера) на любом языке (я писал таковые на паскале, си, яве и даже на внутреннем языке програмирования маткада - чтобы попрактиваться).
Тут уж как ни крути, а это показатель уровня владения алгоритмами вообще, не касаясь даже всего остального. Эти знания могут сократить трудозатраты на месяца, года, в зависимости от их приложения.

Я эти знания использовал для хранения настроект в таком виде:
Код

КОДИРОВКА_UTF8 = 0;
КОДИРОВКА_CP1251 = 1;

СУТОЧНОЕ_РАСПИСАНИЕ = 0;
ГОДОВОЙ_ПЛАН = 1;

Настройки.Основные.МелодииПуть = "file:///root1/";
Настройки.Основные.ФайлНастроек = "file:///root1/Мелодии/Настройки.txt";
Настройки.Основные.ФайлРасписаний = "file:///root1/Мелодии/Расписания.txt";
Настройки.Основные.Кодировка = КОДИРОВКА_UTF8;
Настройки.Основные.Громкость = 85;

Настройки.Монитор.ШиринаЭкрана = 176;
Настройки.Монитор.ВысотаЭрана = 220;
Настройки.Монитор.ОтступXY = 1;
Настройки.Монитор.ШагСеткиXY = 20;
Настройки.Монитор.логПолныйЭкран = true;
Настройки.Монитор.ДиаграммаОтступСверху = 110;
Настройки.Монитор.ДиаграммаТолщинаПолосы = 15;
Настройки.Монитор.ДиаграммаДлинаИнтервала = 150;
Настройки.Монитор.РежимОтступСверху = 55;
Настройки.Монитор.ВремяОтступСверху = 30;
Настройки.Монитор.логПоказатьСетку = true;
Настройки.Монитор.логПоказатьРамку = true;
Настройки.Монитор.логПоказатьДату = true;
Настройки.Монитор.логПоказатьВремя = true;
Настройки.Монитор.логПоказатьРежим = true;
Настройки.Монитор.логПоказатьДиаграмму = true;
Настройки.Монитор.логПоказатьЛегенду = true;

Настройки.Звонки.логПредваритПередНачал = true;
Настройки.Звонки.логПредваритПередОконч = true;
Настройки.Звонки.ДлительностьОсновных = 30;
Настройки.Звонки.ДлительностьПредварит = 15;
Настройки.Звонки.ВремяДоНачала = 2;
Настройки.Звонки.ВремяДоОкончания = 5;

Настройки.Расписания.ИмяЗаписиВХранилище = "Расписания";
Настройки.Расписания.Режим = СУТОЧНОЕ_РАСПИСАНИЕ;
Настройки.Расписания.ТекущееРасписание = 0;
Настройки.Расписания.ТекущийПлан = 0;


А расписаний, звонков, планов в таком единообразном виде (это вариант для симулятора):
Код

ЗВОНОК_СВОБОДНЫЙ = 0;
ЗВОНОК_НАЧАЛО = 1;
ЗВОНОК_ОКОНЧАНИЕ = 2;

Корень = 0;

ГРУППА_РАСПИСАНИЕ = 2;
ГРУППА_УРОК = 3;

Будни = ДобавитьГруппу( Корень, ГРУППА_РАСПИСАНИЕ, "Будни" );
Суббота = ДобавитьГруппу( Корень, ГРУППА_РАСПИСАНИЕ, "Суббота" );
Пустое = ДобавитьГруппу( Корень, ГРУППА_РАСПИСАНИЕ, "Пустое" );

Будни.Урок1 = ДобавитьГруппу( Будни, ГРУППА_УРОК, "Урок1" );
Будни.Урок2 = ДобавитьГруппу( Будни, ГРУППА_УРОК, "Урок2" );
Будни.Урок3 = ДобавитьГруппу( Будни, ГРУППА_УРОК, "Урок3" );
Будни.Урок4 = ДобавитьГруппу( Будни, ГРУППА_УРОК, "Урок4" );
Будни.Урок5 = ДобавитьГруппу( Будни, ГРУППА_УРОК, "Урок5" );
Будни.Урок6 = ДобавитьГруппу( Будни, ГРУППА_УРОК, "Урок6" );
Будни.Урок7 = ДобавитьГруппу( Будни, ГРУППА_УРОК, "Урок7" );

Суббота.Урок1 = ДобавитьГруппу( Суббота, ГРУППА_УРОК, "Урок1" );
Суббота.Урок2 = ДобавитьГруппу( Суббота, ГРУППА_УРОК, "Урок2" );
Суббота.Урок3 = ДобавитьГруппу( Суббота, ГРУППА_УРОК, "Урок3" );
Суббота.Урок4 = ДобавитьГруппу( Суббота, ГРУППА_УРОК, "Урок4" );
Суббота.Урок5 = ДобавитьГруппу( Суббота, ГРУППА_УРОК, "Урок5" );


ДобавитьЗвонок( Будни.Урок1, 8, 0, ЗВОНОК_НАЧАЛО, "file:///root1/Мелодии/Старый рояль.mid", "file:///root1/Мелодии/Песня охраны.mid" );
ДобавитьЗвонок( Будни.Урок1, 8, 45, ЗВОНОК_ОКОНЧАНИЕ, "file:///root1/Мелодии/Старый рояль.mid", "file:///root1/Мелодии/Песенка бандитов.mid" );

ДобавитьЗвонок( Будни.Урок2, 8, 55, ЗВОНОК_НАЧАЛО, "file:///root1/Мелодии/Старый рояль.mid", "file:///root1/Мелодии/Песня охраны.mid" );
ДобавитьЗвонок( Будни.Урок2, 9, 40, ЗВОНОК_ОКОНЧАНИЕ, "file:///root1/Мелодии/Старый рояль.mid", "file:///root1/Мелодии/Песенка бандитов.mid" );

ДобавитьЗвонок( Будни.Урок3, 9, 55, ЗВОНОК_НАЧАЛО, "file:///root1/Мелодии/Старый рояль.mid", "file:///root1/Мелодии/Песня охраны.mid" );
ДобавитьЗвонок( Будни.Урок3, 10, 40, ЗВОНОК_ОКОНЧАНИЕ, "file:///root1/Мелодии/Старый рояль.mid", "file:///root1/Мелодии/Песенка бандитов.mid" );

ДобавитьЗвонок( Будни.Урок4, 10, 55, ЗВОНОК_НАЧАЛО, "file:///root1/Мелодии/Старый рояль.mid", "file:///root1/Мелодии/Песня охраны.mid" );
ДобавитьЗвонок( Будни.Урок4, 11, 40, ЗВОНОК_ОКОНЧАНИЕ, "file:///root1/Мелодии/Старый рояль.mid", "file:///root1/Мелодии/Песенка бандитов.mid" );

ДобавитьЗвонок( Будни.Урок5, 12, 0, ЗВОНОК_НАЧАЛО, "file:///root1/Мелодии/Старый рояль.mid", "file:///root1/Мелодии/Песня охраны.mid" );
ДобавитьЗвонок( Будни.Урок5, 12, 45, ЗВОНОК_ОКОНЧАНИЕ, "file:///root1/Мелодии/Старый рояль.mid", "file:///root1/Мелодии/Песенка бандитов.mid" );

ДобавитьЗвонок( Будни.Урок6, 12, 55, ЗВОНОК_НАЧАЛО, "file:///root1/Мелодии/Старый рояль.mid", "file:///root1/Мелодии/Песня охраны.mid" );
ДобавитьЗвонок( Будни.Урок6, 13, 40, ЗВОНОК_ОКОНЧАНИЕ, "file:///root1/Мелодии/Старый рояль.mid", "file:///root1/Мелодии/Песенка бандитов.mid" );

ДобавитьЗвонок( Будни.Урок7, 13, 50, ЗВОНОК_НАЧАЛО, "file:///root1/Мелодии/Старый рояль.mid", "file:///root1/Мелодии/Песня охраны.mid" );
ДобавитьЗвонок( Будни.Урок7, 14, 35, ЗВОНОК_ОКОНЧАНИЕ, "file:///root1/Мелодии/Старый рояль.mid", "file:///root1/Мелодии/Песенка бандитов.mid" );

ДобавитьЗвонок( Суббота.Урок1, 8, 0, ЗВОНОК_НАЧАЛО, "file:///root1/Мелодии/Старый рояль.mid", "file:///root1/Мелодии/Песня охраны.mid" );
ДобавитьЗвонок( Суббота.Урок1, 8, 45, ЗВОНОК_ОКОНЧАНИЕ, "file:///root1/Мелодии/Старый рояль.mid", "file:///root1/Мелодии/Песенка бандитов.mid" );

ДобавитьЗвонок( Суббота.Урок2, 9, 0, ЗВОНОК_НАЧАЛО, "file:///root1/Мелодии/Старый рояль.mid", "file:///root1/Мелодии/Песня охраны.mid" );
ДобавитьЗвонок( Суббота.Урок2, 9, 45, ЗВОНОК_ОКОНЧАНИЕ, "file:///root1/Мелодии/Старый рояль.mid", "file:///root1/Мелодии/Песенка бандитов.mid" );

ДобавитьЗвонок( Суббота.Урок3, 10, 0, ЗВОНОК_НАЧАЛО, "file:///root1/Мелодии/Старый рояль.mid", "file:///root1/Мелодии/Песня охраны.mid" );
ДобавитьЗвонок( Суббота.Урок3, 10, 45, ЗВОНОК_ОКОНЧАНИЕ, "file:///root1/Мелодии/Старый рояль.mid", "file:///root1/Мелодии/Песенка бандитов.mid" );

ДобавитьЗвонок( Суббота.Урок4, 11, 0, ЗВОНОК_НАЧАЛО, "file:///root1/Мелодии/Старый рояль.mid", "file:///root1/Мелодии/Песня охраны.mid" );
ДобавитьЗвонок( Суббота.Урок4, 11, 45, ЗВОНОК_ОКОНЧАНИЕ, "file:///root1/Мелодии/Старый рояль.mid", "file:///root1/Мелодии/Песенка бандитов.mid" );

ДобавитьЗвонок( Суббота.Урок5, 11, 55, ЗВОНОК_НАЧАЛО, "file:///root1/Мелодии/Старый рояль.mid", "file:///root1/Мелодии/Песня охраны.mid" );
ДобавитьЗвонок( Суббота.Урок5, 12, 40, ЗВОНОК_ОКОНЧАНИЕ, "file:///root1/Мелодии/Старый рояль.mid", "file:///root1/Мелодии/Песенка бандитов.mid" );

Р1 = Будни;
Р2 = Суббота;
Р3 = Пустое;

ОсновнойПлан =
[
[Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1],
[Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р3,Р3,Р3],
[Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1],
[Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3],
[Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1],
[Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3],
[Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3],
[Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1],
[Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р3],
[Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3],
[Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р3],
[Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1,Р2,Р3,Р1,Р1,Р1,Р1,Р1]
];

ДополнительныйПлан =
[
[Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3],
[Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3],
[Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3],
[Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3],
[Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3],
[Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3],
[Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3],
[Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3],
[Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3],
[Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3],
[Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3],
[Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3,Р3]
];

ДобавитьПлан( "2010-2011 гг.", ОсновнойПлан, ДополнительныйПлан );
ДобавитьПлан( "2011-2012 гг.", ОсновнойПлан, ДополнительныйПлан );


Так что, дорогие мои, учите русский smile

Это сообщение отредактировал(а) уни - 14.8.2010, 20:19
PM MAIL   Вверх
уни
Дата 14.8.2010, 23:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Ну и совсем вдогонку хочу сказать, что этот проект просто разминка ;) что-то вроде хобби, которое я давно уже хотел доделать, да времени не было и желания.

Более серьёзные вещи требовали немного размяться. У меня по плану реализация одного очень интересного метода решения систем нелинейных уравнений. До сих пор методика вся сводилась к методу Ньютона и его модификаций. Да и все остальные методы - численные. А нахождение решений для СНУ - это очень серьёзная задача, т.к. нет универсальных методик. Но существует один метод, который позволяет существенно расширить круг решаемых задач. Одна там есть проблемка - нужно брать производные в символьном виде прямо в коде. Т.к. в последнее время с развитием ООП символьная алгебра стала доступна простым смертным, то я решился на создание полуавтоматического решателя СНУ, который мог бы брать производные в символьном виде, превращать их в код и используя этот код уже решать задачу.

Это кландайк, но очень сложен метод в автоматизированном варианте. Нужно иметь кругозор во многих сферах.
Я тут сумбурно всё пояснил. Дам аналогию. Если кто умеет пользоваться дизассемблером IDA, то он наверное знает, что до этого инструмента такого качества работы не давал никакой другой и одному человеку не под силу было разобраться в коде исследуемого приложения. После же появления IDA, любой практически, кто знает что искать без труда занимается реверс-инженерингом. Дак вот этот метод решения СНУ объединяет в себе многое, что позволяет обходить многие трудности обычных методов и может стать уникальным инструментом. А решение СНУ - это деньги голимые, т.к. задач - море-океан.

Мой аватар - это решение одного специально подобранного нелинейного уравнения. Сама картинка создана по описываемому методу решения СНУ в математическом пакете.
PM MAIL   Вверх
Исполнитель234
Дата 16.8.2010, 00:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Здравствуйте.

Хорошо рассказываете, чувствуется, что вы умный человек и трудолюбивый.
Не хотите принять мою помощь в качестве специалиста по удобству программы для использования?
Скажем так, я буду тестировать готовый продукт и говорить, что мне в нем неудобно.

Добавлено через 1 минуту и 55 секунд
Кстати, в предлагаемом вами примере календаря, можно сделать суботние и воскресные дни колонками красного цвета т.к. выходные
--------------------
Тестирую UI, консультирую по вопросам юзабилити, проектирую, составляю грамотные ТЗ.
PM MAIL WWW ICQ   Вверх
JackyFox
Дата 16.8.2010, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(уни @  14.8.2010,  19:35 Найти цитируемый пост)
Если для Вас социальная сеть в несколько миллионов пользователей - "закрытая" и которую ежедневно посещает такое же количество, то Вы мало соображаете в посещаемости сайтов.


Сеть закрыта, потому как нет возможности просматривать какую-либо информацию будучи незарегистрированным пользователем. Переход по всем вашим ссылкам ведет на страницу регистрации. Это очень удобно.

Цитата(уни @  14.8.2010,  19:35 Найти цитируемый пост)
это у Вас - англофилия и повёрнутось мировоззрения на запад.


У меня «повернутость» на весь мир, который давно использует английский язык для работы в любых сферах деятельности. 

Цитата(уни @  14.8.2010,  19:35 Найти цитируемый пост)
Каких бы ярлыков Вы мне не навешали ;) я  - человек, который может сам

Барабан, новые кроссовки и щенок бульдога.
За сим позволю себе завершить дискуссию в виду непробиваемости оппонента. Успехов вам в вашем одиночном плавании.

 smile 
--------------------
У вас менее 250 сообщений, ссылки отключены
PM   Вверх
Исполнитель234
Дата 16.8.2010, 16:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



уни, пожалуй, я свяжусь с вами ВКонтакте, чтобы не зафлуживать тему. 

P.S.
Мое предложение это не шутка. Я действительно очень хорош в оценке вопросов юзабилити.


--------------------
Тестирую UI, консультирую по вопросам юзабилити, проектирую, составляю грамотные ТЗ.
PM MAIL WWW ICQ   Вверх
уни
Дата 5.9.2010, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Вот окончательный вариант:
Буклет. Версия 0.5.8. Листы 1-32.7z

Стадия: опытная эксплуатация.
Если есть желающие продвигать идею, то можете потестировать проект.

Ссылка на дистриб есть вконтакте: http://vkontakte.ru/club18953849
Правда там версия 0.5.5... попозже обновлю.

Всё полностью сделал я один ;) умники.

Это сообщение отредактировал(а) уни - 5.9.2010, 13:38
PM MAIL   Вверх
Исполнитель234
Дата 5.9.2010, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



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

--------------------
Тестирую UI, консультирую по вопросам юзабилити, проектирую, составляю грамотные ТЗ.
PM MAIL WWW ICQ   Вверх
vovlip
Дата 1.3.2012, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



помогите плыз.... как сделать так чтоб на комп ничего поставить нелзя и удалить(программы)??? smile 
PM MAIL   Вверх
Страницы: (3) Все 1 2 [3] 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Совместные проекты/поиск партнёров"
Snowy
Poseidon

Внимание:
В этом форуме обсуждаются вопросы только по совместным проектам, когда Вы хотите найти партнёров или стать участником проекта.
Запрещается размещение заказов на написание программ, поиск работников (для этого есть раздел "Работа") и реклама своих сетевых ресурсов.

Этот раздел только для проектов в которых Вы будете выступать в качестве исполнителя!

Темы и сообщения, не удовлетворяющие данным правилам, будут удаляться на основании пункта 3 Правил форума!

  • Человек, создающий тему, становится руководителем проекта. Все вопросы о разработке решаются с его согласия.
  • Публикация предложения к сотрудничеству считается защищённым авторскими правами и не может разрабатываться без согласия с руководителем проекта.
  • Конечный продукт должен содержать указание на всех участников и Vingrad.

  • Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, Poseidon

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


     




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


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

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