Начинаю изучать делфи

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Mertvii-Listopad, 16 Apr 2006.

  1. Mertvii-Listopad

    Joined:
    17 Mar 2006
    Messages:
    100
    Likes Received:
    12
    Reputations:
    4
    Я начинаю изучать делфи! Я очень мало что знаю. Пока что нме удалось написать програмку котораяя открывает и закрывает сд ром.. Я хочу продолжить дальше сам всякие проги писать но у меня ничего не получаеться или что то с кодом или еще что то.
    И еще у меня мечта написать свой майл бомбер на делфи... Хоть маленький но все равно свой.. кто может киньте код плизз
    Я считаю что лучше своей прогой флудить чем чужими бомберами херачить
     
  2. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    727
    Reputations:
    266
    Давай по-русски. Еще раз скажи, что ты хочешь.

    Так ты сам хочешь написать, или тебе надо готовый?
     
  3. [Zarakul]

    [Zarakul] Elder - Старейшина

    Joined:
    12 Dec 2005
    Messages:
    153
    Likes Received:
    49
    Reputations:
    6
    Если тебе дадут код, то это уже будет НЕ ТВОЯ заслуга.
     
  4. TaNkist

    TaNkist Elder - Старейшина

    Joined:
    6 Apr 2006
    Messages:
    147
    Likes Received:
    47
    Reputations:
    19
    Для начала прийдется научиться работать с сокетами (как вариант, можно юзать компонеты, но это ИМХО не по-хакерски). Потом прочитай RFC по SMTP. Разобравшийсь, ты запросто исполнишь свою мечту.
    Описание протокола и пример простенького SMTP-движка ты всегда найдешь на http://delphiworld.narod.ru.
     
  5. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,548
    Likes Received:
    1,397
    Reputations:
    612
  6. Mertvii-Listopad

    Joined:
    17 Mar 2006
    Messages:
    100
    Likes Received:
    12
    Reputations:
    4
    Да мне надо код только и все и вообще что бы мне помогли с делфями...
    И прога это будет не совсем моя.. Ну дайте код у кого есть:) и прибавте репы ато у меня в минус ушла
     
  7. A110ut

    A110ut Elder - Старейшина

    Joined:
    31 Dec 2005
    Messages:
    505
    Likes Received:
    263
    Reputations:
    92
    епт.. ну так изучай дальше
    не ставлю еще один - исключительно из жалости..
     
    1 person likes this.
  8. Mertvii-Listopad

    Joined:
    17 Mar 2006
    Messages:
    100
    Likes Received:
    12
    Reputations:
    4
    аааа репы минус 2 уже:(( ну за что мне такое наказание??
    и люди ну помогите с делфи и потом я буду хорошим обещаю
     
  9. KEZ

    KEZ Ненасытный школьник

    Joined:
    18 May 2005
    Messages:
    1,604
    Likes Received:
    754
    Reputations:
    397
    хахахахаха надо в сборник) скоро увидите мой сборник веселых фраз и высказываний)
     
    1 person likes this.
  10. Mertvii-Listopad

    Joined:
    17 Mar 2006
    Messages:
    100
    Likes Received:
    12
    Reputations:
    4
    Кез если ты в делфях кодишь то помоги мыл бомбер написать
     
  11. W!z@rD

    W!z@rD Борец за русский язык

    Joined:
    12 Feb 2006
    Messages:
    973
    Likes Received:
    290
    Reputations:
    43
    А ты вообще какой-нить ЯП знаешь?

    Собственно алгоритм прост...
    юзер вводит STMP, Port, адрес бедняги... и количество писем.
    запускаешь цикл типа
    for i:=0 to SpinEdit1.Value-1 do begin
    здесь код отправки писем...
    end;

    Тут мона и TProgressBar и TGauge прилепить...
    Короче фантазия...
    При надобности добавляешь аттач.

    Кстати где-то пример отправки писем на WinSocket`ах было....
    Ах вот =)
    function mail(smtp:string;port:integer;from,dest,subject,body:string):bool;
    const
    cl=#13#10;
    var
    WSAData:TWSAData;
    Host:TSockAddrIn;
    Sock:TSocket;
    res:Integer;

    procedure senddata(str:string);
    var
    i:integer;
    begin
    for i:=1 to Length(str)do
    if send(Sock,str,1,0)=SOCKET_ERROR then
    exit;
    end;
    { получаем ответ от команды }
    function recvdata(accept:string):bool;
    var
    buff:array[1..255] of Char;
    begin
    res:=recv(Sock,buff,SizeOf(buff),0);
    Result:=(Res=SOCKET_ERROR)or(Copy(buff,1,3)=accept);
    end;

    begin
    try
    result:=false;
    { инициализация сокета }
    WSAStartUp(257,WSAData);
    Sock:=socket(AF_INET,SOCK_STREAM,IPPROTO_IP);
    if Sock=INVALID_SOCKET then exit;
    { устанавливаем хост и порт сервера }
    res:=inet_addr(PChar(smtp));
    if res<=0 then exit;
    Host.sin_family:=AF_INET;
    Host.sin_port:=htons(port);
    Host.sin_addr.S_addr:=res;
    { подключаемся к серверу }
    if connect(Sock,Host,SizeOf(Host))>0 then exit;
    { приветствие сервера }
    if not recvdata('220') then exit;
    { EHLO }
    senddata('EHLO'+cl);
    if not recvdata('250') then exit;
    { MAIL FROM: }
    senddata('MAIL FROM:'+from+cl);
    if not recvdata('250') then exit;
    { RCPT TO: }
    senddata('RCPT TO:'+dest+cl);
    if not recvdata('250') then exit;
    { DATA }
    senddata('DATA'+cl);
    if not recvdata('354') then exit;
    { отправляем текст сообщения }
    senddata('Subject:'+subject+cl+cl+body+cl+'.');
    if not recvdata('250') then exit;
    { отключаемся от сервера }
    senddata('QUIT'+cl);
    result:=true;
    finally
    { убиваем сокет }
    closesocket(sock);
    WSACleanup;
    end;
    end;

    В принципе сам разберешься...