Форум: "Прочее";
Текущий архив: 2006.09.17;
Скачать: [xml.tar.bz2];
ВнизКоварный With Найти похожие ветки
← →
Palladin © (2006-08-28 16:16) [0]позорище... так для прикола :)
With TMASSqlSource.Create(gl_theCon),GridKidsInTable.DataController Do
Try
n:=AppendRecord;
Select("select date_birth, gender from People where id="+IntToStr(nIDHuman));
Values[n,KIColLastName.Index]:=strLastName;
Values[n,KIColFirstName.Index]:=strFirstName;
Values[n,KIColMidName.Index]:=strMidName;
Values[n,KIColBirthDate.Index]:=cmnDate(DatFld[0,1]);
Values[n,KIColGender.Index]:=cmnGenderToStr(IntFld[0,2]);
Values[n,KIColIsNew.Index]:="";
Values[n,KIColIDHuman.Index]:=nIDHuman;
Finally
Free;
End;
пол дня угробил на поиск ошибки... чудовище... :)
← →
jack128 © (2006-08-28 16:20) [1]Palladin © (28.08.06 16:16)
позорище...
Угу ;-) Я сразу увидел. Хотя наверно только потому что ТОЧНО знал, что здесь есть ошибка.
← →
guav © (2006-08-28 16:22) [2]:)
А я тут пытаюсь С++ учить... не пониммаю за что его ругают.
Там такая ошибка впринципе невозможна, т.к. with нет и finally с free неявный
← →
Александр Иванов © (2006-08-28 16:23) [3]У меня как-то в конструкции:
with TForm.Create(nil) do
begin
...
if ShowModal = mrOk then
...
end;
происходило обращение к ShowModal формы в методе которой мы находимся.
Стараюсь этот оператор не использовать вообще.
← →
TUser © (2006-08-28 16:23) [4]> Там такая ошибка впринципе невозможна, т.к. finally с free неявный
AFAIK ты с шарпом перепутал.
Зы. Я не сишник :)
← →
jack128 © (2006-08-28 16:24) [5]guav © (28.08.06 16:22) [2]
Там такая ошибка впринципе невозможна,
сколько раз на "if (a=b)" напарывался? Я из-за этого руть монитор выкинул
← →
guav © (2006-08-28 16:27) [6]> сколько раз на "if (a=b)" напарывался?
Пока один, (в цикле while) но у меня ещё всё впереди ;-)
Видел рекомендацию сравнивать с константой так INVALID_HANDLE_VALUE == hFile.
← →
guav © (2006-08-28 16:28) [7]> AFAIK ты с шарпом перепутал.
Нет. В шарпе вроде finally есть, как и в Managed C++ .
Я не сишник - пока ещё.
← →
jack128 © (2006-08-28 16:38) [8]guav © (28.08.06 16:28) [7]
в обычном (не управляемом) C++ в реализации MS тоже есть. Но это не стандарт.
← →
guav © (2006-08-28 16:45) [9][8] jack128 © (28.08.06 16:38)
Ну, в реализации MS виндовый SEH реализован в более полной мере чем в Delphi, это понятно.
Меня сейчас больше интересует стандартный umanaged C++. Впрочем, заканчиваю оффтопик.
← →
Desdechado © (2006-08-28 19:10) [10]> With TMASSqlSource.Create(gl_theCon)
,
GridKidsInTable.DataController Do
Никогда не использую with с более, чем одним объектом сразу. Выбираю только один (самый длинно названный или часто используемый в блоке), а остальные явно.
← →
Ketmar © (2006-08-28 20:58) [11]> [2] guav © (28.08.06 16:22)
разруха -- она в головах.
← →
guav © (2006-08-28 21:06) [12]> [11] Ketmar © (28.08.06 20:58)
не понял.
← →
default © (2006-08-28 21:14) [13]guav © (28.08.06 16:27) [6]
"Иногда встречается С-программист, пишущий что-то типа if((strlen(x)==iLen)), помещая константное выражение слева от ==. Это очень хороший признак. Это значит, что он уже столько раз попадался на путанице между = и ==, что выработал в себе привычку, исключающую это. " Джоэль Спольски :)
guav © (28.08.06 16:22) [2]
а я вот C# изучаю
кстати в нём проблема (a=b) стоит не так остро ибо результат обязан быть либо true либо false
то есть
int a=3, b=5;
if (a=b) будет ошибка компиляции
← →
default © (2006-08-28 21:20) [14]"то есть
int a=3, b=5;
if (a=b) будет ошибка компиляции"
ибо результат a=b будет 5, а это не true и не false и к ним не приводится ни неявно ни явно по правилам языка
← →
guav © (2006-08-28 21:25) [15]> результат обязан быть либо true либо false
Ух ты, как в Delphi для Boolean :)
А что тогда с виндоузными FALSE, TRUE ?
← →
Ketmar © (2006-08-28 21:30) [16]> [12] guav © (28.08.06 21:06)
а что тут неясного? молотком можно забить гвоздь в стену, а можно проломить голову соседу дяде Абраму.
← →
DiamondShark © (2006-08-28 21:48) [17]
> А я тут пытаюсь С++ учить... не пониммаю за что его ругают.
> Пока один, (в цикле while) но у меня ещё всё впереди ;-)
И до сих пор не понял, за что ругают?
Тогда, записывай список:
0. За возведение побочного эффекта в норму.
Операция присваивания должна присваивать, а не возвращать значение.
1. За непродуманый выбор символики.
Логический предикат "равно" имеет устоявшийся традиционно символ "=", известный людям с первого класса школы. Оператор присваивания специфичен именно для императивных языков. Логично оставить для сравнения традиционный символ, а для новой операции использовать новый символ.
...ту би континуе...
← →
Ketmar © (2006-08-28 21:58) [18]> [17] DiamondShark © (28.08.06 21:48)
не надо. баян. %-)
← →
DiamondShark © (2006-08-28 22:12) [19]А может меня это беспокоит. Хочу об этом погойворить.
← →
guav © (2006-08-28 22:17) [20]> не надо. баян. %-)
"with - источник ошибок" таки тоже баян.
И что, после этого людям высказаться на эти темы нельзя ?
← →
Ketmar © (2006-08-28 22:21) [21]> [19] DiamondShark © (28.08.06 22:12)
Вы-таки боитесь погромов?
> [20] guav © (28.08.06 22:17)
АПВС?
зыж Дим, ну не провоцируй. меня же забанят! %-)
← →
DiamondShark © (2006-08-28 22:22) [22]
> И что, после этого людям высказаться на эти темы нельзя
> ?
Льзя.
Обычно получается славный холиворчег или душевная философия ;)
И то и другое я очень люблю (не ахт.).
← →
DiamondShark © (2006-08-28 22:24) [23]
> меня же забанят
"Сядем усе!" (ц)
← →
default © (2006-08-28 22:28) [24]guav © (28.08.06 21:25) [15]
а что с ними должно быть не так?
← →
Alx2 © (2006-08-28 22:34) [25]>DiamondShark © (28.08.06 21:48)
Перечисленное, кажется, не особо критично.
Мне, когда начинал, сильно нехватало вложенных функций. Как правило, чем "алгоритмичнее" задачка, тем больше потребность в функциональной подразбивке. Потом, правда, нашел сему замену вложенными классами. Но дискомфорт имеет место до сих пор.
← →
default © (2006-08-28 22:41) [26]DiamondShark © (28.08.06 21:48) [17]
тут двояко
например, мы можем спросить "a=b?" в данном случае производится сравнение
а можем написать, "положим a=5" понимая это как то, что в дальнейшем под буквой "a" будем иметь цифру "5" это можно считать присвоением, но никак не сравнением
поэтому спорно для чего "=" лучше - для присвоения или проверки на равенство
← →
DiamondShark © (2006-08-28 22:46) [27]
> Перечисленное, кажется, не особо критично.
Так это только по одному эпизоду: "наткнулся в while".
> Мне, когда начинал, сильно нехватало вложенных функций
А как мне их сейчас не хватает!
Пишу на C#, тихо ругаюсь.
Я за паскалевское прошлое привык сверху-вниз писать, сначала крупными блоками, потом постепенно детализируя. Так замечательно это на вложенные функции ложилось...
← →
Ketmar © (2006-08-28 22:51) [28]> [26] default © (28.08.06 22:41)
а ни для чего. так и надо писать: "положим ..."
← →
default © (2006-08-28 23:09) [29]DiamondShark © (28.08.06 22:46) [27]
сорри за оффтопик
говорите, что пишите на C#
говорится, что .NET код может быть переносим между ОС
это как? ведь, допустим, программируя для ОС Windows я могу оперировать понятием "окно"(представленного некоторым типом), а ведь в другой ОС может быть всё совершенно по-другому, там и понятия "окно" то может и не быть или быть, но другим по смыслу
как вообще возможно писать операционно-независимый код в общем случае?
по-моему это невозможно
даже если "понятия" в разных ОС совпадают или близки, можно писать только один код для этих ОС
но появится другая с другими "понятиями" и код нужно будет переписывать
хотя обещают, что мол написанный вами код будет работать и на другой ОС для которой напишут свою CLR
объясните
← →
Карелин Артем © (2006-08-28 23:20) [30]
> default © (28.08.06 23:09) [29]
Жаву вспомни. Там тоже кросс-платформенность
← →
default © (2006-08-28 23:22) [31]Карелин Артем © (28.08.06 23:20) [30]
а как это работает?
не понимаю
← →
Marser © (2006-08-28 23:23) [32]> 1. За непродуманый выбор символики.
> Логический предикат "равно" имеет устоявшийся традиционно
> символ "=", известный людям с первого класса школы. Оператор
> присваивания специфичен именно для императивных языков.
> Логично оставить для сравнения традиционный символ, а для
> новой операции использовать новый символ.
Согласен.
← →
guav © (2006-08-28 23:30) [33]> guav © (28.08.06 21:25) [15]
> а что с ними должно быть не так?
Они вроде как не bool а целочисленны, д.б. несовместимы дляif, fo,r while, do
и? :
, при этом проверка if (ApiCall() == TRUE) тоже опасна.
> Я за паскалевское прошлое привык сверху-вниз писать, сначала
> крупными блоками, потом постепенно детализируя. Так замечательно
> это на вложенные функции ложилось...
Помойму, классами можно, они вроде как бы влаживаются...
В продолжение оффтопика :
Не понравилось мне как структуры инициализируются без указания имён полей. подумав, решил что зря и в С и в Паскале не указываются имена формальных параметров, типаCreateCompatibleBitmap(DC: hRefDC, Width: 0, Height: 0);
← →
isasa © (2006-08-28 23:34) [34]default © (28.08.06 23:22) [31]
а как это работает?
Интерпретатор, знаешь? :)
← →
Ketmar © (2006-08-28 23:36) [35]> [29] default © (28.08.06 23:09)
оно переносимо между ОС WinXP на одной машине и ОС WinXP на другой машине.
← →
default © (2006-08-28 23:41) [36]Ketmar © (28.08.06 23:36) [35]
имеешь ввиду процессорную независимость?
я говорю о независимости от ОС
isasa © (28.08.06 23:34) [34]
можно подробнее
← →
isasa © (2006-08-28 23:42) [37]Ketmar © (28.08.06 23:36) [35]
оно переносимо между ОС WinXP на одной машине и ОС WinXP на другой машине.
:)
Заявлено еще и "кроссязыковость". Ну, по крайней мере, между MS C# и MS VB
← →
Vendict © (2006-08-28 23:43) [38]default © (28.08.06 23:41) [36]
имеешь ввиду процессорную независимость?
я говорю о независимости от ОС
тяжело... шуток человек не понимает...
← →
isasa © (2006-08-28 23:44) [39]default © (28.08.06 23:41) [36]
можно подробнее
:)
Ну ей Богу, вот я уже книги точно писать не умею. :)
Там много наворочено.
← →
Ketmar © (2006-08-28 23:45) [40]> [36] default © (28.08.06 23:41)
имею в виду, что полноценной реализации CLR нет нигде, кроме как на винде. поэтому оно переносимо только с виндов на винды. и то не ниже 2k, по-моему. %-))
Страницы: 1 2 вся ветка
Форум: "Прочее";
Текущий архив: 2006.09.17;
Скачать: [xml.tar.bz2];
Память: 0.55 MB
Время: 0.044 c