Пользователей: 0
Гостей: 1143
Всего: 1143

» Подробно
» Сегодня

Привет, гость!









Автор Сообщение
Psychologist
    
Посты: 1806
Откуда: Челябинск
Возраст: 28
11-04-2010 15:45 GMT3 час. #1223360   
EventType : visualstudio8setup P1 : 10861
P2 : 9.0.30729.01.30_orcas_x86_net P3 : pr P4 : inst P5 : f
P6 : gencomp90 P7 : baseret_failure P8 : - P9 : 1603 P10 : -


Это подпись ошибки.
А в сетапнике пишут это:


Не знаете в чём проблема?

Ах, да, и кинь пожалуйста ту ссылку на тот полный пакет.

Вот допол. сведения из install.log:
The following properties have been set:
Property: [AdminUser] = true {boolean}
Property: [ProcessorArchitecture] = Intel {string}
Property: [VersionNT] = 5.1.3 {version}
Running checks for package 'Установщик Windows 3.1', phase BuildList
The following properties have been set for package 'Установщик Windows 3.1':
Running checks for command 'WindowsInstaller3_1\WindowsInstaller-KB893803-v2-x86.exe'
Result of running operator 'VersionGreaterThanOrEqualTo' on property 'VersionMsi' and value '3.1': false
Result of running operator 'ValueExists' on property 'Version9x': false
Result of running operator 'VersionLessThan' on property 'VersionNT' and value '5.0.3': false
Result of running operator 'ValueNotEqualTo' on property 'ProcessorArchitecture' and value 'Intel': false
Result of running operator 'ValueEqualTo' on property 'AdminUser' and value 'false': false
Result of checks for command 'WindowsInstaller3_1\WindowsInstaller-KB893803-v2-x86.exe' is 'Install'
'Установщик Windows 3.1' RunCheck result: Install Needed
Running checks for package '.NET Framework 3.5 SP1', phase BuildList
Reading value 'SP' of registry key 'HKLM\Software\Microsoft\NET Framework Setup\NDP\v3.5\1049'
Read integer value 1
Setting value '1 {int}' for property 'DotNet35SP'
The following properties have been set for package '.NET Framework 3.5 SP1':
Property: [DotNet35SP] = 1 {int}
Running checks for command 'DotNetFX35SP1\dotNetFx35setup.exe'
Result of running operator 'ValueGreaterThanEqualTo' on property 'DotNet35SP' and value '1': true
Result of checks for command 'DotNetFX35SP1\dotNetFx35setup.exe' is 'Bypass'
'.NET Framework 3.5 SP1' RunCheck result: No Install Needed
EULA for components 'Установщик Windows 3.1' was accepted.
Copying files to temporary directory "C:\WINDOWS\Temp\VSD1A1.tmp\"
Downloading files to "C:\WINDOWS\Temp\VSD1A1.tmp\"
(11.04.2010 18:40:35) Downloading 'WindowsInstaller3_1\WindowsInstaller-KB893803-v2-x86.exe' from 'http://go.microsoft.com/fwlink/?LinkId=49256' to 'C:\WINDOWS\Temp\VSD1A1.tmp\'
Download completed at 11.04.2010 18:41:26
Verifying file integrity of C:\WINDOWS\Temp\VSD1A1.tmp\WindowsInstaller3_1\WindowsInstaller-KB893803-v2-x86.exe
WinVerifyTrust returned 0
File trusted
Running checks for package 'Установщик Windows 3.1', phase BeforePackage
The following properties have been set for package 'Установщик Windows 3.1':
Running checks for command 'WindowsInstaller3_1\WindowsInstaller-KB893803-v2-x86.exe'
Result of running operator 'VersionGreaterThanOrEqualTo' on property 'VersionMsi' and value '3.1': false
Result of running operator 'ValueExists' on property 'Version9x': false
Result of running operator 'VersionLessThan' on property 'VersionNT' and value '5.0.3': false
Result of running operator 'ValueNotEqualTo' on property 'ProcessorArchitecture' and value 'Intel': false
Result of running operator 'ValueEqualTo' on property 'AdminUser' and value 'false': false
Result of checks for command 'WindowsInstaller3_1\WindowsInstaller-KB893803-v2-x86.exe' is 'Install'
'Установщик Windows 3.1' RunCheck result: Install Needed
Verifying file integrity of C:\WINDOWS\Temp\VSD1A1.tmp\WindowsInstaller3_1\WindowsInstaller-KB893803-v2-x86.exe
WinVerifyTrust returned 0
File trusted
Installing using command 'C:\WINDOWS\Temp\VSD1A1.tmp\WindowsInstaller3_1\WindowsInstaller-KB893803-v2-x86.exe' and parameters '/quiet /norestart'
Process exited with code 1603
Status of package 'Установщик Windows 3.1' after install is 'InstallFailed'


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


И все мы ждем чего-то. Работа - дом - работа ©
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
11-04-2010 18:24 GMT3 час. #1223500   
Сталкер Монолита
полная версия есть на той же странице откуда ты качал
в самом низу есть вот это:
На этом DVD все продукты Express и дополнительные компоненты записаны в виде единого файла образа ISO. и ссылка.
я качал не совсем отсюда( а с англоязычной версии сайта майкрософт) - но это тоже самое - диск в формате ISO.(ISO распаковывается обычным винраром - но очень долго)

во вторых там вверху написано: Не забудьте запустить WindowsUpdate, чтобы установить последние обновления.
У меня винда лицензионная - качает обновления постоянно - так что проблем не бывает.
а у тебя как? возможно чего то не хватает на твоем компе - на висте ведь работало.

насчет своего проекта - не знаю. singapur22 его ставил себе на комп для проверки - говорил что все работает.


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Psychologist
    
Посты: 1806
Откуда: Челябинск
Возраст: 28
11-04-2010 20:11 GMT3 час. #1223592   
erlik
Попробуем.
А про проект - та же ошибка, установщик не хочет ставить. И когда с ISO запускал, то же самое.

А винда у меня пиратская, похоже. Просто как-то комп слетел, вызвали Комп. помощь, вот нам и поставили XP под Vist'у (загрузка такая же, к примеру).


И все мы ждем чего-то. Работа - дом - работа ©
Cos
    
Посты: 2690
Откуда:
Возраст:
11-04-2010 20:26 GMT3 час. #1223614   
Сталкер Монолита
Можно попробовать установить отдельно.
http://support.microsoft.com/kb/893803


Psychologist
    
Посты: 1806
Откуда: Челябинск
Возраст: 28
12-04-2010 11:34 GMT3 час. #1223963   
Cos
Пишет мол что уже выше обновление стоит, не надо устанавливать.
Чёрте что творится.


И все мы ждем чего-то. Работа - дом - работа ©
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
12-04-2010 16:48 GMT3 час. #1224242   
singapur22
тут к тебе вопрос созрел.
ты с классами больше меня разобрался - объясни чем так уж плох код приведенный первым в сравнении со вторым.
Это в общем тот вариант (второй) который мне гуру с одного форума накатали - предварител**50016ea8aab1bb10eeba** float x = 2;
float y = 1;
int npol = xp.Length;

Triangle t = new Triangle();
bool result = t.IsInside(npol, xp, yp, x, y);

Console.WriteLine(result ? "Внутри" : "Снаружи");
Console.ReadKey();
}

}

[/code]


[code]

namespace CyberForum {
public struct Point {
private float _x;
private float _y;

public Point(float x, float y) {
_x = x;
_y = y;
}

public float X {
get { return _x; }
set { _x = value; }
}

public float Y {
get { return _y; }
set { _y = value; }
}
}

public class Triangle {
private Point _a;
private Point _b;
private Point _c;

public Triangle(Point a, Point b, Point c) {
_a = a;
_b = b;
_c = c;
}

public bool IsInside(Point p) {
// тут твой код. без глобальных переменных: всё на стеке
return true;
}



public Point A {
get { return _a; }
}

public Point B {
get { return _b; }
}

public Point C {
get { return _c; }
}

}

public static class Program {

private static void Main() {
Point p1 = new Point(0, 0);
Point p2 = new Point(0, 10);
Point p3 = new Point(10, 0);
Point p4 = new Point(1, 1);

Triangle t = new Triangle(p1, p2, p3);

Console.WriteLine(t.IsInside(p4) ? "Внутри" : "Снаружи");
Console.ReadKey();
}

}
}[/code]

Зачем надо вообще указывать namespace в данном случае?
метод Main прятать в дополнительный класс public static class Program ?
и все эти get, set ?


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Cos
    
Посты: 2690
Откуда:
Возраст:
12-04-2010 17:36 GMT3 час. #1224305   
erlik

метод Main прятать в дополнительный класс public static class Program ?

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

Что станет с классом Triangle в первом случае если из него убрать метод Main? Он станет абсолютно бесполезным, ибо одна из функциональных частей как раз там и находится (все эти массивы xp, yp). В идеале класс как и математическая функция - черный ящик, задаем входные данные и получаем некие данные на выходе, причем чем меньше доступных методов и входных данных - тем лучше. Вторым вариантом IsInside гораздо проще и приятнее пользоваться, хотя мне кажется или варианты методов IsInside в двух случаях несут разную функциональность (точка во-втором случае и "что-то" в первом)?


и все эти get, set ?

Кажется эта тема уже здесь проскакивала, и насколько я понял в данном случае нужны они скорее для расширения будущей функциональности, тогда, когда закрытость переменных _x и _y будет действительно необходима, но в принципе даже сейчас такой код приятнее, чем прямое обращение к переменным.


Зачем надо вообще указывать namespace в данном случае?

В данном случае, таким образом, господа с CyberForum.ru хотят избежать переопределения классов Point и Triangle, которые с высокой вероятностью уже существуют в .NET. Ибо если случится так, что в программу уже будет включено пространство имён System.Drawing, компилятору может совсем не понравится такой "override классов".

отредактировал(а) Cos: 12-04-2010 17:54 GMT3 час.

erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
12-04-2010 18:27 GMT3 час. #1224387   
Cos

варианты методов IsInside в двух случаях несут разную функциональность (точка во-втором случае и "что-то" в первом)

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

Ну в общем ты мне хорошо объяснил что к чему. Спасибо.
Недостатки моей конструкции я в принципе понял. Но вторая конструкция пока сложновата для меня. Да и необходимости пока не было создавать.
Ну согласись разве есть смысл писать для кода в 200-500 строк (маленькой програмки для себя ) целый модуль такого вида.


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Cos
    
Посты: 2690
Откуда:
Возраст:
12-04-2010 19:02 GMT3 час. #1224438   
erlik

Ну согласись разве есть смысл писать для кода в 200-500 строк (маленькой програмки для себя ) целый модуль такого вида.

Я так понимаю что тов. с CyberForum просто стараются объять сразу множество аспектов, так что бы функциональная часть работала и вместе с тем и основные принципы ООП присутствовали, пускай даже если последние вкупе с выкрутасами самого C# порой неочивидны. Но как ни крути, но второй вариант это нечто к чем стоит стремиться, не сразу, не для мгновенной реализации идей, но в долгосрочной перспективе :-). Универсальность и возможность повторного использования, минимальное кол-во открытых методов, без попыток объедения сразу нескольких идей/объектов в один класс (треугольники и точки например). Наилучший пример здесь - сама библиотека .NET с тысячами узкоспециализированных и на первый взгляд сложно используемых классов, но объеденных разными уровнями наследования, в единую систему, где незнание реализации класса точки не мешает использовать (и что важно - понять реализацию) класс треугольника.


Но вторая конструкция пока сложновата для меня.

Первое что можно сделать (если есть желание) - посмотреть нельзя ли ограничится использованием уже готового в .NET класса точек (и возможно треугольников), ну и возможно (временно) убрав методы X/Y (с их get / set). Будет уже значительно проще.
Вместо готового Point можно взять и этот, но например объявив его как класс а не структуру, будет привычнее выглядеть... хоть и придется быть более аккуратным в плане их присваивания:
http://msdn.microsoft.com/ru-ru/library/saxz13w4%28v=VS.90%29.aspx


singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
13-04-2010 09:05 GMT3 час. #1224727   
erlik Как уже объяснил Cos, вторая конструкция более правильная и профессиональная, но и она использует бессмысленную структуру Point. Не пойму, для какой цели нужно было создавать уже существующую в пространстве имён System.Windows структуру Point, кстати имеющую более широкие возможности.

И на счёт { get; set; }. Использование свойств позволяет значительно повысить уровень безопасности. При объявлении свойств, компилятор создаёт закрытое, анонимное резервное поле, что предотвращает случайное переопределение параметров. Использование свойств не только желаемо, но даже рекомендуемо. При данной реализации, например в случае с классом Triangle, мы получаем некий закрытый блок, где доступ к параметрам производится только через специальные методы доступа, это и будет являться одним из наивысших уровней безопасности и профессионализма.

отредактировал(а) singapur22: 13-04-2010 09:11 GMT3 час.

Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
13-04-2010 13:22 GMT3 час. #1224836   
singapur22
Нифига не получается создать класс - вот этот модуль под спойлером неправильно считает.
мой первый код вычисляет все верно - а этот не хочет. В чем ошибка - не знаю - так как пока не понял всего алгоритма создания**50016ea8aab1bb10eeba** }

public static class Program
{

private static void Main()
{

PointF p4 = new PointF(2, 1);

float[] xp = { 0, 0, 3, 3 }; // масив х вершин
float[] yp = { 0, 3, 3, 0 }; // массив у вершин
Triangle t = new Triangle(xp, yp);


Console.WriteLine(t.IsInside(p4) ? "Внутри" : "Снаружи");
Console.ReadKey();
}

}
}
[/code]


добавлено спустя 10 минут

блин с координатами напутал - нужно же только три передавать - для треугольника.
Однако все равно неверно выходит.

добавлено спустя 2 минут

не все таки не то. Первый с измененным вариантом передачи координат точки через PointF p = new PointF(2, 1.9f); показывает верно - а этот новый когда передаю
PointF p4 = new PointF(2, 1.9f);

float[] xp = { 0, 2, 4 }; // масив х вершин
float[] yp = { 0, 2, 2 }; // массив у вершин
Triangle t = new Triangle(xp, yp);

уже не то выдает.

добавлено спустя 13 минут

Вот я запутался с координатами - давно с ними не работал - оказывается все таки оба кода верно работают(ошибочная координата просто была).
Но вот комментариев по конструкции класса я все так жду singapur22, Cos :-)

отредактировал(а) erlik: 13-04-2010 13:55 GMT3 час.

Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
13-04-2010 14:16 GMT3 час. #1224876   
erlik Всё равно не понял, зачем понадобилось использование отдельных массивов для каждой стороны вектора. Не проще использовать ма

отредактировал(а) singapur22: 13-04-2010 14:34 GMT3 час.

Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
13-04-2010 14:29 GMT3 час. #1224886   
singapur22
да я просто не был уверен что верно переделаю функцию под массив векторов - к тому же изначально это функция написанная на С++ (помнишь я ее на lua переводил?) была сделана именно под массив иксов и игреков.

добавлено спустя 3 минут

эта лабуда мне нужна просто для практики создания классов и больше ни для чего.
вообще я этот код писал для одного чела на КиберФоруме который в C# еще меньше меня знает :-)
там очень много студентов которым лень решать элементарные задачки - а я на этих задачках практикуюсь - хорошая разминка для мозгов. Вчера вот две задачки с линк запросами решил.

отредактировал(а) erlik: 13-04-2010 14:32 GMT3 час.

Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Cos
    
Посты: 2690
Откуда:
Возраст:
13-04-2010 14:37 GMT3 час. #1224892   
erlik
Ну раз

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

Тогда думаю это будет справедливо:


блин с координ**50136ea8aab1bb10eeba** public float [] X
{
get { return _a; }
}

public float [] Y
{
get { return _b; }
}
[/code]



можно будет избавится (хотя и сейчас они нужны лишь формально).


singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
13-04-2010 14:37 GMT3 час. #1224893   
erlik

там очень много студентов которым лень решать элементарные задачки
Ну дак надо за это брать деньги. Уверяю, студенты готовы платить за выполнение задач, если сумма оплаты в пределах разумного:-)


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
13-04-2010 15:01 GMT3 час. #1224920   
Cos


Ага, я тоже не сразу понял что там за треугольник с двумя точками).

это был четырех угольник с координатами A(x=0,y=0) , B(x=0,y=3, C(x=3,y=3), D(x=3,y=0)
в порядке обхода вершин по часовой стрелке
float[] xp = { 0, 0, 3, 3 }; // масив х вершин
float[] yp = { 0, 3, 3, 0 }; // массив у вершин



цель класса
Triangle - представлять некий треугольник и в качестве основного функционала возвращать принадлежность той или иной точки к нему

хотел именно этого.


переделывать либо функцию, которая будет "искать" точки только в треугольниках,


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

но как это сделать пока не очень представляю - наверно надо все таки делать как том варианте с форума - когда классу Треугольник изначально задано только три вектора.

singapur22
ну я как то не привык брать деньги за это...


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
13-04-2010 15:26 GMT3 час. #1224958   
erlik Я понял такой смысл. Имеем формулу определения хита поинтом треугольника. Как в любой схеме графикостроения код должен опираться на систему полигональности. Тоесть любой проверяемый объект должен представляться как набор полигональных треугольников. При определении хита координаты по объекту, должен проверяться весь список треугольников объекта, и возвращать не только результат получения хита true/false, но и иметь возможность подключения метода возвращающего хитуемый треугольник (список вертексов представляющий треугольник). А так же ближайший вертекс и расстояния до всех имеющихся вертексов в списке треугольников.
Это в идеале. В твоём упрощённом виде, код должен операться на данную систему но с одним лишь методом возвращения результата хита.


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
lesnik38
    
Посты: 11
Откуда:
Возраст:
13-04-2010 17:35 GMT3 час. #1225168   
Привет сталкеры!Как дела?


erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
14-04-2010 16:14 GMT3 час. #1225840   
singapur22, Cos
Зацените мой новый класс... точнее структуру.:-)
Оказывается структуры то создавать полезнее в плане производительности, чем классы - меньше ресурсов жрут будучи нессылочным типом. Синтаксис имеют такой же как и класс и если нет необходимости использовать наследование, то структура вполне заменяет класс.

Вопрос имеется - я в этой структуре использовал одни и те же переменны


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
14-04-2010 16:42 GMT3 час. #1225873   
erlik

Вопрос имеется - я в этой структуре использовал одни и те же переменные в разных методах для разных целей - допустимо ли такое?
Вполне. Но только если переменные переопределяются при вызове каждого метода. Тоесть, не являются переменными, содержащими определённые данные объекта структуры.

добавлено спустя 29 минут

Кстати, забыл про многопоточность. Если планируется использование объекта структуры в разных потоках, то боюсь ни к чему хорошему это не приведёт. Как говорится, ложные результаты обеспечены.

отредактировал(а) singapur22: 14-04-2010 17:12 GMT3 час.

Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
14-04-2010 17:16 GMT3 час. #1225907   
singapur22
ну значит в моей структуре коллизий вроде как не должно быть...

слушай я вот думаю, а как создать метод который можно вызывать через имя клаcса
типа как Console.WriteLine()

или метод который можно вызывать без создания экземпляра класса
допустим у меня есть метод str.CountChar('a'); str - это экземпляр моей структуры создаваемый после вызова конструктора с параметром string
а как сделать метод который можно вызывать так
string str ="строка"
int j = str.CountChar('a');

добавлено спустя 55 секунд

Если планируется использование объекта структуры в разных потоках, то боюсь ни к чему хорошему это не приведёт.

ага - значит все таки лучше доп. переменные ввести?

отредактировал(а) erlik: 14-04-2010 17:18 GMT3 час.

Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
14-04-2010 18:21 GMT3 час. #1225967   
erlik

слушай я вот думаю, а как создать метод который можно вызывать через имя клаcса
типа как Console.Wr**50016ea8aab1bb10eeba** public static void Metod()
{
...
}
}

...
BlaBla.Metod();
... [/code]


string str ="строка"
int j = str.CountChar('a');
К сведенью. Тип "string", является классом библиотеки Framework. Путь к данному классу:

System.string

В редакторе есть полезное свойство. Щёлкни например по слову string в своём коде, или перемести курсор печати любым доступным способом к данному слову в коде. И нажми F12. Откроется страница с метаданными данного класса. Уверяю, ты там найдёшь не мало полезного.

отредактировал(а) singapur22: 14-04-2010 18:28 GMT3 час.

Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
14-04-2010 19:43 GMT3 час. #1226050   
singapur22
да я знаю что это класс (и про F12 тоже )- и что можно писать скажем как string.Concat(str, str2) так и String.Concat(str, str2)
как string str = "строка" так и String str = "строка"
просто в случае со скажем str.Replace("подстрока", "шаблон") мы просто создаем переменную str которой назначаем значение и потом применяем этот метод к данной переменной.
мы же экземпляр класса через new не создаем. Или в данном случае это и есть экземпляр класса - вот это я не пойму...


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
15-04-2010 11:14 GMT3 час. #1226371   
erlik По сути string, это одно из ключевых слов языка, и создание пустого экземпляра через new здесь не приемлемо, так как оно не является сборкой класса, или структуры.
Это будет равносильно выражению:

class Blabla = new class();

Согласись, глупо выглядит.
Поэтому выражение:

string blabla = "строка";

единственно верное.

Другое дело, псевдоним System.String. Взаимозаменяемый класс ключевого слова string. Пока к проекту подключена сборка с классом System.String (библиотека mscorlib, подключена по умолчанию), ключевое слово string можно использовать как экземпляр класса System.String.
Вот здесь уже можно создавать новые экземпляры класса, через ключевое слово new. В связи с взаимозаменяемостью, выражение:

System.String BlaBla = new System.String(...);

можно смело заменять выражением:

string BlaBla = new string(...);

Что будет абсолютно аналогично. Как и обратная взаимозаменяемость.
Выражение:

string blabla = "строка";

аналогична выражению:

System.String blabla = "строка";


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
15-04-2010 12:36 GMT3 час. #1226428   
singapur22
Так со static методами я разобрался (тебе спасибо что подсказал про них) - тоже удобная штука хотя и есть свои ограничения.
Насчет string это все более менее понятно, но как создавать метод который принимает строку в качестве первого аргумента (то есть перед оператором точка ) я пока все равно не въехал.

Сейчас пытаюсь с указателями разобраться- используются они только в небезопасном коде
попробовал вот так получить доступ к переменным структуры (к переменным класса вообще нельзя)
Simbol h = new Simbol();
Simbol*p;// объявляем указатель
p=&h; // присваиваем ему адрес
p-> count = 10; // получаем доступ
однако компилятор сказал что "невозможно объявить указатель на управляемый тип"
модификатор unsafe перед Main (и структуру я тоже объявил как unsafe) у меня стоял и в опциях разрешение на опасный код есть. Видимо тут дело в другом...

у этих указателей еще куча всяких применений есть - но это еще надо изучать.


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
15-04-2010 14:45 GMT3 час. #1226540   
erlik

Насчет string это все более менее понятно, но как создавать метод который принимает строку в качестве первого аргумента (то есть перед оператором точка ) я пока все равно не въехал.


А я не въехал, что ты имеешь ввиду. Приведи наглядный пример.


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
15-04-2010 14:57 GMT3 час. #1226551   
singapur22
ну я имел виду чтобы методу можно было передавать строку в качестве вызывающего аргумента перед оператором точка (ну у класса стринг же целая куча таких методов ) - и при этом не создавать объект класса. только как ты пояснил все работает из-за того есть ключевое слов string - эквивалент класса - а раз создать свое ключевое слово для своего класса мы не можем - тогда значит ничего сделать нельзя.

К тому ж в свете существования static методов это уже не актуально.


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
15-04-2010 15:19 GMT3 час. #1226596   
erlik

К тому ж в свете существования static методов это уже не актуально.
Вот ты и са


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
15-04-2010 16:52 GMT3 час. #1226753   
singapur22
ты загрузку и скачивание файлов\данных в инете через код пробовал?
а то у меня скачать то файл по uri получается, а вот закачать - че то не то.
сервер ответ дает - и в консо


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
16-04-2010 15:48 GMT3 час. #1227407   
erlik Попробывал твой код в Сибнете. Судя по выводящемуся коду смею предположить, что никакой загрузки не происходит. Переменная response возвращает HTML-код страницы uri2, только и всего.

отредактировал(а) singapur22: 16-04-2010 15:56 GMT3 час.

Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.


Форумы Специализированные » Hard & Soft Программирование на C# (C Sharp)


Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для
просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.

Использование материалов сайта возможно с разрешения администрации. Все права защищены. © 2004–2025 «Stalker-Portal.ru»