
08.05.2009, 09:36
|
|
Познающий
Регистрация: 11.03.2009
Сообщений: 70
С нами:
9035857
Репутация:
6
|
|
Как лучше искать определённый символ в строке?! может можно обойтись без массивов?! Pascal
|
|
|

08.05.2009, 09:53
|
|
Постоянный
Регистрация: 26.12.2007
Сообщений: 360
С нами:
9671366
Репутация:
332
|
|
тебе нужно найти все такие символы или только первый такой символ?
объясню:
есть строка: "коло оля даша"
ищем символ: "о"
результат поиска1: 2 - номер искомого символа в строке(это же делает функция pos() в Delphi, не использует массивы)
результат поиска2: 2,4,6 - номера всех найденных символов...(результат и есть массив)
результат поиска3: 3 - колличество найденных символов в строке....
какой из результатов нужен тебе?
|
|
|

08.05.2009, 15:00
|
|
Познающий
Регистрация: 11.03.2009
Сообщений: 70
С нами:
9035857
Репутация:
6
|
|
1 и 3... =)
|
|
|

08.05.2009, 20:49
|
|
Познающий
Регистрация: 05.03.2007
Сообщений: 99
С нами:
10097277
Репутация:
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:27
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами:
10097606
Репутация:
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
С нами:
9035857
Репутация:
6
|
|
Ребята, мну уже не надо... =) по другому сделал )
|
|
|

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

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

09.05.2009, 21:21
|
|
Новичок
Регистрация: 26.10.2008
Сообщений: 15
С нами:
9231707
Репутация:
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..
|
|
|
|
 |
|
Предыдущая тема
Следующая тема
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|