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

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

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

    sn0w Статус пользователя:

    Joined:
    26 Jul 2005
    Messages:
    957
    Likes Received:
    1,007
    Reputations:
    325
    не совсем корректно, поток не завершается, если бы он вышел по ExitThread "завершился"- приложение бы продолжило работать до тех пор пока бы не вышли точно также все остальные. суть в том что основной поток возвращаясь из функции выходит назад в код ртл, и вызывает в конечном счете NtTerminateProcess, что и убивает все остальное.
     
    3 people like this.
  2. seregahowe

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

    Joined:
    25 Jun 2011
    Messages:
    160
    Likes Received:
    36
    Reputations:
    15
    Всем здравствуйте. Скажите пожалуйста, есть консольное приложение, написанное на delphi, возможно ли его компилировать под linux? Спасибо
     
  3. #colorblind

    #colorblind Elder - Старейшина

    Joined:
    31 Jan 2014
    Messages:
    566
    Likes Received:
    192
    Reputations:
    35
  4. seregahowe

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

    Joined:
    25 Jun 2011
    Messages:
    160
    Likes Received:
    36
    Reputations:
    15
    Здравствуйте. Люди добрые, подскажите.

    Есть два текстовых файла:

    Первый вида: a;b
    Второй вида: b;c

    Как спарсить значения, найти совпадения и получить на выходе файл вида: a;c

    Заранее спасибо.
     
    #9604 seregahowe, 28 Sep 2014
    Last edited: 28 Sep 2014
  5. #colorblind

    #colorblind Elder - Старейшина

    Joined:
    31 Jan 2014
    Messages:
    566
    Likes Received:
    192
    Reputations:
    35
    Пример файлов бы не помешал. На пальцах ты плохо объяснил
     
  6. seregahowe

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

    Joined:
    25 Jun 2011
    Messages:
    160
    Likes Received:
    36
    Reputations:
    15
    1.txt:

    Code:
    1;a
    2;a
    3;h
    4;f
    2.txt:

    Code:
    a;qwe
    h;fgh
    a;qwe
    f;utr
    result.txt:

    Code:
    1;qwe
    2;qwe
    3;fgh
    4;utr

    Как-то так
     
    #9606 seregahowe, 28 Sep 2014
    Last edited: 28 Sep 2014
  7. #colorblind

    #colorblind Elder - Старейшина

    Joined:
    31 Jan 2014
    Messages:
    566
    Likes Received:
    192
    Reputations:
    35
    PHP:
    program Project2;

    {
    $APPTYPE CONSOLE}

    var
    ab,bc,ac:textfile;
    tmp,a,b,c:string;
    i:integer;
    begin
    assign
    (ab,'ab.txt');
    assign(bc,'bc.txt');
    assign(ac,'ac.txt');
    Reset(ab);
    Reset(bc);
    Rewrite(ac);
    while 
    not EOF(ab)do
    begin
      Readln
    (ab,tmp);
      
    i:=Pos(';',tmp);
      
    a:=Copy(tmp,1,i-1);
      
    b:=Copy(tmp,i+1,length(tmp)-i);
      while 
    not EOF(bc) do
      
    begin
        Readln
    (bc,tmp);
        
    i:=Pos(b,tmp);
        If 
    i<>0
        Then begin
              i
    :=Pos(';',tmp);
              
    c:=Copy(tmp,i+1,length(tmp)-i);
              
    Writeln(ac,a+';'+c);
             
    end;
      
    end;
      
    Reset(bc);
    end;

    CloseFile(ab);
    CloseFile(bc);
    CloseFile(ac);
    end.
     
  8. seregahowe

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

    Joined:
    25 Jun 2011
    Messages:
    160
    Likes Received:
    36
    Reputations:
    15
    Что то не так.

    Исходные данные:

    1.txt:

    1;a
    2;a
    3;h
    4;f

    2.txt:

    a;qwe
    h;fgh
    a;qwe
    f;utr


    В итоге выходной файл получается:

    1;qwe
    1;qwe
    2;qwe
    2;qwe
    3;fgh
    4;fgh
    4;utr

    а нужно:

    1;qwe
    2;qwe
    3;fgh
    4;utr
     
  9. #colorblind

    #colorblind Elder - Старейшина

    Joined:
    31 Jan 2014
    Messages:
    566
    Likes Received:
    192
    Reputations:
    35
    все правильно, у тебя идет a;qwe в первой и третьей позиции. Вот и получаешь его 2 раза. Удаление дубликатов - это уже другая история)

    А по поводу
    Code:
    3;fgh
    4;fgh
    Позиция h;fgh содержит буквы как h, так и f. Отсюда двойное попадание этого пункта. Если твои строки не такие короткие, то все будет ок. В проивном случае нужно немного изменить алгоритм. Надеюсь добавить пару строк сможешь сам ;)
     
    #9609 #colorblind, 28 Sep 2014
    Last edited: 28 Sep 2014
  10. seregahowe

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

    Joined:
    25 Jun 2011
    Messages:
    160
    Likes Received:
    36
    Reputations:
    15
    Все равно не работает скрипт.
     
  11. #colorblind

    #colorblind Elder - Старейшина

    Joined:
    31 Jan 2014
    Messages:
    566
    Likes Received:
    192
    Reputations:
    35
    В-общем выкладывай те файлы, на которых тестишь и тогда я смогу помочь. В противном случае, можно гадать вечно.
     
  12. seregahowe

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

    Joined:
    25 Jun 2011
    Messages:
    160
    Likes Received:
    36
    Reputations:
    15
    Спасибо. Вот файлы - http://files.tf.org/u/98Dd5ca2a4

    И еще один вопрос, есть ли библиотеки для delphi 2.0 типа Synapse?
     
    #9612 seregahowe, 29 Sep 2014
    Last edited: 29 Sep 2014
  13. #colorblind

    #colorblind Elder - Старейшина

    Joined:
    31 Jan 2014
    Messages:
    566
    Likes Received:
    192
    Reputations:
    35
    Файлы поглядел. Все работает как часы. У тебя во втором файле ":", вместо ";". Ты уж определись с разделителем :D

    На входе ab.txt:
    Code:
    3434;100000@qip.ru
    890897;afanasyev_y@mail.ru
    34756768;sgzenit@rambler.ru
    346567;elmira-@list.ru
    346346;klyuchik_@mail.ru
    4353453476;snulipsasha@rambler.ru
    45354;100009@mail.ru
    234234;admin@unreal-world.ru
    345;100011@list.ru
    12123;000angel000@mail.ru
    bc.txt:
    Code:
    _andre_83@mail.ru;6645hyr
    afanasyev_y@mail.ru;fdfdghdfh
    _john_@mail.ru;erg45
    klyuchik_@mail.ru;wefwef
    tayler_aleks@me.com;pltcmrfnz
    _naf-naf_@mail.ru;E343435
    _notforu@list.ru;dfgdfvE
    _ohh_@mail.ru;wiwetg5556
    000angel000@mail.ru;sfewf
    Результат в ac.txt:
    Code:
    890897;fdfdghdfh
    346346;wefwef
    12123;sfewf
    Никогда им не пользовался. Связь с инетом всегда делаю через сокеты. Быстро, универсально и не нужно за собой таскать всякий хлам.
     
    #9613 #colorblind, 29 Sep 2014
    Last edited: 29 Sep 2014
    1 person likes this.
  14. seregahowe

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

    Joined:
    25 Jun 2011
    Messages:
    160
    Likes Received:
    36
    Reputations:
    15
    Это часть файлов, так работает, с оригинальными файлами работает абсолютно не так. А скомпилированный в delphi 2.0 вообще не пашет exeшник:)

    А через сокеты можно пример гет и пост запроса? Спасибо

    PS: В общем заметил такую закономерность, много дубликатов первой переменной появляется в ac.txt , если во второй переменной в файле ab.txt короткий логин, допустим: 153111;d@mail.ru либо двухсимвольный, трехсимвольный и т.п.

    Спасибо за помощь
     
    #9614 seregahowe, 29 Sep 2014
    Last edited: 29 Sep 2014
  15. #colorblind

    #colorblind Elder - Старейшина

    Joined:
    31 Jan 2014
    Messages:
    566
    Likes Received:
    192
    Reputations:
    35
    Вот, например: https://forum.antichat.ru/showthread.php?p=1384242
    Юзай поиск, много примеров уже было.


    По поводу того, что у тебя не работает. Еще раз говорю, гадать можно долго. Выложи несколько реальных позиций(хотя бы 100-200), на которых глючит. Если не хочешь палить, можешь скинуть в ПМ. Я не хэккер, что с этим делать все-равно не знаю.

    p.s.: часто ошибки случаются когда вместо CRLF, в файлах стоит только CR. В текстовом редакторе выглядит нормально, но на самом деле перенос строки глючный.
     
    #9615 #colorblind, 29 Sep 2014
    Last edited: 29 Sep 2014
  16. seregahowe

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

    Joined:
    25 Jun 2011
    Messages:
    160
    Likes Received:
    36
    Reputations:
    15
    в общем, смотри, если в списке будут присутствовать мыла в название которых входит, допустим a@bk.ru, т.е. anna@bk.ru 4elena@bk.ru и т.п., в результирующий файл попадут пассы и от этих мыльников)

    есть у нас допустим такая запись в ab.txt - 100000;a@bk.ru , в итоге мы получаем в списке результатов:
    100000;edwef
    100000;regergr

    то есть пассы от anna@bk.ru 4elena@bk.ru и т.п.
     
  17. #colorblind

    #colorblind Elder - Старейшина

    Joined:
    31 Jan 2014
    Messages:
    566
    Likes Received:
    192
    Reputations:
    35
    29 строка
    PHP:
    If i<>0
    на
    PHP:
    If i=1
    Это решит подобную проблему
     
  18. seregahowe

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

    Joined:
    25 Jun 2011
    Messages:
    160
    Likes Received:
    36
    Reputations:
    15
    Спасибо большое, а ускорить / оптимизировать данный процесс можно?
     
  19. #colorblind

    #colorblind Elder - Старейшина

    Joined:
    31 Jan 2014
    Messages:
    566
    Likes Received:
    192
    Reputations:
    35
    Можно. Например переписать все это дело на питоне. Тогда 1 миллиард знаков обработается секунд за 15. Но это уже не ко мне, я в питоне полный 0.
     
  20. seregahowe

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

    Joined:
    25 Jun 2011
    Messages:
    160
    Likes Received:
    36
    Reputations:
    15
    А если обрабатывать в памяти, используя tstringlist ?Не получается переделать(
     
Loading...
Thread Status:
Not open for further replies.