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

13.07.2009, 22:31
|
|
Познающий
Регистрация: 07.04.2007
Сообщений: 48
Провел на форуме: 199652
Репутация:
8
|
|
Народ помогите пожалуйста найти ошибочку в коде... (Java)
Кину код функции которая должна архивировать данные...
public static void packing(){//File path, String fileName){
try{
BufferedImage image = ImageIO.read(new File("X:/workspace/Java project/K-RLEArhivator/test/avatar77547.gif"));
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
ImageIO.write(image, "jpg", outputStream);
byte[] data = outputStream.toByteArray();
System.out.println(outputStream.size());
FileOutputStream out = new FileOutputStream("file.dat");
int temp = 0;
for(int i = 0; i < data.length; i++){
temp = i;
while(data[i] != data[i+1])
{
packingData[index] = 00;
count++;
i++;
}
packingData[++index] = (byte) count;
for(int index_c = 0; index_c <= count; index_c++){
packingData[++index] = data[temp++];
}
count = 0;
temp = i;
while(data[i] == data [i+1]){
count2++;
i++;
}
packingData[index] = (byte) ++count2;
packingData[++index] = data[temp];
count2 = 0;
i++;
temp = i;
while(data[i] == data[i+1]){
count2++;
i++;
loop = true;
}
if(loop){
packingData[++index] = (byte) count2;
packingData[++index] = data[temp];
count2 = 0;
loop = false;
}
index++;
}
for(int b = 0; b < packingData.length; b++)
{
out.write(packingData[b]);
}
}
catch(IOException ioe){
ioe.printStackTrace();
}
Размерность аватарки - 19,725.
1)Проблема в том что когда я загружаю побайтово данные в массив data получаю размерность массива 3,523.
2)После запуска программы получаю сл ошибку:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3523
at Archiver.packing(Class_Main.java:49)
at Class_Main.main(Class_Main.java:16)
|
|
|

14.07.2009, 00:33
|
|
Новичок
Регистрация: 27.04.2009
Сообщений: 15
Провел на форуме: 196032
Репутация:
24
|
|
Как выключить компьютер программно с помощью паскаля ? листинг покажите пжл..
и может у кого есть подобный справачник команда то в учебниках ни чего такого нету 
|
|
|

14.07.2009, 03:16
|
|
Познающий
Регистрация: 13.07.2009
Сообщений: 65
Провел на форуме: 507007
Репутация:
54
|
|
Как выключить компьютер программно с помощью паскаля ?
можно так попробовать, но ни паскаля ни делфей нету по рукой проверить не могу...
PHP код:
program QuickShutdown;
uses
SysUtils,
Windows;
const
SE_SHUTDOWN_NAME='SeShutdownPrivilege';
var
hToken: THandle;
tkp: TTokenPrivileges;
tkpo: TTokenPrivileges;
zero: DWORD;
OSName: string;
function myGetVersion: String;
var
VersionInfo: TOSVersionInfo;
begin
VersionInfo.dwOSVersionInfoSize:=SizeOf(TOSVersionInfo);
if Windows.GetVersionEx(VersionInfo)
then
begin
with VersionInfo do
begin
case dwPlatformId of
VER_PLATFORM_WIN32s : OSName:='Win32s';
VER_PLATFORM_WIN32_WINDOWS: OSName:='Windows 95';
VER_PLATFORM_WIN32_NT : OSName:='Windows NT';
end;
Result:=OSName+' Version '+IntToStr(dwMajorVersion)+'.'+IntToStr(dwMinorVersion)+
#13#10' (Build '+IntToStr(dwBuildNumber)+': '+szCSDVersion+')';
end;
end
else Result:='';
end;
begin
if Pos('Windows NT', MyGetVersion)=1
then
begin
zero:=0;
if not OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken)
then
begin
Exit;
end; // if not OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken)
if not OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken)
then
begin
Exit;
end; // if not OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken)
// SE_SHUTDOWN_NAME
if not LookupPrivilegeValue(nil, 'SeShutdownPrivilege' , tkp.Privileges[ 0 ].Luid)
then
begin
Exit;
end; // if not LookupPrivilegeValue(nil, 'SeShutdownPrivilege' , tkp.Privileges[0].Luid )
tkp.PrivilegeCount:=1;
tkp.Privileges[0].Attributes:=SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken, False, tkp, SizeOf(TTokenPrivileges ), tkpo, zero);
if Boolean(GetLastError())
then
begin
Exit;
end // if Boolean(GetLastError())
else
begin
ExitWindowsEx(EWX_Force or EWX_SHUTDOWN, 0);
end;
end // if OSVersion = 'Windows NT'
else
begin // just shut the machine down
ExitWindowsEx(EWX_Force or EWX_SHUTDOWN, 0);
end;
end.
Хотя, это конечто больше для делфей...
|
|
|

14.07.2009, 03:41
|
|
Reservists Of Antichat - Level 6
Регистрация: 07.07.2009
Сообщений: 324
Провел на форуме: 1585404
Репутация:
564
|
|
procedure vukl;
var
hToken: THandle;
tkp: TTokenPrivileges;
ReturnLength: Cardinal;
begin
if OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or
TOKEN_QUERY, hToken) then
begin
LookupPrivilegeValue(nil, 'SeShutdownPrivilege', tkp.Privileges[0].Luid);
tkp.PrivilegeCount := 1;
tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
if AdjustTokenPrivileges(hToken, False, tkp, 0, nil, ReturnLength) then
ExitWindowsEx(EWX_ShutDown,0);// Выключение
end;
end;
Код:
WinExec('Shutdown -s -t 0', SW_HIDE);
Этот вариант проходит только в том случае, если вы вошли в систему с правами администратора...
|
|
|

14.07.2009, 10:04
|
|
Новичок
Регистрация: 17.06.2009
Сообщений: 11
Провел на форуме: 14758
Репутация:
0
|
|
Нужна помощь в C++ Builder 6
Вот задание.
y=корин кубичный(m*t*b*t+|c*sint|)
z=m*cos(b*t*sint)+C
m=2
t=1,2
c=1
b=0,7
Вычислить на ЕВТ значения переменных, за задаными вычислительными формулами и набором входных данных. На экран дисплея вывести значения введенных входных данных и результаты вычислений, сопровождая вывод наименованых выведенных переменных.
|
|
|

14.07.2009, 10:30
|
|
Новичок
Регистрация: 17.06.2009
Сообщений: 11
Провел на форуме: 14758
Репутация:
0
|
|
Задание 2.
Составить блок-схему алгоритму и програму на языке Турбо Паскаль, ввести ее в память ЕВТ(електронно вычислительная техника), отредактировать программу, обчислить значения функцыи
провести анализ одержаных результатов.
|
|
|

14.07.2009, 11:10
|
|
Новичок
Регистрация: 17.06.2009
Сообщений: 11
Провел на форуме: 14758
Репутация:
0
|
|
Задание 3.
Сложить блок-схему алгоритму и програму введя одномерного масива в память ЕВТ, вывидя его елементы на екран дисплея в виде вектора-рядка. Отредактировать прогу, результаты вывести на екран.
Масив: Y(N)
Действие: Найти максимальный и минимальный елементы масива Y и поменять их местами. Входные и результуючие масивы вывести на екран дисплея.
Условие: N=10 -8 меньше,ровно y(i) меньше,ровно 15
Сделать анализ полученых результатов и сделать выводы.
|
|
|

14.07.2009, 22:00
|
|
Познающий
Регистрация: 15.03.2009
Сообщений: 77
Провел на форуме: 984248
Репутация:
73
|
|
Сообщение от MemorieS
Нужна помощь в C++ Builder 6
...
Вот
Код:
#include <iostream>//библиотека дя поточного ввода вывода
#include <math.h>//билиотека нужная для sin,cos,pow
#include <stdlib.h>//библиотека нужная для функции abs(модуль)
#include <conio.h>//библиотека нужная для getch(ожидание ввода люой клавиши)
using namespace std;
int main(void){
double y,z,m,t,c,b;//объявляем переменные
cout << "Введите через пробел значения m, t, c, b" << endl;//endl - оператор конца строки
cin >> m >> t >> c >> b; //вводим данные
y=pow(m*t*b*t+abs(c*sin(t)),3);//pow (переменная,степень)
z=m*cos(b*t*sin(t))+c;
cout << "Значение переменно у = "<< y <<", начение переменной z="<<z<<endl;
getch();//ждём ввода любой клавиши
return 0;
}
+Задание 3. На чём оно?
Условие: N=10 -8 меньше,ровно y(i) меньше,ровно 15
- можешь объяснить эту строчку?
Последний раз редактировалось Mozy; 14.07.2009 в 22:03..
|
|
|

14.07.2009, 22:46
|
|
Познающий
Регистрация: 07.04.2007
Сообщений: 48
Провел на форуме: 199652
Репутация:
8
|
|
А на мой вопрос кто нить даст ответ???
|
|
|

14.07.2009, 23:01
|
|
Познающий
Регистрация: 15.03.2009
Сообщений: 77
Провел на форуме: 984248
Репутация:
73
|
|
Сообщение от A-Spt_N(o)
А на мой вопрос кто нить даст ответ???
ты ошибся разделом
тебе сюда http://forum.antichat.ru/threadnav41870-1-10.html
и оформляй код в тегах
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|