Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

08.04.2010, 23:30
|
|
Участник форума
Регистрация: 02.02.2010
Сообщений: 107
Провел на форуме: 612028
Репутация:
28
|
|
внимательно прочитай что функция делает и что ей надо передавать!
Код:
The ShellExecute function opens or prints a specified file. The file can be an executable file or a document file. See ShellExecuteEx also.
HINSTANCE ShellExecute(
HWND hwnd, // handle to parent window
LPCTSTR lpOperation, // pointer to string that specifies operation to perform
LPCTSTR lpFile, // pointer to filename or folder name string
LPCTSTR lpParameters, // pointer to string that specifies executable-file parameters
LPCTSTR lpDirectory, // pointer to string that specifies default directory
INT nShowCmd // whether file is shown when opened
);
|
|
|

09.04.2010, 01:11
|
|
Участник форума
Регистрация: 30.03.2007
Сообщений: 121
Провел на форуме: 188563
Репутация:
52
|
|
Сообщение от fenixelite
JnK, проблема в том что используется для процедуры PAnsiChar >> ну и как следствие несоответствие типов в коде 
PChar и PAnsiChar почти одинаковы, разница только в том что в первом некоторые символы читаются как 2, а во втором как 1 символ.
Если даже после того кода осталась проблема то может: ?
P.s. Я знаю как работает, но может криво объяснил  Гугл поможет.
|
|
|

09.04.2010, 01:16
|
|
Участник форума
Регистрация: 30.03.2007
Сообщений: 121
Провел на форуме: 188563
Репутация:
52
|
|
Проверил у меня все работает, запускается 2 копия приложения во весь экран:
PHP код:
Uses ShellApi;
....
ShellExecute (Form1.Handle, 'open', PAnsiChar (Application.ExeName), nil, nil, SW_MAXIMIZE);
|
|
|

09.04.2010, 12:04
|
|
Участник форума
Регистрация: 05.06.2009
Сообщений: 225
Провел на форуме: 2793173
Репутация:
297
|
|
как это исправить? уже пробывал разные форматы
|
|
|

09.04.2010, 12:52
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
пропробуй грузить BMP файлы. В Delphi 7 вообще небыло возмоности грузить jpeg и gif программно. Потом вроде это появилось, хотя и то кривовато
|
|
|

09.04.2010, 16:58
|
|
Участник форума
Регистрация: 05.06.2009
Сообщений: 225
Провел на форуме: 2793173
Репутация:
297
|
|
Забыл добавить в uses jpeg оказывается.сохраняется в любом формате.
Еще вопрос. Как сделать чтобы в юрл в стринг id вставлялся один из списка например, и при каждом коннекте менялся? Например в списке 10 ид разных.
Вида:
123
111
1562
43
68213
12
И т.п.
И он при каждом коннекте подставляет примерно так: http://site.ru/index.php?id=123
Список ид из файла или в самой программе)
Буду благодарен  только учусь..)
|
|
|

09.04.2010, 17:23
|
|
Познавший АНТИЧАТ
Регистрация: 05.05.2008
Сообщений: 1,078
Провел на форуме: 10311449
Репутация:
1357
|
|
помогите вынес себе мозг!!!!!!

|
|
|

09.04.2010, 17:58
|
|
Banned
Регистрация: 23.09.2009
Сообщений: 5
Провел на форуме: 70690
Репутация:
0
|
|
Такой вопросик:
Имеется Button1, при ее нажатии создаем и запускаем потоки, также имеется переменная count_threads_on (кол-во работающих потоков), соответсвенно при запуске потока увеличиваем count_threads_on, при завершении уменьшаем count_threads_on, потом Button1.Enabled:=False;
В Button1, поставил такой код (ждем пока не завершатся все потоки, возобновляем Button1)
Код:
while count_threads_on<>0 do Application.ProcessMessages;
if count_threads_on=0 then
Button1.Enabled:=True;
Так вот этот цикл конкретно выгружает процессор while count_threads_on<>0 do Application.ProcessMessages;
Может есть какой то выход? Или я что то не так сделал?
Еще у меня есть таймер, он обновляется каждую секунду, выполняет кое-что, может сделать проверку там (if count_threads_on=0 then Button1.Enabled:=True; ) ?
Короче говоря насколько я знаю, то это не критично?
Так как, ничего не подвисает, а просто глянул на загрузку процессора, и начал сомневатся что все норм.
Последний раз редактировалось trigada; 09.04.2010 в 18:15..
|
|
|

09.04.2010, 18:11
|
|
Участник форума
Регистрация: 18.07.2009
Сообщений: 278
Провел на форуме: 3055344
Репутация:
259
|
|
Сообщение от MaTpOc
помогите вынес себе мозг!!!!!!

ответ 1
на бейсике
for i=0 to 10
a(i)=i*2
next i
этот код дает нам такую последовательность:
0 2 4 6 8 10 12 14 16 18 20
PHP код:
for i=10 to 0 step -1
k=a(10-i)
a(10-i)=a(i)
a(i)=k
next i
понятно что тут меняются местами элементы.
Достаточно посчитать крайние члены:
PHP код:
i=10
k=a(0)
a(0)=a(10)
a(10)=k
иными словами по коду
PHP код:
i=10
k=0
a(0)=a(10) //то есть 0 заменяется на 20
a(10)=k // 20 заменяется на 0
вот и се
Последний раз редактировалось EndLeSSDre@M; 09.04.2010 в 18:28..
|
|
|

09.04.2010, 18:14
|
|
Участник форума
Регистрация: 30.03.2007
Сообщений: 121
Провел на форуме: 188563
Репутация:
52
|
|
Сообщение от trigada
Такой вопросик:
Имеется Button1, при ее нажатии создаем и запускаем потоки, также имеется переменная count_threads_on (кол-во работающих потоков), соответсвенно при запуске потока увеличиваем count_threads_on, при завершении уменьшаем count_threads_on, потом Button1.Enabled:=False;
В Button1, поставил такой код (ждем пока не завершатся все потоки, возобновляем Button1)
Код:
while count_threads_on<>0 do Application.ProcessMessages;
if count_threads_on=0 then
Button1.Enabled:=True;
Так вот этот цикл конкретно выгружает процессор while count_threads_on<>0 do Application.ProcessMessages;
Может есть какой то выход? Или я что то не так сделал?
Еще у меня есть таймер, он обновляется каждую секунду, выполняет кое-что, может сделать проверку там (if count_threads_on=0 then Button1.Enabled:=True; ) ?
Почитай про Synchronize и OnTerminate, может это поможет.
вот тут статья довольно хорошая hxxp://forum.vingrad.ru/forum/s/dd3d4c1f673a46bd3a6a2d2fb6ee5ed9/topic-60076/view-all.html
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|