- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
kinds.AddError("error", "error: <0>");
kinds.AddAttention("attention", "warning: <0>");
kinds.AddNormalMessage("message", "<0>");
kinds.AddError("out_of_bounds", "<0> out of <1>..<2>");
kinds.AddError("dont_be_here", "Should dont be here!");
kinds.AddError("not_found", "<0> not found!");
kinds.AddError("not_equal", "<0> not equals <1>");
kinds.AddError("equal", "<0> equals <1>, but they must be differrence!");
kinds.AddError("equals_null", "<0> is null!!");
kinds.AddError("excess_item", "Item '<0>' is excess");
kinds.AddError("expected_item", "Expected '<0>'");
kinds.AddError("unexpected_item", "Encountered unexpected item '<0>'");
kinds.AddError("wrong_item", "Wrong item '<0>'");
kinds.AddError("expected_other_item", "Expected '<0>' but encountered '<1>'");
kinds.AddError("unknown_item", "item '<0>' is unknown");
kinds.AddError("file_not_found", "File '<0>' not found");
kinds.AddError("wrong_file_extension", "File '<0>' has wrong extension");
kinds.AddError("expected_eol", "Expected end of line but encountered '<0>'");
kinds.AddError("expected_not_eol", "End of line unexpected!");
// ...
private void MakeTplParams(object[] originalTplParams)
{
Object[] obj = originalTplParams;
String[] str = new String[obj.Length];
int length = str.Length;
for (int i = 0; i < length; i++)
{
str[i] = !Object.ReferenceEquals(obj[i], null) ? obj[i].ToString() : "";
}
tplParams = str;
}
private String MakeText(String tpl)
{
if (tpl != "") return this.MakeTextByTemplate(tpl);
return this.MakeDefaultText();
}
private String MakeTextByTemplate(String tpl)
{
String builder = tpl;
int length = tplParams.Length;
for (int i = 0; i < length; i++)
{
builder = builder.Replace("<" + i + ">", (tplParams[i]));
}
return builder;
}
private String MakeDefaultText()
{
String builder = "";
builder += "[" + kindName + "] :";
int length = tplParams.Length;
for (int i = 0; i < length; i++)
{
builder += (tplParams[i]) + "; ";
}
return builder;
}
bakagaijin 18.02.2017 23:02 # +6
cykablyad 19.02.2017 11:22 # +5
kegdan 20.02.2017 04:51 # +3
dxd 20.02.2017 13:37 # 0
CHayT 20.02.2017 13:51 # +1
dxd 20.02.2017 14:00 # 0
CHayT 20.02.2017 14:04 # 0
dxd 20.02.2017 14:41 # 0
CHayT 19.02.2017 11:32 # +6
cykablyad 19.02.2017 10:33 # 0
bormand 19.02.2017 10:37 # 0
Засунь в эти 446 байт простенький загрузчик загрузчика.
cykablyad 19.02.2017 10:40 # +2
P.S. мне было настолько лень все переписывать, что я скопипастил 32-битный код и заюзал как 16-битный. И даже заработало
Dr_Stertor 19.02.2017 19:44 # −3
inkanus-gray 20.02.2017 10:28 # +5
- У нас проблема, на нашем Cray-1 слетел загрузчик.
- Ситуация нештатная - мы в первый раз сталкиваемся с такой проблемой. Подожите пожалуйста на линии, я посмотрю, что можно сделать.
...
- Это очень старая модель, и мы не можем сейчас найти загрузчика, чтобы прислать его Вам. Пожалуйста, не волнуйтесь, я вас сейчас соединю с мистером Креем.
- А как он поможет, ведь...
- Он поможет.
...
- Сеймур Крэй слушает.
- Здравствуйте мистер Крэй, у нас потерялся загрузчик, и в техподдержке сказали, что у вас не осталось его кода...
- Пишите.
- Что?
- Берите ручку и пишите. A0 BF 10 05 ...
Крэй диктовал 4 килобайта загрузчика по памяти.
kegdan 20.02.2017 11:07 # 0
inkanus-gray 20.02.2017 11:30 # 0
kegdan 20.02.2017 11:33 # +7
inkanus-gray 20.02.2017 11:39 # +2
Неужели так укол действует?
kegdan 20.02.2017 11:47 # +6
inkanus-gray 20.02.2017 12:13 # +2
kegdan 20.02.2017 12:18 # 0
roman-kashitsyn 20.02.2017 13:13 # +1
> почему меня не тянет читать Александреску
Пора опять "поиграть шрифтамикванторами"
Из ∀u ∈ U: u читал Александреску не следует, что ¬∃x ∉ U: x читал Александреску, где U = {все уебки с непомерный чсв}
Я вот читал Александреску, и мне понравилось. Гораздо интереснее, чем унылая книга страуструпа.
cykablyad 20.02.2017 13:20 # +1
kegdan 20.02.2017 13:30 # +4
1024-- 20.02.2017 15:16 # +1
cykablyad 20.02.2017 19:39 # 0
bormand 20.02.2017 18:26 # 0
LRESULT MyFooBarExW(LPCTSTR lpszReserved);
inkanus-gray 20.02.2017 18:32 # 0
CTEPTOP 20.02.2017 18:35 # +1
Уже ясно, что эта штука для com-извращений...
@LPCTSTR lpszReserved
А вот эта неведомая хуйна меня ввергла в ступор: функция хочет указатель на нуль-терминированную строку, при этом параметр - зарезервирован...
trollface.JPG.vbs
inkanus-gray 20.02.2017 18:38 # 0
Выделение памяти вынесли наружу, чтобы функция лишний раз не дёргала аллокатор, если у нас уже есть ненужный кусок памяти.
CTEPTOP 20.02.2017 18:41 # +1
Ну да, почти весь API так работает. Но посмотрите:
LPCTSTR lpszReserved
Зарезервированные параметры не положено ведь трогать...
inkanus-gray 20.02.2017 18:43 # +3
CTEPTOP 20.02.2017 18:44 # 0
bormand 20.02.2017 19:39 # +2
Именно так. А то некуда будет добавить параметр, если он вдруг понадобится. А пока пусть ебутся и передают NULL.
guestinho 20.02.2017 16:19 # +2
Он одушевленный? Небось азиат какой?