Иконка ресурса

ANTIPUBLIC - BY ХОКИ(СЛИВ)

  • На форуме работает ручное одобрение пользователей. Это значит, что, если Ваша причина регистрации не соответствует тематике форума, а также Вы используете временную почту, Ваша учётная запись будет отклонена без возможности повторной регистрации. В дальнейшем - пожизненная блокировка обоих аккаунтов за создание мультиаккаунта.
  • Мы обновили Tor зеркало до v3!
    Для входа используйте следующий url: darkv3nw2...bzad.onion/
  • Мы вновь вернули telegram чат форуму, вступайте, общайтесь, задавайте любые вопросы как администрации, так и пользователям!
    Ссылка: https://t.me/chat_dark_time
21 Окт 2015
299
102
Каратель12 добавил(а) новый ресурс:

Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!
- ANTIPUBLIC - BY ХОКИ

и так всем здравствуйте
сегодня мы с вами научимся писать - мега супер, анти-паблик(будем делать, мега супер гавно)
и так для этого нам нужно
  1. delphi, у меня(delphi xe 7)
  2. ChilkatX, найдете в интернете, мне лень заливать
  3. любой хостинг куда заливать "txt" файл, я использовал ucoz
  4. кривые руки(хотя не нужно, сделаю всё за вас)
и так приступаем, создаем форму, делаем как у меня, ну или сами делайте)))

и так...
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!
 

AnGel

Администратор
Команда форума

AnGel

Администратор
Команда форума
27 Авг 2015
3,410
2,024
Для копипастеров и исходоебов я оставлю свой комментарий, который должен будет вас вразумить от использования этого.

Начнем с банального, с классов.
C#:
 AntiPablic = class(TThread)
  private
    Rez: Integer;
  const
    PrivateAccount = 1;
    PublicAccount = 2;
  protected
    procedure Res;
    procedure Execute; override;
  end;

  WebThread = class(TThread)
  private
    Rez: Integer;
  const
    ServerAccount = 1;
  protected
    procedure Res;
    procedure Execute; override;
  end;
Вспоминаем родителя TThread и не забываем про конструкторы и деструкторы класса. Если вы не создаете его, то используется по умолчанию метод:

Код:
constructor TThread.Create;
begin
  Create(False);
end;
Из доступных:
Код:
    constructor Create; overload;
    constructor Create(CreateSuspended: Boolean); overload;
{$IF Defined(MSWINDOWS)}
    constructor Create(CreateSuspended: Boolean; ReservedStackSize: NativeUInt); overload;
{$ENDIF MSWINDOWS}
Далее просто космос:
> тут описывать не стал, оставил комментарий в коде))) так теперь в "var Form1" добавляем
C#:
  i: Integer;
  HTTP: TChilkatX;
  Dir, Times: String;
  PrivateFile, PublicFile: TextFile;
  AccountsList, WebList: TStringList;
Ну во первых, как я понимаю - HTTP: TChilkatX; будет использоваться из потока. Если это так, то у нас намечаются большие проблемы с использованием одного экземпляра класса.
PrivateFile, PublicFile: TextFile; - можно было завести далее процедуру и даже целый класс для работы с файлами, ну ладно. Это не является ошибкой, но это уже дико выглядит.

Код:
  AssignFile(PrivateFile, Dir + '\Приват комбинации [ ' + DateToStr(Now) + ' ].txt');
  Rewrite(PrivateFile); // открываем
  CloseFile(PrivateFile); // закрываем
  // создаем сам тхт файл с названием "Паблик комбинации" записываем по "Dir" тоесть в сюда "Результаты\Результаты"
  AssignFile(publicFile, Dir + '\Паблик комбинации [ ' + DateToStr(Now) + ' ].txt');
  Rewrite(publicFile); // открываем
  CloseFile(publicFile); // закрываем
Об этом я и говорил. Расскажите ему, что разницы в разном нейминге нет.

Код:
  APTheard := AntiPablic.Create(true); // запуск потока
  APTheard.FreeOnTerminate := true; // уничтожитаем после выполнения
  APTheard.Priority := tpHigher; // приоритет потока
  APTheard.Resume; // запускаем поток в ручную
Это нужно было отдать конструктуру.

Далее я вижу AlphaControl. Не одобряю и не осуждаю. Но в будущем лучше использовать стандартные компоненты без свистоперделок. В Delphi итак есть крутые скины.
Пример:
1593327669987.png

Как сделать:
1593327721420.png

Не обязательно кидать sOpenDialog1 на форму и так грубо обращаться к нему. Можно создать опять же экземпляр класса и после использования его уничтожить. Незачем ему висеть на форме и сразу же показываю, почему нужно обновлять IDE до 10.3 минимум.

Код:
procedure TForm1.Button1Click(Sender: TObject);
var OpenDialog: TOpenDialog;
    base: TStringList;
begin
base:=TStringList.Create;
OpenDialog:=TOpenDialog.Create(nil);
OpenDialog.Filter:='*|*.txt';
if OpenDialog.Execute then
  base.LoadFromFile(OpenDialog.FileName);

Form1.Memo1.Lines.Add(base.Count.ToString);
FreeAndNil(OpenDialog);
FreeAndNil(base);
end;
Обратите внимание на удобное ToString, как в нормальных высших языках. Обращение к визуальным компонентам приучитесь писать от класса породившего объект, в будущем пригодится этот навык.

> с этим мы с правились))), теперь перед "{$R *.dfm}" запишем
Нет никакой разницы, где писать. Это декларативная запись, чтобы вы не писали вручную откуда брать юнит для компиляции и соблюдать их нейминг. Лучше писать после данной декларативной части, так как это удобнее читать.
Далее процедура представлена не привязанная ни к чему. Раз ты делаешь глобально, то и записывай имя процедуры глобально, т.е.:

Код:
var
  i: Integer;
  HTTP: TChilkatX;
  Dir, Times: String;
  PrivateFile, PublicFile: TextFile;
  AccountsList, WebList: TStringList;
  procedure SaveToFile(Str: string; Validate: Integer);
И никак не иначе.

Ну и не могу я ничего не сказать про procedure SaveToFile(Str: string; Validate: Integer);

У тебя изначально ошибка была при проектировании декларативной части. Можно было написать короче:
Код:
procedure SaveToFile(const data: string; out Dir: string);
var F: TextFile;
begin
AssignFile(F, Dir);
Append(PrivateFile);
Writeln(PrivateFile, Str);
CloseFile(PrivateFile);
end;
Я задаюсь вопросом: а нахуя нам класс потока, если ты работаешь в один поток? Можно было тогда оформить все в 1 класс и запустить отдельно с таким же успехом, но мы идем дальше.
Бляяяяяя...Он залил какой-то файл и потом проверяет его выкачивая с сервера.. И будет досить хост AccountsList.Count раз...
Для этого используются СУБД и пишется серверная часть для взаимодействия клиента с базой данных. Мне интересно, через какое время хостинг пошлет нахер такого клиента, потому что отдавать 100-200-500 мегабайт - это дорогая операция.
Synchronize(Res); - зачем? У тебя все равно один поток, мог бы и тут наговнокодить. Но это правильное использование, хоть и неожиданно было увидеть подобное.

Form1.PrivatePanel.Caption := IntToStr(StrToInt(Form1.PrivatePanel.Caption) + 1);
Form1.BasePanel.Caption := IntToStr(StrToInt(Form1.BasePanel.Caption) - 1);

Вести класс статистики - нет, это для слабаков.

Выше я писал про SaveToFile(AccountsList.Strings, 1);
В твоем случае лучше было сделать так: SaveToFile(out Str: string; const Validate: Integer);

Как минимум не создавал бы еще экземпляр строки.

> теперь вывод сколько строк в нашей бд(txt) файле

Громко сказано БД.

WebThread - я вообще не понимаю нехера он нужен. Узнать сколько там строк? Это дичь.

Прошу не использовать это говно и учиться не по исходникам. Ну или ваш пусть говнокод и исходоебие.


Каждый выбирает для себя свое,
ваш AnGel.
 

AnGel

Администратор
Команда форума

AnGel

Администратор
Команда форума
27 Авг 2015
3,410
2,024
Если вдруг автор данного ШЕДЕВРА случайным образом найдет эту тему, то прошу проштудировать правильную работу с потоками по статье, которую я приложу ниже в виде ссылки и файла, если сайт умрет через время.

Ссылка:
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!
 

Вложения

21 Окт 2015
299
102
Если вдруг автор данного ШЕДЕВРА случайным образом найдет эту тему, то прошу проштудировать правильную работу с потоками по статье, которую я приложу ниже в виде ссылки и файла, если сайт умрет через время.

Ссылка:
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!
я вообще delphi забросил давным давно, а это на просторах инета нашел, пытаюсь сишарп поучить молеха) да и бруты сейчас не актуальные с РК, OB, есть, софты уже не в моде))
 

AnGel

Администратор
Команда форума

AnGel

Администратор
Команда форума
27 Авг 2015
3,410
2,024
Ну и зря, потрясающий язык к тому же и нативный. После него можно двигаться в любые стороны, так как он дает максимальную базу, с которой можно пересесть на любой иной линейный язык. С асинхронными будет сложнее.

Софты еще как актуальны, на них ничего не сделать иного, кроме как тупого брута :)

Любой язык - это инструмент и выбирать нужно исходя из задачи. Я не думаю, что ты будешь на нем разрабатывать что-то нормальное, ибо он пытается двигаться во все стороны, в тоже время нигде не конкретно не осел, как другие языки. Некое все в одном, что очень плохо, так как ему далеко до Си с его максимальной областью применения.
Из применения я вижу на данный год лишь в банковском секторе, ибо очень много повязано на windows и этот язык проще отлаживать и внедрять. К тому же уже на все есть свои библиотеки.
 

О нас

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

    Dark-Time 2015 - 2022

    При поддержке: XenForo.Info

Быстрая навигация

Меню пользователя