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

16.05.2009, 10:40
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
2 iGlass юзать поисковики. там сотни ответов
Код:
// В файл MyWave.rc пишешь:
// MyWave RCDATA LOADONCALL MyWave.wav
// Затем компилируешь
// brcc32.exe MyWave.rc, получаешь MyWave.res.
// В DLL пишешь:
// {$R MyWave.res}
// или используешь программу для работы с ресурсами
// ( н-р Borland Resource WorkShop) для получения res файла
// В проге делаеш так
procedure RetrieveMyWave;
var
hResource: THandle;
lib:thandle;
pData: Pointer;
begin
lib:=LoadLibrary('Имя твоей DLL');
hResource:=LoadResource( lib, FindResource(lib, 'MyWave', RT_RCDATA));
try
pData := LockResource(hResource);
if pData = nil then
raise Exception.Create('Cannot read MyWave');
// Здесь pData указывает на MyWave
// Теперь можно, например, проиграть его (Win32):
PlaySound('MyWave', 0, SND_MEMORY);
finally
FreeResource(hResource);
end;
end;
|
|
|

16.05.2009, 10:55
|
|
Познающий
Регистрация: 14.05.2009
Сообщений: 92
Провел на форуме: 299447
Репутация:
5
|
|
2 slesh
Спасибо.
Я вроде юзал гугл но чёт ничё не нашёл =\ Видимо плохо юзал (
|
|
|

16.05.2009, 20:42
|
|
Новичок
Регистрация: 26.10.2008
Сообщений: 15
Провел на форуме: 126398
Репутация:
6
|
|
slesh, спасибо. Есть ещё один вопрос, работа с потоками.
Имеется процедура запуска потоков :
Код:
for i:=1 to thr do begin
for j:=0 to source.Count -1 do begin
a[i]:=TNewThread.Create(true);
a[i].FreeOnTerminate:=true;
a[i].Priority:=tpLOWEST;
a[i].LoginT:=copyLogin(Source.Strings[j]);
a[i].passT:=copyPass(Source.Strings[j]);
a[i].Resume;
Application.ProcessMessages;
if Application.Terminated then break;
if stop then break;
end;
ThreadsLbl.Caption:=IntToStrW(StrToIntW(ThreadsLBL.Caption)+1);
end;
Правильна ли она? Вроде всё работает, но что-то здесь не так...
Пытался использовать CreateThread, но кроме msdn'a инфы по нему не нашел...
|
|
|

16.05.2009, 23:23
|
|
Познающий
Регистрация: 05.03.2007
Сообщений: 99
Провел на форуме: 744734
Репутация:
44
|
|
Подскажите как решить такую проблемку,
домустим у меня есть предложение (записано в msg:string), при нажатии на кнопку , нужно выполнить поиск слова введённого в Edit1 в предложении (MSG), и если это слово найдено, то записать его в Мемо1, если не найдено - то в Мемо2.
Даже если задана в Эдит1 часть слова, то выполнять и её поиск. Например поиск "Пр" в предложении "Привет! Как дела?" должно дать положительный результат и записаться в Мемо1.
Пытался сделать вот так:
msg - и есть само предложение.
Проблема в том что моим способом возможно осуществить поиск только слова обязательно имеющего не менее 5 букв (из-за условия msg[j]+msg[j+1]+msg[j+2]+msg[j+3]+msg[j+4])
Код:
for j:=1 to Length(MSG) do begin
if msg[j]+msg[j+1]+msg[j+2]+msg[j+3]+msg[j+4]=Edit1.Text then begin
str:=msg;
Memo1.Lines:=Edit1.Text
end;
if msg<>str then
Memo2.Lines:=Edit1.Text;
|
|
|

16.05.2009, 23:32
|
|
Участник форума
Регистрация: 15.11.2006
Сообщений: 259
Провел на форуме: 2589211
Репутация:
151
|
|
Сообщение от Mosvit
Подскажите как решить такую проблемку,
домустим у меня есть предложение (записано в msg:string), при нажатии на кнопку , нужно выполнить поиск слова введённого в Edit1 в предложении (MSG), и если это слово найдено, то записать его в Мемо1, если не найдено - то в Мемо2.
Так, что ли?  )
Код:
MSG := 'Привет! Как дела?';
if pos(edit1.Text, MSG) <> 0 then memo1.Lines.Add(Edit1.text)
Else memo2.Lines.Add(Edit1.text);
|
|
|

17.05.2009, 08:33
|
|
Постоянный
Регистрация: 25.07.2008
Сообщений: 454
Провел на форуме: 1229135
Репутация:
425
|
|
Сообщение от FindeR
Так, что ли?  )
Код:
MSG := 'Привет! Как дела?';
if pos(edit1.Text, MSG) <> 0 then memo1.Lines.Add(Edit1.text)
Else memo2.Lines.Add(Edit1.text);
желательно для начала преобразовать msg в нижний регистр, ато pos(); к примеру В "Привет! как дела?" слово "привет" не найдет.... так что думай дальше
|
|
|

17.05.2009, 18:05
|
|
Познающий
Регистрация: 05.03.2007
Сообщений: 99
Провел на форуме: 744734
Репутация:
44
|
|
Сообщение от FindeR
Сообщение от MosVit
Сообщение от Mosvit
Подскажите как решить такую проблемку,
домустим у меня есть предложение (записано в msg:string), при нажатии на кнопку , нужно выполнить поиск слова введённого в Edit1 в предложении (MSG), и если это слово найдено, то записать его в Мемо1, если не найдено - то в Мемо2.
Так, что ли?  )
Код:
MSG := 'Привет! Как дела?';
if pos(edit1.Text, MSG) <> 0 then memo1.Lines.Add(Edit1.text)
Else memo2.Lines.Add(Edit1.text);
Да, спасибо!
А если мне допустим надо выполнить поиск слова не их одного Эдита, а из таблицы StringGrid1.
Т.е. например в ячейках СтрингГрида записаны в столбик слова, если какое-либо слово содержится в тексте msg, то записать это слово в memo1, если не содержится, то записать это слово в Мемо2.
|
|
|

17.05.2009, 14:24
|
|
Участник форума
Регистрация: 28.04.2008
Сообщений: 172
Провел на форуме: 1191083
Репутация:
270
|
|
Грузовой автомобиль выехал из одного города в другой со скоростью V1 км/ч. Через t ч в этом же направлении выехал легковой автомобиль со скоростью V2 км/ч. Составить программу, определяющую, догонит ли легковой автомобиль грузовой через t1 ч после своего выезда.
Ну тут все вроде просто:
Код:
if (t+t1)*v1<=t1*v2 then showmessage('Догнал!');
|
|
|

17.05.2009, 15:24
|
|
Постоянный
Регистрация: 29.09.2007
Сообщений: 617
Провел на форуме: 3250478
Репутация:
999
|
|
Есть вопрос, как сделать на Delphi листинг директории?
И вывод в таком формате:
Для директорий: <a href="/dir-<dir_name>">dir_name</a>
Для файлов: <a href="/file-<file_name>">file_name</a>
Точнее мини-файл менеджер на Delphi...
С меня +10!
Спасибо!
|
|
|

17.05.2009, 16:05
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
типа такова:
Код:
procedure ListDir(maindir:string);
var
FD:TWin32FindData;
FH:DWORD;
begin
FH:=FindFirstFile(pchar(maindir+'*.*'), FD);
if (FH<>INVALID_HANDLE_VALUE) then
begin
repeat
if (FD.cFileName<>'') then
begin
if (FD.dwFileAttributes and faDirectory=0) then
form1.memo1.lines.add('<a href="/file-'+FD.cFileName+'">'+FD.cFileName+'</a>') else
form1.memo1.lines.add('<a href="/dir-'+FD.cFileName+'">'+FD.cFileName+'</a>')
end;
until not FindNextFile(FH,FD);
windows.FindClose(FH);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ListDir('c:\');
end;
Последний раз редактировалось slesh; 17.05.2009 в 16:13..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|