Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Закрытая тема
 
Опции темы Поиск в этой теме Опции просмотра
  #16  
Старый 16.04.2015, 22:15
AlexBerg001 AlexBerg001 вне форума
Прохожий
 
Регистрация: 13.04.2015
Сообщения: 24
Версия Delphi: Delphi 2010
Репутация: 10
По умолчанию

Отредактировал, а насчёт разделителя: разные могут быть разделители в загружаемом списке
  #17  
Старый 16.04.2015, 22:17
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Но структура полей не меняется: логин + разд. + пароль?
  #18  
Старый 16.04.2015, 22:22
AlexBerg001 AlexBerg001 вне форума
Прохожий
 
Регистрация: 13.04.2015
Сообщения: 24
Версия Delphi: Delphi 2010
Репутация: 10
По умолчанию

Да-да, только разделитель или : или ;
  #19  
Старый 17.04.2015, 09:36
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Вот набросок, может что и подойдёт
Вложения
Тип файла: zip prs.zip (3.2 Кбайт, 2 просмотров)
  #20  
Старый 17.04.2015, 11:34
AlexBerg001 AlexBerg001 вне форума
Прохожий
 
Регистрация: 13.04.2015
Сообщения: 24
Версия Delphi: Delphi 2010
Репутация: 10
По умолчанию

Что-то я не въехал честно говоря в ваш код, пытался вставить свою интернетную часть, но что-то не заработало у меня. В общем вот я мой проект вам скину, мне кажется вы не совсем так меня понимаете или я вас))) Запаролил на всякий случай
Вложения
Тип файла: zip Проект.zip (2.44 Мбайт, 5 просмотров)
  #21  
Старый 17.04.2015, 11:36
cerbernar cerbernar вне форума
Прохожий
 
Регистрация: 17.04.2015
Сообщения: 1
Версия Delphi: Delphi XE7
Репутация: 10
По умолчанию

Привет, решал давеча похожую задачу с использованием stringlist и CommaText.

Для корректной работы пришлось текст в кавычки заключить, а разделитель ",".

Может поможет

Код:
procedure TForm1.Button4Click(Sender: TObject);
var
  ts: tstringlist;
  S: string;
  Tf: Textfile;
begin
  Ts := Tstringlist.create;
  Assignfile(tf, 'путь_к_файлу');
  Reset(tf);
  ComboBox2.Items.Clear;
  ComboBox3.Items.Clear;
  while not eof(tf) do
   begin
    Readln(tf,S);
    Ts.CommaText := S;
    ComboBox2.Items.Add(Ts[0]);
    ComboBox3.Items.Add(Ts[1]);
   end;
  closefile(tf);
  ts.free;
end;

UPD
Чтобы прокатило с разделителем ":"

вместо Ts.CommaText := S; в коде выше вставить
Код:
    Ts.Delimiter := ':';
    Ts.DelimitedText := S;

Последний раз редактировалось cerbernar, 17.04.2015 в 12:37.
  #22  
Старый 20.04.2015, 18:21
AlexBerg001 AlexBerg001 вне форума
Прохожий
 
Регистрация: 13.04.2015
Сообщения: 24
Версия Delphi: Delphi 2010
Репутация: 10
По умолчанию

Ну в общем, создал поток и сделал синхронизацию, вроде всё работает, но осталось ещё несколько проблем:
1)прогрессбар не доходит до конца;
2)как остановить выполнение программы по нажатию кнопки Стоп?
Код:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, sSkinManager, StdCtrls, sButton, ComCtrls, acProgressBar, sMemo,
  sLabel, sEdit, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
  IdHTTP, IdIOHandler, IdIOHandlerSocket, IdIOHandlerStack, IdSSL, IdSSLOpenSSL,
  IdCookieManager, IdIntercept, IdCompressionIntercept, sDialogs;

type
  TForm2 = class(TForm)
    sMemo1: TsMemo;
    sButton1: TsButton;
    IdHTTP1: TIdHTTP;
    IdSSLIOHandlerSocketOpenSSL1: TIdSSLIOHandlerSocketOpenSSL;
    sEdit3: TsEdit;
    sLabel3: TsLabel;
    sLabel4: TsLabel;
    sLabel5: TsLabel;
    sMemo2: TsMemo;
    sButton2: TsButton;
    sOpenDialog1: TsOpenDialog;
    sLabel6: TsLabel;
    sLabel7: TsLabel;
    sLabel8: TsLabel;
    sLabel9: TsLabel;
    sSkinManager1: TsSkinManager;
    sProgressBar1: TsProgressBar;
    sButton3: TsButton;
    procedure sButton1Click(Sender: TObject);
    procedure sButton2Click(Sender: TObject);
    { Private declarations }
  public
    { Public declarations }
  end;

type
  TMyThread = class(TThread)
  private
  protected
  procedure Good;
  procedure Bad;
  procedure ProgressBar;
  procedure MemoClear;
    procedure Execute; override;
end;


var
  Form2: TForm2;
  Accounts: TStringList;
  Login, Password, del: string;
  ProgressPos: integer;

implementation

{$R *.dfm}


procedure TForm2.sButton2Click(Sender: TObject);
begin
Accounts:=TStringList.Create;
if sOpenDialog1.Execute then
begin
  Accounts.Clear;
  sMemo1.Lines.Clear;
  sMemo2.Lines.Clear;
  Accounts.LoadFromFile(sOpenDialog1.FileName);
  sLabel9.Caption:=inttostr(Accounts.Count);
  end;
if pos(';', Accounts.Strings[0])<>0 then
begin
  del:=';';
end else
begin
del:=':';
 end;
end;


procedure TForm2.sButton1Click(Sender: TObject);
begin
TMyThread.Create(False);
end;


procedure TMyThread.MemoClear;
begin
 Form2.sMemo1.Lines.Clear;
 Form2.sMemo2.Lines.Clear;
end;


procedure TMyThread.ProgressBar;
begin
 Form2.sProgressBar1.Position:=ProgressPos;
 Form2.sProgressBar1.Max:=Accounts.Count;
end;


procedure TMyThread.Bad;
begin
 Form2.sMemo2.Lines.Add(Login+del+Password);
 Form2.sLabel6.Caption:=inttostr(Form2.sMemo2.Lines.Count);
end;


procedure TMyThread.Good;
begin
 Form2.sMemo1.Lines.Add(Login+del+Password);
 Form2.sLabel7.Caption:=inttostr(Form2.sMemo1.Lines.Count);
end;


procedure TMyThread.Execute;
  var
  HTML: string;
  Acc: integer;
begin;
Synchronize(MemoClear);
for Acc := 0 to Accounts.Count-1 do
 begin
 ProgressPos:=Acc;
 Synchronize(ProgressBar);
 Login:=copy(Accounts[Acc], 1, pos(del, Accounts[Acc])-1);
 Password:=copy(Accounts[Acc], pos(del, Accounts[Acc])+1, MaxInt);
 HTML:=Form2.IdHTTP1.Get('http://xxxxxx&Login='+Login+'&Password='+Password);
  if pos ('class="button__valign"', HTML)<>0 then
  begin
   HTML:=Form2.IdHTTP1.Get('https://xxxxxx'+Form2.sEdit3.Text+'&q%5Ffolder=all');
   if pos ('class="gosearch-message"', HTML)<>0 then
    begin
     Synchronize(Bad);
    end
    else
    begin
     Synchronize(Good);
    end;
  end
else
begin
Synchronize(Bad);
end;

end;

end;


end.

Последний раз редактировалось AlexBerg001, 21.04.2015 в 15:49.
  #23  
Старый 21.04.2015, 18:13
AlexBerg001 AlexBerg001 вне форума
Прохожий
 
Регистрация: 13.04.2015
Сообщения: 24
Версия Delphi: Delphi 2010
Репутация: 10
По умолчанию

С прогрессбаром разобрался и добавил сохранение результатов в файл. Вопрос с остановкой выполнения программы остаётся открытым
Добавил переменную T1: TThread и прописал вот так
Код:
procedure TForm2.sButton3Click(Sender: TObject);
begin
T1.Terminate;
end;

procedure TForm2.sButton1Click(Sender: TObject);
begin
T1:=TMyThread.Create(False);
end;
Вроде бы работает, поправьте если неправильно сделал

Последний раз редактировалось AlexBerg001, 21.04.2015 в 19:43.
  #24  
Старый 22.04.2015, 18:40
AlexBerg001 AlexBerg001 вне форума
Прохожий
 
Регистрация: 13.04.2015
Сообщения: 24
Версия Delphi: Delphi 2010
Репутация: 10
По умолчанию

Закройте тему, вопрос уже совсем не соответствует названию
Закрытая тема


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 16:56.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025