Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 5 6 [7] 8 9 10 11 .. 15   вперед  Ctrl
 Re: (C#) Интересно, хорошо это или плохо...  [new]
YuriWhite
Member

Откуда: Chelyabinsk
Сообщений: 449
2Guest_1
Реализацию класса приведите...а я после, на VFP :)

IB это для меня ваще загадка - имхо даже MySql и то лучше :))
29 июл 05, 07:48    [1745984]     Ответить | Цитировать Сообщить модератору
 Re: (C#) Интересно, хорошо это или плохо...  [new]
FM32YO aka KID
Member

Откуда: Ukraine
Сообщений: 884
Думаю пинать Вас никто не стунет :-)

Guest_1

Все однако сводится к тому что на VFP больше пишут клиентов к другим БД.


Бесспорно, если система очень большая то как клиент к БД, если не очень, можно и с родными ДБС-ДБФ, а что на других языках не так?
То есть на С-ширпе к примеру пишут и клиента и саму БД? Или на С++, или... "приведите Ваше", а про созданные ранее СКЛ Серверные СУБД просто забыли?

Guest_1

Не сказал бы что тот же Interbase жрет больше ресурсов чем VFP.


ХЗ не работал с ИБ, но какие собственно ресурсы жрет ВФП?

Guest_1

Напоследок несколько выводов которые я для себя сделал:
Каждый кулик свое болото хвалит


Туту блин не поспоришь :-)

Guest_1

А если серьезно:
VFP ничем не лучше других языков при работе со сторонними БД.
Foxpro как язык морально устарел и изменений не предвидится.
Код написанный на Foxpro хуже сопровождаем.
Это мое ИМХО.


Все это совершенно неверно ИМХО :-)
Морально устарел - это как?
Изменения вносятся, но, елси можно работать и без них - то на кой их вносить?
Хуже сопровождаем - это точно, только людьми, которые языка не знают, мне например документация, написанная на Португальском тоже хуже читаемая, вывод какой напрашивается?
То-то же....
А если честно я согласен с высказыванием таким : "Микрософт просто зарабатывает деньги, при этом требуется вводить новые технологии, и, часто их вводят НЕ от того, что они такие уж хорошие, а от того, что надо деньги зарабатывать.." вот и все, а остальное полная ерунда ибо хороший программист Сишник напишет такую же хорошую учетную систему как и хороший ВФП-шник, а, если говорить о плохих программистах - результат будет одинаков :-)
А споры, где кто и как и быстрей ли - это демагогия ИМХО
29 июл 05, 09:56    [1746224]     Ответить | Цитировать Сообщить модератору
 Re: (C#) Интересно, хорошо это или плохо...  [new]
1024
Member

Откуда: Нижний Новгород
Сообщений: 14267

Итоги

1.появление с-диез не дало ничего нового в плане написания клиентов к БД по
сравнению с тем чё раньше было в других средах. Но вероятно хоть что-то
появится в новых версиях
2.агрессивная рекламная компания технологий дот-нет сильно мешает приянтию
разумного решения о выборе среды разработки клиентов к БД
3.вода камень точит т.е. иногда выгодне сделать проект на том что нравится
заказчику а не на том что эффективней (конечно деньги его но и проблем при
непродуманно выбранной технологии добавится и в создании и в сопровождении)


Posted via ActualForum NNTP Server 1.2

29 июл 05, 10:17    [1746318]     Ответить | Цитировать Сообщить модератору
 Re: (C#) Интересно, хорошо это или плохо...  [new]
Flare
Member

Откуда:
Сообщений: 711
Как 1024 хочет все подытожить, чтобы последнее слово за ним осталось. C# - зуд какой-то прямо для него. А на мой вопрос как реализовать задачу предложенную "Властелин комнатушек" [Price_id (номер прайса) Tov_id (код товара) Price_cn (цена прайса)] одними множествами, не ориентируясь на операции с записями - даже в общем сказать не может, хоть мы тут немного и отошли от темы топика. Зато при этом лихо обвиняет меня в незнании предметной области
1024
Ну не знаете вы языка, ну не получается что-то, так спросите. Уже на нескольких страницах вам объясняют что не надо использовать скан, фокспро для дос и пр. Щас третье тысячелетие уже, есть вфп9 который после выборки данных с сервера предоставляет возможность обрабатывать их с использованием ANSI совместимого SQL. Хотя вам вероятно это трудно себе представить
Так может расскажете все-таки как решить ту задачу или все эти выводы ваши и подытоживания стоит считать пустым звуком и в расчет не брать? :)
29 июл 05, 12:00    [1747050]     Ответить | Цитировать Сообщить модератору
 Re: (C#) Интересно, хорошо это или плохо...  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7864
Оказывается, все динозавры выглядели примерно одинаково. Просто разные ученые складывали кости по разному (с)

То же самое можно сказать и о языках программирования. Что такого можно сделать в одном языке, чего в принципе нельзя сделать в другом? Я не говорю о командах. Я имею в виду результат. Легко/сложно - не обсуждается. Интересует именно результат.
29 июл 05, 12:37    [1747324]     Ответить | Цитировать Сообщить модератору
 Re: (C#) Интересно, хорошо это или плохо...  [new]
ЛехаМ
Guest
То ВладимирМ:
Со всем моим уважением к Вам, я всеж замечу, что сделать так, чтобы ЭТО работало может каждый , даже начинающий программист. А вот сделать так как правильно и так чтобы это работало и сделать, а не отмазаться от поставленной задачи, увы. А на счет того, где и в чем и что можно сделать, известно , что современный программист , имееться в виду. котрый решил для себя, что он в программировании человек не случайный, должен, НЕТ, ОБЯЗАН знать как минимум из языков :
1 СУБД
2 С++
3 Одну из систем заточенную под WEB
4 Как + системы искуственного интеллекта ( это развивает )

Из ОС:
1) Win32
2) Unix- со подобный системы


Ну уж если вы програмируете по Win32, то
СOM | DCOM - обязательно.

3) Вы же профессионалы. Основная ваша цель какая ? - заработать деньги.
И конечно же всех устроить если будут платить в соответствии с адекватными знаниями. Рынок не требует программистов на VFP, требует С#.
И программирование на .NET это совсем не другой диназавр, это уже существо совсем другого рода. Его нужно изучать, отлаживать свое мастерство, следить за тенденцией развития IT индустрии , вот тогда таких вопросов и топиков подниматься не будет.
Умрет это существо - появиться другое и снова тоже самое. Это жизнь программиста, что вы хотите еще ?
Этот топик и еще одни, про тот как тяжело устроиться программистом на VFP за достойный деньги - просто от беспомощности (Лично вас не касаеться) и не способности понять, VFP - конечно здорово, но если хочешь зарабтывать денег, то вопросы хорошо или плохо задавать внутри себя не нужно. Нужно просто брать и работать и следовать спросу себя как профессионала.

Хочу еще сказать , что все заявления типа «приходит программист на VFP и все делает сам начиная от обследования предметной области , формализации бизнес процессов, до написания кода», никак не укладыветься в решений сложных задачь. А если и будет он это делать, 1 (герой), это займет слишком много челокочасов. Ни одному работодателю это не нужно.
29 июл 05, 13:24    [1747626]     Ответить | Цитировать Сообщить модератору
 Re: (C#) Интересно, хорошо это или плохо...  [new]
oleg_km
Member

Откуда:
Сообщений: 161
ЛехаМ
Рынок не требует программистов на VFP, требует С#.


Да не С# рынок требует, не программистов, а менеджеров по продажам, впаривателей и втюхивателей. На примере 1С вижу и MS и пр. Поэтому классно тем, кто всегда "на гребне новой волны" (классик). Но к программированию и к языкам это никакого отношения не имеет - однозначно.

--- удалено модератором
29 июл 05, 15:14    [1748255]     Ответить | Цитировать Сообщить модератору
 Re: (C#) Интересно, хорошо это или плохо...  [new]
luser
Member [заблокирован]

Откуда: Пердыщево
Сообщений: 1246
И был ДОС и был спрос на программистов FOX"a. И был Win 3.1 и был спрос на программистов FOX"a, потому что круче небыло , пожалуй ничего. И появился Win32, а с ним множество конкурирующих сред разработки, которые предоставляли разработчику множестов компонентов разработки и работы с данными. И не выдержал FOX конкуренции и стал медленно, со скрипом, но уверенно сдавать свои позиции.
А появиться Win64, а фокс так и будет тормозить, работая с DBF и не имея ни одного (CURSORADAPTER не в счет) компонента работы с данными ( говоря честно в нете DataSet, скажу вам по секрету, это бизнес объект который может хранить в себе несколько таблиц и даже реляционные связи между ними, и это при работе с MS SQL), куда уж нашему любимому фоксу.
Вывод: будующее фокса, с такими подходом к его разработке и продвижению - это настоящее Клиппера.
29 июл 05, 17:25    [1748975]     Ответить | Цитировать Сообщить модератору
 Re: (C#) Интересно, хорошо это или плохо...  [new]
Sergey Ch
Member

Откуда: Благовещенск
Сообщений: 8873
luser
А появиться Win64, а фокс так и будет тормозить, работая с DBF и не имея ни одного (CURSORADAPTER не в счет) компонента работы с данными ( говоря честно в нете DataSet, скажу вам по секрету, это бизнес объект который может хранить в себе несколько таблиц и даже реляционные связи между ними, и это при работе с MS SQL), куда уж нашему любимому фоксу.
Вывод: будующее фокса, с такими подходом к его разработке и продвижению - это настоящее Клиппера.

Открою Вам секрет - VFP 9.0 прекрасно работает с DataSet через XML adapter... (Если проложить между MS SQL Server 2000 и VFP 9.0 тонкий слой Web Service тынц)... C Win64 FoxPro явно будет работать (сейчас пишут)...

Так что вывод: Ваш вывод преждевременен и неверен...
29 июл 05, 17:39    [1749035]     Ответить | Цитировать Сообщить модератору
 Re: (C#) Интересно, хорошо это или плохо...  [new]
karly™
Guest
Flare
Властелин комнатушек
Вы вначале сделайте мне вышеприведенную задачу, а потом мы посмотрим, кто из нас что представляет.
Я все же объясню, почему просьба привести вариант решения на Фоксе встречена гробовым молчанием :-) В VFP есть визард, который эту задачу решает за пять кликов мышки ;-)
Хотя это не совсем честно. Встроенный визард дает естественную фору, тем более что его возможности гораздо шире, например в нем предусмотрена куча проверок на допустимость названий полей. Поэтому можно попробовать решить то же самое своими силами.

Flare
1. Создаем временную таблицу <выборка> c полем Tov_id (код товара), Делаем в нее DISTINCT по коду товара. INSERT INTO выборка SELECT DISTINCT Tov_id (код товара) FROM <Исходная структура>, если нужно условие по товарам - добавляем соответственно и его или выбираем SELECT TOP, не суть важно.
2. Создаем курсор (SELECT, если нужны номера прайсов с N по M - добавляем условие в этот SELECT) с несовпадающими Price_id (номер прайса), последовательно (FETCH) перебираем, формируем динамический запрос ALTER TABLE <выборка> добавляем поля с названиями Price_id (номер прайса)
Все это в Фоксе делается тремя командами.
&& создаем таблицу с описанием структуры итоговой таблицы
Select Distinct ;
price_id as Field_Name  , ;
"N" as Field_Type       , ;
10  as Field_Len        , ;
 2  as Field_Dec          ;
Into table Result_structure From <Source> ;
Where <условие для Price_ID> 

&& добавляем строку для поля Tov_ID
Insert into Result_structure (Field_name, Field_type, Field_Len) ;
Values ("Tov_ID", "С", 10) 

&& создаем итоговую таблицу
Create Result_Table from Table_structure 

Flare
3. Создаем курсор где делаем SELECT SUM Price_cn (цена прайса) FROM <Исходная структура> GROUP BY Tov_id (код товара), перебираем, формируем динамический запрос и выполняем 'UPDATE <выборка> SET'+@Price_id (номер прайса)=значение суммы по коду товара
Заполнение итоговой таблицы - примерно аналогично.

Есть варианты оптимальнее?
29 июл 05, 17:54    [1749087]     Ответить | Цитировать Сообщить модератору
 Re: (C#) Интересно, хорошо это или плохо...  [new]
Redrik
Member

Откуда:
Сообщений: 808
ЛехаМ
Этот топик и еще одни, про тот как тяжело устроиться программистом на VFP за достойный деньги - просто от беспомощности

Леха! Весь мессидж - полный бред, а цитата - особенно!!!

luser
...будуЮщее...

И после этого Вы претендуете на "высокоучёные" рассуждения? :-)))

Угомонитесь, мальчишки! Достали! :-(
Есть разные задачи и для их решения есть разные инструменты!
ВСЁ!
29 июл 05, 17:59    [1749104]     Ответить | Цитировать Сообщить модератору
 Re: (C#) Интересно, хорошо это или плохо...  [new]
кисаВ
Guest
2Redrik
а у них у одного песочница глубже ....
а у другого сторонних игрушек больше
29 июл 05, 18:21    [1749158]     Ответить | Цитировать Сообщить модератору
 Re: (C#) Интересно, хорошо это или плохо...  [new]
luser
Member [заблокирован]

Откуда: Пердыщево
Сообщений: 1246
автор
ЛехаМ
Этот топик и еще одни, про тот как тяжело устроиться программистом на VFP за достойный деньги - просто от беспомощности

Леха! Весь мессидж - полный бред, а цитата - особенно!!!

luser
...будуЮщее...

И после этого Вы претендуете на "высокоучёные" рассуждения? :-)))

Угомонитесь, мальчишки! Достали! :-(
Есть разные задачи и для их решения есть разные инструменты!
ВСЁ!


Я считаю, что не стоит обращать внимания на описки. Ты же не на экзамене по русскому языку средней школы ( хотя очень похоже что именно оттуда), человек дело говорит.
29 июл 05, 18:24    [1749172]     Ответить | Цитировать Сообщить модератору
 Re: (C#) Интересно, хорошо это или плохо...  [new]
luser
Member [заблокирован]

Откуда: Пердыщево
Сообщений: 1246
то Sergey Ch:
А без адаптера, слабо ? Ты же сам на меня орал, что работать из под фокса с нетом - это изврат
29 июл 05, 18:27    [1749182]     Ответить | Цитировать Сообщить модератору
 Re: (C#) Интересно, хорошо это или плохо...  [new]
luser
Member [заблокирован]

Откуда: Пердыщево
Сообщений: 1246
К тому же пишешь на ASP.NET + VFP ну молодец - молодец. Говоришь одно, а сам давно просек, что неплохо бы следовать моде
Гей ? Фокспрошники, берите пример с вашего командира И да прибудет с вами Кен Леви , до тех пор пока его политика не приведет вас к вечному программированию на VFP за 300 юаней. Сопровожденцам и этого хватит
29 июл 05, 18:37    [1749206]     Ответить | Цитировать Сообщить модератору
 Re: (C#) Интересно, хорошо это или плохо...  [new]
Redrik
Member

Откуда:
Сообщений: 808
Хм... 8-|
Лады... Буду знать на будуЮщее... :-(

P.S. Смехотворно... (с)...
30 июл 05, 11:16    [1749719]     Ответить | Цитировать Сообщить модератору
 Re: (C#) Интересно, хорошо это или плохо...  [new]
FoxProHater
Guest
Эпиграф: © В.С. Высоцкий
"Эх, жаль, что не роняли вам
на череп утюгов..."

Для начала о "выразительности" кода:
1024
на фокспре:

cn1=sqlstringconnect("driver=sqlserver...
cn2=sqlstringconnect("driver=oracle...
sqlexec(cn1,"select ... ",t1)
sqlexec(cn2,"select ... ",t2)
select ... from t1 join t2 on t1.tabnum=t2.tabnum ...

всё

код на с-диез?


Благоволите:
...
SqlDataAdapter da1 = new SqlDataAdapter("select ...","connection string ...");
OraDataAdapter da2 = new OraDataAdapter("select ...","connection string ...");
DataSet ds1 = new DataSet();
ds1.Fill(da1,"t1");
ds1.Fill(da2,"t2");
ds1.Relations.Add("tabnumTOtabnum"
                     ,ds1.Tables["t1"].Columns["tabnum"]
                     ,ds1.Tables["t2"].Columns["tabnum"]);
все...
   // прямых select-oв с join-нами далее никто не обещает,
   // но существующая связь вполне сгодится для использования 
   // в любой объектной модели данных (к форме типа master-detail привязать, например, как 2 байта переслать).

А теперь, по поводу "мощи", "простоты", "объектной ориентированности" и пр. т.н. "достоинств" FoxPro, о которых тут так долго "твердили большевики"...
Я работаю с VFP уже больше 7-ми лет, т.к. работодатели за эти 7 лет такие попадались, которым, как тут упоминалось в одном правильном посте - похрен на чем проекты программируются, лишь бы они работали и пользу приносили.
А начальники вот были совсем не такие, а как раз из "большевиков", начинали все поголовно с FPD, Clipper, и пр. xBase. Вот и виндовые проекты (по "правильной" КС-технологии) предпочитали делать на VFP, а чего бы и нет?
Оно же все - "до боли знакомое", "родное", "на горшке высиженное"...
Только вот мне, лично, VFP никогда не нравился, хоть и узнал я его за 7 лет достаточно неплохо (ИМХО)...
Но, чем больше узнавал, тем больше ненавидел, т.к. "узнавать" чаще всего приходилось не о чем-то хорошем, новом, приятном и облегчающем жизнь программеру, а об очередных "ограничениях", "накладнках", "нестыковках", "глюках", "подводных камнях" и пр. мутатени, которую приходилось в реальных проектах "объезжать на кривой козе" ценой 1-й,2-х недель непрерывного дебаггинга и выдумывания "обходных путей" или - забивать на хорошие идеи (вполне реализуемые, кстати, в других языках/платформах), т.к. VFP это оказалось "не по зубам".
Наверняка, у каждого "большевика", выступающего в этом треде в поддержку VFP имеется своя коллекция таких "скелетов в шкафу"...
Чтобы не быть голословным, вот - привожу первое, что пришло в голову по своему опыту (просто сохраните как файл и выполните):
PUBLIC oform1

oform1=NEWOBJECT("form1")
oform1.Show
RETURN

DEFINE CLASS form1 AS form

	DoCreate = .T.
	Caption = [Забавные глюки и не только]
	AutoCenter = .T.
	Width = 640
	Height = 480
	Name = "f1"

	ADD OBJECT lbl1 AS label WITH ;
		Top = 250, ;
		Left = 0, ;
		Width = 640, ;
		Height = 20, ;
		Name = "lbl1", ;
		Caption = "И в завершение шоу - сделайте дабл-клик на форме, чтобы узнать - как FoxPro умеет работать с MS-SQL-Server..."

	ADD OBJECT pf1 AS pageframe WITH ;
		ErasePage = .T., ;
		PageCount = 3, ;
		Top = 12, ;
		Left = 12, ;
		Width = 640, ;
		Height = 233, ;
		Name = "pf1", ;
		Page1.Caption = "А теперь дабл-клик сюда, чтобы узнать про грид:", ;
		Page1.Name = "Page1", ;
		Page2.Caption = "Щелкните сюда, чтобы узнать где дерево:", ;
		Page2.Name = "Page2", ;
		Page3.Caption = "Page3", ;
		Page3.Name = "Page3"

	PROCEDURE Init
		this.pf1.removeobject([Page3])
		messagebox([FoxPro считает, что да - существует:] + chr(13) + chr(10) ;
					+ [pemstat(this.pf1,"Page3",3) = ] + pemstat(this.pf1,[Page3],3) + chr(13) + chr(10) ;
					+ [pemstat(this.pf1,"Page3",5) = ] + trans(pemstat(this.pf1,[Page3],5)) + chr(13) + chr(10) ;
					+ [type("this.pf1.Page3") = ] + type("this.pf1.Page3") + chr(13) + chr(10) ;
					+ [vartype(this.pf1.Page3) = ] + vartype(this.pf1.Page3) + chr(13) + chr(10) ;
					+ [А мы же ее только что вроде бы удалили!?] ;
				,[Как вы считаете - страница Page3 существует?])
		this.pf1.page1.AddObject([g1],[gridHelper])
		this.pf1.page2.AddObject([t1],[treeHelper])
	ENDPROC

	PROCEDURE DblClick
		=sqlsetprop(0,[DispLogin],1)
		con1 = sqlconnect()
		if con1 > 0
			=sqlexec(con1,"select 'Что видим?' raiserror('Нечто странное... Где же наше [%s]?',16,2,'Что видим')")
			=aerror(ar1)
			messagebox(ar1[1,2] + chr(13) + chr(10) ;
					+ NVL(ar1[1,3],[]) + chr(13) + chr(10) ;
					+ [^^^^ обычно тут пишут сообщение от raiserror-a... (как в следующем вызове)] 	)
			=sqlexec(con1,"raiserror('%s? А то, что просили...',16,2,'Что видим')")
			=aerror(ar1)
			messagebox(ar1[1,2] + chr(13) + chr(10) ;
					+ NVL(ar1[1,3],[]) + chr(13) + chr(10) ;
					+ [^^^^ а вот и оно, родное...] 	)
		endif
		sqldisconnect(0)
	ENDPROC

	PROCEDURE pf1.page1.DblClick
		messagebox([FoxPro считает, что у грида на этой странице - нет столбцов:] + chr(13) + chr(10) ;
					+ [this.g1.ColumnCount = ] + trans(this.g1.ColumnCount) + chr(13) + chr(10) ;
					+ [А мы же вроде бы 2 видим собственными глазами!?] ;
				,[Как вы считаете - сколько столбцов у грида на этой странице?])
	ENDPROC

ENDDEFINE

DEFINE CLASS GridHelper AS Grid

	Visible = .T.

	PROCEDURE Init
		this.AddColumn(1)
		this.AddColumn(2)
		this.width = this.parent.parent.Pagewidth
		this.height = this.parent.parent.Pageheight
	ENDPROC

ENDDEFINE

DEFINE CLASS TreeHelper AS OLECONTROL

	OleClass = "MSComctlLib.TreeCtrl.2"
	Visible = .T.

	PROCEDURE Init
		this.object.Nodes.Add(,,,[На какой странице по вашему изображено это "дерево"?])
		this.object.Nodes.Add(1,4,,[По-моему FoxPro считает, что на первой...])
		this.object.Nodes.Add(2,4,,[Хотя вставляли кодом мы его явно во вторую, не так ли?])
		this.object.Nodes(1).Expanded = .T.
		this.object.Nodes(2).Expanded = .T.
		this.object.Nodes(3).Expanded = .T.
		this.width = this.parent.parent.Pagewidth
		this.height = this.parent.parent.Pageheight
	ENDPROC

ENDDEFINE

З.Ы. а .NET Framework и C#, как ни крути, кроме того, что они не тащат за собой мега-тонны старых глюков, оставленных для "обратной совместимости", так еще и сами по себе являются красивыми и стройными с точки зрения "эстетики" кода, если хотите (а "болезни роста" все, которые "большевики" тут так рьяно перечисляли, проходят, это все - очень хорошо лечится временем и деньгами, чего у мелко-мягких не занимать).

З.З.Ы. кстати, самый главный "козырь" в руках .NET-ненавистников - якобы "тежеловесность" .NET Framework-а и невозможность запускать его приложения под "мало-бюджетными" тачками... , признаюсь по секрету, я все свои "эксперименты" с .NET делаю практически дома (на работе - сплошной VFP если помните), на тачке ровно 8-милетней давности, Celeron-MMX-466Mhz-256Mb/RAM, и никаких проблем чес-слово не испытываю, правда, VisualStudio не пользуюсь, компилю все из командной строки или использую AlintexScript для динамической компиляции "на лету" голых исходников и выполнения в его хостинге. Все жужжитъ только так...
30 июл 05, 23:20    [1750082]     Ответить | Цитировать Сообщить модератору
 Re: (C#) Интересно, хорошо это или плохо...  [new]
Диченка
Member

Откуда: ИТ-Олимп, 58.1-летний супермен
Сообщений: 3989
FoxProHater
Я работаю с VFP уже больше 7-ми лет


Ну раз ты у нас такой опытный человечек, может быть порадуешь аудиторию старых фокспрошных пердунов своими нетленками, написанными за семь лет ненависти ? Желательно с описанием функционала и скриншотами. А то у нас тут целая когорта "опытных" экс-фокспрошников, которые как оказывается гланды вырезают через анальное отверстие и дальше использования визардов в использовании фокса не продвигались. Может быть ты и есть тот самый wizard-man ? Может быть твои тяжкие проблемы с фоксом - на самом деле являются побочными явлениями ошибок твоего ДНК ? А может ты еще покажешь в догонку серьезную суперсистему, написанную на сишарпе ? Показывай, не стесняйся. За свои слова нужно отвечать, иначе тебя всерьез нельзя воспринимать.

FoxProHater
кстати, самый главный "козырь" в руках .NET-ненавистников - якобы "тежеловесность" .NET Framework-а и невозможность запускать его приложения под "мало-бюджетными" тачками... , признаюсь по секрету, я все свои "эксперименты" с .NET делаю практически дома (на работе - сплошной VFP если помните), на тачке ровно 8-милетней давности, Celeron-MMX-466Mhz-256Mb/RAM, и никаких проблем чес-слово не испытываю, правда, VisualStudio не пользуюсь, компилю все из командной строки или использую AlintexScript для динамической компиляции "на лету" голых исходников и выполнения в его хостинге. Все жужжитъ только так...



Ну насмешил. Ну повеселил. Т.е. ты считаешь что по твоим "экспериментам" на домашнем компьютере ты можешь сделать далеко идущие выводы по работе под .Net большинства пользователей на серьезных продуктах масштаба предприятия ? Да что вы говорите, уважаемый! Все люди разные, а не из одного инкубатора, для кого-то и черепаха покажется быстрее феррари. И что ты там у себя на домашнем компьютере запускал ? Калькулятор под .Net ? Сомневаюсь, что у тебя за душой есть что-то серьезное на си шарпе. Серьезные вещи из командной строки не пишутся. Ты запусти что-нибудь простенькое, написанное под дот нет. Типа Microsoft Small Business Accounting 2006, написанный даже не тобой, а профессионалами из майкрофофта, до квалификации которых тебе как до Китая раком. Так вот, на конфигурации Atlon 1800+ 756 mb ram тормозит так, будто бы во сне мочалку жует. Вот тебе и простенькая учетная системка для маленьких организаций. Страшно подумать, что будет при многопользовательской софтине юзеров эдак на сто. Ну и пусть тормозит, зато у нас рюшечек полный вагон и супер-пупер-платформа .Net! И язык такой стройный, как тополь! Так вот, уважаемый ты наш хейтер. Юзерам глубоко насрать на ваши сишарповские рюшечки и стройность кода. Юзеру в первую очередь нужна быстрота и удобство интерфейса. Какой бы ты стройный код не привел, врожденные тормоза твоей суперплатформы поставят крест на всех твоих трудах.
31 июл 05, 00:30    [1750120]     Ответить | Цитировать Сообщить модератору
 Re: (C#) Интересно, хорошо это или плохо...  [new]
Igor Korolyov
Member

Откуда: Гомель, Беларусь
Сообщений: 2512

Hi Guest_1!

> Таких клиентов можно написать и на других языках.

Блин, ну с этим кто-то спорит? Да можно - но вот то что ты УТВЕРЖДАЕШЬ что
"VFP в этом случае не самый удобный" - вот это либо провокация (т.к. НИКАКИХ
аргументов ты не приводишь), либо ты просто слабо себе представляешь что
такое VFP и что на нём можно сделать.

> В серверных СУБД для работы с индексами(создание, пересоздание) не
> требуется exclusive доступ.

1) Смотря какие СУБД
2) Ну даже если и не требуется, то тормозит вся система пока индекс
пересоздаётся очень конкретно. Причём даже не какая-то там
"самодельная" типа MySQL (с которой и взять то нечего - энтузиасты делают и
конечо они делают то что им нужно в первую очередь), а вполне дорогие Oracle
8i на выделенных серверах (причём UNIX-ах а не Win).

> Индексы могут присутствовать или нет но система будет работать.

Для VFP - аналогично. Если ты не закладывался на SEEK() то от отсутствия
индекса лишь производительность упадёт и всё...

> Сорри не очень показательный пример взял.

Тогда уж ПОЛНЫЙ пример приводи - что такое есть класс test, и как так "по
особенному" он должен инициализироваться в зависимости от указанных
параметров. В фоксе это будет даже короче описано - в смысле описание класса
с конструктором принимающим разнотипные параметры.

> Я ничего себе в заслугу не ставил и я не пользуюсь краденными
> компонентами, следите за моими сообщениям, я ответил на утверждение что в
> фоксе "уже есть все компоненты для работы".

А что их нету? Они есть и их хватает для подавляющего большинства решаемых
задач. Когда же их не хватает, или имеющиеся не устраивают - то можно найти
сторонние - т.е. АБСОЛЮТНО точно такая-же ситуация как и в других
современных языках.

> Все однако сводится к тому что на VFP больше пишут клиентов к другим БД.

Опять голословные утверждения. Может быть ты представитель крупной
аналитической компании, и проводил сравнительный анализ большого количества
написанных на VFP систем (не менее тысячи) и можешь привести статистику?
Иначе это можно расценивать как ложь.
Ради интереса проведи статистический аналих вопросов хотя-бы на данном
форуме - потом можешь хоть с некоторой долей уверенности говорить о
предмете.

> Я ничего не рекламирую, я просто сравниваю.

Твоё самое первое сообщение в этой ветке, и второе - это во-первых неправда
(то что ты там говоришь "взял от С# ... нормальных языков" - это априори
подразумевает что VFP "ненормальный") - половина из перечисленного было ещё
в VFP3 - выпущенном задолго до того как MS придумало слово NET - остальное
как максимум в VFP8 - НИЧЕГО из перечисленного тобой не является
нововведением VFP9.

>> Вообще-то у String в NET 1.1 нету метода Parse,
> Есть.

Тогда ПОЛНЫЙ пример приводи. Который можно вставить в какой-нить метод и
исполнить - ибо если делать s как String - то получаем

'string' does not contain a definition for 'Parse'

У других же встроенных классов нету метода Trim...

> По моему первый вариант читабельнее.

Это очень весомый аргумент конечно :) Можешь считать что я его повторил,
заменив "первый" на "второй" :)

> Не сказал бы что тот же Interbase жрет больше ресурсов чем VFP.

Он ставит свой сервис (т.е. висит в памяти ПОСТОЯННО в отличие от фокса).
Имеет какие-то неприятные особенности реализации кэширования записи в файл
базы при остановке/перезапуске сервиса (или просто клиент написан криво -
пользуюсь я одной приблудой на этом движке) - от чего у меня постоянно
пропадает содержимое memo-полей (или как их там правильно называют в FB) в
последней добавленной записи, а содержимое других полей (НЕСТАБИЛЬНО! Т.е.
раз на раз не приходится) возвращается к состоянию "до редактирования". Т.е.
похоже на то как будто последняя транзакция не записывается в базу. Работает
всё ессно локально - т.е. сервер на том-же компе.

И после этого ты будешь продолжать утверждать что VFP плохая СУБД а все
остальные гораздо лучше???

> Ну пара тысяч записей это немного. Я думаю в VFP используются тоже не
> реляционные команды

Отчего же нет - цикл с INSERT INTO ... на 100000 итераций с локальной DBF
(физический размер записи 512 байт - т.е. около 49Мб данных) отрабатывает за
.... 3,3 секунды (это с закрытием таблицы - т.е. с физической записью всего
кэша на диск - БЕЗ закрытия таблицы - 0,8 секунды)
Покажи мне промышленную СУБД, обеспечивающую хотя-бы такую же скорость
работы.

> Напоследок несколько выводов которые я для себя сделал:

Очень любопытно.

> Каждый кулик свое болото хвалит

А как-же :) И ты в первых рядах таких птичек :) Причём ладно бы ОБОСНОВАННО
хвалил - но нет же - пустая и ничем не подтверждённая демагогия, что очень
печально... Впрочем я и не рассчитывал что: а) профессионал со стороны .NET,
разбирающийся тем не менее в VFP примет участие в данной дискуссии. б)
Кто-то проведёт сравнительное тестирование скажем того-же фокса и C# в плане
написания "типового приложения" - на чём это сделать проще, быстрее,
надёжнее...

> А если серьезно:
> VFP ничем не лучше других языков при работе со сторонними БД.

Лучше. Хотя-бы тем, что он имеет встроенный (локальный) движок обработки
данных - чего лишены С++/Delphi и лишь ЗАЧАТКИ подобного есть в ADO.NET
(методы Select, Compute... объектов DataTable).

> Foxpro как язык морально устарел и изменений не предвидится.

SQL не новее - давай и его выкинем :) Ты можешь предложить ЛУЧШУЮ
альтернативу в плане ЯЗЫКА ОБРАБОТКИ ДАННЫХ? Давай - дерзай, может быть
потомки с благоговением будут изучать твои труда, как сегодня изучают Кодда,
Дейта и прочих основоположников :)

> Код написанный на Foxpro хуже сопровождаем.

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

2 ЛехаМ
Студент? Или просто настолько не представляешь тему, что таки перлы
откалываешь???

> ОБЯЗАН знать как минимум из языков :
> 1 СУБД

Я в глубоком трансе - я никогда не слышал о таком языке как "СУБД"

Ты хоть понимаешь что такое язык (программирования)? Или просто умные слова
из тебя вываливаются, а что они значат ты даже не представляешь?
Хорошо предположим что ты хотел сказать "язык используемый в СУБД" - но
тогда в КАКОЙ СУБД? Их не менее сотни и каждая имеет свой уникальный язык
(иногда не один). Причём они изменяются со временем и от версии к версии -
ты предлагаешь изучить ВСЁ это?

> 2 С++

Ну да, пойди ка ты лучше с такими заявлениями в раздел C# или VB.NET - их
полечи :) Думаю они много лестного тебе скажут :) Хотя тут ты пожалуй
наиболее близок к нормальному требованию (но ОДНОМУ а не в такой адской
куче).

> 3 Одну из систем заточенную под WEB

Пример? Или тут умные слова закончились и ты просто не знаешь что ещё такого
"завернуть".

> 4 Как + системы искуственного интеллекта ( это развивает )

Отлично. Назови тогда нам неучам хотя-бы одну такую систему, и расскажи
насколько же необходимо её изучить, дабы написать скажем банальную
бухгалтерскую задачу, складскую задачу, систему Online заказов (для
web-магазина)... можно продолжать долго. Только не говори что "это
развивает" :) Развивает чтение умных книжек - неважно по какой теме.
Кстати слово "искусственный" не так пишется :)

> Из ОС:
> 1) Win32

1) Это не ОС. OC это Windows 2000 Professional или например Windows 2003
Server (коих тоже как минимум 3 разновидности).
2) Что подразумевается под "знает Win32"? Может нарисовать драйвер для
любого произвольного периферийного устройства? Может написать программу
Hello World на ассемблере с использованием лишь Win32API? Знает какие кнопки
тыкать чтобы запустить дефрагментатор диска, или как установить и запустить
IIS, DHCP сервер, как настроить NAT, как поднять домен?

> 2) Unix- со подобный системы

1) ЗАЧЕМ? Если я хочу сдать на права для управления легковушкой, то ты
заставишь меня покататься на КАМАЗе потому что "это круто, это полезно на
будущее"? И опять таки КАКИЕ знания требуются? Уметь поставить один из
распространённых дистрибутивов Linux (которые кстати не сложнее чем Windows
поставить)? Или уметь скомпилировать минимальное ядро для системы грузящейся
по сети на бездисковую станцию?
Может быть просто хватит человека владеющего английским со словарём и
способным найти и прочитать нужный HowTo?

> Ну уж если вы програмируете по Win32, то
> СOM | DCOM - обязательно.

Особенно учитывая что DCOM как технология уже минимум 2 поколения как
мёртв - его сменил (расширил) сначала MTS, потом COM+, сравнительно недавно
WebServices и сегодня MS продвигает .Net remoting.
COM как таковой MS тоже постепенно вытесняет новыми .NET средствами
интеграции (несовместимыми с COM кстати по многим параметрам).

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

> 3) Вы же профессионалы. Основная ваша цель какая ? - заработать деньги.

1) Смешно :)
2) Даже если исходить из постулата что главное это зашибить денег - то
поверь мне знать ВСЁ вышеперечисленное СОВЕРШЕННО необязательно. Достаточно
изучить слегка скажем конфигуратор 1С и вперёд - за длинным рублём...

> И конечно же всех устроить если будут платить в соответствии с адекватными
> знаниями. Рынок не требует программистов на VFP, требует С#.

Потому что формируют его не профессионалы, а тупые "манагеры" которые в
глянцевых журналах начитались умных слов, и теперь это из них прёт во все
стороны :)
А нормальному программисту приходится нагло врать - что он знает и Win32 на
уровне системного программиста и системного администратора (и может поднять
мультидоменную сеть на пару тысяч компов за пару часов), и на С++ способен
написать как простой клиент к MS SQL так и свою собственную ОС, и SQL он
знает на отлично (как собственно язык во всех возможных диалектах, так и
может администрировать любой сервер какой только вылезет из воспалённого
воображения "манагера"), и любые ER системы ему как родные, и в TCP/IP (под
которым почему-то internet понимают - видать дальше фантазия не работает) он
гуру, и вообще он мастер на все руки :)

> Хочу еще сказать, что все заявления типа <приходит программист на VFP и
> все делает сам начиная от обследования предметной области , формализации
> бизнес процессов, до написания кода>, никак не укладыветься в решений
> сложных задачь. А если и будет он это делать, 1 (герой), это займет
> слишком много челокочасов. Ни одному работодателю это не нужно.

Зато им нужен весь твой вышеперечисленный список :) Спрашивается ЗАЧЕМ?

2 All
Очень последовательное и здравое изложение позиции касательно .NET приведено
тут: http://weblogs.foxite.com/andykramek
Практически на 100% согласен с автором.

Posted via ActualForum NNTP Server 1.2

31 июл 05, 01:35    [1750139]     Ответить | Цитировать Сообщить модератору
 Re: (C#) Интересно, хорошо это или плохо...  [new]
FoxProHater
Guest
2 Диченка etc (у кого наибольший % сообщений в "ПТ")
Эвона как... значить "зацепило" старых пердунов-то...
Значить - есть и у них свои "скелеты в шкафу", только признаться прилюдно они постеснялись...
Что ж вы сразу про "супер-проекты" на C# погнали спрашивать? Я про свои "супер-проекты" не писал нигде, я говорил, что 7 лет занимаюсь реальными проектами на FoxPro, а "супер" они или "не супер" - решать не мне... (хотя мое личное мнение - "куча говна" эти проекты, хоть и приходится ковыряться в них за деньги).
Про 1-ну несчастную форму из 3-х контролов и 108-ми строчек кода на FoxPro, напичкованную глюками по самое не могу - нечего возразить?
Это хорошо, это радует, такую реакцию я давно уже наблюдаю у "дельфинов", когда им говорят в разных форумах, что "Дельфи умер с появлением C#, а с появлением LongHorn умрет и Win32-API программирование".

"Лузеры всех стран - соединяйтесь!"

З.Ы. а насчет того, что я перепутал в примере кода на C# вызов метода Fill() не у DataAdapter-a, а у DataSet-a... "фигня война - главное маневры", в реальном приложении об этом же сразу бы компиллятор сообщил, а вот FoxPro от этого лучше уже не станет, даже если я себя признаю полным лохом в C#? FoxPro и пр. фигне... "объективная реальность, данная нам в ощущениях".
31 июл 05, 02:39    [1750156]     Ответить | Цитировать Сообщить модератору
 Re: (C#) Интересно, хорошо это или плохо...  [new]
Igor Korolyov
Member

Откуда: Гомель, Беларусь
Сообщений: 2512

Hi FoxProHater!

ГЛАВНОЕ. Посиди ка ты батенька сначала 7 лет на NET и если ты там не найдёшь
НЕ МЕНЬШЕ глюков, кривости, недокументированных фишек и прочих
програмистских радостей - тогда МОЖЕШЬ поносить VFP почём свет стоит :)
Только этого конечно не будет. Опытный программист отличается от неопытного
тем, что он "чувствует" опасные места, и просто НЕ ЛЕЗЕТ туда, где можно
ожидать "засады". Думаю что я знаю не меньше твоего всяких "неприятных"
фишек фокса, однако мне почему-то это не сильно мешает. Кстати ради интереса
почитай официальный список ошибок, исправленных в VFP9 - естественно что
осталось их там не меньше! Причём то что ты ниже приводишь - это сущие
пустяки по сравнению с тем что ДЕЙСТВИТЕЛЬНО есть "неправильного" в текущей
версии. Для примера возьмём проблему с копированием CP=866 таблиц с
memo-полями в CP=1251 таблицы (или наоборот).

> // прямых select-oв с join-нами далее никто не обещает,
> // но существующая связь вполне сгодится для использования
> // в любой объектной модели данных (к форме типа master-detail
> привязать, например, как 2 байта переслать).

Это точно что не обещает. И ещё более точно ,что если нам нужно сделать
какую-то обработку, то придётся писать "замечательные" во всех отношениях
циклы - назад в FPD? Но даже там были возможности обойтись без циклов -
следовательно на сегодняшний день, по своей функциональности ADO.NET не
дотягивает даже до уровня FPD. Ну что-ж конечно не сразу всё делается -
возможно в NET 2.0 или 3.0, а может быть 9.0 всё будет значительно лучше :)
В фоксе тоже не сразу всё появлялось...

> Только вот мне, лично, VFP никогда не нравился, хоть и узнал я его за 7
> лет достаточно неплохо (ИМХО)...

Боже мой, мазохист нашёлся :) Что так плохо с работой, что приходится
терпеть ненавистную среду? И это при том что тут кричат на каждом углу как
мало работы для VFP разработчика и как много для NET :) Что-же всё-таки
удерживает?

> Наверняка, у каждого "большевика", выступающего в этом треде в поддержку
> VFP имеется своя коллекция таких "скелетов в шкафу"...

Наверняка у каждого, серьёзно занимающегося разработкой на C# или VB.NET или
любом другом языке этого добра не меньше...

> Чтобы не быть голословным, вот - привожу первое, что пришло в голову по
> своему опыту

1) Ты понимаешь разницу между динамически создаваемыми объектами (которые
добавляй/убирай пока не надоест) и статически описанными членами класса?
Может быть ты знаешь как в NET из объекта некоторого КЛАССА в рантайме
выкинуть member? Что мы получим в итоге? В лучшем случае NULL ссылку по
соответствующему адресу - адрес же как таковой, никуда не денется. И
закончится обращение туда чем? Правильно - вышибом программы по ошибке
чтения памяти... Так вот, когда ты написал ADD OBJECT ... PageCount=3 - ты
создал СТАТИЧЕСКИ 3 страницы - их можно убить, но полностью следы конечно не
убрать... Создай те-же 3 страницы в PageFrame.Init (причём неважно по
PageCount = 3 или по This.AddObject("Page1","Page")) - посмтори как
изменится поведение. Учти что обращение к Page3 (кроме PEMSTATUS(... 5) и
TYPE()) уже будет вызывать ошибку.

2) "Где дерево" - а нефиг писать Visible = .T. в определении класса! Читаем
хелп:
When you use AddObject to add an object to a container, the object's Visible
property is set to False (.F.) so you can set the properties of the object
without any awkward visual effects as the object's appearance changes.
Нам конечно на это плевать, мы пойдём своим путём, мы конечно умнее, RTFM
это для слабаков - ну так и получай по уму :) Пускай Visible = .F. при
AddObject борется с Visible = .T. в самом описании класса :) А мы
понаблюдаем за этой битвой...

3) "Колонки в гриде" - ты считаешь нормальным оставлять RecordSource пустым
в комбинации с настройкой на "автосоздание" колонок (ColumnCount = -1)? Как
часто встречается ИМЕННО такая комбинация настроек в реальных программах? Ну
если твоей "ненависти" надо за что-то цепляться, то считай это глюком
конечно :) Я же считаю что это просто недокументированная особенность - типа
того что размеры формы не изменяются если её "разворачивать" в невидимом
состоянии...

4) насчёт MS-SQL - не могу тут протестировать, но у меня возникают смутные
сомнения
- а допустим ли ТАКОЙ синтаксис в SELECT команде? не нужно ли убрать первый
строковый литерал?
- а должен ли вообще RaiseError отрабатывать "изнутри" SELECT-а
- а вина ли это фокса вообще, или может кривого ODBC драйвера? Как себя
ведут в таком случае ДРУГИЕ клиенты работающие через ODBC драйвер?

> так еще и сами по себе являются красивыми и стройными с точки зрения
> "эстетики" кода

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

> "болезни роста" ... проходят

Когда пройдут, и когда таки сделают НОРМАЛЬНЫЙ инстурмент из NET-а, на
котором можно будет хотя-бы НЕ НАМНОГО СЛОЖНЕЕ и НЕ НАМНОГО МЕДЛЕННЕЕ писать
программы ориентированные на работу с базами данных - тогда можно будет
говорить про переход на NET - сегодня это будет сродни переходу с надёжного,
проверенного, но увы "старенького" турбо-винтового самолёта на
сверхсовременный реактивный - правда он часто не долетает до места
назначения и керосина жрёт в 5 раз больше... Ну да "настоящих джигитов" это
конечно не смущает - "болезни роста" :)

> самый главный "козырь" в руках .NET-ненавистников - якобы "тежеловесность"
> .NET Framework-а

Ты в данной сфере теоретик, я практик - у нас на конторе ВСЕ
NET-разработчики сидят на "на порядок" более мощной технике нежели VFP
разработчики - при этом по объёму работ и приносимой ими пользе (в денежном
выражении) они пока (очень надеюсь что это временно) заметно отстают :)
Заметь - это не блажь - это насущная необходимость.

Насчёт рантайма - ну использовали они один компонент (меню, панели,
управление окнами и т.п.) выглядит конечно красиво... (хотя надоедает
быстро, и все эти "лишние" панели быстро убираются) правда запускаю я 10
разных форм, максимум 15 - и даже на сравнительно неплохой машине (не чета
твоему стенду конечно :) ) мы наблюдаем как прорисовывается простое Popup
меню... 10 секунд, как идёт переключение между окнами (БЕЗ какого либо
функционала - т.е. ничего нигде не "перезапрашивается" просто переключаемся
с одного открытого на другое - т.е. банальная перерисовка) - 15-20 секунд.
Не ну конечно это компонент кривой, кто-ж спорит :) Запусти на фоксе 50 окон
и попереключайся между ними...
И эти люди ещё упрекали меня, что когда "разделяемый" между всеми формами
тулбар обновляется (при активации/деактивации формы), то он "подмаргивает"
(обычно менее 1 секунды - и там есть таки кой какая нехорошая логика и кода
исполняется в сумме за пару тысяч строк) :)

> правда, VisualStudio не пользуюсь

Ну да, конечно :) Это получается жутко RAD-остная разработка - даже в FPD
были свои визуальные дизайнеры и лишь самые отчаянные (или
сверх-профессионалы) писали все эти SAY/GET ручками, вычерчивая макеты форм
на бумаге, или держа их в голове :) Ты предлагаешь снова пойти по этому
пути?

Posted via ActualForum NNTP Server 1.2

31 июл 05, 03:41    [1750160]     Ответить | Цитировать Сообщить модератору
 Re: (C#) Интересно, хорошо это или плохо...  [new]
Сергей, Киев
Member

Откуда:
Сообщений: 30
FoxProHater
Про 1-ну несчастную форму из 3-х контролов и 108-ми строчек кода на FoxPro, напичкованную глюками по самое не могу - нечего возразить?

Совершенно не понятно – ЗАЧЕМ в определении класса ДОБАВЛЯТЬ объект, чтобы его в Init УДАЛЯТЬ (ну разве, что по пьяне). Да…, до такого додуматься, действительно нужно иметь как минимум 7 лет стажа работы с Foxом.
Это ж как нужно спроектировать форму, что бы определить в ней сразу 3 страницы, а потом спохватиться и в Init решить, что необходимо оказывается только 2.
Очевидно, разработчики Foxa не учли, такую работу с ним “особо продвинутых программистов”. И почему это, я его – кувалдой, а он сразу взял и согнулся?
Вы, что так работаете с формами в своих реальных проектах ?
Если задаться ИМЕННО такой целью, то я думаю, и .NET чем- то подобным, можно на поставить «на колени».
31 июл 05, 05:08    [1750168]     Ответить | Цитировать Сообщить модератору
 Re: (C#) Интересно, хорошо это или плохо...  [new]
Сергей, Киев
Member

Откуда:
Сообщений: 30
FoxProHater
"объективная реальность, данная нам в ощущениях".

Хотелось бы знать, Вы все свои продукты, написанные на чем угодно, пусть даже на C#, тестируете на исключения, которые нарушают здравый смысл работы с приложением, и могут возникнуть в больном воображении хотя бы 1 из 100 пользователей Вашего приложения? До абсурда можно довести все, что угодно!
“Один дурак может задать такой вопрос, что и сто умных не ответят” (русская народная пословица.)
31 июл 05, 05:56    [1750177]     Ответить | Цитировать Сообщить модератору
 Re: (C#) Интересно, хорошо это или плохо...  [new]
FoxProHater
Guest
Igor Korolyov

Hi FoxProHater!

И вам, с добрым утром, коллега, хоть я и понимаю, что ваша "вежливость" не более, чем "автоподстановка" вашего NNTP-клиента, но все же - приятнее общаться с живым человеком, чем с роботом.
Igor Korolyov

...Опытный программист отличается от неопытного
тем, что он "чувствует" опасные места, и просто НЕ ЛЕЗЕТ туда, где можно
ожидать "засады"...

"Опытными программистами" с предустановленным "чувствительным очком", к сожалению, не всех сподобил господь рождаться сразу в готовом виде (как, например, Диченку с Предводителем плошек), обычные нормальные люди, как правило, рождаются голыми и беззубыми, и только на собственном опыте учатся всему, что умеют или не умеют в этой жизни.
Igor Korolyov

Думаю что я знаю не меньше твоего всяких "неприятных"
фишек фокса, однако мне почему-то это не сильно мешает.

Ответ простой, ИМХО, потому что ничего другого ты (раз уж мы выпили на брудершафт) не знаешь и знать не хочешь. Закономерная позиция "большевиков" от FoxPro. Особенно, если в публичных обсуждениях "достоинств" FoxPro последовательно скрывать свое знание о его реальных "недостатках".
Igor Korolyov

Боже мой, мазохист нашёлся ... Что-же всё-таки
удерживает?

Есть причины, и достаточно серьезные, поверь мне, в качестве аналогии могу привести пример из совкового прошлого, когда люди устраивались непрестижную работу и должны были отработать на ней N лет "за квартиру".
Igor Korolyov

1) Ты понимаешь разницу между динамически создаваемыми объектами (которые
добавляй/убирай пока не надоест) и статически описанными членами класса?

А что, "статически описанные члены класса" в ООП уже стали добавляться в код класса через визуальный редактор форм (я же из него "стырил" текст этой демонстрашки при помощи ClassBrowser-а)? И кто после этого у нас - wizard-man-ы?
Для меня (как и для всех нормальных людей, что-либо понимающих в ООП) - PageFrame это контейнер, на что косвенно указывают его свойства/методы (коллекция Pages, методы AddObject/RemoveObject, свойство PageCount и т.д.), а при явном удалении объекта из контейнера (независимо от "умных" или "глупых" причин такого удаления, привет Сергею из Киева) - никаких "хвостов" от этого объекта оставаться в контейнере не должно (азбучная истина).
Igor Korolyov

Может быть ты знаешь как в NET из объекта некоторого КЛАССА в рантайме
выкинуть member?

Может быть и знаю, но к теме обсуждения это отношения не имеет, т.к. я не мембера выкидываю из класса, а объектную ссылку из коллекции контейнера.
Если в FoxPro все так круто организовано, что невозможно без "интуиции опытного разработчика" отличить одно от другого, то безусловно - цены нет такому средству программирования.
Igor Korolyov

....Учти что обращение к Page3 (кроме PEMSTATUS(... 5) и
TYPE()) уже будет вызывать ошибку.

Мне ошибка не нужна, я именно это и хочу учесть при обращении в странице, которая потенциально может быть удалена из PageFrame (говорю же - проект "куча говна", не я такое придумал/спроектировал), и чтобы избежать этой ошибки я должен убедиться в том, что нужная мне страница присутствует в контейнере, как я должен это сделать когда PEMSTATUS(... 5) и TYPE() не помогают? Циклом перебирать Pages и сравнивать свойство Name с искомым? Как там у тебя: "то придётся писать "замечательные" во всех отношениях циклы - назад в FPD?"?
Igor Korolyov

2) "Где дерево" - а нефиг писать Visible = .T. в определении класса! Читаем
хелп:
When you use AddObject to add an object to a container, the object's Visible
property is set to False (.F.) so you can set the properties of the object
without any awkward visual effects as the object's appearance changes.
Нам конечно на это плевать, мы пойдём своим путём, мы конечно умнее, RTFM
это для слабаков - ну так и получай по уму :) Пускай Visible = .F. при
AddObject борется с Visible = .T. в самом описании класса :) А мы
понаблюдаем за этой битвой...

Я не могу понять, почему "Visible = .F. при AddObject борется с Visible = .T.", зачем им "бороться"? Это что - 2 "конкурирующих" Visible? И почему для FoxPro-шных контролов (Grid, TextBox etc) никакой "борьбы" не наблюдается, и все работает "на ура" без подобных "visual effects as the object's appearance changes". Или это специальное мощное средство FoxPro для "облегчения использования" ActiveX-компонентов?
Igor Korolyov

3) "Колонки в гриде" - ты считаешь нормальным оставлять RecordSource пустым
в комбинации с настройкой на "автосоздание" колонок (ColumnCount = -1)? Как
часто встречается ИМЕННО такая комбинация настроек в реальных программах?

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

4) насчёт MS-SQL - не могу тут протестировать, но у меня возникают смутные
сомнения
- а допустим ли ТАКОЙ синтаксис в SELECT команде? не нужно ли убрать первый
строковый литерал?
- а должен ли вообще RaiseError отрабатывать "изнутри" SELECT-а
- а вина ли это фокса вообще, или может кривого ODBC драйвера? Как себя
ведут в таком случае ДРУГИЕ клиенты работающие через ODBC драйвер?

А вот это уже - "ближе к теме", уважаемый коллега, это уже - показатель твоего т.н. "мастерства", который заслуживает отдельного разбора по пунктам:
Igor Korolyov

- а допустим ли ТАКОЙ синтаксис в SELECT команде? не нужно ли убрать первый строковый литерал?

Такой вопрос открывает в тебе "большого специалиста" по клиент-серверным технологиям ввообще и по T-SQL в частности, лучше бы сразу признался: "извините, не работал я с MS-SQL-Server, все под DBF-ками точу", не позорился бы лишний раз.
Igor Korolyov

- а должен ли вообще RaiseError отрабатывать "изнутри" SELECT-а

Еще один образец понимания сути команд на языке T-SQL (а командишка-то плевая, всего 2 простейших оператора).
Igor Korolyov

- а вина ли это фокса вообще, или может кривого ODBC драйвера? Как себя
ведут в таком случае ДРУГИЕ клиенты работающие через ODBC драйвер?

И тут "прокольчик", ув. "большевик" - как раз "ДРУГИЕ клиенты работающие через ODBC драйвер" обрабатывают это ситуацию "на ура" (например, тот же ADODB.Recordset), но я-то писал не о "других", а о твоих "родных", FoxPro-шных, а ты тут берешь и прямо открытым текстом расписываешься в том, что ничего другого и не знаешь...

Ну, так - спроси у своего "гуру" ВладимираМ - что-нибудь изменилось в этом вопросе со времен VFP5 до времен VFP9? (я лично - сильно сомневаюсь).

З.Ы. а насчет: "официальный список ошибок, исправленных в VFP9 - естественно что осталось их там не меньше" и "у каждого, серьёзно занимающегося разработкой на C# или VB.NET или любом другом языке этого добра не меньше..." - есть разница между "детскими болезнями роста" и "старческими болезнями вырождения", и не чувствовать ее может только слепой/глухой...
31 июл 05, 13:28    [1750250]     Ответить | Цитировать Сообщить модератору
 Re: (C#) Интересно, хорошо это или плохо...  [new]
Sergey Ch
Member

Откуда: Благовещенск
Сообщений: 8873
To: FoxProHater

Мне кажется, что Ваше негативное отношение к FoxPro лежит в плоскости психологической - когда нелюбимая работа ради квартиры... Тут мы Вам увы, помочь ничем не можем... Отмотаете срок, смените работу, все у Вас наладится...

But anyway, good luck!
31 июл 05, 17:17    [1750376]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 5 6 [7] 8 9 10 11 .. 15   вперед  Ctrl
Все форумы / FoxPro, Visual FoxPro Ответить