krulik
Гость
|
|
« : 28-08-2005 07:12 » |
|
До этого писал на Дельфи. Вот решил попробовать эту быстро развивающуюся технологию. Но вот с чего начать не знаю. Вытянул Studiu 2005, .NET Framework 2.0 Software Development Kit (SDK) Beta 2 x86, MS SQL Server 2005 Developer edition. А вот литературы толком нет. Подскажите где можно взяьб литературу, да и счего начинать? Поделитесь опытом
|
|
|
Записан
|
|
|
|
LEON
Гость
|
|
« Ответ #1 : 28-08-2005 14:03 » |
|
Литература есть здесь на сайте в разделе .NET книги Петцольда.
Для RXL, могу еще книжку Троэлсена по Си Шарп залить, для начинающих очень хорошая книга.
|
|
|
Записан
|
|
|
|
krulik
Гость
|
|
« Ответ #2 : 28-08-2005 14:26 » |
|
LEON спасибо за ответ. Куда и когда ты сможешь залить книгу по шарпу? Кое что по НЕТу вот тут накопал ftp://217.73.250.45/uploads/Я конечно извиняюсь но здесь это где? Я про "Литература есть здесь на сайте в разделе .NET книги Петцольда." Через поиск фамилия Петцольд только в этом посте.
|
|
« Последнее редактирование: 28-08-2005 14:40 от krulik »
|
Записан
|
|
|
|
LEON
Гость
|
|
« Ответ #3 : 28-08-2005 17:51 » |
|
|
|
|
Записан
|
|
|
|
RomCom
|
|
« Ответ #4 : 30-01-2006 07:10 » |
|
Я тоже поглядываю в сторону .NET и C# в частности. Так повелось что с самого начала я работал на IDE от Borland, Borland C++ --> Builder C++ --> Delphi 6. На сайте компании прочитал о выходе Delphi 2006 и С#Builder 2006. Может кто-нибудь разъяснить в чем фишка С#Builder 2006, если в Delphi 2006 (2005) тоже есть поддержка C#? По работе меня интересует в основном реализация доступа к реляционным базам данных (на данный момент Interbase), по симу хотелось бы узнать: какие преимущества дает (и дает ли) .NET и C# при работе с ними, по сравнению со старым, добрым Pascal-ем?
|
|
|
Записан
|
R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine
|
|
|
MOPO3
Ай да дэдушка! Вах...
Команда клуба
Offline
Пол:
Холадна аднака!
|
|
« Ответ #5 : 30-01-2006 12:08 » |
|
Может кто-нибудь разъяснить в чем фишка С#Builder 2006, если в Delphi 2006 (2005) тоже есть поддержка C#?
Непонятный какой-то вопрос С#Builder 2006 - это в принципе отдельный продукт, по крайней мере был таковым в версии 1. Имею дома Борланд Девелопер Студио 2006 и туда входит С# Builder 2006 а так же и С++ Builder 2006 Как я понимаю, то в твоём варианте Delphi 2006 - тоже содержит в себе С# Builder 2006 а не "поддержку С#" какие преимущества дает (и дает ли) .NET и C# при работе с ними, по сравнению со старым, добрым Pascal-ем?
ИМХО опасный вопрос Как бы очередная "священная война" не разразилась бы
|
|
« Последнее редактирование: 30-01-2006 12:14 от MOPO3 »
|
Записан
|
MCP, MCAD, MCTS:Win, MCTS:Web
|
|
|
RomCom
|
|
« Ответ #6 : 30-01-2006 13:28 » |
|
Может кто-нибудь разъяснить в чем фишка С#Builder 2006, если в Delphi 2006 (2005) тоже есть поддержка C#?
Непонятный какой-то вопрос С#Builder 2006 - это в принципе отдельный продукт, по крайней мере был таковым в версии 1. Имею дома Борланд Девелопер Студио 2006 и туда входит С# Builder 2006 а так же и С++ Builder 2006 Как я понимаю, то в твоём варианте Delphi 2006 - тоже содержит в себе С# Builder 2006 а не "поддержку С#" Дело в том что у меня пока нет Delphi 2006 (в наш не столичный город софт приходит с большим опозданием и за ним еще побегать надо). По этому мои знания (и ламерерские вопросы ) пока ограничены статьями из инета и во всех них пишется: "Delphi 2006 поддерживает языки Delphi и C#". По этому мне и не понятно зачем нужен С# Builder 2006 отдельно. Предпологаю что я что то не так понял. По этому и прошу разъяснить мне неродивому в чем там собака зарылась. какие преимущества дает (и дает ли) .NET и C# при работе с ними, по сравнению со старым, добрым Pascal-ем?
ИМХО опасный вопрос Как бы очередная "священная война" не разразилась бы Боже упоси Попробую конкретезировать. На данном этапе на мои плечи возложена миссия перехода нашей организации на реляционные базы данных (выбор пал на Interbase). В этой связи предстоит переделка десятка два мелких програм, писаных еще на FoxPro 2.6, и интеграция мелких локальных баз в одну (две) серверных. Сейчас эта задача решается мной на Delphi 6+FibPlus. Но так как работа предстоит еще очень большая хотелось бы минимзировать временные затраты. По симу меня интересует: стоит ли мне обратить свой взор на Delphi 2006 или С# Builder 2006, потратив время на их изучение? Как говорится день потерять, потом за час долететь P.S. Честно признаюсь в .NET и C# я ЛАМЕР и прошу сильно небить за соответствующие вопросы
|
|
|
Записан
|
R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine
|
|
|
MOPO3
Ай да дэдушка! Вах...
Команда клуба
Offline
Пол:
Холадна аднака!
|
|
« Ответ #7 : 30-01-2006 13:47 » |
|
Дело в том что у меня пока нет Delphi 2006 (в наш не столичный город софт приходит с большим опозданием и за ним еще побегать надо). По этому мои знания (и ламерерские вопросы ) пока ограничены статьями из инета и во всех них пишется: "Delphi 2006 поддерживает языки Delphi и C#". По этому мне и не понятно зачем нужен С# Builder 2006 отдельно. Предпологаю что я что то не так понял. По этому и прошу разъяснить мне неродивому в чем там собака зарылась. Да всё просто Ежели есть у тебя Delphi 2006 то отдельно С# Builder 2006 тебе не нужен так как встроен он уже в ИДЕ Дельфи. Боже упоси Попробую конкретезировать. На данном этапе на мои плечи возложена миссия перехода нашей организации на реляционные базы данных (выбор пал на Interbase). В этой связи предстоит переделка десятка два мелких програм, писаных еще на FoxPro 2.6, и интеграция мелких локальных баз в одну (две) серверных. Сейчас эта задача решается мной на Delphi 6+FibPlus. Но так как работа предстоит еще очень большая хотелось бы минимзировать временные затраты. По симу меня интересует: стоит ли мне обратить свой взор на Delphi 2006 или С# Builder 2006, потратив время на их изучение? Как говорится день потерять, потом за час долететь P.S. Честно признаюсь в .NET и C# я ЛАМЕР и прошу сильно небить за соответствующие вопросы Для работы с Interbase из .NET у борланда есть Borland Data Provider (BDP) for the Microsoft.NET FrameworkНасчёт того стоит обращать внимание на .NET или нет, тут твоё дело Лично я на C# уже давненько перешол, и мне он нравится, да и вся платформа .NET тоже. Для работы с базой данных есть хорошая технология ADO.NET. По ней есть прекрасные статьи Alf'а на сайте нашего клуба.
|
|
« Последнее редактирование: 04-12-2007 18:45 от Алексей1153++ »
|
Записан
|
MCP, MCAD, MCTS:Win, MCTS:Web
|
|
|
RomCom
|
|
« Ответ #8 : 31-01-2006 02:34 » |
|
Статьи Alf'а я прочитал и пользуясь случаем хочу сказать спасибо Alf. Надеюсь у Alf'а будет время продолжить эту серию статей. Хотелось бы по подробней узнать об управлении транзакциями в ADO.NET, а так же, хотя бы в общих чертах, о различиях реализации Провайдера Данных для разных баз. Вернемся к нашим баранам тобишь к теме топика. Есть еще несколько вопросов: 1) Львиная доля компов на которые будут ставиться программы имеют среднестатистическую конфигурацию - Pentium 166-200, 64MB ОЗУ, Win98SE. Таких машин достаточно для комфортной работы по технологии .NET (кривизна рук программера приемлемая )? Выборки данных не велики, в среднем не превышают 300-500 записей, в редких случаях пару тысяч. 2) Есть ли различия в реализации C# от MS и Borland? т.е. нужно ли код для Visual Studio (взатый например из статей Alf'а) адаптировать для Delphi 2006? 3) У аббревиатуры C# есть "официальное" произношение? "Си за решеткой" как-то не звучит
|
|
« Последнее редактирование: 04-12-2007 18:45 от Алексей1153++ »
|
Записан
|
R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine
|
|
|
MOPO3
Ай да дэдушка! Вах...
Команда клуба
Offline
Пол:
Холадна аднака!
|
|
« Ответ #9 : 31-01-2006 05:24 » |
|
1) Львиная доля компов на которые будут ставиться программы имеют среднестатистическую конфигурацию - Pentium 166-200, 64MB ОЗУ, Win98SE. Таких машин достаточно для комфортной работы по технологии .NET (кривизна рук программера приемлемая )? Выборки данных не велики, в среднем не превышают 300-500 записей, в редких случаях пару тысяч. Хмм... не знаю тут В принципе я не проверял на таких конфигурациях, но думаю что особенных проблем не будет. 2) Есть ли различия в реализации C# от MS и Borland? т.е. нужно ли код для Visual Studio (взатый например из статей Alf'а) адаптировать для Delphi 2006? Думаю что нет C# есть C# и он жёстко привязан к самой платформе .NET и без неё работать не будет. Отсюда вывод ИМХО что потому как сам фрэймворк детище сугубо микрософта,то реалицация от борланда не будет оличаться ничем Разве что они своих компонентов кучу написали или напишут 3) У аббревиатуры C# есть "официальное" произношение? "Си за решеткой" как-то не звучит Есть официальное произношение Звучит C# как Си Шарп
|
|
« Последнее редактирование: 20-12-2007 17:54 от Алексей1153++ »
|
Записан
|
MCP, MCAD, MCTS:Win, MCTS:Web
|
|
|
MOPO3
Ай да дэдушка! Вах...
Команда клуба
Offline
Пол:
Холадна аднака!
|
|
« Ответ #10 : 31-01-2006 15:57 » |
|
Добрался сегодня до С# Builder 2006. К сожалению, как оказалось, фрэймворк версии 2.0 не поддерживается, а также нет поддержки Compact Framework. А жаль...
|
|
|
Записан
|
MCP, MCAD, MCTS:Win, MCTS:Web
|
|
|
RomCom
|
|
« Ответ #11 : 01-02-2006 03:36 » |
|
Framework 2 не поддерживается только в С# Builder 2006 или вообще всей студией 2006?
|
|
|
Записан
|
R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine
|
|
|
MOPO3
Ай да дэдушка! Вах...
Команда клуба
Offline
Пол:
Холадна аднака!
|
|
« Ответ #12 : 01-02-2006 05:25 » |
|
Framework 2 не поддерживается только в С# Builder 2006 или вообще всей студией 2006?
Вообще всей BDS(Borland Developer Studio). Framework 2 обещают в ближайших апдейтах. Либо если не в апдейте то в следующем релизе Ну ИМХО тебе если для работы с базой, то и Framework 1.1 вполне сгодится. Лично мне больше нравится Windows Forms контрол DataGrid из Framework 1.1 нежели DataGridView из Framework 2 Хотя может я просто привык к DataGrid
|
|
|
Записан
|
MCP, MCAD, MCTS:Win, MCTS:Web
|
|
|
RomCom
|
|
« Ответ #13 : 03-02-2006 09:21 » |
|
Вчера выписал Borland Developer Studio 2006 Architect через инет. Надеюсь родная контора ("Почта России") не сломает мой долгожданный диск. Как получу начну задавать вопросы с новой силой и интуазизмом
|
|
|
Записан
|
R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine
|
|
|
MOPO3
Ай да дэдушка! Вах...
Команда клуба
Offline
Пол:
Холадна аднака!
|
|
« Ответ #14 : 03-02-2006 09:40 » |
|
Как получу начну задавать вопросы с новой силой и интуазизмом Ню ню Посмотрим Кстати сразу предупреждаю что я работаю на MS VS 2005 Хотя борланд под рукой тоже имеется
|
|
|
Записан
|
MCP, MCAD, MCTS:Win, MCTS:Web
|
|
|
xelos
Гость
|
|
« Ответ #15 : 20-02-2006 16:04 » |
|
1) Львиная доля компов на которые будут ставиться программы имеют среднестатистическую конфигурацию - Pentium 166-200, 64MB ОЗУ, Win98SE. Таких машин достаточно для комфортной работы по технологии .NET (кривизна рук программера приемлемая )? Выборки данных не велики, в среднем не превышают 300-500 записей, в редких случаях пару тысяч. Проги написанные на .NET, устанавливал на клиенты Windows2000 и Windows98SE, все без проблем. Програмки с MSJet для MS Access, бд такого же размера. Пользуюсь MS VS 2003. Очень удобным нашел патчик от ms, который позволяет интегрировать Framework в инсталятор программок. Т.е. инсталятор анализирует есть ли на машине .NET и может ли он его установить, в случае необходимости устанавливает платформу и только после пользовательскую прогу.
|
|
|
Записан
|
|
|
|
RomCom
|
|
« Ответ #16 : 24-02-2006 07:37 » |
|
Ура!!! Свершилось!!! Теперь и у меня есть Borland Developer Studio 2006 Architect Сегодня до 7 часов утра сидел разбирался с С#. Впечатления - класс!!! Изучаю и ностальгирую по временам когда писал на С++ Конечно же есть вопросы: 1) Delphi 2006 дает возможность писать проги для .NET на Pascale (в книгах его почему то называют язык Delphi). На ваш счет это оправдано? Есть ли в этом какой то смысл, кроме как перекомпиляция старых проектов под .NET? Будет ли от этого какой то выигрыш? 2) На моей XP-шке при инсталляции не прошла автоматическая регистрация DTE.OLB. пришлось добавлять ручками. Это конечно не сложно, но при создании инсталяшек для будущих программ это наверно придется контролировать? 3) Вопрос по С#. Пробуя свои силы на новом языке, почти сразу уперся в такой момент. У меня есть класс читающий файлы собственного формата, то есть нужно создавать переменные разного типа и размера. И что то я никак недопетрю, как преобразовать byte[] в другие типы (int16, int32, double, string). Со string можно применить такой изврат (найденный мной ): Data=""; for(i=0;i<buf.Length;i++) Data+=Convert.ToString(Convert.ToChar(buf[i])); Но это же мерзко по скорости и красоте. Меня просто коробит от такого кода 4) В продолжение 3-го вопроса. Какой способ выделения памяти наиболее оптимален? Данные читаемые в массив buf могут иметь длину 1-65535. Ну пока хватит
|
|
« Последнее редактирование: 24-02-2006 07:41 от RomCom »
|
Записан
|
R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine
|
|
|
RomCom
|
|
« Ответ #17 : 25-02-2006 16:56 » |
|
С вопросом №2 разобрался. Вот что получилось. для строк. public string ByteToString(byte[] _buf,int offset,int count) { return new string(System.Text.Encoding.GetEncoding(1251).GetChars(_buf), offset, count); } преобразования для типов int16, int32, double подсмотрел в AcedUtils.NET http://acedutils.narod.ru/AcedUtils.NET.zippublic ushort ByteToUInt16(byte[] _buf,int offset) { return (ushort)(_buf[offset] + (_buf[offset + 1] << 8)); } public unsafe uint ByteToUInt32(byte[] _buf,int offset) { fixed (byte* pBuffer = &_buf[offset]) return *((uint*)pBuffer); } public unsafe double ByteToDouble(byte[] _buf,int offset) { fixed (byte* pBuffer = &_buf[offset]) return *((double*)pBuffer); } Единственное приходитси ипользовать unsafe режим
|
|
« Последнее редактирование: 26-02-2006 00:42 от RomCom »
|
Записан
|
R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine
|
|
|
xelos
Гость
|
|
« Ответ #18 : 25-02-2006 17:01 » |
|
ты построчно что ли файл читаешь?
|
|
|
Записан
|
|
|
|
RomCom
|
|
« Ответ #19 : 26-02-2006 00:40 » |
|
Неа. Файл является таблицей собственного формата, для переброски данных между прогами. Имеются типы полей Smallint (16бит), Integer (32бита), Double (8байт), String (переменной длины от 0 до 65535) и Blob (неформатированые данные, длина от 0 до 4294967295 (32бита)).Имеется заголовок описывающий тип полей. Данные в полях типа Smallint, Integer, Double записываются просто в бинарном виде, а String и Blob имеют вид 2 (4) байта - длина, 0-65535 (0-4294967295) байта - сами данные. Разделителей между строками нет.
|
|
« Последнее редактирование: 26-02-2006 00:43 от RomCom »
|
Записан
|
R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine
|
|
|
xelos
Гость
|
|
« Ответ #20 : 26-02-2006 08:57 » |
|
а byte[] откуда берется? ну да ладно, не столь важно
по сути, что тебе мешает в UInt32 преобразование сделать как и для UInt16? да и для Double тоже, тока формулу вспомнить.
|
|
|
Записан
|
|
|
|
RomCom
|
|
« Ответ #21 : 26-02-2006 12:15 » |
|
byte[] берутся из функции чтения FileStream.Read. с UInt32 конечно можно поступить так же как и с UInt16. А вот насчет Double не уверен. Двоичную арфиметику с целыми числами я более мение знаю, а с плавающей точкой как-то не очень
|
|
|
Записан
|
R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine
|
|
|
|
RomCom
|
|
« Ответ #23 : 27-02-2006 05:14 » |
|
Попробывал в делфи провернуть конвертацию через булеву алгебру. Не выходит. procedure TForm1.Button2Click(Sender: TObject); var dbl,dbl2:Integer; i:Integer; p:PByteArray; begin dbl:=StrToInt(Edit1.Text); Label1.Caption:=IntToStr(dbl); p:=@dbl;
dbl2:=0; for i:=0 to SizeOf(dbl)-1 do dbl2:=dbl2 + (p^[i] shl (i*8)); Label2.Caption:=IntToStr(dbl2); end;
Если dbl,dbl2 имеют тип Integer все сходится, при замене на Double полная лажа. Может оно и прошло бы если dbl2:=dbl2 + (p^[i] shl (i*8)); заменить на dbl2:=dbl2 or (p^[i] shl (i*8)); Но с вещественными числами операции ИЛИ не предусмотрено.
|
|
|
Записан
|
R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine
|
|
|
xelos
Гость
|
|
« Ответ #24 : 27-02-2006 10:31 » |
|
нашел, пользуй класс BitConverter, метод ToDouble и еже с ним.
|
|
|
Записан
|
|
|
|
RomCom
|
|
« Ответ #25 : 03-03-2006 08:51 » |
|
BitConverter рулит. Спасибо. Возвращаясь к вопросу №4 Правильно ли изменять размер массива таким способом: byte[] buf; .... buf=null; buf=new byte[newsize]; И еще, где можно почитать о связке Borland.Data.Provider.BdpConnection + DataGrid? С DataGrid что то заморочки какие то. Все время натыкаюсь на мелкие непонятки (типа не удается вывести Caption для колонок, вместо него упорно выводитси ColumnName).
|
|
|
Записан
|
R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine
|
|
|
|