22.09.2017, 03:59 [+3 UTC]
в нашей команде: 2 124 чел. | участники онлайн: 0 (рекорд: 21)

:: РЕГИСТРАЦИЯ

:: консультации

:: задать вопрос

:: все разделы

:: правила

:: новости

:: участники

:: доска почёта

:: форум

:: блоги

:: поиск

:: статистика

:: наш журнал

:: наши встречи

:: наша галерея

:: отзывы о нас

:: поддержка

:: руководство

Версия системы:
7.41 (25.02.2017)

Общие новости:
23.02.2017, 09:51

Форум:
21.09.2017, 12:28

Последний вопрос:
19.09.2017, 11:37

Последний ответ:
21.09.2017, 10:04

Последняя рассылка:
21.09.2017, 21:15

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
05.04.2010, 14:48 »
Dimon4ik
Спасибо за очень полезную информацию. [вопрос № 177657, ответ № 260614]
21.09.2009, 00:27 »
Егоров Ярослав Владимирович
Огромное спасибо! Вы правы: теперь действительно понятно. [вопрос № 172367, ответ № 254428]
 
   
Страница блогов участника
ID: 5994

Страница блогов участника
Неизвестный

Запись
общий доступ | 13.05.2011, 11:15 (2323 сут. 17 час. 44 мин. назад) | комментарии (31) »

автор: LanK (Посетитель)  |  страница участника LanK страница участника  |  главная страница блогов главная

Современные программисты

Никогда блоги не писал, но тут накатило, хочется кому то плакаться, кому то кто поймет...
------------------------------------------------------------------------------------------------------------------------

Я программировать начал еще на ДВК-2 smile , СМ, ЕС ... ДВК-3 , первые IBM...

До сих пор вспоминаю как запускалась СМка - с огромного "пианино" переключателей ... 010101101110111 сейчас точно не вспомню, но что-то порядка пятидесяти переключателей. Чтобы запустить надо было в уме десятичное число перевести в двоичное, т.е. выставить все переключатели "правильно", а потом нажать "Enter".... и так 5 раз подряд (естественно набирая разные циферки). Ошибься хоть в одном "нолике" и начинай всё снова...

А жесткий диск ЕС это же вообще сказка! Чтобы его снять надо ТРИ человека один ложится под диск, а два его откручивают сверху, после чего он падает на того кто внизу smile ... и потом эти двое его с "лежащего" снимают.

Да были времена...

Собственно с тех пор я и понял, что надо писать программы так чтобы ими было удобно пользоваться НЕ мне, а потенциальному клиенту...

Сейчас я уже практически не пишу программы, так "мелочь" всякая.
Перешел в так называемый разряд "архитектора/аналитика" - в наших терминах - постановщик задач.

Ставлю задачи фирме которая занимается ТОЛЬКО созданием программ (систем) ...

Увы, "система" такова, что то что они "производят" должно приниматься. И не важно что оно не работает smile .
Собственно это была предистория, вчера впервые за много лет ушел с работы злой как собака матерясь налево и направо smile (не матерился уже лет 5).
------------------------------------------------------------------------------------------------------------------------

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

Итак, перлы из переписки с "программистами":

1.
Я: При доступе к главной странице блокируется Admin! Система "встаёт" - никто работать не может!
Ответ: Да, это Admin, к тому же он заблокирован снова, сейчас пришлют инструкцию как его разблокировать. Проблема глобальная, подожди примерно неделю для полного решения.
Комментарий: Как можно ждать НЕДЕЛЮ решения проблемы полной блокировки системы?

2.
Электронный журнал (читайте Excel таблица) поля:

Куда Ячейка разместили, Откуда Ячейка изъяли, Сколько ...
Комментарий: русский язык "отдыхает", как ТАКОЕ может прийти в голову ПРОГРАММИСТУ? Сначала указать Куда, а уж потом Откуда? А порядок слов? Куда Ячейка???
"правильно" должно было бы быть:
Ячейка Откуда изъяли, Ячейка Куда разместили, Сколько ...


3.
Открываю "бумажный" отчет и вижу изделие поступило в 1899 году ...
Комментарий: ну да забыли поля заполнить... и что 1899 год??? Это я как программист понимаю, а отчет печатается и отсылается в надзорные органы - там не понимают smile .

4.
Одна из характеристик изделия: 7Е+12.
Открываю "бумажный" отчет и вижу 7000000000000 smile
Комментарий: И заносится в форму именно как 7Е+12, а в бумажном отчете я должен 12 нолей сосчитать?

5.
Я: Почему в поле нельзя набрать дату руками???
Ответ: Потому что ты должен видеть результат своего действия (применилось/не применилось). Для этого ввод даты осуществляется в отдельном модальном окне.
Комментарий: В этом окне можно пользоваться только "мышкой", делать это надо раз в 2 минуты, причем менять дату полностью и день и месяц и год...
Неужели нельзя по Enter проверять и дату и "применилось"... Т.е. подразумевается, что я руками наберу дату, а Enter не нажму. А зачем я тогда дату то буду руками набирать??? Ну ладно, пусть - ну так сделайте рядом кнопочку "Обновить"... не никак нельзя...


6. это меня убило окончательно...
Я: Использую скролбар, если взяться за "ползунок" и за него таскать… то куда переходит указатель не понятно, вместо того чтобы при «тащении» листался список… надо «угадывать» в какой позиции ПОЛЗУНКА окажется изделие № 1125!!!
Ответ: Зачем ты за него таскаешь?
Комментарий: и что на это ответить? Затем, что для этого существует скролбар??? smile smile

7.
Есть координатная сетка ряд букв (А-Я) и ряд цифр (1-49). Соответственно, надо смотреть где что... Открываем Таблицу и видим А1, А11, А12, А13... А2, А21, А22 ... А3 и т.д.
Спрашиваю:
Я: Неужели их нельзя не как текст сортировать? Последовательно сначала по букве, а потом по цифре???
Ответ: это ТЕКСТ
Комментарий: Я же в вопросе написал, что это текст! А решение то так просто... при выводе ("клику" сортировать по полю Имя)

PLetter
PNumber
Order by PLetter, PNumber

Получим то КАК они по-человечески идут:
А1, А2, А3, .. А11, А12 ...


8.
Я: Нажимаю на ячейку, а снизу выводится просто белый прямоугольник, напишите "Ячейка пустая".
Ответ: Там действительно ничего нет.
Комментарий: так я сам об этом и написал, не понимаю сложно вывести текст "Ячейка пустая" если запрос вернул 0 записей???

9.
Я: Поменял себе ИМЯ (login name), через справочник пользователя.... Вхожу – не входит!!!
Методом дедукции дошло … при смене имени пароль автоматически сбрасывается на пароль по умолчанию!
Комментарий: Ответа не последовало - так "надо". Нечего типа выпендриваться и имя менять...

10.
Ну это просто я уже смирился - на ошибочное действие выводится: " is not a valid floating point value
Комментарий: Это естественно одно из сообщений системы, и мне пользователи звонят и с "немецким" акцентом это читают smile , сколько раз просил сделать перехват Exception ...
Ответ: Пусть скриншоты делают и нам присылают - нам будет легче понять что произошло smile


И что, я не прав? Да? Придираюсь к бедным программистам?

Комментарии

Вадим Исаев ака sir Henry
Старший модератор

ID: 425

# 1

= общий = | 13.05.2011, 15:04  | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

© Цитата:
is not a valid floating point value

В нашей программе эектронного каталога регулярно вываливаются точно такие же ошибки. На все вопросы, что бы это могло значить, разработчики отвечают: "Программа сетевая и скорость сети должна быть не ниже 100 МБит в секунду. Проверьте свою сеть."
smile

=====
Я только в одном глубоко убеждён - не надо иметь убеждений! :)

LanK

# 2

= общий = | 13.05.2011, 15:36
Вадим Исаев ака sir Henry:

Если бы я не был программистом... я бы наверное поверил и побежал покупать оптоволокно smile ...
Нет, ну я понимаю, какие то там "подмастерья", типа группа программистов на предприятии, а чтобы такие ошибки и такую лапшу вешала специализированная фирма, у которой РАБОТА писать программы... хоть режьте меня, не понимаю.

Спасибо, значит не у одного меня такие траблы.
Куда катится наш мир? Вроде как развитие технологий... языки высшего уровня... программисты с ВЫСШИМ образованием!!! Ха, попробовал я бы так написать лет 10 назад - уволили бы сразу smile ...

Вадим Исаев ака sir Henry
Старший модератор

ID: 425

# 3

= общий = | 13.05.2011, 16:14  | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

Программа, которая у нас, написана на Delphi. Видимо в этом и кроется фундаментальная причина её ошибочной работы. smile

=====
Я только в одном глубоко убеждён - не надо иметь убеждений! :)

LanK

# 4

= общий = | 13.05.2011, 16:29
Вадим Исаев ака sir Henry:

нет. Delphi тут ни причем. Если руки растут не оттуда... то ничего не поможет.

Я в 1997 году на Access 2.0 написал базу данных (читай программу), которая до сих пор "крутится" и считает ряды Фурье :). Так там же вообще Basic и что smile ?

P.S. А "война" Delphi vs C++ vs MS Basic vs PHP vs PL и т.д. бессмысленна...
Просто Дельфи более широко распространена именно на территории России, потому и отношение к ней такое smile .

LanK

# 5

= общий = | 13.05.2011, 16:58

Эх... знали бы вы какие деньги платятся за это ПО. Но увы, это коммерческая тайна :(.
Но поверьте это вам не Oracle + Windows Server + "железо" купить...
Жаль заказ на ПО в RFPro нельзя отдать ;).

Вадим Исаев ака sir Henry
Старший модератор

ID: 425

# 6

= общий = | 13.05.2011, 17:03  | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

Я, одно время, целый год переписывался с разработчиком другой программы, функционал которой нас удовлетворял, но вот процесс работы регулярно завершался некоей странной ошибкой, суть которой в том, что делается запрос к специализированной БД и в результате должна формироваться веб-страница с результатом, но вот результатом являлос сообщение - "У вас отсутствует лицензия". smile Сначала разработчик пытался меня убедить, что мы тут, тем или иным образом, не усмеем настраивать программу. На мой вопрос, в чём, в нашем конретном случае заключается специфика настройки, неизменно следовал ответ - RTFM. smile И я может быть и согласился бы, что те семь человек (и я в том числе), которые настраивали программу буквально не вылезая носом из документации, где-то что-то пропустии, но вот однажды, разработчик приехал к нам на конференцию, кстати, посвящённую, в том числе, и этой самой программе. В общем, мы взяли его з белы ручки, подели к компьютеру и потребовали, чтобы он показал нам, деревенским, как правильно настраивать. За два с половиной часа, вспотевший разработчик перепробовал 11 вариантов настроек и получал каждый раз ту же самую ошибку, что и была у нас. И тут на него накатило озарение: "Ага - сказал он - вся проблема в том, что у вас БД с безлимитной лицензией. А я то писал программу риентируясь на лицензию, которая имеет ограниченное кол-во подключений!". Окинув нас победным взглядом,он уже совсем было вознамерился покинуть ристалище позора, но торжествовал он рано. Мы ему немедленно сгласились выдать ту самую безлимитную лицензию (честно говоря, нам уже откровенно плевать было на нарушение законодательства). Разработчик погрустнел и тут, оцените прелесть момента, созналася, что безлимитная лицензия у него есть. smile На прощание он пообещал чего-нибудь придумать и уехал. Я несколько раз писал ему, спрашивая "как там у нас дела?" и разработчик присылал нам несколько вариантов доработанной программы. Увы, с той же самой ошибкой. В конце концов он просто перестал отвечать на мои письма.
В чём суть этой поучительной истории. Можно было бы покивать головой, типа "молодо-зелено" и "в институтах нынче не учатся, а только получают диплом", но разработчик был солиднй дядька, лет пятидесяти.

=====
Я только в одном глубоко убеждён - не надо иметь убеждений! :)

Вадим Исаев ака sir Henry
Старший модератор

ID: 425

# 7

= общий = | 13.05.2011, 17:06  | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

© Цитата:
Жаль заказ на ПО в RFPro нельзя отдать ;).

Не отдавайте, сами напишите. И тогда сможете до конца своих дней больше нигде не работать, даже если полностью переселится в Монте-Карло. smile

=====
Я только в одном глубоко убеждён - не надо иметь убеждений! :)

LanK

# 8

= общий = | 13.05.2011, 17:59
Вадим Исаев ака sir Henry:

ВЫ не поверите у меня нет лицензии написать самому себе программу smile ...

Сучкова Татьяна Михайловна
Администратор

ID: 680

# 9

= общий = | 13.05.2011, 22:55  | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

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

Вадим Исаев ака sir Henry
Старший модератор

ID: 425

# 10

= общий = | 14.05.2011, 08:02  | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Сучкова Татьяна Михайловна:

Насколько я понял, Вы предлгаете Lank'у в комплекте с программой написать и лицензию, чтобы было можно? smile

=====
Я только в одном глубоко убеждён - не надо иметь убеждений! :)

LanK

# 11

= общий = | 14.05.2011, 21:01
Вадим Исаев ака sir Henry:

© Цитата: Вадим Исаев ака sir Henry
написать и лицензию
пять баллов!

© Цитата: Сучкова Татьяна Михайловна
Бугога, да, нынче не социализм, явно.
да меня то деньги как раз и не волнуют, ну платят и ладно, меня волнует что программу написать не могут smile глюк сидит на глюке и глюком погоняет! Ужас какой то. Разучились что ли программисты программы писать smile или просто мне такая контора не удачная попалась не понимаю...

Жаль сейчас не сталинизм расстрелял бы таких "писателей"... а да наверное таких бы и не было. smile smile smile smile

P.S. Только не надо шутить что тогда программистов не было, ладно?

Roman Chaplinsky / Химик CH
Модератор

ID: 156417

# 12

= общий = | 20.05.2011, 16:26  | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

Единственный реальный сверхнедостаток Дельфи по сравнению с Си - то, что об C ламер быстрее "моск" сломает, чем такую хрень откомпилит. Поэтому на Сях пишут только элитные бракоделы, создавая изощрённые глюки и критические дыры.
Говоря же об удобстве для пользователя, моё личное мнение, что интерфейсом должны заниматься не профессиональные системные программисты (об их консолеобразное "удобно" юзер лоб расшибёт) и уж точно не те, кого этому в универе учили (нет ничего хуже, чем полузазубренный стандарт без намёка на использование головы), а слегка знакомые с программированием представители той области, для которой программа разрабатывается (они же должны учавствовать в разработке алгоритмов и тестировании программы во избежание абсолютно неверной работы продукта)

Вадим Исаев ака sir Henry
Старший модератор

ID: 425

# 13

= общий = | 20.05.2011, 19:37  | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Roman Chaplinsky / Химик CH:

© Цитата: Roman Chaplinsky / Химик CH
моё личное мнение, что интерфейсом должны заниматься не профессиональные системные программисты (об их консолеобразное "удобно" юзер лоб расшибёт) и уж точно не те, кого этому в универе учили (нет ничего хуже, чем полузазубренный стандарт без намёка на использование головы)

Совершенно с Вами согласен. Недавно, на одном из форумов, возник профессиональный спор, как лучше русифицировать IDE Lazarus и речь, в частности, зашла о меню. Многие, в порыве полемического задора, ссылались на американские стандарты, в которых говорится, что пункт меню должен непременно состоять из одного слова. А это коренным образом расходится с тем, как образуется смысл в русском языке. Ох уж эти профессионалы, им нет никакого дела до обычных потребителей... smile

=====
Я только в одном глубоко убеждён - не надо иметь убеждений! :)

Roman Chaplinsky / Химик CH
Модератор

ID: 156417

# 14

= общий = | 21.05.2011, 00:00  | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Вадим Исаев ака sir Henry:

© Цитата:
пункт меню должен непременно состоять из одного слова

"опции", "преференции", "сеттинг"... и так пунктов 20 в том же духе

А вообще, тут-то и таится главный минус всего опен-сорса: обычно этим занимаются опытные программисты (чаще всего низкоуровневые) в свободное время для себя и по одиночке. При этом ни об удобстве пользователя (когда 200 знаков в минуту и отличное знание всех системных команд, что может быть удобнее консоли?), ни о совместимости с тем, что под руку не попалось, речи особо не идёт. Девиз прост: не понравилось междумордие - вот исходник, привинчивай своё; не стыкуется с чем-то - бери оба исходника и правь до совместимости. Результат: 300 версий без возможности наладить что-то, не переписывая кучу кода. А спасение конечного пользователя - дело самих пользователей, сумевших таки запустить эту штуку.

Оффтопик:
И вообще, о каком переходе на опенсорс может идти речь, если внятную инструкцию по взлому комерческой проги найти проще, чем по запуску свободной.

Вадим Исаев ака sir Henry
Старший модератор

ID: 425

# 15

= общий = | 21.05.2011, 03:53  | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Roman Chaplinsky / Химик CH:

Вне всякого сомнения - работа стоит денег. Тут либо халява, либо хлеб с маслом... smile

=====
Я только в одном глубоко убеждён - не надо иметь убеждений! :)

Андрей Кузнецов aka Dr_Andrew
Старший модератор

ID: 17042

# 16

= общий = | 21.05.2011, 07:23  | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Roman Chaplinsky / Химик CH:

© Цитата: Roman Chaplinsky / Химик CH
Поэтому на Сях пишут только элитные бракоделы


Ну вот, взяли и меня ни за что обидели. smile

=====
We have but faith: we cannot know;
For knowledge is of things we see;
And yet we trust it comes from thee,
A beam in darkness: let it grow.
-----
https://www.linkedin.com/in/andreynkuznetsov
https://www.researchgate.net/profile/Andrey_Kuznetsov11
http://www.researcherid.com/rid/K-8824-2014

Roman Chaplinsky / Химик CH
Модератор

ID: 156417

# 17

= общий = | 21.05.2011, 12:04  | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Андрей Кузнецов aka Dr_Andrew:

Извините, не совсем корректно сформулировал smile . Разумеется, не только бракоделы. Но из бракоделов - только элита. smile А потом их творения на ровном месте собирают вирусы и отправляют винду в BSoD.

Андрей Кузнецов aka Dr_Andrew
Старший модератор

ID: 17042

# 18

= общий = | 22.05.2011, 06:55  | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Roman Chaplinsky / Химик CH:

Бракодел - явление языковонезависимое. А всеобщее. smile

=====
We have but faith: we cannot know;
For knowledge is of things we see;
And yet we trust it comes from thee,
A beam in darkness: let it grow.
-----
https://www.linkedin.com/in/andreynkuznetsov
https://www.researchgate.net/profile/Andrey_Kuznetsov11
http://www.researcherid.com/rid/K-8824-2014

LanK

# 19

= общий = | 23.05.2011, 09:17

© Цитата: Андрей Кузнецов aka Dr_Andrew
Бракодел - явление языковонезависимое. А всеобщее.
Соглашусь с Вами. В моём случае, это не один, а целая профессиональная контора программистов-бракодельцев :).
То что "молодежь" писать не умеет, меня не удивляет, а вот то что они еще и учиться не хотят, да еще и спорят с пеной у рта - что так как они делают только так и правильно... вот это действительно убивает.
А Delphi не люблю за компоненты - так среда отличная, формы "лепить" одно загляденье, но как только начинают использовать сторонние компоненты - жуть, после этого программы уже ведут себя непредсказуемо.

© Цитата: Roman Chaplinsky / Химик CH
они же должны участвовать в разработке алгоритмов и тестировании программы во избежание абсолютно неверной работы продукта
Эххх. Все бы это понимали... Хотя, если техническое задание написано верно... то это 50% всей задачи. Другое дело, что техническое задание на большую систему пишется примерно полгода... но тогда в нем уже есть и формы и отчеты и таблицы и связи и т.д. Только в России это не принято делать - сначала надо что-то "наваять", скинуть клиенту, а потом устранять ошибки выявленные клиентом!!! Не тестером, а клиентом - зачем держать своих бета-тесетров - им же деньги платить надо. Пускай клиент сам все ошибки отлавливает, а кроме того еще ж клиенту можно по ушам поездить как в примере sir Henry...

И увы самое страшное в этом то, что чем дальше тем слабее (бракодельнее) программисты становятся smile .

P.S. А 200 символов и "консольщики" это те которые когда то работали на СМ, ЕС, ДВК и т.п. "динозаврах". Они умны, но как Вы правильно заметили оторваны от жизни (интерфейса) простого пользователя.

Вадим Исаев ака sir Henry
Старший модератор

ID: 425

# 20

= общий = | 24.05.2011, 09:33  | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

© Цитата:
но как только начинают использовать сторонние компоненты - жуть, после этого программы уже ведут себя непредсказуемо.

Отсюда логический вывод - Вы использовали компоненты, которые писались теми самыми "профессиональными" бракоделами. smile Ведь, сами подумайте, как ни крути - а язык и для Борланд и для бракоделов один и тот же, среда одна и та же, даже базовые компоненты одни и те же. При этом, почему то, получается как в анекдоте - у одних вино нормальное, а у других "...сам удивляюсь - и пятизвёздочный и трёхзвёздочный наливаю из одной бочки...". smile
© Цитата:
Пускай клиент сам все ошибки отлавливает...

Кстати говоря, мысль правильная. Только с клиентом надо работать, а не отбрехиваться... smile
Я когда писал программу для расчёта производства глинозёма из бокситов и нефелинов, то, сами понимаете, в теме нифига не шарил. Все тесты моей программы проводили специалисты по цветной металлургии. Так я все ими указанные ошибки полностью вычистил. С тех пор прошло два года, больше они мне не звонят. И не потому, что обиделись. smile

=====
Я только в одном глубоко убеждён - не надо иметь убеждений! :)

LanK

# 21

= общий = | 24.05.2011, 12:04
Вадим Исаев ака sir Henry:

© Цитата: Вадим Исаев ака sir Henry
Вы использовали компоненты, которые писались теми самыми "профессиональными" бракоделами
Ну... если на то пошло,, то насколько я знаю Delphi написана на ... Delphi :).

© Цитата: Вадим Исаев ака sir Henry
Кстати говоря, мысль правильная.
Нет неправильная. Она возможно правильная в плане отлавливания логических ошибок, но никак не в плане "is not a valid floating point value" ... smile (ошибка 10 в моём списке).

Неужели так сложно вставить перехват Exception в каждой процедуре и в случае возникновения (ну бывает согласен...) пользователю по русски писать??? Я такой перехват делал еще 10 лет назад. А тут "хватаешь" такую ошибку и вся программа закрывается, зашибись smile ....

Вот мой "правильный" код, который я использовал в своих программах:

procedure .......
........
begin
  try
    MyTrans(S); //стартуем транзакцию....


  //***********
 //чё то делаем, сохраняем...
 // **********

  except
     on E: Exception do
     begin

        ERR := E.message;
        __Main.Logs(Self, ERR); //да параллельно пишем лог... где чего когда и почему... (если надо)
        MyTrans(R); //если произошла ошибка делаем Rollback базе данных

         //пример сообщения об ошибке:
        //Cannot insert duplicate key row in object 'Rooms' with unique index 'PK__Rooms__369C13AA'
        //выводим сообщение пользователю
        if FindPart('?insert duplicate key row', ERR) > 0 then
        begin
          MessageDlg('Запись о таком помещении уже есть. Измените наименование.', mtError, [mbOK], 0);
          //пишем в строку статуса
          sb.Panels[0].Text := 'Ошибка, такая запись уже есть';
        end;
        eRoom.SetFocus; //Переводим фокус ввода на наименование (то что надо исправить)
        Exit; //аварийно завершаем процедуру.
      end;
  end;



P.S. Сейчас уже года три не программирую smile ну чуть на php ... но ведь обидно ... это так просто. smile

Вадим Исаев ака sir Henry
Старший модератор

ID: 425

# 22

= общий = | 24.05.2011, 15:25  | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

© Цитата:
... если на то пошло,, то насколько я знаю Delphi написана на ... Delphi

Я Вам про другое писал - про компоненты, которые не входят в стандартную поставку, а Вы мне про саму Дельфи. Ивините, смысла этого Вашего высказывания я не уловил. smile
© Цитата:
но никак не в плане "is not a valid floating point value" ...

Я Вам даже приблиительно не могу сказать, в каких случаях такое сообщение появляется. По крайней мере у меня в программах никогда такого не было. smile Собственно отлавливлать или предотвращать ошибки можно по разному. Но... опять же то самое "но", что и в первом случае - я Вам писал про другое - программисту с пользователем нужно научиться нормально работать - в этом весь корень и кроется. Можно хотяь всю программу загромоздить Try..Except, толку от них будет ноль, если программист не обращает на пользователя никакого внимания.

=====
Я только в одном глубоко убеждён - не надо иметь убеждений! :)

LanK

# 23

= общий = | 24.05.2011, 17:10
Вадим Исаев ака sir Henry:

© Цитата: Вадим Исаев ака sir Henry
Я Вам про другое писал - про компоненты, которые не входят
Я Вас понял, просто развил Вашу мысль до абсурдной smile . Что в общем то и сами оболочка написана профессиональными "бракоделами"... если уж на то пошло.
А я лично не использую никаких сторонних компонентов...
© Цитата: Вадим Исаев ака sir Henry
Я Вам даже приблизительно не могу сказать, в каких случаях такое сообщение появляется.
Когда пытаешься записать текст в поле numeric smile .

© Цитата: Вадим Исаев ака sir Henry
толку от них будет ноль, если программист не обращает на пользователя никакого внимания.
Абсолютно верно, но когда программисту читают сообщения из системы (а они преимущественно на английском языке) при этом звуки произносят как на немецком языке....

Попросите какого нибудь "немца" прочитать:

Cannot insert duplicate key row in object 'Rooms' with unique index 'PK__Rooms__369C13AA'

Причем, заметьте, пользователи старательные... пока до последних АА не дочитают - не останавливаются :(.
Да в любом случае, ну скажите зачем пользователю такое сообщение?
"Свалилась" программа - запиши минидамп окна или чего там было (sql)... - вышли на почту программисту и всё, принеси извинения пользователю...

Вадим Исаев ака sir Henry
Старший модератор

ID: 425

# 24

= общий = | 25.05.2011, 07:04  | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

© Цитата:
Когда пытаешься записать текст в поле numeric

smile Не давать! Сразу бить пользователя по рукам электрическим током. smile
У Семёна Слепынина есть очень интересная повесть - "Звёздные берега". Цензура думала, что это пародия на капиталистический образ жизни, но это не совсем так - слишком много нюансов, похожих именно на социализм. Так вот, это я к чему... Есть там один фрагмент; местный "профи" объяняет приезжему нюансы местной правящей элиты:
© Цитата:
Словно угадав мои мысли, Хабор спросил, пытливо глядя на меня:
— Хочешь приоткрою тайну города?
— Тайну?
— Да. Управляют обществом, этим биллионным скопищем дураков, вовсе не Великие Техники.
— А кто?
Хабор склонился ко мне и доверительно шепнул:
— Сам город.
Он откинулся назад, любуясь моим изумлением.
— Город? — Я вспомнил, что Актиний говорил нечто подобное, но сделал вид, что впервые об этом слышу. — Не понимаю… А Великие Техники?
— Болваны. — Мой собеседник пренебрежительно махнул рукой и загоготал. — Отупевшие в разврате болваны. Ими тоже управляет город, как куклами.
— Как куклами?
— Хочешь, посмотрим кого-нибудь из них? Эй, ты! — махнул он рукой светороботу. — Подойди.
Пританцовывая, подскочил светоробот.
— Кто-нибудь из Великих выступает сейчас с речью?
— Да. На Южном материке.
— Включи.
Стена-зеркало засветилась перед нами, и я увидел на трибуне упитанного человека. Звучным, как барабан, голосом он произносил речь, оснащая ее плавными, закругленными жестами.
— То же, что всегда, — сказал Хабор. — Обещания и все такое. Призывы хранить Гармонию и готовиться к космической войне с пришельцами… Для Великого важен не ум, а голос. Обрати внимание на уши. В глубине их запрятаны крохотные суфлер-радиофончики. Они не видны. Через них город нашептывает речь, а Великий повторяет ее хорошо поставленным голосом.
— А если он начнет говорить сам?
— Говорить сам? Великий? Га! Га! Им же давно лень думать. Потому и возложили все на машинный мозг…
— А если попадется умный и не пожелает быть управляемым машиной? И начнет говорить не то?
— Маловероятно.
— Ну а все же? Что тогда?
— Тогда он получит по мозгам. Электроудар по мозгам. Из тех же суфлер-радиофончиков.

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

=====
Я только в одном глубоко убеждён - не надо иметь убеждений! :)

LanK

# 25

= общий = | 26.05.2011, 09:29
Вадим Исаев ака sir Henry:

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

Подведя итог, взяв две фразы (чуть вырванные из контекста):

© Цитата: Вадим Исаев ака sir Henry
Не люди будут управлять техникой, а техника людьми.
© Цитата: Roman Chaplinsky / Химик CH
без намёка на использование головы
Получаем:

Люди, без намёка на использование головы, управляют техникой.
Но на самом деле техника управляет людьми.


Итог, печальный какой то получился.

Вадим Исаев ака sir Henry
Старший модератор

ID: 425

# 26

= общий = | 26.05.2011, 11:09  | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

© Цитата:
Правда почитав отзывы о повести... не очень уверен, что стоит читать.

Почитайте, рекомендую. smile Я первый раз прочитал эту повесть, когда мне было 8 лет и уже тогда она мне очень понравилась. Периодически перечитываю и вместе с изменением моего возраста нахожу в книге новые нюансы. smile
© Цитата:
Люди, без намёка на использование головы, управляют техникой.
Но на самом деле техника управляет людьми.

Итог, печальный какой то получился.

На самом деле печально не это. Печально то, что техника будет ориентирована только на людей без головы. И тогда люди с головой просто вымрут за ненадобностью. Опять же, цитируя Слепынина (немного перефразировав одного из из героев книги smile ) "Раньше я думал - чем хуже, тем лучше. А теперь оказывается - чем хуже, тем хуже...".

=====
Я только в одном глубоко убеждён - не надо иметь убеждений! :)

Megaloman
Академик

ID: 137394

# 27

= общий = | 29.07.2011, 09:35  | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

© Цитата:
Современные программисты
для всех знамя- побыстрее написать что-то с гламурным интерфейсиком и сдать продукт. Как-то имели мы от министерского ИВЦ продукт, который в одном из пунктов меню из базы нечто выбирал и формировал элементарный отчёт. Делалалось минут 5. Я по той же базе, в той же среде разработки написал для иллюстрации кусочек, который делает то же самое секунд за 20 -только как иллюстрацию, что продукт корявый. Отослал на ИВЦ -пользуйтесь! И получил ответ от тётушки-разработчицы: ну и что, что ваш код исполняется быстро, зато у меня интерфейс красивый! Пока продукт не умер (вместо него написали другой), отчёт формировался все так же медленно. Новый продукт еще гламурнее ...
Вообще наблюдаю повальную тенденцию к тупому программированию - вот нам написали что нужно, вот мы тупо спрограммировали. Мозги тратить на анализ задачи и выработку методики лень. Даже у военных в боевом уставе написано: Уяснить задачу. У программиста в должностных обязанностях этого нет.
© Цитата: sir Henry
Печально то, что техника будет ориентирована только на людей без головы
- сейчас человеку современными средами разработки предоставлен богатейший инструментарий. Если ранее не надо было программировать функцию квадратного корня, то теперь предостаточно куда более разнообразных средств. Но это для умных. Для дурака этот инструментарий можно извратить непредсказуемым образом. Как, например, в моём примере: вместо того, чтобы одним Select за один раз выбрать данные для отчета (ну, надо извилины в голове слегка напрячь), поставим этот Select в цикл - для этого хватает одной прямой извилины пониже спины.

=====
Нет времени на медленные танцы

Вадим Исаев ака sir Henry
Старший модератор

ID: 425

# 28

= общий = | 29.07.2011, 12:46  | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Megaloman:

© Цитата: Megaloman
Даже у военных в боевом уставе написано: Уяснить задачу.

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

=====
Я только в одном глубоко убеждён - не надо иметь убеждений! :)

PsySex
Профессионал

ID: 848

# 29

= общий = | 29.07.2011, 15:04  | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Megaloman:

declare Saldo cursor static read_only local for 
	select s.SaldoDebet,s.SaldoKredit,s.BuhAcc
		From NachSaldo s
				LEFT JOIN SpOrg on SpOrg.Код=s.CodOrg
		WHERE s.Data=convert(datetime,@DateBegin,104) and s.BuhAcc in(@BuhAcc) and (s.SaldoDebet+s.SaldoKredit)<>0 and s.CodOrg=@KodOrg
open Saldo
	fetch first from Saldo into @SaldoDeb,@SaldoKred,@BuhAcc
close Saldo
deallocate Saldo

Долго не мог понять при чем тут курсор. Оказалось таким образом считывали значение полей в переменные.
Ну и заметка про скорость. Работа у меня чаще состоит из правки чужих кодов, нежели написание новых. Наткнулся на цикл который подвешивал выполнение минуты на 3. Оказалось, что в цикле собиралась очень длиная строка. И чем строка больше становится тем дольше идет операция типа
str1=str1+strTemp
Конечно я тоже так раньше делал smile На с# проще, там есть класс StringBuilder, который позволяет быстро работать с длинными строками в подобной ситуации, а VB такого нет. Но потом придумал как это ускорить. Делаю так
Dim SubStrings(1000) as String
i=0
Do while (условие)
strTemp="подстрока"
SubStrings(i)=strTemp
i=i+1
Loop
ReadyString=Join(SubStrings,vbCrLf)

Т.е. вместо чтоб собирать строку в 1 переменную, я делаю массив строк, а после цикла собираю строку из массива. В результате такого преобразования выполнение с 3 минут уменьшилось до пару секунд, я был конечно очень доволен такой оптимизацией.

Megaloman
Академик

ID: 137394

# 30

= общий = | 29.07.2011, 16:04  | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
PsySex:

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

=====
Нет времени на медленные танцы

LanK

# 31

= общий = | 01.08.2011, 10:16

Недавно еще "поймал" :

...MY_MOD_TYPE VARCHAR2(5) default 'MAIN' not null...

и далее по тексту запросов :

...WHERE my.my_mod_type = 'MAIN'...

Т.е. проводится какая то операция "Main" - "Edit" и т.п., в поле пишется ТЕКСТОМ что это за операция... и потом отбор идет по текстовому же полю..., что всегда являлось самой медленной вещью в базах данных - поиск куска текста в тексте :(.

Спрашиваю - это что такое? А мне говорят так программисту удобнее - видно, что в системе происходит... финиш.
Для справки в базе около миллиона записей... запросы (формы) открываются от 7 до 20 секунд... хотя сервера стоят совсем не слабенькие...

ээх может создать какой нибудь мини-фак: так программировать нельзя? Да, только "они" то его читать и не будут :(.

Комментирование запрещено для гостей. Если Вы зарегистрированы в системе RFpro.ru - введите свои регистрационные данные в поля вверху страницы. Если Вы еще не зарегистрированы - пройдите простую процедуру регистрации.

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.14190 сек.

© 2001-2017, Портал RFPRO.RU, Россия
Авторское право: ООО "Мастер-Эксперт Про"
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.41 от 25.02.2017
Бесплатные консультации онлайн