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

09.08.2009, 22:39
|
|
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме: 6075534
Репутация:
2731
|
|
Сообщение от Kuzya
Скажите пожалуйста кто-нибудь функцию замены подстроки в строке на Delphi 2009. Я знаю что в интернете полно исходников таких функций, но в 2009-ом точно должна быть своя встроенная.
Да, есть встроенная - StringReplace();
ZdezBilYa, вчитайся в вопрос.
|
|
|

13.08.2009, 09:32
|
|
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме: 6075534
Репутация:
2731
|
|
Надо написать генератор рандумной строки из даных символов. Я сделал это
Код:
function Rand(count,symbols: string): string;
var
i: integer;
begin
Randomize;
for i:=1 to StrToInt(count) do
begin
result:=result+symbols[Random(Length(symbols))]);
Application.ProcessMessages;
end;
end;
Но трабла в том, что генерит он не совсем рандумно. Пример: http://img44.imageshack.us/img44/7493/11637706.png
Я специально поставил только цифры, чтобы было лучше видно.
Как решить это?
PS: Процедуру Randomize пробовал засовывать в OnCreate - не помогло.
|
|
|

13.08.2009, 13:12
|
|
Участник форума
Регистрация: 10.08.2009
Сообщений: 238
Провел на форуме: 724939
Репутация:
108
|
|
Вот простой примерчик, все работает на ура
Код:
procedure TForm1.Button1Click(Sender: TObject);
var s: string;
i: byte;
begin
caption:='';
Randomize;
s:='abcd';
for i:=1 to 10 do
caption:=caption+ s[Random(length(s))+1];
end;
Попробовал ваш пример у себя - тоже все нормально. незнаю, почему у вас такие результаты получились... Может он выполняеться по тайперу с интервалом 1 ?? Рандом ведь от времени зависит.
П.С. у вас в коде нужно +1 добавить в рандом. Без него длина строки разная каждый раз. Рандом ведь и 0 возвращяет, а в строке символа с индексом 0 нету.
Последний раз редактировалось =Zeus=; 13.08.2009 в 13:39..
|
|
|

13.08.2009, 14:47
|
|
Познающий
Регистрация: 12.05.2009
Сообщений: 45
Провел на форуме: 255342
Репутация:
28
|
|
mailbrush
Больше нагруз на систему но думаю должно сработать:
Код:
function Rand(count,symbols: string): string;
var
i,rnd: integer;
begin
Randomize;
for i:=1 to StrToInt(count) do
begin
rnd:=(Random(Length(symbols))+1)*9;
while rnd>Length(symbols) do rnd-Random(Length(symbols));
result:=result+symbols[rnd];
Application.ProcessMessages;
end;
end;
Последний раз редактировалось МongBa†; 13.08.2009 в 14:59..
|
|
|

13.08.2009, 14:47
|
|
Познающий
Регистрация: 02.06.2009
Сообщений: 67
Провел на форуме: 237284
Репутация:
54
|
|
Код:
function Rand(const count: Integer; const symbols: string): string;
var
i: Integer;
begin
Result := '';
Randomize;
for i := 1 to count do
begin
Result := Result + symbols[Random(Length(symbols))+1];
Application.ProcessMessages;
end;
end;
это работает у меня нормально.
http://img406.imageshack.us/img406/2205/aga.png
Последний раз редактировалось Nullsleep; 13.08.2009 в 14:57..
|
|
|

13.08.2009, 16:39
|
|
Участник форума
Регистрация: 10.08.2009
Сообщений: 238
Провел на форуме: 724939
Репутация:
108
|
|
2 Nullsleep
Дык, это же то же самое, что я написал, только функция.
А вообще меня улыбнуло. Такая простая вещь на первый взгляд, но как ни странно за 3 года я ни разу не пользовался такой функцией =))
И еще. По-моему Application.ProcessMessages там никчему, функция итак быстро работает.
Последний раз редактировалось =Zeus=; 13.08.2009 в 16:42..
|
|
|

14.08.2009, 10:08
|
|
Познающий
Регистрация: 13.06.2009
Сообщений: 32
Провел на форуме: 42683
Репутация:
2
|
|
Как можноно с помощью wininet передать пост запросом бинарный файл на сервер??
|
|
|

14.08.2009, 12:08
|
|
Познающий
Регистрация: 15.02.2008
Сообщений: 98
Провел на форуме: 183980
Репутация:
50
|
|
Посмотри тут http://www.rsdn.ru/article/inet/wininet.xml вроде норм расписано про функции.
|
|
|

14.08.2009, 12:11
|
|
Познающий
Регистрация: 13.06.2009
Сообщений: 32
Провел на форуме: 42683
Репутация:
2
|
|
Сообщение от dos999
Посмотри тут http://www.rsdn.ru/article/inet/wininet.xml вроде норм расписано про функции.
Да и ещё там с++((
я 0 в нём!
уже пробовал передавать текстовые файлы оони норм передаются, а вот если гиф картингу или rar архив но нефика(
приведине пример народ оч нуна 
|
|
|

14.08.2009, 12:24
|
|
Познающий
Регистрация: 15.02.2008
Сообщений: 98
Провел на форуме: 183980
Репутация:
50
|
|
вообще не приходит или приходит но кривой?
попробуй Content-Type изменить на
HttpSendRequest(hResourceHandle, 'Content-Type: application/vnd', 47, szData, lstrlen(szData));
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|