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

Delphi - проблемы и решения

  Все выпуски  

Проблемы и решения в Delphi


Служба Рассылок Subscribe.Ru проекта Citycat.Ru

Проблемы и решения в Delphi - выпуск 8 от 9.08.2001.


И все-таки она вертится!
Сказал ученый своей жене,
поздравляя ее с 8-м марта.

Доброго Вам времени суток уважаемый читатель.

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


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

Сегодня в выпуске :
~~~~~~~~~~~~~~~~~~~
1. Организационные вопросы.
2. Лучший ответ последнего выпуска.
3. Еще о передаче параметров, а так-же новенькое.
4. В следующем выпуске.
~~~~~~~~~~~~~~~~~~~

1. Организационные вопросы.
---------------------------

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

Еще одно изменение - вопросы-ответы будут выходить отдельным
выпуском. О регулярности - думаю и принимаю предложения.

На данный момент имеем такие предложения :

Alexey :

По поводу проекта написания небольших прог "всем миром"...
В последней рассылке ты говорил о проге, что будет проверять
доступность машин в сети (пинг), сервисы на них и каналы к ним...
Хотелось бы, чтоб такая программа умела еще и письма на мыло писать
(на мыльный гейт пейджерной компании) в случае падения машинки-мервиса
или по расписанию (типа в 8-00 "Спи спокойно, админ. В конторе все ОК").
Для этого еще придется сделать возможно выбора форматов сообщений (число
живых, имена мертвых, имена живых, число мертвых и т.д. и т.п.)

Егоров Д.Н. :

Мне понравилась идея совместного написания программ и хочу предложить
свою проблему, наверняка есть много людей с аналогичными требованиями.
Работая сисадмином в большой компании, столкнулся с необходимостью вести
детальный учет всей техники (компьютеры, принтеры, сетевое оборудование,
телефоны, факсы, мобильные телефоны....). На данный момент все ведется и
обрабатывается "по старинке" в экселе, но количество единиц оборудования
перевалило за 600 и к тому же у нас два филиала между которыми происходит
частая переброска оборудоввания.
Вот основные требования к программе:
1. Учет даты преобретения, стоимости и амортизации оборудования, изменение
стоимости при апгрейде.
2. Учет расположения техники (город (филиал), офис, комната, пользователь).
3. Для компьютеров учет комплектующих (размер диска,памяти, процессор,
мултимедия...)
4. Учет, а желательно и историю, перемещений оборудования между филиалами
и между пользователями (например новому пользователю выдан новый/передан
от другого пользователя комплект/еденица оборудования).
5. Учет состояния (работает, сломано...)
6. Списание, продажа.
7. Отчеты общие или по филиалам/пользователям...: по количеству
оборудования, распределение по пользователям, по стоимости.
При этом желательно чтобы база данных велась под управлением MS SQL Server
6/7 для доступа из филиалов (есть прямые каналы), и была возможность
экспорта и импорта данных и отчетов в Excell и Word.

Andrey Romanchenko

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

NikK :

Я бы предложил такую маленькую задачку-программу на, казалось бы, избитую
тему: сохранение формы в файле. На этот счет имеются примеры сохранения
формы в реестре и в файле с использованием потоков. Но мне лично так и не
удалось все сделать так, чтобы работало безотказно.
Условия такие.
Загружается изначально та форма, которая имеется в системе (проект
достаточно большой, форм много, но берем одну из них). В процессе ее
настройки по вкусу пользователя на ней некоторые объекты удалются, другие
добавляются, у некоторых из них меняются свойства, обработчики событий
(нажатия клавиш, мыши и другие). Образуется то, что нужно пользователю
для своей дальнейшей работы. Важно подчеркнуть, что форма имеет обработчики
OnCreate, OnDestroy и другие, которые "оживают" при загрузке формы из
потока. Теперь самое время форму сохранить.


Вот такие задачки. Конечно все они далеко не самые простые, но не
забывайте, что нас уже почти 3000 человек и объединив свои усилия
можно очень многого добиться. Ведь каждый будет выполнять только
тот кусок программы в котором он силен! Подождем еще недельку и
что-нибудь выберем.


2. Лучший ответ последнего выпуска.
-----------------------------------

Ели честно, то понятие девушка-программист в моей голове не приживается.
Однако очень рад, что я ошибался. Тем радостнее, что именно в женский
праздник лучший ответ оказался у девушки.

Вопрос:
От: bubnoffdan
Adrmail: bubnoffdan@yahoo.com
Date: Friday, March 02, 2001, 3:36:36 AM

Здравствуйте. Как быстро и просто сохранить результат запроса
в DBF файл? Заметил, что при некорректном завершении
программы, в рабочем каталоге остаются файлы вида
XXX_sql.dbf, а как этого добиться программно?

Отвечает Елена Друзенко:
var
MyQuery: TQuery;
...

with MyQuery do begin
SQL.Clear;
SQL.Add( 'SELECT ..... ' );
SQL.Open;
// сохранить результат SQL-запроса
DbiMakePermanent(handle, 'temp.db',true);


Леночка, извини за предвзятость и еще раз с праздником.


3. Еще о передаче параметров, а так-же новенькое.
-------------------------------------------------

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

procedure QQQ(p1:Integer,p2:String='xxx1');

В итоге, при попадании в процедуру QQQ значение переменной p2
будет либо 'xxx1', либо то, которое передадите Вы. Это очень
пригодится при наращивании мощи разработанных Вами процедур, без того
чтобы изменять их вызов в уже написанных и отлаженных модулях. Для
этого нужно располагать все переменные в конце уже объявленных.
Отсюда совет:

- (с.7) При изменении уже разработанных функций описывайте новые
параметры, как передаваемые по умолчанию.

А теперь, еще одна замечательная возможность, предоставленная нам
Borland Delphi. Это, так называемая перегрузка функций. Допустим Вы
задумали написать функцию которая будет преобразовывать любую
переменную(любого типа) в строку. Как определить, что передали-
целое, вещественное, а может логическое значение? Теперь смотрите.
Пишем три разных функции, где в одну передаем целое, в другую
вещественное, а в третью логическое значение:

function qqq(p:Integer):String;Overload;

function qqq(p:Real):String;Overload;

function qqq(p:Boolean):String;Overload;

В обычной ситуации компилятор просто отругался бы, но из-за ключевого
слова 'Overload' он построит программу так, что при передаче в функцию
целого вызовится первый вариант,вещественного - второй и логического-
третий. В итоге задача решается с помощью только одного слова.


4. В следующем выпуске.
-----------------------

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


Если Вы хотите как можно скорее получить ответ на свой вопрос, то
укажите в теме письма - 'delphiV' , иначе письмо будет прочитано значительно
позже. Если же у вас есть предложения то в теме письма укажите пожалуйста -
'delphiP'.

Спросить Предложить Архивы Сколько нас

Автор рассылки - Дмитрий.
ICQ(1.00 - 12.00мск.) - 89533941.



http://subscribe.ru/
E-mail: ask@subscribe.ru
Поиск

В избранное