Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Болталка (https://forum.antichat.xyz/forumdisplay.php?f=46)
-   -   Skype FAQ (https://forum.antichat.xyz/showthread.php?t=205767)

Ildon 21.05.2010 21:27

Skype FAQ
 
Видел очень много вопрос связанных со скайпом и решил написать для новичков

Для создания был использован С++ Builder , в Делфи будет все то же самое только не много другой синтаксис
1)
Для начала нужно установить ACTIVEX элемент для этого переходим на вкладку

Component->Import Activex Control и ищем там строку Skype4Com, выбираем ее и нажимаем Install

Если все прошло успешно то во в кладке ActiveX появится элемент

Кидаем его на форму , перед этим включаем Skype, он спросит разрешение на использование , говорим Да

2)

Кидаем на форму кнопку и прописываем в ее обрабочик такой код

Код:

Skype1->Attach(6,VARIANT_TRUE);
Это позволит нам подсоединится к Skype.

Теперь напишим цикл который и будет осуществлять рассылку

Кидаем Кнопку и 2 Мемо

В обрабочике кнопки пишем такую код

Код:


for(int x=0;x<Form1->Memo2->Lines->Count;x++) //Пока не кончатся строки в Мемо2, x - увеличивать
{

AnsiString  atxt(Form1->Memo2->Lines->Strings[x]); //Берем ник из Мемо2 ковертируем в понятный формат
WideString wtxt(atxt);
BSTR txt=wtxt.c_bstr();

AnsiString  btxt(Form1->Memo1->Text); //Берем текст из Мемо1  и ковертируем в понятный формат
WideString ztxt(btxt);
BSTR rtxt=ztxt.c_bstr();
Sleep(100);

Form1->Skype1->SendMessage(txt,rtxt); //Посылаем сообщение
}
ShowMessage("Я закончила");

Memo2 - ники тех люде которых будем спамить

Memo1 - Текст который будем рассылать

Вот и все, можно так же доделать количество сообщений отправляемых каждому юзеру и много чего другого, а пока я покажу пример простой звонилки

Кидаем на форму кнопку , едит и мемо

Обработчик кнопки

Код:

for(int x=0;x<Memo3->Lines->Count;x++)  //Пока не кончатся строки в Мемо3, x - увеличивать
{
AnsiString  atxt(Memo3->Lines->Strings[x]);  //Берем ник из Мемо2 ковертируем в понятный формат
WideString wtxt(atxt);
BSTR txt=wtxt.c_bstr();


  ICallPtr call=Skype1->PlaceCall(txt, L"", L"", L""); //Звоним

 //Продолжительность звонка 



AnsiString f=Edit1->Text;
int time=GetTickCount();
while((GetTickCount()-time)<StrToInt(f*1000))
          {
          Application->ProcessMessages();
          }

  call->Finish();  //Бросить трубку 


  Sleep(1000);

}

В едит находится время через которое нужно оборвать звонок и начать новый

В мемо список людей которым звонить


Эту вещь можно не писать если вы делаете в отдельном потоке

Она лучше чем Sleep потому как форма не застывает.

Код:

int time=GetTickCount();
while((GetTickCount()-time)<StrToInt(f*1000))
          {
          Application->ProcessMessages();
          }


Всем спасибо кто прочел , если есть вопросы пишите всем отвечу

AlexTheC0d3r 22.05.2010 22:10

Зачем так говнокодить?
1 полнейший бред... 2е тоже...
И еще...нельзя полагаться на то, что функция ProcessMessages() будет выполняться одинаковое кол-во времени, оно не постоянно!

Я тебя прошу, не лезь писать программы, статьи, пока не научишься делать это как минимум грамотно!

B1t.exe 22.05.2010 22:40

как раз есть ламерский вопрос по скайпу :D
когда ишещь пользователя по нику(он находит) как узнать его статус ОНЛАЙН/ОФЛАЙН ?

AlexTheC0d3r 22.05.2010 22:42

Цитата:

Сообщение от B1t.exe
как раз есть ламерский вопрос по скайпу :D
когда ишещь пользователя по нику(он находит) как узнать его статус ОНЛАЙН/ОФЛАЙН ?

нельзя до авторизации пользователем получить его онлайн статус

Ildon 22.05.2010 22:45

Цитата:

Сообщение от AlexTheC0d3r
Зачем так говнокодить?
1 полнейший бред... 2е тоже...
И еще...нельзя полагаться на то, что функция ProcessMessages() будет выполняться одинаковое кол-во времени, оно не постоянно!

Я тебя прошу, не лезь писать программы, статьи, пока не научишься делать это как минимум грамотно!


Давай я сам буду решать )

AlexTheC0d3r 22.05.2010 23:02

Цитата:

Сообщение от Ildon
Давай я сам буду решать )

ну а смысл писать то, что ты сам даже не можешь не то что описать грамотно, а объяснить без ошибок...

новичек же здесь ничего не поймет, а будет глупо копипастить кривой код

Twoster 22.05.2010 23:12

Цитата:

Сообщение от AlexTheC0d3r
ну а смысл писать то, что ты сам даже не можешь не то что описать грамотно, а объяснить без ошибок...

новичек же здесь ничего не поймет, а будет глупо копипастить кривой код

Алекс, не будь таким самоуверенным, от тебя тоже никто не видел хороших релизов.

noxjoker 22.05.2010 23:15

Twoster а скажи кто сделал хороший релиз ? Кроме воланда с его брутом.

[ac1D] 22.05.2010 23:16

Релизы нужны?? Скажите что написать.. А потом говорите уже.

Twoster 22.05.2010 23:16

Цитата:

Сообщение от noxjoker
Twoster а скажи кто сделал хороший релиз ? Кроме воланда с его брутом.

Очень много людей, можешь посмотреть тут - ТЫЦ!1


Время: 10:28