Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Клуб профессиональных программистов :: Выпуск #94


Клуб профессиональных программистов "Весельчак У"
Информационная рассылка сайта и форума.  Выпуск No94 (2010-05-18).

Здравствуйте, уважаемые читатели!

  • Программирование :: .NET технология от и до :: WinForms
  • Виндовс формс Висуал студио 2008
    У меня есть 2 массива DWORD один с x, второй с y координатой, как с DrawCurve построить через них ломаную линию?
    В MSDN есть такой пример
    Код:

    Код:
    private:
       void DrawCurvePoint( PaintEventArgs^ e )
       {
          // Create pens.
          Pen^ redPen = gcnew Pen( Color::Red,3.0f );
          Pen^ greenPen = gcnew Pen( Color::Green,3.0f );

          // Create points that define curve.
          Point point1 = Point(50,50);
          Point point2 = Point(100,25);
          Point point3 = Point(200,5);
          Point point4 = Point(250,50);
          Point point5 = Point(300,100);
          Point point6 = Point(350,200);
          Point point7 = Point(250,250);
          array<Point>^ curvePoints = {point1,point2,point3,point4,point5,point6,point7};

          // Draw lines between original points to screen.
          e->Graphics->DrawLines( redPen, curvePoints );

          // Draw curve to screen.
          e->Graphics->DrawCurve( greenPen, curvePoints );
       }

    Но вручную описывать все точки не выход с положения, так как у меня их 5 тысяч.
  • Программирование :: С/С++
  • Делал программу в VS2008. А клиенты жалуются - то у одного, то у другого не работает. Стал разбираться: exe-файл кроме kernel32, user32 и shell32 очень активно юзает такого монстра, как MSVCR90D.dll
    Что делать? Пришлось перекомпилировать код под VS6.0 Всё! Никаких левых библиотек.
    Единственно, в чем сомневаюсь, может, и в новой студии как-то можно отключить использование этих монстров?
  • Программирование :: С/С++ :: WinAPI & Visual C++
  • Есть код в среде: VS C++ 6.0  &  MFC
    Код:
    struct Sa
    { int ia;
    } sa;

    struct Sb : public Sa
    { int ib;
    } sb;

    void ff(Sa* aa)
    { (Sa)sb = (*aa);   // Op1
    (Sa)sb = sa;        // Op2
    }

    void tst()
    { sa.ia = 5;
    ff(&sa);
    }

    Компиляция проходит, но присвоения данных в функции ff не происходит ни в Op1, ни в Op2.

    Ясно, что я чего-то не понимаю.
    Может быть кто-нибуть объяснит мне ЧТО?

    Спасибо.

  • Добры день! У меня не получается скомпилить проект с dx 8.1 sdk...Постоянно выдаёт ошибку в файле winnt.h...Все что ни пробовал, не идет...Среда разработки visual studio 2008...Выдает такие ошибки:
     c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(236) : error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "PVOID64"
    c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(236) : error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
    c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(7818) : error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "Buffer"
    c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(7818) : error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
    c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(7818) : error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
    d:\мои программы\проекты\dx8\includes\dinput.h: DIRECTINPUT_VERSION undefined. Defaulting to version 0x0800
  • Помогите пожалуйста в подключенни библиотек!!!!!!!!

    У меня есть файл MathFuncsDll.dll MathFuncsDll.h MathFuncsDll.cpp


    код в файле MathFuncsDll.h
    Код:
    // MathFuncsDll.h
    namespace MathFuncs
    {
    class MyMathFuncs
    {
    {
    public:
    // Возвращает a + b
    static _declspec(dllexport) double Add (double a, double b);
                // возвращает a - b
    static _declspec(dllexport) double Subtract (double a, double b);
                // Возвращает a * b
    static _declspec(dllexport) double Multiply (double a, double b);
    // Возвращает a / b
    static _declspec(dllexport) double Divida (double a, double b);
    };
    }

    код в файле // MathFuncsDll.h
    Код:
    namespace MathFuncs
    {
    class MyMathFuncs
    {
    {
    public:
    // Возвращает a + b
    static _declspec(dllexport) double Add (double a, double b);
                // возвращает a - b
    static _declspec(dllexport) double Subtract (double a, double b);
                // Возвращает a * b
    static _declspec(dllexport) double Multiply (double a, double b);
    // Возвращает a / b
    static _declspec(dllexport) double Divida (double a, double b);
    };
    }
    // MathFuncsDll.h
    namespace MathFuncs
    {
    class MyMathFuncs
    {
    {
    public:
    // Возвращает a + b
    static _declspec(dllexport) double Add (double a, double b);
                // возвращает a - b
    static _declspec(dllexport) double Subtract (double a, double b);
                // Возвращает a * b
    static _declspec(dllexport) double Multiply (double a, double b);
    // Возвращает a / b
    static _declspec(dllexport) double Divida (double a, double b);
    };
    }
    // MathFuncsDll.h
    namespace MathFuncs
    {
    class MyMathFuncs
    {
    {
    public:
    // Возвращает a + b
    static _declspec(dllexport) double Add (double a, double b);
                // возвращает a - b
    static _declspec(dllexport) double Subtract (double a, double b);
                // Возвращает a * b
    static _declspec(dllexport) double Multiply (double a, double b);
    // Возвращает a / b
    static _declspec(dllexport) double Divida (double a, double b);
    };
    }

    MathFuncsDll.cpp

    // MathFuncsDll.cpp
    // compile with: /EHsc /LD
    #include "MathFuncsDll.h"
    #include <stdexcept>
    using namespace std;
    namespace MathFuncs
    {
    double MyMathFuncs::Add(double a, double b)
    {
    return a + b;
    }
    double MymathFuncs::Subtract(double a, double b)
    {
    return a - b;
    }
    double MyMathFuncs::Multiply(double a, double b)
    {
    return a * b;
    }
    double MyMathFuncs::Divide(double a, double b)
    {
    if (b == 0)
    {
    throw new invalid_argument("b cannot be zero!");
    }
    return a / b;
    }
    }

    И после этого решение не строится.... Что делать????????????
  • Программирование :: Delphi
  • Уважаемые! Доброго времени суток...
    Студент, пишу дипломную работу..."Мониторинг успеваемости студентов"...типо как Электронный дневник и все шло нормально пока....

    Базу данных реализовал в IB Expert. Там несколько таблиц, ну как обычно. Только вот заказчику дипломной работы преспичило реализовать систему в которой студенты пишут тесты на клиентах связанных  в локальной сети...после теста данные о студенте и ОЦЕНКА автоматически должны заноситься в базу которая находиться на сервере (где сидит злой препод!)...
    Написание самой программы и реализация тестов и остальных причендал это я сделаю, а вот как мне реализовать доступ клиентов к файлу БД???
    Читал много в инете... ни чего не понял! может просто к концу учебы мозГ отказывается работать, может просто ВЕСНА, а может я очень глуп....гугл не спасает! обращаюсь к ВАМ...

    Вообщем вопрос к Вам УВАЖАЕМЫЕ...объясните как мне подключить клиентов к БД которая находиться на сервере...

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

    P.S. если кому-то покажеться, что я не стал читать и просто начал новую тему...скажу честно ЧИТАЛ...но вообще не понял... а вообще думаю я не один кто сталкнулся с такой проблемой так что тема будет актуальна и далее...

    Ну кто  поможет? НАМ начинающим будет ОЧЕНЬ интересно и отрадно если объяснение будет сделано НА ПАЛЬЦАХ...Заранее благодарен!
    если что в личку     AlexRochev@mail.ru
  • Программирование :: VisualBasic
  • Всем привет!
    В моей программе пользователь отправляет(вручную) и принимает группы байт (до 512). Мне надо эти байты как-то наглядно разграничить. Я не придумал ни чего умнее, чем сделать однострочный DBGrid c полосой прокрутки. Компонент очень сложный и мощный. Описание всех его свойств я так и не нашёл. но мне он него надо мало:
    1. Я научился циклом добавлять новые столбцы. Но при этом ползунок полосы прокрутки перемещается в самый конец, как мне его программно вернуть на место, чтобы была видна первая  ячейка?
    2. Я убрал заголовки столбцов, но осталась какая-то служебная строка со звёздочкой. Можно ли как-нибудь её тоже убрать?
    3. Как сделать так, чтобы во время работы приложения пользователь не мог мышкой изменять размер столбцов?

  • Программирование :: VisualBasic :: Visual Basic .NET
  • Здравствуйте!
    скажите пожалуйста как выделить даты в данном элементе управления?
    То есть при выполнении условия (наличие события на дату) выделять её цветом
    И было бы здорово так же узнать как обработать событие на двойной клип мышью по дате
    заранее благодарю
  • Программирование :: Perl
  • Почему-то не работает вот такой код :(
    Код:
    #!/usr/bin/perl -w

    use LWP::UserAgent;

    $ua = LWP::UserAgent->new;

    $ua->cookie_jar({});

    $ua->default_header('Accept-Language' =>"ru");

    $ua->default_header('Referer' => "http://site.ru/index.php");

    $ua->default_header('Accept' => "image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, */*");

    $ua->agent('Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)');

    my $req = HTTP::Request->new(POST => 'http://site.ru/index.php?cf=login');

    $req->content_type('application/ x-www-form-urlencoded');

    $req->content('login=vasya&passw=pupkin');

    my $res = $ua->request($req);

    $middle = $res->as_string;

    print "Content-Type: text/html\n\n";

    print "$middle";

    Почему не ловится кука? Вроде, она должна записаться и храниться в памяти программы? И возможна ли авторизация на LWP или нужно использовать сокеты обязательно? :wow:
    Как всегда, огромное спасибо за любую подсказку и помощь :love:
  • Здравствуйте, уважаемые коллеги!

    Помогите, пожалуйста!

    подскажите, каким образом можно найти в документе Word все слова, перед которыми стоит специальный знак (например, '*') и записать их в массив, затем все полученные слова (вместе с предшествующим знаком) заменить на другой текст?

    пока пришло такое решение (поиск меток):
    Код:
    $WordsCount = $File->Words->{Count};
    my $pword;
    for $i (1..$WordsCount){
      $word = $File->Words($i)->{Text};
      if ($pword eq '*' ) {
        push @$words ,$word;
      }
      $pword = $word;
    }

    и затем произвести замену с помощью этого
    Код:
    my $search =  $doc-> Content->Find;
    my $replace = $search-> Replacement;

    $search-> {Text} = $oldtext;
    $replace-> {Text} = $newtext;
    $search-> Execute({Replace => wdReplaceAll});


    Но я думаю, что есть более эффективный метод.


    Метод с закладками (bookmarks) мне не нравится, потому что неудобно клепать шаблоны. Намного нагляднее в тексте шаблона видеть метки, поэтому этот метод предлагать не нужно (уже есть у меня готовое решение с использованием закладок).
  • Программирование :: Программирование 1С
  • Добрый вечер всем!
    Я создал обработку и хочу первое сохранить настройки обработки в текстовый файл, второе файл сохранить в обработке в макетах как двоичные данные, что бы в на любом компе получить настройки которые один раз создал. Самое главное сохранить в пользовательском режиме и что бы пользователь мог сам менять настройки и записывать обратно в обработку. Первый вариант получился, второй ни как не могу понять. 1с 8.1
  • Программирование :: Программирование 1С :: 1С 7.x
  • Помогите, пожалуйста! Написала диплом на 1с Бухгалтерия 7.7 УСН...нужно объяснить почему именно 7.7, а не более новые версии.Может хоть какие-то преимущества есть??? :confused:
  • Добрый день.
    проблема следующая:
    есть подчиненный справочник УсловияДоговораАренды в котором содержится инфо о имени арендатора,арендуемой точке,ее площади,сумме оплаты,начале и конце срока.
    по этому справочнику нужно создать отчет...
    таблица отчета должна содержать те же столбцы что и поля в справочнике

    вот код

    Код:
    Процедура Сформировать() 
    Запрос = СоздатьОбъект("Запрос");     .//Запрос к справочнику
    ТекстЗапроса = "
    |Аренда = Справочник.УсловияДоговораАренды.Наименование;
    |Группировка Аренда Упорядочить по Аренда.Наименование;
    |ТорговаяТочка = Справочник.УсловияДоговораАренды.ТорговаяТочка;
    |Площадь = Справочник.УсловияДоговораАренды.Площадь;
    |СуммаОплаты = Справочник.УсловияДоговораАренды.СуммаОплаты;
    |ДатаНачала = Справочник.УсловияДоговораАренды.ДатаНачалаДействия;
    |ДатаКонца = Справочник.УсловияДоговораАренды.ДатаКонцаОплаты;
    |Комментарий = Справочник.УсловияДоговораАренды.Комментарий;
    |"

        Запрос.Выполнить(ТекстЗапроса);

    Таб = СоздатьОбъект("Таблица");
    Таб.ВывестиСекцию ("Шапка");
    Таб.ВывестиСекцию ("Строка")
        Таб.Показать();


    КонецПроцедуры


    Сначала выполню запрос к нужному справочнику...а вот как потом все это перенести в таблицу?
  • Ситуация в следующем: делаю запрос по документу, все прекрасно работает до тех пор , пока в документе не попадается строк с одинаковым наименованием:
    Пример: в доке строки
    1 кружка -1шт
    2 тарелка-1шт
    3 чашка-1шт
    4 кружка-1шт

    итого получатся 4 строчки в документе, а в отчет выводится только 3, вторую кружку напрочь не видит! Почему? помогите, плиз, всю голову сломала уже...
  • Программирование :: Программирование 1С :: 1С 8.x
  • Проблема следующая: добавила на форму элемента картинку, как сделать так, что бы картинка отражалась и на форме списка для текущего элемента???
  • Есть колонка "РасходПоНорме" табличного поля "Задания". Каждая строка этой колонки вычисляется следующим образом:

    ОформлениеСтроки.Ячейки.РасходПоНорме.Значение=Формат(ДанныеСтроки.Пробег*ТекущийНорматив/100, "ЧЦ=10; ЧДЦ=2");

    Итог записывается в переменную "Израсходовано":

    Израсходовано=Задания.Итог("РасходПоНорме");

    Возникает дилемма:
    1. Если в свойствах колонки "РасходПоНорме" указать свойство "Данные", то возникает ошибка "Ошибка при установке значения атрибута контекста (Значение): Попытка записи свойства Значение для ячейки, связанной с данными."
    2.Если убрать данные, то поле Израсходовано равно 0.

    Как мне сделать так, чтобы в израсходовано попадала цифра, отличное от 0?
    //платформа 8.2.10.77
  • Подскажите как сделать чтобы при вызове печатной формы ТТН поля которые вводились в предыдущую ТТН перенеслись в новую.. какую-то выгрузку полей в отдельный файл текстовый делать, или есть штатные средства?
  • Подскажите пожалуйста, как на макет документа добавить картинку, которая выбирается реквизитом док-а из справочника логотипов? :-/
  • Здравствуйте, обитатели форума!
    У меня такой вопрос - типовая конфигурация "управление торговлей", документы Заказ Поставщику и Заказ Покупателя.. у них есть печатные формы (макеты) мне нужно добавить туда пункт "Вес всего" в котором был бы написан вес товара исходя из количества, прописанного в документе и весового коэффициента из справочника "номенклатура", если кто делал что похожее - напишите..
  • Операционные системы :: Windows
  • Для тестирования библиотеки собственного производства, которая должна уметь посылать-получать запросы-ответы с сервера с аутентификацией через прокси-сервер по HTTP и/или HTTPS протоколам, нужен прокси-сервер. Для тестирования в качестве Web-сервера использую IIS. Может кто посоветует простой прокси-сервер, чтобы долго с ним не заморачиваться с настройками, бо нет на это времени.
  • Направления программирования :: Drivers
  • Здравствуйте!
    У меня вопрос по поводу написания драйвера для геймпада Saitek P2500 Rumble Pad под Windows XP.
    Я написал драйвер, он отлавливает нажатые кнопки, и в клиентском приложении я показываю, какие кнопки нажаты. Всё бы хорошо, но мне необходимо ещё эмулировать нажатия кнопок на геймпаде, как нажатие клавиш клавиатуры, например, пользователь нажимает кнопку 1 на геймпаде, а Windows понимает, что нажата клавиша <Windows>+<E>.
    Не пойму, как это сделать. Надо формировать IRP пакет стандартному драйверу клавиатуры? или надо писать ещё один драйвер-фильтр для клавиатуры, который будет связан с моим драйвером геймпада? Или можно вызвать какую-нибудь функцию WinAPI режима ядра, если, конечно такие бывают?
    Как организовать взаимодействие между двумя драйверами для разного оборудования?
    Заранее спасибо!
  • С выходом Vistы, всеми фибрами души, пытался оттянуть переход с ХР на нее, но не прошло и двух лет, а заставляют  :( :( :( ...
    Взял я свой драйвер, для работы с 1394, написанный под DDK2003 и DriverStudio, инстальнул под vistой, и он сходу заработал... :confused:
    Отсюда вопрос, в чем отличие между Vista и XP, в плане создания драйвера?....
  • Здравствуйте, уважаемые профессионалы!
    Я пишу функциональный драйвер для USB-модема DLink-DU562M с использованием WDF. Пишу под Windows XP.
    Родной драйвер работает с ним через COM порт.
    Для передачи данных я создаю 3 pipe для устройства: для чтения, записи и прерывания.
    Возникла проблема передачи модему данных от пользователя. Т.е. я получаю от пользователя какие-то данные и записываю дальше на передачу с помощью функций WdfUsbTargetPipeFormatRequestForWrite(...), WdfRequestSetComplectionRoutine(...) и WdfRequestSend(...) вроде как бы они записываются в устройство. Но как получить от него ответ? Если я посылаю AT-команду модему через гипертерминал, например, ATI1 или ATI4, то я  должен получить ответ, определенный буфер.  Для ATI1 ответ должен быть "255", а для
    ATI4 - "D-Link DU-562M External Modem". Но на этом драйвер у меня виснет, а прерывания вообще не работают.
    Пробовал через SnoopyPro определить как идет передача данных в родном драйвере, в итоге пакеты посылки и получения данных от команд ATI1 и ATI4 совпадают, за исключением двух байт. Хотя как я понимаю в пакете должна быть последовательность байт, которыми представляются эти команды.
    Ничего подобного там нет, какие-то непонятные символы передаются.
    Уже целый месяц над этой проблемой парюсь. Никак не пойму, в чем загвоздка (

    Помогите,пожалуйста, разобраться, как разрешить эту проблему. Может как-то надо посылать прямо в COM порт, связанный с этим модемом, а дальше там он просто ждать от него прерывания? Если это так, то какие команды надо писать? Или надо как-то очередь запросов настроить?
    Заранее спасибо!
  • Здравствуйте друзья. Помогите пожалуйста прояснить такой вопрос.

    Озадачился фильтром файловой системы, на примерах sfilter и filespy (они выложены здесь http://forum.shelek.ru/index.php/topic,21848.msg215977.html). Возьмем конкретно sfilter.
    Есть у него такая функция SfFsNotification, которая вызывается системой, с целью оповесьтить драйвер о зарегистрированных файловых системах. В нее передается указатель на DEVICE_OBJECT, который как я понимаю, представляет объект-устройство, созданный непосредственно файловой системой (и ее же представляющий). Далее через дебри вспомогательных функций, в конце концов происходит вызов ObQueryNameString, которой в качестве параметра "Object" передается как раз этот самый DEVICE_OBJECT файловой системы. Тут одно важное обстоятельство: если имя не будет получено, то лавочка закрывается посредством return (ну конечно после отладочного сообщения). Получили имя DEVICE_OBJECT'а - хорошо. Далее фильтр изо всех сил пытается приатачиться к стеку этого DEVICE_OBJECT'а. И хочет проверить, не "file system recognizer" ли это, чтобы вслучае, если это именно он, отменить свой замысел по приатачиванию. Как я понимаю, у recognizer'а тоже есть имя (он тоже человек), и именно оно и является главным его признаком (по крайней мере для sfilter и filespy). Так вот далее должно произойти банальное сравнение имени объекта устройства с именем recognizer'а ("\\FileSystem\\Fs_Rec"). Но sfilter (равно как и filespy) запрашивает имя самого объекта драйвера, т.е. еще раз вызывается ObQueryNameString, и на этот раз ей передается уже DeviceObject->DriverObject.

    Конкретно последнее обстоятельство мне и непонятно. Что за фокус такой. Зачем запрашивать имя объекта-драйвера? Какое тогда имя мы получаем вызовом ObQueryNameString для DEVICE_OBJECT'а ?
  • Направления программирования :: Сети
  • DoubleVPN/OpenVPN/PPTP VPN сервис.

    Качественный профессиональный VPN сервис - vpn.insorg.org.
    От socks 5 сервиса proxy.insorg.org.

    • Шифрованный канал.
    • Не ведутся логи.
    • Автоматизация оплаты, подключения и продления. Различные виды оплаты: Webmoney, Яндекс.Деньги, RBK Money,SMS и др.
    • DoubleVPN, OpenVPN и PPTP VPN – используйте любой.
    • Сервера в США, Австрии, Германии и Нидерландах.
    • Высокая скорость.
    • Шесть тарифных планов с доступом ко всем серверам.
    • Одинаковая цена на DoubleVPN, OpenVPN и PPTP VPN.
    • Всем клиентам бесплатная утилита для усиления безопасности VPN (трафик не уходит при разрывах и т.д.).
    • OpenVPN на разных портах (для обхода ограниченного доступа в Интернет).
    • Бесплатный тест на 1 час по запросу на ICQ 802034.
    • Статические IP адреса в Германии и США.

    Цены:

    • $1.3/24 часа;
    • $7.5/7 дней;
    • $20/1 месяц;
    • $55/3 месяца;
    • $105/6 месяцев;
    • $20/1 месяц PPTP VPN static IP.

    Подробнее на http://safe-inet.com/
    Support: ICQ 802034



    Обсуждение приветствуется.

  • Направления программирования :: Web
  • Посоветуйте пожалуйста хорошую литературу по созданию сайтов.
  • Практические разделы :: Базы данных
  • Здравствуйте!  :)
    FireBird 2.1 , работаю ч/з DataSet в Delphi7
    В программа 12 таблиц, все они о объединены между собой ч/з Join. У каждой таблицы свой генератор идентификационного номера записи. Когда сохраняем данные небходимо запомнить номер, который присваивает генератор записи.
    И собственно вопрос!!!
    Как ЭТО сделать?  :-/
    Я это делаю так...
    Код:
    // Таблица PATIENT
       DM_ORND.dset_PATIENT.Insert;
       DM_ORND.dset_PATIENT.FieldByName('PAT_OLD_ID').AsInteger:=100000 ;
       DM_ORND.dset_PATIENT.FieldByName('PAT_OLD_LN').AsString:=mePAT_reg.Text ;
       DM_ORND.dset_PATIENT.FieldByName('PAT_OLD_FN').AsString:=mePAT_FN_reg.Text;
       DM_ORND.dset_PATIENT.FieldByName('PAT_OLD_MN').AsString:=mePAT_MN_reg.Text;
       DM_ORND.dset_PATIENT.FieldByName('PAT_OLD_BD').AsDateTime :=dtpPAT_BD_reg.Date ;
       DM_ORND.dset_PATIENT.FieldByName('PAT_OLD_SEX_ID').AsInteger:=lcbSex_reg.KeyValue;
       DM_ORND.dset_PATIENT.FieldByName('SEX_OLD_ID').AsInteger:=1 ;
       DM_ORND.dset_PATIENT.Post;
       // запоминание номера PATIENT
       p:=DM_ORND.dset_PATIENT.FieldByName('PAT_OLD_ID').AsString;
      // Таблица  APPEAL
       DM_ORND.dset_APPEAL.Insert;
       DM_ORND.dset_APPEAL.FieldByName('APP_OLD_ID').AsInteger:=10000;
       DM_ORND.dset_APPEAL.FieldByName('PAT_OLD_ID').AsInteger:=1 ;
       DM_ORND.dset_APPEAL.FieldByName('TOT_OLD_ID').AsInteger:=1;
       DM_ORND.dset_APPEAL.FieldByName('BRA_OLD_ID').AsInteger:=1;
       DM_ORND.dset_APPEAL.FieldByName('APP_OLD_BRA_ID').AsInteger:=lcbBRA_reg.KeyValue;
       DM_ORND.dset_APPEAL.FieldByName('APP_OLD_TOT_ID').AsInteger:=lcsTOT_reg.KeyValue;
       DM_ORND.dset_APPEAL.FieldByName('APP_OLD_PAT_ID').AsString:=p ;

       DM_ORND.dset_APPEAL.Post;
       // запоминание номера  APPEAL
       a:=DM_ORND.dset_APPEAL.FieldByName('APP_OLD_ID').AsString ;
        // Таблица  RECEPTION
       DM_ORND.dset_RECEPTION.Insert;
       DM_ORND.dset_RECEPTION.FieldByName('REC_OLD_ID').AsInteger:=10000;
       DM_ORND.dset_RECEPTION.FieldByName('BRA_OLD_ID').AsInteger:=10000;
       DM_ORND.dset_RECEPTION.FieldByName('PAT_OLD_ID').AsInteger:=10000;
       DM_ORND.dset_RECEPTION.FieldByName('SEX_OLD_ID').AsInteger:=10000;
       DM_ORND.dset_RECEPTION.FieldByName('TOT_OLD_ID').AsInteger:=10000;
       DM_ORND.dset_RECEPTION.FieldByName('REC_OLD_APP_ID').AsString:=a;
       DM_ORND.dset_RECEPTION.FieldByName('APP_OLD_ID').AsInteger:=1;
       DM_ORND.dset_RECEPTION.FieldByName('REC_OLD_DATE').AsDateTime:=dtpREC_reg.Date;
       DM_ORND.dset_RECEPTION.FieldByName('REC_OLD_DOC_ID').AsInteger:=lcbDOC_reg.KeyValue;
       DM_ORND.dset_RECEPTION.FieldByName('DOC_OLD_ID').AsInteger:=1;
       DM_ORND.dset_RECEPTION.FieldByName('REC_OLD_ANA_ID').AsInteger:=lcbANA_reg.KeyValue;
       DM_ORND.dset_RECEPTION.FieldByName('ANA_OLD_ID').AsInteger:=1;
       DM_ORND.dset_RECEPTION.FieldByName('CON_OLD_ID').AsInteger:=1;
       DM_ORND.dset_RECEPTION.FieldByName('REC_OLD_CON_ID').AsInteger:=1;
       DM_ORND.dset_RECEPTION.FieldByName('REC_OLD_DES').AsString:=mDES_reg.Text ;
       DM_ORND.dset_RECEPTION.FieldByName('REC_OLD_ZAKL').AsString:=mZAKL_reg.Text ;

       DM_ORND.dset_RECEPTION.Post;
    При таком варианте запоминаются внесенные номера, а не те, что сгенерированые, т.е.:
    Код:
    DM_ORND.dset_PATIENT.FieldByName('PAT_OLD_ID').AsInteger:=100000 ;
    DM_ORND.dset_APPEAL.FieldByName('APP_OLD_ID').AsInteger:=10000;
    А далаю имеено так, потому что по-другому не работает.
    Мы присваиваем номер, а после сохранение ганератор заменяет его на свой сгенерированный. А как запомнить этот сгеннерированный номер, я не знаю.
    Может кто-нибудь знает?
  • Практические разделы :: Программы
  • Проблема у меня на работе такая. У нас Интернет подключен не через модем, а через локальную сеть, от другой фирмы.
    После закачки одного из последних обновлений антивирусной базы антивирус втихую отключает доступ к локальной сети, и к Интернету тоже, даже ничего не пингуется, причем намертво. Это не лечится ни перезагрузкой, ни даже удалением антивируса. Похоже, закрываются какие-то порты на сетевой плате. Что с этим делать?
    Советы переходить на другие антивирусы не принимаются. По некоторым причинам слезть с Симантека мы не можем.
    Совет переустановить систему тоже нежелателен - оставим это на крайний случай. Я хочу узнать причину явления, и как с этим реально бороться.
  • В пределах одной машины на одном VPS установлен и работает CGP.
    На другом VPS установлен sendmail. Ставлю ему релеить почту через CGP. В CGP IP этого VPS указан как trusted.

    Пробую отсылать почту через sendmail от имени ящика на CGP на другой ящик на том же CGP.
    CGP отвергает его: Return-Path 'root@shelek.su' rejected: sender requires authentication
    В настройках CGP:
    AUTH если: не-клиенты
    Return-Path если: не-клиенты

    Поиск не помогает. Что-то не могу понять, в чем дело.

    С авторизацией то работает, но для сообщений, например, от cron это не годится.
  • Учимся программировать :: Начинающим
  • привет всем! я только зарегился на вашем сайте, мне понравились ваши темы) мне нужна помощь, помогите найти или подсказать алгоритм, "анти тетриса", в общем это мой курсач, и заключается в том что реньше всегда комп выбирал фигурки для того что бы пользователь их ставил, а мне наоборот надо) человек выбирает, а моя прога должна их оптимально ставить, в общем жесть, идей 0((( с лабиринтом было проще) помоги плиз)
  • Привет.
    Хочу спросить про технологию http://en.wikipedia.org/wiki/ClickOnce
    Понятно, что все написано, но я на всякий случай спрошу:
    технологию ClickOnce  или Smart Client http://en.wikipedia.org/wiki/Smart_client
    нельзя использовать для приложений, разрабатываемых на чистом С++?

А теперь прощаемся с Вами до следующего выпуска.


С уважением, команда Клуба.


В избранное