Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2003.06.09;
Скачать: [xml.tar.bz2];

Вниз

Как тупят программисты?   Найти похожие ветки 

 
Юрий Зотов   (2003-05-18 12:25) [40]

> Нуу (16.05.03 03:51)
> ZeroDivide © (16.05.03 08:32)
> Malder © (18.05.03 11:58)

Это целая переменная с дипазоном 0..9. Особенность компилятора в том, что код контроля переполнения не строится, а вместо этого строится код, "отбрасывающий" старшие десятичные разряды. В итоге получаем: если I=9, то после прибавления еще единицы I будет равно нулю. Отсюда и зацикливание (I никогда не может превысить верхнюю границу цикла).

В PL/1 еще и не такие чудеса были возможны. Например, практически любой тип данных там запросто преобразовывался в практически любой другой тип данных. Штука очень мощная, но и очень опасная. Требует внимательности, аккуратности и полного понимания того, что ты делаешь и как это будет обработано компилятором. Иначе последствия непредсказуемы, а вылавливать подобные ошибки обычно бывает очень непросто.


 
Malder   (2003-05-18 12:31) [41]

Юрий Зотов, тогда я не понял

если I=9, то после прибавления еще единицы I будет равно нулю. Отсюда и зацикливание
...
D0 I = 1 TO 9 ...
/* На Паскале это будет так: for I := 1 to 9 do ... */


Ну так цикл последний раз выполнится при i=9 и все. Какое зацикливание ?


 
Юрий Зотов   (2003-05-18 12:37) [42]

> Malder © (18.05.03 12:31)

Дык... а что такое цикл в машинном коде, построенном компилятором PL/1?

1. Цикл выполняется при I=9.
2. I увеличивается на 1 и получается I=0.
3. Проверяется: I больше 9? Нет. Значит, поехали сначала.



 
Malder   (2003-05-18 12:56) [43]

А, да, ступил. Не зря ветка так называется :-)


 
kaif   (2003-05-18 14:08) [44]

2 Юрий Зотов © (18.05.03 12:37)
Классная ошибка!
----------------
Самая страшная моя ошибка (периодически допускаю):
with DataSet do
begin
First;
while not Eof do
begin
.... (Если здесь много кода, то забываю Next)
end;
end;
-----------
Всегда путаюсь во всяких местах, где нужно считать количество то ли с нуля, то ли с единицы. Например, for i := 5 to 15 понятно, что сработает 11 раз, а вот в
s := copy(s, pos(s2,s), Length(s) - pos(s2) + 1)
обязательно допущу ошибку.
-----------
Еще любимая ошибка:
обычно если пишу вместо with DataSet do
просто:
DataSet.First;
while not Eof do
begin
....
DataSet.Next;
end;

По привычке думая, что Eof DataSet-а имел в виду.
Компилятор Delphi в этом случае почему-то понимает Eof текста модуля формы и спокойно компилирует проект. А при запуске все вылетает.
-----------
Cтранно, но вот зато в SQL практически никогда не допускаю ошибок. Наверно поэтому и люблю все учетные задачи сводить к SQL.


 
Nick Denry   (2003-05-18 14:11) [45]

Если просто по теме и судя по себе, то сильно!


 
kaif   (2003-05-18 14:17) [46]

Самую чудовищноу ошибку в своей жизни я допустил, работая электронщиком. Я разрабатывал большую схему и мне захотелось сделать там бит четности в некоей шине. Ну, вставил я туда, разумеется логический элемент, суммирующий по модулю 2 все биты шины. Затем выяснилось, что в какой-то момент мне нужно предсказать значение этого проверочного бита перед суммированием двух чисел (а схема работала на очень больших частостах), я недолго думая, прикинул все варианты и решил, что если добавляемое число четное, то проверочный бит можно не менять, а если нечетное - изменить бит на противоположное значение. Меня просто подвела игра слов. По-русски четность (parity) и четность (odd) звучат одинаково, хотя это две разные вещи. Когда плата была изготовлена и запущена, я искал ошибку целый день. Ходил кругами, вроде все верно работает, но работает то правильно, то неправильно... Когда я обнаружил ошибку, мне уже казалось, что я схожу с ума...


 
Юрий Зотов   (2003-05-18 15:46) [47]

> kaif © (18.05.03 14:17)

Вот с чем мне пришлось столкнуться...

В 10-разрядный счетчик на D-триггерах в течение времени T поступают импульсы заданной частоты (ШИМ). По окончании интервала T (по заднему фронту "окна") формируется импульс опроса, переписывающий информацию из счетчика в ОЗУ (тоже 10 D-триггеров с объединенными С-входами). Затем формируется импульс сброса, счетчик (но не ОЗУ) обнуляется и цикл повторяется. Все было собрано на 133-й серии, частота набивки - 512 кГц (что для этой серии очень далеко от максимума), реальные значения T такие, что переполнение исключено.

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

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

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

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

Пять минут работы, буквально 2 перепайки. А потеряно было несколько дней. Но после того случая я уже ВСЕГДА разрисовывал временные диаграммы с учетом задержек.


 
Malder   (2003-05-18 17:28) [48]

А почему тогда такой код не зацикливается в дельфи

var i:byte;
begin
for i:=1 to 255 do
beep;
end;


 
Ihor Osov'yak   (2003-05-18 18:03) [49]

2 Malder © (18.05.03 17:28)

Компилятор в паскале - он умный.. Поставь точку останова, после останова делай Ctrl_Alt_C - и смотришь..


2 Юрий Зотов © (18.05.03 15:46)

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

Да, вспомнил еще, немножко не в тему - но задачка на сообразительность для бывших электронщиков - я тогда еще молодым спецом был, но после этого случая коллеги очень зауважали. Пришла плата с монтажа, корпусов около сотни 555, естественно возле каждой 0.1 на развязке.. Один из этих конденсаторов - КЗ..
Обычно в этом случае постепенно все конденсаторы выпаивались, или питание резалось понемногу, почти "методом половинного деления".. Но тогда меня немножко осенило и я на спор в течении двух минут за первым попаданием этот конденсатор и выщитал..
Как это было сделано? :-)


 
kaif   (2003-05-18 19:45) [50]

2 Ihor Osov"yak © (18.05.03 18:03)
Единственное, что пока в голову приходит - хороший ток обеспечил от источника - стабилизатора тока и пальцем искал, который кондер греется... Хотя, наверное, не угадал?...

2 Юрий Зотов © (18.05.03 15:46)

Я тоже пару раз натягивался на наносекундных импульсах. Искал такие вещи с помощью делителей на D-триггерах, как Ihor Osov"yak.


 
Ihor Osov'yak   (2003-05-18 19:55) [51]

2 kaif © (18.05.03 19:45)

Почти угадал. Ток ну не очень большой, но такой, чтобы набегало по плате милливольт 20-30 (от низкого напряжения - до 1V через сопротивление, низкое напряжение - чтобы ничего не выгорело, если КЗ исчезнет).. А потом диф. осцилографом наблюдал падение напряжение. Можно и обычным)..
А по нагреву проблематично - дорожки может бы быстрее грелись, чем коротнутый конденсатор..


 
kaif   (2003-05-18 20:01) [52]

Меня как-то теща попросила у них на работе эелектронный микроскоп починить. Скажу вам, вещь стрессовая... Tesla. Мужик тамошний уже 2 недели тупил - не мог разобраться в схемах. Так вот он мне эти схемы показывает - мрак полный. Я подумал, что если этот мужик 2 недели починить не может, так может, дело и не в схемах... По крайней мере, я за час точно не разберусь...
Я говорю, давай сначала, а с чего ты взял, что микроскоп не работает? Он говорит, вот, смотри, стрелка прибора показывает, что вакуума нет, а вакуум есть, так как коробочка с образцом рукой не выдергивается. Подергал я коробочку до включения насоса и после. Виду, действительно, не выдергивается. А тама еще, кроме основного насоса, еще диффузионный, который на хитрых принципах построен, типа спираль в вакууме нагревается и разгоняет всякую дрянь через специальный конус, чтобы супервакуум получать. Вот я и подумал. Говорю, мужик, а ты точно уверен, что там нужный вакуум есть? Может прибор прав, что нет там никакого вакуума? Он опять за свое, типа коробочка не выдергивается... Я говорю, слышь, мужик, а если у тебя там 0.05 атмосфер, к примеру, так ты думаешь, что сможешь коробочку выдернуть?
Мужик весь вдруг посинел и побежал в насосную. Прибежал, говорит - все в порядке. В насосе, оказывается, давно масло закончилось. Залил масло - все заработало.
Опять игра слов (вакуум - вакуум)... т.е. что, собственно, вакуумом называть...


 
kaif   (2003-05-18 20:07) [53]

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


 
Malder   (2003-05-18 20:16) [54]

Да, здорово. Оказалось, что цикл FOR в Дельфи реализован так, что один раз будет по любому исполняться :-)

Я и не подозревал...


 
kaif   (2003-05-18 20:22) [55]

2 Malder © (18.05.03 20:16)
Точнее, не цикл, а условие проверки хоть один раз, да должно провериться. Вообще это можно проверить.

Нужно написать
i := 0;
for i := 5 to 4 do
;
ShowMessage(IntToStr(i));

Если покажет 0 - значит это не так.
Я думаю покажет i = 5.
Хотя я не исключаю, что в такой явной форме оптимизатор может выкинуть эту часть кода.


 
Malder   (2003-05-18 20:28) [56]

Не, покажет 0. И еще предупреждение напишет, что цикл никогда не будет исполняться, поэтому цикл выкинут из кода (оптимизация роли не играет). Соответственно, и у i не будет заменено значение на нормальное.
Ты видать тоже не видал исполнение цикла FOR у Делфьи в ассемблере.

Если цикл не исполняется, то она его выкидывает, если исполняется хоть один раз, то в ассемблере комманды в цикле первый раз исполняются собственно до cmp


 
wnew   (2003-05-19 00:59) [57]


> Ihor Osov"yak © (18.05.03 19:55)

Обычная практика у эксплуатационщиков, при отыскании повреждения включать устройство через ограничивающее ток сопротивление, лучше всего через обыкновенную ламочку накаливания подходящей мощности, дело в том, что нить накала при нагревании увеличивает своё сопротивление, что ещё больше благоприятствует безопасности исследуемого электронного устройства. При чём, этот способ приходится не часто использовать при двоичной электронике, т.к. она в большинстве случаев не многоточна, а вот в аналоговых устройствах, особенно в различных усилителях мощности, - это очень хорошее средство, облегчающее поиск повреждения. А ещё, такой способ, по моему мнению, был не избежен при ремонте печально известных импульсных блоков питания телевизоров типа 2УСЦТ, 3УСЦТ с тиристором КУ112А.
Я этим ничего не хотел сказать, просто навеяло. Уже 10 лет не занимаюсь любимым делом, тоскую.


 
Юрий Зотов   (2003-05-19 02:47) [58]

wnew © (19.05.03 00:59)

Бареттер это называется...




 
Digitman   (2003-05-19 11:38) [59]

Вот такая была у меня "ситуация" :

WinMe, MSOffice2000

вставлена дискетка с *.doc-файлом, попытка открытия/чтения файла Word"ом прямо c дискетки ... "мертвое" зависание ... перезагрузка ... все ! аллес капут ! "дозагружался", что называется - blue dead screan c руганью на kernel32 и некий VXD-драйвер (не помню уж - какой, но, судя по названию, якобы вовсе не имеющий никакого отношения к аппаратуре)...
убираю этот драйвер из автостартапа, перезагружаюсь - та же "синяя беда", но уже со ссылкой уже на другой VXD...

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

единственная надежда - "safemode"-режим пока еще работает...

парился я с проблемой, помнится, не менее недели, вечерами (машинка домашняя была, не рабочая) улучая пару-тройку часов времени и проводя кучу (далеко не "слепых", небессистемных) экспериментов... лог - в порядке, все сист.файлы и все драйверы - якобы тоже, все настройки - соответствуют ... ну не работает - и все тут !( ...

зато при всем при том установленная в другой каталог на том же диске с того же дистрибутива та же самая ОС (минимальная, "чистая" инсталляция) работает как положено, без вопросов !!

"тупизм" же мой собственный обнаружился, когда в отчаянии я решил на всяк.случай реинсталлировать "поверх" 32-разрядные драйверы IDE-контроллера, попавшиеся на глаза, когда в очер.раз перебирал все OEM-софтверное "хозяйство", прилагавшееся в свое время продавцом машинки на невзрачных дискетках..

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

обновил я быстренько с дискетки драйвер и - о чудо ! - система ожила !!
почему я это не сделал сразу - ума не приложу)...
хотя существовавший файл IDE-драйвера ничем (по кр.мере - внешне, по первичным признакам) не отличался от того, который я установил с дискетки, оказалось, что на самом деле он был поврежден : WinMe каким-то невероятным, совершенно непрогнозируемым образом "умудрилась" вкатать в один из кластеров, занятых файлом, нули !!

"тупизм" сей недельный заставил меня, конечно, повеселиться-похихикать над самим собой от души... но, кстати, и дал повод всерьез задуматься о необходимости/возможности/желании дальнейшей эксплуатации такой вот ОС, которая в любой неожиданный момент, самым коварным образом может уничтожить все и вся... окончательное решение было принято достаточно быстро - WinMe must навсегда die на этой машине, и впредь - никакой и ни в коем виде реинкарнации !))


 
Vint   (2003-05-19 11:42) [60]

> wnew © (19.05.03 00:59)

такая же фигня...

... я как на рынок на железячный зайду, а там 555 ТМ всякие ЛА7 транзисторы 315, 312, терристоры КУ 202 блин такая ностальгия по детству... ;)))

лет 15 ничего не собирал, щас так только, ремонт, ну и по мелочам, а как увижу прям руки чешуться :))


 
kaif   (2003-05-19 11:59) [61]

Как-то в офисе у моего партнера одна юзерша (бухгалтер) заделала. То ей непонятно, это не знает как сделать, то ей это покажи. Каждые пять минут комп виснет...(мистика уже). Я понимаю, когда человек компьютер в глаза не видел никогда, но та в добавок еще и дура была редкостная...
Так вот, в какой-то момент, когда уже совсем задолбала, она меня зовет, а на экране надпись:
"Not system disk or disk error"
Ну я вообще и так взвинченный. Даже смотреть не стал. Говорю - винч у Вас полетел. Тпа у таких дур обязательно винч летит.
Потом через 2 часа подходит. Говорит: "А я компьютер починила!".
Я аж ох..ел. Говорю: "Как???". А она говорит. Дискету достала - все заработало.


 
Юрий Зотов   (2003-05-19 12:20) [62]

> kaif © (19.05.03 11:59)

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

Самое чудное, что при поступлении на работу в своем резюме она написала - "свободное владение компьютером". Цирк.


 
Sha   (2003-05-19 12:27) [63]

2Vint © (19.05.03 11:42)
аналогично


 
wal   (2003-05-19 12:39) [64]

Буквально вчера дома изобразил следующее:
Файл subst.bat
Содержимое:
subst z: d:\temp

Cидел, полчаса смотрел на экран и бегущие строчки. Доходило очень долго.
С уважением.


 
Darts   (2003-05-19 12:55) [65]

На моей прошлой работе работала секретарша лет 50. Хорошая, милая женщина, блестяще владела Word"ом и Lines. Потом ушла с работы в школу. Я тоже уволился, но в другую фирму.
Прошло около 3-х месяцев, наступил май месяц 2001 года. Понадобилось срочно сделать проект, и взял из школы компьютер на неделю (знакомые помогли да и не было своего пока). Прошла неделя и компьютер я отдал. Но потерял компакт с Delphi 5.
Долго искал, все перерыл дома, удивляясь, куда же он мог запропаститьься мистическим образом.
Пришлось купить новый, прошла лето, наступила осень. Кажется, это был октябрь. В школе забарахлил тот компьютер, с которым я работал ранее. Вызвали, и попросили посмотреть, в чем дело. OK, пошел смотреть. В процессе исследования нажал на конпку лотка. Предьставьте мое изумление, когда я увидел мой пропавший компакт, на котором была аббревиатура "Delphi". Но окончательно меня добила фраза, произнесенная секретаршей, стоящей за моей спиной, когда взял компакт в руки и задвинул лоток обратно.
Вот она:
" - Положите обратно, пожалуйста, а то Windows не будет загружаться без него..."

Короче, нарочно не придумаешь.


 
vidiv   (2003-05-19 13:02) [66]

var s:string;
...
for s:= 0 to length(s-1) do ....


 
NailMan   (2003-05-19 14:02) [67]

В большом объеме кода был следующий кусок:
var p:pointer;f:integer;
...
GetMem(p,Sizeof(TD3DATTRIBUTERANGE) * MaterialCount);
FileRead(F,p,Sizeof(TD3DATTRIBUTERANGE) * MaterialCount);
FreeMem(p);

пытался отловить AV 4 часа, ночью, после суток без сна.
Кстате данная ошибка что у меня, что у знакомого программера - постоянное явление.


 
Malder   (2003-05-19 15:17) [68]

Файл subst.bat
Содержимое:
subst z: d:\temp

Cидел, полчаса смотрел на экран и бегущие строчки. Доходило очень долго


А до меня до сиз пор не дошло. Хотя я не запускал. А что такого ?


 
Юрий Зотов   (2003-05-19 15:27) [69]

> Malder © (19.05.03 15:17)

Дык... запустите - увидите. :о)
Там же бесконечная рекурсия.


 
Malder   (2003-05-19 15:53) [70]

Запустил. Все ок. Появился диск Z:

Не понимаю...


 
Malder   (2003-05-19 15:54) [71]

Переделал на subst z: /d

Диск Z: убрался. Вроже как положено все


 
Юрий Федоров   (2003-05-19 15:59) [72]

>>Malder © (19.05.03 15:54)
Не иначе, батник не так назвал, как у
wal © (19.05.03 12:39)


 
Malder   (2003-05-19 16:30) [73]

Блин :-))))))))))))))))


 
Mike B.   (2003-05-19 16:43) [74]

> Malder © (19.05.03 16:30)
В тему :)


 
Malder   (2003-05-19 17:36) [75]

старался :-)


 
AlexKniga   (2003-05-19 18:21) [76]

Type
TIndex = (crX, crY, crZ);
Var
j, p: TIndex;

For j := Low(TIndex) to Pred(p) do
Begin
...
End;

Проект переносился из TP в Delphi. В TP всё работает, в Delphi зацикливается, когда p = crX.
А всё из-за того, что внутренние представление Перечисленного типа в TP знаковое целое, а в Delphi беззнаковое.


 
Asteroid   (2003-05-20 02:21) [77]

Использовал старый юнит OpenGL. В нем не было фунций glGenTextures, glDeleteTextures и некоторых прочих. Соответственно, где-то нашел прототипы и прописал их. Прога глючила у некоторых, у других все было нормально. Заподозрил, что дело было в неправильных прототипах. Нашел более свежий юнит GL12, в котором функции были, а вот старые прототипы удалить забыл...прога, ессно, глючила. Две недели соображал, в чем дело - и только сейчас обнаружил, что забыл их убрать :)


 
kaif   (2003-05-20 03:12) [78]

Супертупизм произошел у меня сегодня.
В связи с введением новой формы платежного поручения с 1 июня 2003г., мне месяц назад прислали документы о том, как ее сделать. В документах Центробанка были приведены размеры и номера полей. Были введены поля ИНН и КПП. Плюс таинственные поля внизу.
Никаких указаний о том, что туда вписывать в этих документах не содержалось... Я так понял, что вписывать туда ничего не надо, что эти поля заполняет сам банк. Переделал программу PlatPor под новый формат и поставил ее на сайт. После того, как демо-версию с 2 сайтов, где она размещена скачало более 200 человек приходит письмо, в котором клиент спрашивает такие вещи... У меня волосы дыбом. Срочно начинаю выяснять. Оказывается эти поля заполнять нужно и на это еще один документ имеется от 3-х брендов типа ГТК, ГНС и еще кого-то. У меня чуть инфаркт не вышел вчера...Вот сегодня весь день переделывал.
Кстати, если кого интересует моя новая платежка, особенно, если кто скачал ошибочный вариант - рекомендую (да простят мне модераторы). Скачать можно на моем сайте
http://www.lclassic.ru/
Базы данных не используются. Все хранится в текстовых файлах.


 
vidiv   (2003-05-20 07:15) [79]

Извечная проблема, из-за которой я свой винт чуть не похоранил... Как только не пытался лечить его (не только кулаком даже)... с любой другой машины читается, а с моей нет... Тупил пол дня, мне очень жалко было его форматить...
А в итоге оказалось всеголишь Boot from floppy. ё.


 
Vlad Oshin   (2003-05-21 15:01) [80]

сегодня я чуть не застрелился
все нормально работает и вдруг вылетает
чего только не подумал :)
а не подумал в месте считывания из ini
вчера поправил вручную(чтоб быстрее, блин) - да не так немного, вот только сегодня по F7 еле нашел, уфф

ЗЫ
Да простят меня ХХ и их матери :)



Страницы: 1 2 3 вся ветка

Форум: "Потрепаться";
Текущий архив: 2003.06.09;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.65 MB
Время: 0.017 c
14-26671
Suhomlin
2003-05-24 13:56
2003.06.09
Взаимодействие с Microsoft Outlook


3-26368
Avreliy
2003-05-19 19:08
2003.06.09
Проверка введённой даты на правильность.


14-26766
Тумар
2003-05-23 09:20
2003.06.09
Есть над чем подумать


1-26492
Buka
2003-05-26 22:11
2003.06.09
ComboBox и FontDialog? Как заставить делать выбор из 2-го в 1-й?


14-26754
Andrew
2003-05-22 22:10
2003.06.09
Панель инструментов подобная Ms Word





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский