ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

08.05.2009, 16:19
|
|
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме: 5749763
Репутация:
1680
|
|
Сообщение от KIR@PRO
2Nightmarе
А это смотрел?
memo1.Font.Charset
Смотрел.
Это проверка кодировки у самого объекта memo, но никак не текста в нём.
Сообщение от KIR@PRO
или попробуй function GetTextFace(DC: HDC; Count: Integer; FaceName: PChar): Integer;
А вот эту функцию как правильно вызвать?
|
|
|

08.05.2009, 20:49
|
|
Познающий
Регистрация: 05.03.2007
Сообщений: 99
Провел на форуме: 744734
Репутация:
44
|
|
Хочу написать бота ICQ которыйбы отвечал на каждое входящее сообщение (от одного номера) разными словами из мемо2. Типа имитировал настоящий разговор.
Пробовал сделать вот так:
Код:
Код:
procedure TForm1.ICQClient1MessageRecv(Sender: TObject; Msg, UIN: String);
var icq: cardinal; i:integer;
begin
icq:=StrToInt(UIN);
ICQClient1.SendMessage(icq,Memo2.Lines[i]);
sleep(2000);
Memo2.Lines[i]:=Memo2.Lines[i+1];
end;
В Мемо2 записано:
"текст1
текст2
текст3
текст4
текст5"
В итоге на первое отправленное сообщение на этот ICQ бот приходит ответ "текст2", а на все последующие "текст3".
Что не так?
Используется компонент TICQClient
Последний раз редактировалось Mosvit; 08.05.2009 в 21:43..
|
|
|

08.05.2009, 21:15
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
2 Nightmarе вообще определить можно или методом тыка кодирую и сравнивая.
типа
s=текст
s2=DOS2WIN(s);
if s=s2 then текст в DOS кодировке в противном случае чтото другое.
Или анализировать диапазон символов русского языка.
АБВГДЕ абвгде выглдяит как
WIN: C0 C1 C2 C3 C4 C5 20 E0 E1 E2 E3 E4 E5
DOS: 80 81 82 83 84 85 20 A0 A1 A2 A3 A4 A5
как видишь русский буквы в WIN идут с адресов C0
А в DOS с 80
Так что можешь попробовать сложить все символы с кодами > 7F и разделить число на кол-во этих символов. И получишь соотношение, чем оно ближе к 80 тем более вероятне что это DOS. но и собственно говоря наоборот если ближе к FF то WIN
|
|
|

08.05.2009, 21:27
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
Вот только что попробовал реализовать эту свою задумку. Вроде как пашет нормально )
Код:
var
x:integer;
sum,cnt:integer;
s:string;
begin
s:=memo1.text;
sum:=0;
cnt:=0;
for x:=1 to length(s) do
if (ord(s[x])>$7F) then
begin
inc(cnt);
sum:=sum+ord(s[x]);
end;
if cnt=0 then ShowMessage('А хер его знает что там');
else if (sum div cnt<$C0) then showmessage('DOS')
else showmessage('WIN');
end;
|
|
|

08.05.2009, 22:43
|
|
Познающий
Регистрация: 11.03.2009
Сообщений: 70
Провел на форуме: 251358
Репутация:
6
|
|
Ребята, мну уже не надо... =) по другому сделал )
|
|
|

09.05.2009, 06:11
|
|
Познающий
Регистрация: 04.03.2009
Сообщений: 31
Провел на форуме: 50236
Репутация:
2
|
|
Привет всем как бы мне поумнее сделать чтобы Form1 сворачивалась в трей (к часам)
PHP код:
procedure TForm4.TrayIcon1Click(Sender: TObject);
begin
Form4.Hide;
end;
end.
Сделал так но при клике неразворачивается форма и тупо исчезает затем её неразвернуть и несвернуть при клике на иконку в трее
(Ещё назрел маненький вопросик когда я компилирую программу она почему то так и называется project1 ну или судя как её переименовать можно ли ей как бы закрепить имя ?)
|
|
|

09.05.2009, 10:20
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
2 Huligan1
1) Delphi World ("Иконка на TrayBar", "Иконка на TrayBar - пример 1", "Иконка на TrayBar - пример 2") Достаточно вбить в гугле с сразу увидишь десятки сайтов в таким примером. + в этом же топике пару дней назад это обсуждалось.
2) Ну так сразу назови проект как тебе нужно. А чтобы переименовать название которое отображается на панеле задач, то application.title:='dfdfdfdf';
|
|
|

09.05.2009, 10:27
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
ps. если юзаешь компонент, то
при сворачивании делается Form4.Hide;
а при клике - Form4.show;
|
|
|

09.05.2009, 21:21
|
|
Новичок
Регистрация: 26.10.2008
Сообщений: 15
Провел на форуме: 126398
Репутация:
6
|
|
Пишу брут, первый раз, всё работает, гуды находит, но есть оно : проходит ровно столько строк, сколько установлено потоков. Целый день пишу, голова уже не работает, вот кусок прцедуры, отвечающей за сооздание потока :
Код:
for i:= 1 to SpinEdit1.Value do begin
a[i]:=TNewThread.Create(true);
a[i].FreeOnTerminate:=true;
a[i].Priority:=tpLOWER;
a[i].LoginTH:=copyLogin(Source.Strings[i]);
a[i].passTH:=copyPass(Source.Strings[i]);
a[i].Resume;
application.ProcessMessages;
if Application.Terminated then break;
if stop then break;
ThreadsLBL.Caption:=IntToStr(i);
end;
Поправьте, как надо.
не актуально, как запостил - нашел ошибку.
Последний раз редактировалось f0rward; 09.05.2009 в 21:38..
|
|
|

10.05.2009, 07:37
|
|
Постоянный
Регистрация: 26.01.2008
Сообщений: 796
Провел на форуме: 5209663
Репутация:
357
|
|
BorderStyle = bsNone
А мне надо перемещать форму по экрану при поможи зажатие мышки (Также как и обычные окна Windows), как это можно сделать?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|