007wan |
Отправлено: 30 Августа, 2019 - 13:42:08
|
Эксперт
Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017
Репутация: -2
|
Dantes3000 пишет: 007wan , В программировании есть такая штука как "Solution". Перед непосредственным программированием создают "Решение", всё продумывают и только потом уже делают.
Так вот, солюшн у тебя никакущий. Говнокод это еще называют Ты мой код даже не видел, всё что на форуме это обрывки "Гавнокода" как ты и сказал, а у меня всё четко, красиво, но не идеально, а продумал я это уже давно. Просто исходя из того, что что-то новое придумываю и если мне очень это хочется добавить, то я добавляю, а заранее узнать, что добавлять не могу, т.к опять таки, всегда что-то новое вижу, у меня нету конкретной цели что будет и из чего делать, я делаю то, что хочу и я пока не намереваюсь это продавать, т.к эта моя первая программа и если я ее удачно соберу, то я ее отдам на кому-нибудь копию на тестирование и если она пройдет успешное испытание, то возможно, но не точно, я начну ее обновлять и создавать таких же клонов по шаблону или даже лучше. Я не могу всё заранее продумать. у меня нету цели конкретной, а просто создать шаблон, что бы не просто копировать, а что бы в будущем упрощать программирование, брать то, что я уже брал когда-то и узнавал, а не в спешке и в ожидании это делать. это упростит мою задачу создании нового и даже улучшит новую программу. Я уверен ты всё продумал - удачи тебе) но ты наверняка тоже что-то новое добавляешь, чего даже и вовсе не продумывал. Верно?
(Добавление)
Я же не такой умный как вы, ребята, я обычный новичок и мне всё не надо продумывать до мелочей фантастических.
(Добавление)
Кому интересно - запускайте. Вот примерно как выглядит зависимость загрузки в % от количество изображений(всего картинок 16)
Код (Отобразить)CODE:function Set_Loading()
{
char BLENDFUNCTION[4] = {0, 0, 20, 0}
int ftn = codhexi(#BLENDFUNCTION[0], 4);
int Display_Color, Display_Width, Display_Height;
getdisplay(Display_Color, Display_Width, Display_Height);
int font = CreateFont(14, 0, 0, 0, 100, 0, 0, 0, RUSSIAN_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, CLEARTYPE_QUALITY, FF_DONTCARE, "Arial");
int coord_rectangle[4] = {Display_Width/2-160, Display_Height/2-100, 300, 130};
int hdc, DC, bitmapDC;
hdc = GetDC(0);
DC = CreateCompatibleDC(hdc);
bitmapDC = CreateCompatibleBitmap(hdc, coord_rectangle[2], coord_rectangle[3]);
SelectObject(DC, bitmapDC);
int Select_Pen1, Select_Brush1;
int Object_Pen1, Object_Brush1;
char TRIVERTEX[64];
int coord[8] = {20, 55, 280, 65, 20, 55, 280, 65};
int color[4] = {3329330, 0, 9470064, 65539};
int rect[4] = {0, 1, 2, 3};
int num = 6;
Object_Pen1 = CreatePen(PS_INSIDEFRAME, 2, 6908265);
Object_Brush1 = CreateSolidBrush(16777215);
for(int i=0; i<=coord[2]-coord[0]; i=i+(coord[2]-coord[0])/100)
{
int percent = i/(coord[2]-coord[0])*100;
coord[4] = coord[0]+i;
for(int s=0; s<2; s++)
{
codhex(coord[s*4], #TRIVERTEX[s*32]);
codhex(coord[s*4+1], #TRIVERTEX[s*32+4]);
codhex(rvalue(color[s*2]) * 256, #TRIVERTEX[s*32+8]);
codhex(gvalue(color[s*2]) * 256, #TRIVERTEX[s*32+10]);
codhex(bvalue(color[s*2]) * 256, #TRIVERTEX[s*32+12]);
codhex(coord[s*4+2], #TRIVERTEX[s*32+16]);
codhex(coord[s*4+3], #TRIVERTEX[s*32+20]);
codhex(rvalue(color[s*2+1]) * 256, #TRIVERTEX[s*32+24]);
codhex(gvalue(color[s*2+1]) * 256, #TRIVERTEX[s*32+26]);
codhex(bvalue(color[s*2+1]) * 256, #TRIVERTEX[s*32+28]);
}
for (int g=percent; g>=num; g++)
{
string Text_Loading = "Unpack: C:\...\Temp\Image_"+format(percent/6);
num = num+6;
TextOut(DC, 20, 70, Text_Loading, size(Text_Loading)+1);
break;
}
Select_Pen1 = SelectObject(DC, Object_Pen1);
Select_Brush1 = SelectObject(DC, Object_Brush1);
Rectangle(DC, 0, 0, coord_rectangle[2], coord_rectangle[3]);
SetTextColor(DC, 255);
SetBkMode(DC, 1);
TextOut(DC, 120, 10, "K2019Bot", 8);
TextOut(DC, 240, 70, format(percent)+"%", size(format(percent))+1);
int old_font = SelectObject (DC, font);
TextOut(DC, 20, 70, Text_Loading, size(Text_Loading)+1);
SelectObject (DC, old_font);
GradientFill(DC, address(#TRIVERTEX[0]), 4, address(#rect[0]), 2, GRADIENT_FILL_RECT_V);
if(i == 0)
{
looptime(4000)
{
AlphaBlend(hdc, coord_rectangle[0], coord_rectangle[1], coord_rectangle[2], coord_rectangle[3],
DC, 0, 0, coord_rectangle[2], coord_rectangle[3], ftn);
sleep(1);
}
}
looptime(10)
{
BitBlt(hdc, coord_rectangle[0], coord_rectangle[1], coord_rectangle[2], coord_rectangle[3], DC, 0, 0, SRCCOPY);
sleep(1);
}
if(percent == 100)
{
looptime(4000)
{
BitBlt(hdc, coord_rectangle[0], coord_rectangle[1], coord_rectangle[2], coord_rectangle[3], DC, 0, 0, SRCCOPY);
sleep(1);
}
SelectObject(DC, Select_Pen1);
SelectObject(DC, Select_Brush1);
DeleteDC(DC);
DeleteObject(bitmapDC);
ReleaseDC(0, hdc);
}
}
} *выше где-то должны быть переменные итд
(Добавление)
Dantes3000 , Я даже не уверен, что соберу свою первую программу полную со всеми функциями и работоспособность, не потому что она работать не будет, а потому что у меня такое всегда ощущение будто я хочу новое, но когда я это получают, то оно устаревает как и весь и программа в целом и я как обычно хочу ее удалить. Тоесть дизайн устаревает как только я его сделаю и за то время пока я добавляю новое он меня начинает надоедать и естественно мне даже программа не нравится, потому что я уже знаю как она работает и что делает и как выглядит я хочу новое, а когда сделаю новое с "0", то такая же хрень.
(Добавление)
Как только добавляется новые дизайн с новыми функциями - появляются новые возможности креатива, а старые уходят как и программа и код с ней в мусор....(Отредактировано автором: 30 Августа, 2019 - 13:45:53) |
|
|
007wan |
Отправлено: 30 Августа, 2019 - 15:56:21
|
Эксперт
Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017
Репутация: -2
|
Чё за фигня.
CODE:
int num = 100/33;//100 процентов делим на 3 изображения
for (int g=percent; g>=num; g++)
{
string temp_fold = tempfolder();
string path_fold = pathfolder();
string Text_Loading = "Unpack: C:\...\Temp\Image_"+format(percent/33);
num = num+33;
TextOut(DC, 20, 70, Text_Loading, size(Text_Loading)+1);
unpack(path_fold+"\Image_"+format(percent/33)+".bmp", temp_fold+"Image_"+format(percent/33)+".bmp", 1);
break;
}
Как избавится, что бы format(percent/33) который добавляется к строчке не преобразовывал дробное число, а только целое?
(Добавление)
Такой функции я не видел вовсе
(Добавление)
А , нашел ошбику, которую сам создал - запутался. прошу прощения. |
|
|
007wan |
Отправлено: 31 Августа, 2019 - 09:57:26
|
Эксперт
Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017
Репутация: -2
|
Можно ли объявлять таким образом:
Вместо:CODE:string a[2] = {"1","2"}; Вместо
CODE:string a[2] =
{
"1",
"2"
};
Просто у меня так скрипт не корректно работает и даже пишет ошибку не понятную. Я давно еще так делал. Сейчас попробую повторить.(Отредактировано автором: 31 Августа, 2019 - 09:57:48) |
|
|
Kibor |
Отправлено: 31 Августа, 2019 - 12:24:45
|
Эксперт
Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
007wan пишет: Какого хрена INITDIALOG не передается external библиотеки, мне тогда придется заного передавать подобные хрени
Наверно такого, что в этом блоке код выполняется ПЕРЕД созданием диалога.
А ваша строчка external(INT, "GetPrivateProfileString", "GetPrivateProfileStringA", "kernel32.dll"); я так думаю находится в основном коде, который выполняется ПОСЛЕ создания диалога и его запуска.
Может поместить external(INT, "GetPrivateProfileString", "GetPrivateProfileStringA", "kernel32.dll"); в INITDIALOG? |
|
|
007wan |
Отправлено: 31 Августа, 2019 - 12:28:29
|
Эксперт
Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017
Репутация: -2
|
Kibor пишет: 007wan пишет: Какого хрена INITDIALOG не передается external библиотеки, мне тогда придется заного передавать подобные хрени
Наверно такого, что в этом блоке код выполняется ПЕРЕД созданием диалога.
А ваша строчка external(INT, "GetPrivateProfileString", "GetPrivateProfileStringA", "kernel32.dll"); я так думаю находится в основном коде, который выполняется ПОСЛЕ создания диалога и его запуска.
Может поместить external(INT, "GetPrivateProfileString", "GetPrivateProfileStringA", "kernel32.dll"); в INITDIALOG?
Все библиотеки запускаются в начале скрипта, они не лежат ни в каких-либо функциях, они чисто лежат на поверхности в самом верху и загружатся сразу. Какой всмысл мне эти фунции дублировать в Ини диалог. Может не дублировать, а сразу все положить? И тогда программа вообще работать не будет.
(Добавление)
Ну я и помести все библиотеки ДО запуска диалога и пошли ошибки, что нету библиотек. |
|
|
007wan |
Отправлено: 31 Августа, 2019 - 12:37:17
|
Эксперт
Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017
Репутация: -2
|
Kibor пишет: Сначала выполняется код в INITDIALOG А в чем проблема? Я положил все библиотеки ДО запуска и они все должны были прогрузиться, но показывает ошибку библиотек, потому что она не загружена, хотя она была загружена ДО запуска. Это что получается, что INITDIALOG и весь остальной скрипт это 2 разные нерушимые стены? А нельзя ли их приравнять для загрузки библиотек?(Отредактировано автором: 31 Августа, 2019 - 12:44:17) |
|
|
|