Змінюй хід війни! Допомагай ЗСУ!
  • Пошук тимчасово не працює

Обновки 3.0

  • Автор теми Автор теми er1313
  • Дата створення Дата створення
Ёба, вы когда-нить вообще работаете?
 
кто такую хруйню тебе сказал? :підстолом:

⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.
:D

Скорее всего,
⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.


You should not use a try-catch block in place of standard programming checks for Objective-C methods. In the case of an NSArray, for example, you should always check the array’s count to determine the number of items before trying to access an object at a given index. The objectAtIndex: method throws an exception if you make an out-of-bounds request so that you can find the bug in your code early in the development cycle—you should avoid throwing exceptions in an app that you ship to users.
 
проще было научить где шо вводить, чем раздувать код.

:підстолом: :підстолом: :підстолом: :підстолом: :підстолом:

Скорее всего,
⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.

не, ну это называется best practices :D только больной на всю башку хруй будет без проверки размерности массива в него лезть, а случись что - обкладывать это место тру-кэтчем :D
подобная рекомендация справедлива не только к ios :D
 
А так вот как это теперь называется. :підстолом:

Знач так, господа программисты, ваще грех глумиться над человек у которого сия стезя не является профессией. :D

я try всего раз пользовал в другой программе. делал COM клиент и т.к. не мог получить размер множества, то с помощью try сделал критерий выхода из цикла при переборке элементов множества. :D
 
не, ну это называется best practices :D только больной на всю башку хруй будет без проверки размерности массива в него лезть, а случись что - обкладывать это место тру-кэтчем :D
подобная рекомендация справедлива не только к ios :D
я try всего раз пользовал в другой программе. делал COM клиент и т.к. не мог получить размер множества, то с помощью try сделал критерий выхода из цикла при переборке элементов множества. :D

Навеяло. :іржач:

Код:
public class Singletone
{
	private static Singletone instance;

	public static Singletone GetInstance()
	{
		try
		{
			instance.GetHashCode();
		}
		catch (NullReferenceException)
		{
			instance = new Singletone();
		}

		return instance;
	}
}
 
  • Це лайк!
Реакції: dgr

а типа как то так посчитать религия не позволила? :D
var
I : TSetInt;
Count : Integer;
begin
Count := 0;
for I := Low (TSetInt) to High (TSetInt) do
if I in S then
Inc (Count);
end;

Навеяло. :іржач:

Код:
public class Singletone
{
	private static Singletone instance;

	public static Singletone GetInstance()
	{
		try
		{
			instance.GetHashCode();
		}
		catch (NullReferenceException)
		{
			instance = new Singletone();
		}

		return instance;
	}
}

ойбляяя..... :підстолом::підстолом::підстолом::підстолом::підстолом:
 
а типа как то так посчитать религия не позволила? :D

короче. мне надо получить список всех Action команд (это типа макросов) и их групп в фотошопе
Код:
[SPOILER="+"]
Procedure FillActionList ;
label m1;
var
  myPhotoShop:variant;
  gClassActionSet: integer;
  gClassAction: integer;
  gKeyName: integer;
  gKeyNumberOfChildren: integer;

  ref  : Variant;
  actionRef  : Variant;
  setDesc : Variant;
  setCounter: integer;
  actionCounter: integer;
  i : integer;
  actionDesc : Variant;
  error :boolean;


begin
myPhotoShop := CreateOleObject('Photoshop.Application');
  gClassActionSet :=  myPhotoShop.CharIDToTypeID('ASet');
  gClassAction := myPhotoShop.CharIDToTypeID('Actn') ;
  gKeyName := myPhotoShop.CharIDToTypeID('Nm  ');
  gKeyNumberOfChildren := myPhotoShop.CharIDToTypeID('NmbC');[/SPOILER]
  error:=false;
  setCounter := 1;
  TS:=TStringlist.Create;

  repeat
    ref:=CreateOleObject( 'Photoshop.ActionReference' );
    try ref.PutIndex(gClassActionSet, setCounter);
        setDesc := CreateOleObject( 'Photoshop.ActionDescriptor' );
        setDesc := myPhotoShop.ExecuteActionGet(ref);
        if setDesc.HasKey(gKeyName) then begin
          actionCounter := setDesc.GetInteger(gKeyNumberOfChildren);
        end;

    except;
        error:=true;
    end;
    [B]if error then goto m1;[/B]
    TSA:=TStringlist.Create;
    for I := 1 to actionCounter do   begin
    actionref:=CreateOleObject( 'Photoshop.ActionReference' );
    actionref.PutIndex(gClassAction, i) ;
    actionRef.PutIndex(gClassActionSet, setCounter);
    actionDesc := myPhotoShop.ExecuteActionGet(actionRef);
    TSA.Add(actionDesc.GetString(gKeyName));
    end;
    TS.AddObject(setDesc.GetString(gKeyName),TSA) ;
    [B]setCounter :=  setCounter +1;[/B]
 until false;

 m1:
end;

в SDK к фотошопу я не нашел, где можно получить размер массива. поэтому перебираю по одному с нулевого индекса, пока не выдаст ошибку. а еще это все через вариант-тип, т.к. после 9го фотошопа моя программа на циклах его просто захлопывала бессистемно. переделал все на позднее связывание и работает до сих пор. поэтому я даже не обращаюсь типизировано к элементам.
 
короче. мне надо получить список всех Action команд (это типа макросов) и их групп в фотошопе
Код:
[SPOILER="+"]
Procedure FillActionList ;
label m1;
var
  myPhotoShop:variant;
  gClassActionSet: integer;
  gClassAction: integer;
  gKeyName: integer;
  gKeyNumberOfChildren: integer;

  ref  : Variant;
  actionRef  : Variant;
  setDesc : Variant;
  setCounter: integer;
  actionCounter: integer;
  i : integer;
  actionDesc : Variant;
  error :boolean;


begin
myPhotoShop := CreateOleObject('Photoshop.Application');
  gClassActionSet :=  myPhotoShop.CharIDToTypeID('ASet');
  gClassAction := myPhotoShop.CharIDToTypeID('Actn') ;
  gKeyName := myPhotoShop.CharIDToTypeID('Nm  ');
  gKeyNumberOfChildren := myPhotoShop.CharIDToTypeID('NmbC');[/SPOILER]
  error:=false;
  setCounter := 1;
  TS:=TStringlist.Create;

  repeat
    ref:=CreateOleObject( 'Photoshop.ActionReference' );
    try ref.PutIndex(gClassActionSet, setCounter);
        setDesc := CreateOleObject( 'Photoshop.ActionDescriptor' );
        setDesc := myPhotoShop.ExecuteActionGet(ref);
        if setDesc.HasKey(gKeyName) then begin
          actionCounter := setDesc.GetInteger(gKeyNumberOfChildren);
        end;

    except;
        error:=true;
    end;
    [B]if error then goto m1;[/B]
    TSA:=TStringlist.Create;
    for I := 1 to actionCounter do   begin
    actionref:=CreateOleObject( 'Photoshop.ActionReference' );
    actionref.PutIndex(gClassAction, i) ;
    actionRef.PutIndex(gClassActionSet, setCounter);
    actionDesc := myPhotoShop.ExecuteActionGet(actionRef);
    TSA.Add(actionDesc.GetString(gKeyName));
    end;
    TS.AddObject(setDesc.GetString(gKeyName),TSA) ;
    [B]setCounter :=  setCounter +1;[/B]
 until false;

 m1:
end;

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

За использование goto надо ******* посредством аборта. Точка.
 
За использование goto надо ******* посредством аборта. Точка.
То есть всё остальное в этом блоке тебя не смутило? :іржач:
Код:
  repeat
   .....
    try ref.PutIndex(gClassActionSet, setCounter);
         ...

    except;
        error:=true;
    end;
    if error then goto m1;
    .....
until false;

 m1:

Это просто праздник какой-то. :D

Код:
bool IsGreater(int first, int second)
{
	bool b = first > second;

	if (b)
	{
		goto Label1;
	}
	else if (!b)
	{
		goto Label2;
	}

Label1:
	return true;

Label2:
	return false;
}
 
чо ****окодеры, меряетесь последними дсотижениями? :ги:
 
То есть всё остальное в этом блоке тебя не смутило? :іржач:
Код:
  repeat
   .....
    try ref.PutIndex(gClassActionSet, setCounter);
         ...

    except;
        error:=true;
    end;
    if error then goto m1;
    .....
until false;

 m1:

Это просто праздник какой-то. :D

Код:
bool IsGreater(int first, int second)
{
	bool b = a > c;

	if (b)
	{
		goto Label1;
	}
	else if (!b)
	{
		goto Label2;
	}

Label1:
	return true;

Label2:
	return false;
}

Я даже не хотел на это смотреть. Я обычно подобный индуский ****окод вытираю весь ***** и делаю нормально.
 
ха-ха-ха. поглумились?
 
  • Це лайк!
Реакції: G@n4
ану ***** в ветку програмирования, задроты:мораль:
 
Назад
Зверху Знизу