lala-fa
L
кто такую хруйню тебе сказал?![]()
⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.![]()
а хз, честно не помню. От ****, и тут обманули

Перегляньте відео нижче, щоб дізнатися, як встановити наш сайт як веб-програму на головному екрані.
Замітка: This feature may not be available in some browsers.
кто такую хруйню тебе сказал?![]()
⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.![]()

ояебушаг вправо, шаг влево - по спине лопатой - на!
VCL вся на экспешнах построенна.
![]()
А так вот как это теперь называется.чем раздувать код

кто такую хруйню тебе сказал?![]()
⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.![]()
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только больной на всю башку хруй будет без проверки размерности массива в него лезть, а случись что - обкладывать это место тру-кэтчем
![]()
подобная рекомендация справедлива не только к ios![]()
я try всего раз пользовал в другой программе. делал COM клиент и т.к. не мог получить размер множества, то с помощью try сделал критерий выхода из цикла при переборке элементов множества.![]()

public class Singletone
{
private static Singletone instance;
public static Singletone GetInstance()
{
try
{
instance.GetHashCode();
}
catch (NullReferenceException)
{
instance = new Singletone();
}
return instance;
}
}
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; } }





а типа как то так посчитать религия не позволила?![]()
[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;
короче. мне надо получить список всех 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 надо ******* посредством аборта. Точка.

repeat
.....
try ref.PutIndex(gClassActionSet, setCounter);
...
except;
error:=true;
end;
if error then goto m1;
.....
until false;
m1:

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:
Это просто праздник какой-то.
Код: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; }
Я даже не хотел на это смотреть. Я обычно подобный индуский ****окод вытираю весь ***** и делаю нормально.

ха-ха-ха. поглумились?

