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

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


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

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

  • Программирование
      • Имеется две таблицы: в одной содержатся сведения об успеваемости учеников (четвертные оценки по предметам, средний балл ученика), в другой уровни успеваемости (1,2,... 5). Необходимо во второй таблице отразить количество учеников (из первой таблицы) по уровням, т. е. столько-то занимаются на 1, столько-то на 2., причем критерием уровня служит диапазон, в который должен входить средний балл учащегося (к примеру Иванов ср. балл 2,2 ;    1 ур. от 0,5 до 1,2; 2 ур. от 1,3 до 2,4, и т.д.). Можно ли реализовать эти расчеты через встроенные  формулы, и если да, то как примерно это будет выглядеть! Заранее спасибо!
      • Столкнулся со следующей проблемой, которую попробую описать на примере.

        Допустим, что, существует button1, которой было назначено событие Click += button1_Click(...) через студию.
        Функция button1_Click - предположим, выводит сообщение MessageBox("Hello");
        Далее я размещаю еще одну кнопку на форме,  button2, ей назначаю событие Click += button2_Click(...)

        А тут как раз и проблема, в обработчике button2_Click() делаю примерно следующее:

        private void button2_Click(object sender, EventArgs e) {
                    Button btn = new Button();
                    btn.Parent = (sender as Control).Parent;
                    btn.Left = 10;
                    btn.Top = 20;
                    btn.Text = "Hello";
                    //Тут мне требуется назначить обработчик события Click такой же как у (например) sender
                    //хотя это может быть и любой другой компонент
                    //конечно, я могу сделать так:
                    btn.Click += new EventHandler(button1_Click);
                    //но это не является решением задачи
                    //Пробую сделать как-то так:
                    System.Reflection.EventInfo einfo = sender.GetType().GetEvent("Click");
                    einfo.AddEventHandler(btn, /*что у нас тут?*/);
        }

        Теперь, собственно, главное:
         что у нас тут?:
           я вставлял сюда new EventHandler(button1_Click) и работает как надо - но по условиям моей задачи я не знаю ни количества, ни названий функций обработчиков

        То есть мне надо узнать, какие обработчики назначены Control, a событие Click и назначить их Control b событию Click

        Что-то вроде следующего, но я ничего подобного найти не смог:

        System.Reflection.EventInfo einfo = a.GetType().GetEvent("Click");

        SomeTypeForHandler[] hndl = a.GetClickHandlers();

        foreach(System.Delegate h in hndl) {
           einfo.AddEventHandler(btn, h);
        }

        Visual Studio 2005
        .NET 2.0
        C#
      • Кто пользуется файлом cyrIOS ? И в какой среде разработки? У меня не получается его вставить в программу... Если кто знает, помогите плиз, что с ним делать, чтоб работал .... И ещё скажите, как в Microsoft Visual C++ Express Edition 2008 сделать, чтобы потом просто писать # include "cyrIOS.h" и всё работало? Для этого нужно, вроде, подключить этот файл к стандартным заголовкам,но как это сделать?
      • Подскажите, в чем моя ошибка и откуда берется ошибка "Null pointer assignment".
        Программа по прерыванию от таймера заполняет список, в основном модуле читает список и выводит на экран. Выводит:
         10 10 10 10 10 10 10 10 10 10 Null pointer assignment
        Должно быть:
         1 2 3 4 5 6 7 8 9 10
        Текст программы:
        Код:
        //#include <stdio.h>
        #include <dos.h>
        #include <conio.h>
        #include <iostream.h>
        //#include <alloc.h>
        #include <stdlib.h>
        //#include <bios.h>;
        //#include <process.h>

        #ifdef __cplusplus
            #define __CPPARGS ...
        #else
            #define __CPPARGS
        #endif

        struct BuffList{
        unsigned int VK;
        struct BuffList *next;
        } start, *node, *first, *last;

        int looping = 1;
        void interrupt get_out(__CPPARGS);
        void interrupt (*oldfunc)(__CPPARGS);

        void main(void)
        { clrscr();
          start.next = NULL;
          node = first = last= &start;
          oldfunc  = _dos_getvect(0x1c);
          _disable();
          _dos_setvect(0x1c,get_out);
          _enable();
          sleep(2); //ждем пока заполнится список
          first=first->next;
          for (char k=1;k<11;k++)
          {
            node=first;
            cout<<node->VK<<"\r\n";
            first=node->next;
            //free(node);
          }
          _disable();
          _dos_setvect(0x1c,oldfunc);
          _enable();
        }

        void interrupt get_out(__CPPARGS)  //прерывание от часов 18 раз в секунду
        { if (looping>10) return;
          last->next =(struct BuffList*)malloc(sizeof(struct BuffList));
          last=last->next;
          last->VK=looping++;
          last->next=NULL;
        }
      • ситуация такая, приходит сообщение
        нужна проверка на символы '<' и '>' (символ '<' на проверку ВСЕГДА ПЕРВЫЙ)
        если оба то вытащить что внутри них, а остальное сообщение в другую переменную
        если один из них это целиком сообщение, и если их нет тоже целиком, и если '<' не первый то тоже целиком  (с символами '<' '>')
        вот мой код:
        Код:
        for
        (int i =0; i<nLen; i++)
                                  {
                                    if (buf[0]=='<')
                                       {
                                         i++;
                                         temp=buf[0];
                                         while (1)
                                            {
                                              if(buf[i]!='>' && buf[i]!='\0')
                                              {
                                                o+=buf[i];  // вытаскиваем
                                                i++;
                                              }
                                              else
                                                  break;
                                            }
                                       }
                                    else
                                      pp+=buf[i];
                                  }
                              if (!(TryStrToInt(o,z)))
                                  {
                                    pp=temp+o;
                                  }
        как его довести до ума?
      • Задание:
        разработать программу, обеспечивающую изображение на экране дисплея определенного набора плоских и пространственнных геометрических фигур.
        Предусмотреть в программе возможности масштабирования фигур или их изображения по задаваемым размерам и построения 3-х проекций для определенной фигуры.
        Все предоставляемые услуги оформить в сервисное меню с библиотекой геометрических фигур.

        Не знаю даже, с какой стороны подойти.
        Можно писать в борланд С++ (т.е. консоль), в билдере и визуале. Что лучше выбрать?
        Какие библиотеки лучше и проще использовать?
        Какие книги по теме посоветуете почитать?
        Язык Си изучаю только 2 семестр, т.е. знания еще не очень глубокие. Можно использовать С++, но будут лишние вопросы при сдаче.
        • Из другой оперы:(работа сокетов
          Код:
          struct sockaddr_in from
          )
          а как по IP узнать его имя DNS? как бы получаю IP удаленый:
          Код:
          IpAddr = inet_ntoa (from.sin_addr );
          а вот как получить его имя DNS???

          приложение НЕ консоль!
        • В игре (WinAPI & Visual C++) используется несколько файлов *.bmp, *.txt и *.wav (не слишком много).

          Есть желание эти файлы разместить (скрыть) в *.exe. Подскажите, как это сделать?
      • Имеется файл с набором цифр, разделённых иногда пробелами, а иногда двоеточиями. Нужно вытянуть данные и поместить в массив. Как это сделать поизящнее, не раздувая код? Я думал вначале через сравнение поудалять лишние пробелы, а то, что не похоже на пробел, заносить в массив через StrToInt. Ниже пример части файла:

          00:30  00119   00125        00130   00131        00133   00139
        может можно это как-то проще сделать?
      • Нужно перенести строки из одного ComboBox(a) в другой ComboBox.
        Они находятся на РАЗНЫХ ФОРМАХ одного проэкта. Ничего другого в голову не лезет, кроме как сохранения строк одного ComboBox(a) в текстовый файл и чтения его в другом  ComboBox(е).
        Неужели нет других способов? Подскажите, плз.
      • Почему в программе, написанной на делфи, при установке на другой компьютер в меню вместо русских симоволов что-то непонятное, невозможно прочитать. Чего не хватает? Как это исправить?
      • Не очень хочется наступать на одни и те же грабли и изобретать велосипед, так что прошу подсказать, если неправильно в моих рассуждениях. Заранее благодарю всех откликнувшихся.

        Задача:
        На сервере под линукс лежат бинарные программы(6-7шт). К серверу возможен доступ по ssh. С клиентского компьютера под win nt5 необходимо переслать файл, в котором находятся настройки входа для бинарников. На сервере необходимо запустить определенный бинарник, в зависимости от того что выберет пользователь клиента. Выходные данные - файл, содержащий набор цифр(координаты пятимерного графика). На сервере необходимо построить график - проекция на какую-либо грань(рисунок) и передать его клиенту, который его отобразит. Выходные файлы передавать нецелесообразно, так как они весят очень много, а графики можно построить используя не все выходные значения(например с шагом 10). Модифицировать

        Предполагаемый ход действий:
        1 Использовать java в качестве языка для реализации данного проекта.
        2 Задачи клиента:
              Установить соединение
              Послать файл входных данных
              Запустить программу на сервере(программа из пункта 3)
              Ждать ответа
              Отобразить принятое изображение
        3 Задачи программы, расположенной на сервере:
              Запустить определенный бинарник в зависимости от входных данных
              Ждать пока он полностью выполнится
              Отскыть полученный файл с выходными данными
              На их основе построить изображение графика
              Передать его на клиент
              Завершиться

        Вопросы:
        1 Является ли язык java приемлемым для этой задачи. Какие плюсы и минусы по сравнению с реализацией на С или просто в качестве скрипта, использующего реализацию ssh.
        2 Какой пакет ssh для джавы лучше использовать? Планируется: http://www.javassh.org/space/start
        3 Локика действий приемлема? Если что-либо можно при данной постановке задачи сделать проще, прошу направить на мысль

        Если есть исходники с подобными возможностями, то очень буду признателен, если поделитесь.
      • Уважаемые коллеги, кто сталкивался с данной конфигурацией? Под неё нужны формы годовой отчетности для комитета по сельскому хозяйству (с 5АПК по 13АПК). Кто-нибудь их разрабатывал?
        • Пора уже рубрики открывать обучающие азам :)
          Вот теперь несколько вопросов по запросам.

          Ваяем простенький запрос:

          Код:
          ПериодическийРеквизит = СоздатьОбъект("Периодический"); 

          Табличка=СоздатьОбъект("Таблица");
          Табличка.ИсходнаяТаблица("Таблоид");

          запросик=СоздатьОбъект("Запрос");
          ТекстЗапроса=
          "
          |ТекущийОС=справочник.ОсновныеСредства.ТекущийЭлемент;
          |ТекущийПлощадь=справочник.ОсновныеСредства.Площадь;
          |Условие ((ТекущийПлощадь>10) и (ТекущийПлощадь<200));
          |Группировка ТекущийОС упорядочить по ТекущийОС.Наименование;
          |
          |"
          ;

          Если запросик.Выполнить(ТекстЗапроса) = 0 тогда Предупреждение("Запрос содержит ошибки.");
          иначе Пока Запросик.Группировка("ТекущийОС")=1 Цикл
          счетчик=счетчик+1;
          ПериодическийРеквизит.ИспользоватьОбъект("Площадь", запросик.ТекущийОС);
          Табличка.ВывестиСекцию("ВыводОС");
          //Секция содержит несколько переменных - равносильно нижеследующему:
          //Сообщить(Запросик.ТекущийОС+" "+ Запросик.ТекущийПлощадь + " " + Запросик.ТекущийОС.Площадь);

          КонецЦикла;
          Табличка.Показать("Элементы ОС");
          Сообщить("Всего элементов: "+счетчик,"!!");
          конецЕсли;

          Сразу следует сказать, что реквизит Площадь у справочника Основные средства - периодический.

          Первый вопрос - "почему": как мы видим, условия вывода по площади, почему в выходной таблице присутствуют элементы, площадь которых равна "0" ? Все они - имена групп, но при этом выводятся названия не всех групп, которые есть в справочнике ???

          Второй вопрос - "почему": если меняем условие запроса на следующее: |Условие ((ТекущийОС.код>10) и (ТекущийОС.код<12)); выводит элемент (и опять имя группы с нулевыми реквизитами) теперь если |Условие (ТекущийОС.код=11); то наша 1С ничего ненаходит ???

          Третий вопрос - "как": Строчка в цикле пробегающемся по элементам запроса: ПериодическийРеквизит.ИспользоватьОбъект("Площадь", запросик.ТекущийОС); не работает - пишет "Площадь не является константой или периодическим реквизитом", на обращение Запросик.ТекущийОС.Площадь говорит что неизвестный объект. Как грамотно работать с периодическими реквизитами в условиях Запроса ???

          Четвертый вопрос - "почему": Почему неработает такая переменная в запросе группа=справочник.ОсновныеСредства.ПолноеНаименование. и/или же не работает такое обращение запросик.ТекущийОС.ПолноеНаименование ? Как тогда узнавать иерархию в справочнике найденых элементов ???
        • динамически (в пользовательском режиме) создал элементы: табличное поле, кнопку, и Текстовый документ

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

        • Ситуация такая:
          В справочнике "Контрагенты" я сделала вкладку Базы клиента, на ней разместила табличную часть "БазыКлиента", где указывается наименование базы, рег.номер и признак Сопровождается (Булево).

          Теперь необходимо, чтобы при формировании документа "Счет на оплату", выбрав контрагента, пользователь нажал кнопку Заполнить. В результате табличная часть  стандартного счета должна заполниться базами контрагента (из табл.части спр-ка Контрагенты) с признаком Сопровождается (Истина). Т.е в счет должны попасть сопровождаемые базы именно этого контрагента и именно автоматически.

          Подскажите, пожалуйста, новичок в программировании:)
  • Операционные системы
  • Направления программирования
      • Занимаюсь изучением различного рода программирования чуть более года.
        За это время успел изучить html/js/php/c-c++/ASM/, создавал вэб-, виндовс приложения.
        Месяца 1.5-2 назад решил поизучать создание драйверов под Windows, программирование в режиме ядра, да и вообще найти применение своим знаниям на этом непростом занятии. Почему именно драйвера? Наверное, не мне вам объяснять, насколько это интереснее, занятнее и перспективнее программирования окошек в пользовательском уровне.
        Так вот. Успел прочитать полкниги WDM от Oney, также пытался читать Солдатова, Сорокину, Комиссарову, различные статьи на Васме и в других подобных источниках. Документацию WDK читать не начинал (но думаю, на днях начну, так как в любом случае понимаю, что это наиболее обильный источник информации по сабжу).
         Наибольшую сложность я испытываю в отсутствии живых примеров. То есть количество теоретических знаний с каждой прочитаной страницей документации все больше и больше превосходит количество практических навыков. Теория без практики в моей голове не укладывается никак.
         Хотел бы попросить вас выложить какой-нибудь полный комментированный код простого драйвера, чтобы мне было что разобрать.
         Просто я никак не могу понять, вот есть драйвер, загружается инициализируется функцией DriverEntry, а вот что дальше происходит, мне не ведомо. Поступают всякие IRP пакеты, но откуда и как они обрабатываются, что должны делать фунуции их обработки, понять не могу.
         
         Надеюсь, вы поняли, что я попытался вам донести своим постом. Заранее спасибо за советы и подсказки!
         
      • Назрел вопрос следующего рода:

        Имеется FPGA c подключенной к ней CY7C68013A, на эту FPGA приходят MII пакеты (Ethernet). С CY7C68013A реализован двухсторонний обмен данными. Могу записать в USB пакетик и считать могу данные из него. работает в CyConsole. режим bulk и slave fifo и два Endpoint'а под это выделены.

        Хотелось бы реализовать по сути сетевой интерфейс USB (с IP адресом, шлюзом, ну вообще, как обычная сетевая USB карточка) и пакеты Ethernet принимать и отправлять из FPGA в комп.

        Сам я в программировании не особо разбираюсь, т.к. по железу инженер.

        Прочитал, что есть такая штука - RNDIS. И она как раз позволяет реализовывать Сетевые интерфейсы на USB.

        Сам попробовал Jungo WinDriver 9.0., там есть примеры работы с моим USB, можно читать и писать в Endpoint'ы. Сгенерировался inf файл с VID&PID.
        Собственно, интересует вопрос, как мне к этому всему прикрутить NDIS так, чтобы в Windows видела Сетевой интерфейс (LAN) и драйвер передавал сами пакеты в заданные мною Endpoint'ы, ну и возможно, какие то еще служебные данные.

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

        Кто может что сказать по реализации драйвера сетевого устройства (R)NDIS ?
        Может есть у кого какие Examples ?
        Существует ли способ обьединения драйверов в единую "Пачку?"
        Или книгу посоветуйте, которая может прояснить эти моменты...

        Спасибо.
      • Есть несколько физически непрерывных кусков памяти одинакового размера, выделенных с помощью MmAllocateContiguousMemorySpecifyCache ( ) , лежащих по разным адресам (кратных размеру страницы адресом и длиной).
        Их надо "склеить" внутри пользовательского виртуального пространства адресов в один непрерывный буфер (при вызове функции драйвера). Каким образом это можно сделать, с помощью какой системной функции?
      • С usb работаю следующим образом. PIC18F2550 (USB Device - MCHPUSB - Generic Driver Demo) и пример из DDK2003 bulkusb.
        Драйвер я не изменяю, так как в прогаммировании драйверов я дилетант.
        Встал вопрос в использовании изохронной передачи.
        На шару не получилось isousb передает один пакет и все... Проблема в драйвере, а не в ПО МК. Перезагрузка драйвера, позволяет передать еще один пакет.
        Чтение соответствующего раздела у Они мне не помогло (Так как читать нужно не соответствующий раздел, а сначала).
        Использую Read/WriteFile, может, этого недостаточно при изохронных передачах?
        PS Использование usbsamp из WDK, не помогло, симптомы те же.
      • Есть плата PCI. Для работы с ней драйвер выделяет буфер (AllocateCommonBuffer()). Буфер я сдалала 28К байт, чтобы он разместился на 8 страницах (мне выделяется 8 map registers). В плату записывается адрес буфера и размер, и она начинает писать (Burst Master Memory Writes по 8 DWORDов) в буфер значения последовательного  32-х разрядного счетчика, заполнив буфер до конца, продолжает писать с начала, при переполнении счетчик обнуляется. Прерывания не используются. Периодически я просматриваю содержимое буфера. Плата отлично работает, если я на компе больше ничего не делаю. Но когда запускаю какое-нибудь приложение, плата зависает: пытается писать данные, но пересылок нет.  Такая картина если моя сетевая карта отключена. Если я подключаю сетевую карту, то тоже какое-то время пересылки идут нормально, но потом вместе с платой уже весь комп виснет.
        Буду очень рада, если  поможете советом.
      • Может, кто-то подскажет, в какой среде можно удобно писать драйверы,

        и что-бы их можно было компилировать в самой среде?

        Спасибо!
      • Доделал я-таки свой проект, вкратце напомню, в чем он заключался. Есть плата, подключаемая к компу по PCI, на ней стоит ПЛИС, для которой я разрабатывал прошивку, поддерживающую блочную передачу на шине, а также драйвер под виндуос, позволяющий устройству обращаться в память компьютера по каналам DMA. Все как обычно, драйвер получает от системы логический адрес для обращения в память, записывает его и длину передачи в регистры устройства и командует ему начать передачу. После этого устройство само обращается в память компьютера по этому адресу, считывает или записывает туда указанный объем данных и после этого выдает прерывание, что типа все закончило, которое обрабатывается драйвером, снимается, и IRP запрос завершается.
        Все отлично работает, когда драйвер встраивается в уже загруженную систему. Но если встроить драйвер, а потом просто перезагрузить компьютер (при этом питание с шины PCI как я понимаю не снимается, и конфигурация железа (т.е. ПЛИС) остается неизменной), то происходит странная вещь: начинает вызываться функция обработчика прерывания ISR (я мониторю активность драйвера через WinDbg, которой стартует вместе с системой). Вызывается она бесконечно. На самом деле устройство не выдает никакого прерывания (я знаю этого, т.к. использую логический анализатор, встроенный в кристалл ПЛИС), а функция обработчика прерывания вызывается бесконечно, ничего не делает, т.к. там в ней сначала есть проверка, мое ли устройство выдает прерывание. При этом система загружается (правда медленно). После загрузки я просто отключаю драйвер, а потом снова его задействую, и тогда все ок, никаких ISR не вызывается. При этом, если перед перезагрузкой системы отключить устройство, а после перезагрузки его задействовать, то опять же все нормально.

        Глюк? Я что-то не так делаю? Может, у кого были подобные ситуации?
      • Столкнулся с проблемой, и пока не понял, как решить.

        Железка устроена таким образом, что по передаче и по приёму дёргается одно и то же прерывание.

        В ISR распознаю, чтение это или запись, после чего планирую DPC:
        Код:
        IoRequestDpc(FdoData->Self, (PIRP) DPC_READ, FdoData);
        , где DPC_READ - это константа.
        и сразу после этого - FdoData->RxISRcount++;

        Внутри DPC:
        Код:
        fdoData->DPCcount++;
        switch (Mode) {
        case DPC_READ:
        fdoData->RxDPCcount++;
        ...

        для чтения, и аналогично - для записи.
        Таким образом, у меня есть одна ISR, одна DPC, и две разных причины ISR (чтение или запись). Пока события происходят медленно - всё хорошо.
        Но при быстром приёме-передаче, как я понял, попадается случай, когда второе прерывание (и вторая ISR) возникает ДО первого вызова DPC. А ведь если планируем DPC, когда она уже есть в очереди - это пустое действие! И, таким образом, на ДВА ISR планируется только ОДИН DPC. Ну, а второе событие, выходит, теряется.
        В рассмотренном примере потеря события - это установившееся неравенство RxDPCcount и RxISRcount. Разница на единичку. Для моего применения фатально, ибо приём от этого останавливается навсегда.

        И теперь - вопросы. Насколько я понимаю, в винде одной ISR соответствует одна DPC. Это так?
        Если да - то можно ли назначить на одно прерывание две ISR, каждая из которых планирует свою DPC? Тогда что совать в параметры IoInitializeDpcRequest при старте устройства?

        Или есть какие-то более стандартные подходы?
        Заранее спасибо.
      • В RFC на сокс5 так описывается ответ на Connect:
        Цитата: rfc1928
        CONNECT
           In the reply to a CONNECT, BND.PORT contains the port number that the server assigned to connect to the target host, while BND.ADDR contains the associated IP address.  The supplied BND.ADDR is often different from the IP address that the client uses to reach the SOCKS server, since such servers are often multi-homed.  It is expected that the SOCKS server will use DST.ADDR and DST.PORT, and the client-side source address and port in evaluating the CONNECT request.

        Не совсем понятно, для чего же вообще используются эти BND.ADDR и BND.PORT (такое чувство, что используются они, вообще говоря, редко). Насколько я понимаю, это адрес-порт, по которому клиент может установить ещё одно data-соединение с целевым хостом. При этом, "контрольное" соединение также переходит в режим передачи данных.
        То есть, это как бы предусмотрено, чтобы снизить задержку при установлении ещё одного соединения через прокси к целевому хосту? Или?

        Чисто экспериментально:
        1. Сервер WinSocks позволил использовать дополнительное соединение, оба соединения стали работать в режиме передачи данных между клиентом и целью.
        2. Socks-сервер из пакета 3proxy возвращает несколько странные адреса (клиент стучится к нему из localhost, а он возвращает в ответе адрес-порт интерфейса, глядящего в локальную сеть). И не позволяет устанавливать с этим адресом соединение (ошибка "Connection refused").

        Складывается впечатление, что или стандарт слишком вольный и допускает двусмысленные трактовки, либо не все прокси считают нужным этот стандарт выполнять.

        В общем, вопроса два:
        1. Если кто знает: что, всё-таки, означает этот возвращаемый socks-сервером по стандарту адрес? Какое должно быть стандартное поведение?
        2. Эта часть стандарта в принципе не слишком часто поддерживается реализациями socks-серверов?
        • Всем привет!
          У меня есть фотогалерея созданая на флеше, которая в свою очередь использует xml файлы, в качестве БД.
          Вопрос вот какой! Как написать скрпит на php, который будет добавлять в определенное место в файле xml информацию о фотографиях, а иммено:
          • Категория
          • Местонахождение
          • и имя файла

          Помогите =)
        • html-ка:
          Код:
          <html>
              <head>
                  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
                  <title>JSP Page</title>
                  <link rel="stylesheet" href="testDiv.css" type="text/css">
              </head>
              <body>
                  <div class="main">
                      <div class="content first"></div>
                      <div class="content second"></div>
                  </div>
              </body>
          </html>

          и testDiv.css:
          Код:
          .content {
              float: left;
          }

          .first {
              height: 94px;
          }

          .second {
              height: 45px;
          }

          при таком раскладе высота элемента div класса main получается 0.
          если из класса content убрать float, высота div класса main - 139.
          как оставить float и высота чтобы была правильная - 94px?
          есть ут любители семантической верстки? подскажите  :shuffle:
  • Практические разделы
      • Проблема такая. Есть БД mysql, нужно по нажатию кнопки в программе создать резервную копию таблиц. Написала вот такой запрос:
        BACKUP TABLES sprav.spisok, sprav.sprav, sprav.doxod, sprav.uderg TO 'e:/arhiv';
        Ничего не копируется.
  • Учимся программировать
      • проблема состоит в том, что надо при добавление элементов в ЛистБох проверять на то чтоб небыло одинаковых!!!
        код:
        Код:
        for (j=0; j<ListBox1->Count; j++)
                                  {
                                    wq = ListBox1->Items->Strings[j];
                                    if (IP_list!=wq)
                                         ListBox1->Items->Add(IP_list);
                                    else
                                        {
                                          MessageDlg("Такой адрес уже есть!",
                                                    mtError, TMsgDlgButtons() << mbOK, 0);
                                          break;
                                        }
                                  }
        что не так???
      • Здравствуйте, пожалуйста, расскажите, а лучше дайте ссылку, где можно прочитать  как подсчитать реальную скорость  полезного трафика.
        P.S.  полезный трафик – весь трафик, минус технические данные контрольные  квитанции итд.
        Заранее спасибо!
      • Суть такая. По заданию  нужно построить  сеть по следующим данным, минимум использовать 2 маршрутизатора, с разными протоколами (рип,еирджпи):

        Номер отдела     Кол-во ПК    Выход в WAN     DHCP     Видит отделы
        1                    80            0             0            5й
        2                    31            0             0            3й,8й
        3                    126           1             1            4й,7й
        4                    53            0             0            1й
        5                    42            0             1            никого  не видят
        6                    60            0             1            никого  не видят
        7                    57            1             1            никого  не видят
        8                    84            0             0            никого  не видят
        Начать, я  так понимаю, надо с расчета адресного  пространства для каждого отдела.  Причем, впритык по заданию.  Как это сделать?


  • Клубное
      • У меня такой вопрос.

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

        Вопрос: Почему, если уже присутствует этот сигнал, телефон не начинает звонить сразу, одновременно с наклейками и возникающим резонансом??
          • Это ветка появилась здесь:

            http://forum.shelek.ru/index.php/topic,10812.msg150910.html#msg150910

            Может кому-то ещё будет интересно.

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

            Размеры - с ладошку, чуть меньше. Раскрывшиеся цветки лично мне не очень нравятся - у них много лепестков типа как у розы. Ну и получается такой безобразный "непричёсанный" цветок. К этому моменту на них появляются коричневые пятна. Нежно розовый цвет уходит. В общем вот такие они, только что распустившиеся, самые красивые. ИМХО

            Но я попробую их в деталях сфотать.

            Почки я тоже понял, что какая-то разновидность ивы. Но какая. Я в детали не вдаюсь. ;-)

            зы Вот тут нашёл с прошлого года - можешь оценить размер дерева

            http://photogal.h15.ru/blumen/magnol.jpg
  • Служебное
        • Компания «Доктор Веб» предупреждает о появлении новой вредоносной программы, блокирующей доступ к инфицированному компьютеру.
        • Сегодня начинается судебное разбирательство по иску Американской ассоциации кинокомпаний к фирме RealNetworks, которая разработала программу RealDVD, позволяющую копировать на компьютер содержимое DVD.
        • Компания Microsoft пытается упростить переход пользователей операционной системы Windows XP на Windows 7.
          С этой целью был создан «режим эмуляции Windows XP», позволяющий запускать приложения для Windows XP на платформе Windows 7. Таким образом Microsoft стремится избежать одного из главных недостатков Windows Vista — несовместимости с приложениями, разработанными для Windows XP и более ранних версий.
        • Тысячи веб-сайтов не по своей волe оказались вовлечены в распространение новой, более изощренной версии известного руткита (rootkit) под кодовым названием Mebroot. Вирус распространяется через зараженные сайты с помощью известных уязвимостей в браузерах через механизм скрытой загрузки "drive-by", а затем скрывается в недрах загрузочного сектора на жестком диске ПК, причем обычные антивирусные сканеры его не обнаруживают.
        • В Госдуму РФ внесена концепция закона об Интернете, подготовленная директором Международного исследовательского института Астамуром Тедеевым.
           Об этом рассказали сам Тедеев и участник рабочей группы депутат Роберт Шлегель.


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


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


В избранное