Чтение не по одной строке, а сразу по несколько строк

Тема в разделе "WASM.HEAP", создана пользователем Luna, 24 ноя 2010.

  1. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    Раз пошло такое дело, то вариант и от меня:

    Код (Text):
    1. int main
    2. {
    3.     boost::asio::windows::stream_handle stream(CreateFile(...));
    4.     boost::system::error_code err;
    5.     std::size_t count = 0;
    6.     for(; !err; ++count)
    7.     {
    8.         boost::asio::read_until(stream, "начало_акта", err);
    9.         if(!err)
    10.         {
    11.             boost::asio::read_until(stream, "конец_акта", err);
    12.         }
    13.     }
    14.     return 0;
    15. }
     
  2. PSR1257

    PSR1257 New Member

    Публикаций:
    0
    Регистрация:
    30 ноя 2008
    Сообщения:
    933
    0) Эти акты - это не про выгрузку ли из 1С случайно?
    1) Прогресс бар выводить в цикле обработки - не моветон-с? (Отдельный тред с пониженным приоритетом читающий дворд bytesRead спасет? "мать" русской демократии?)
     
  3. Z3N

    Z3N New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2009
    Сообщения:
    812
    PSR1257
    отлично, что мать взяли в ковычки, у меня тоже есть сомнения, что это отец... ;)

    Судя по всему производительность их не особо интересует...

    _DEN_
    Самый лёгкий вариант ;)
    Пускай подгруз и поиск производит буст ;)
     
  4. RX200

    RX200 New Member

    Публикаций:
    0
    Регистрация:
    10 сен 2010
    Сообщения:
    86
    В некотором царстве, в некотором государстве жил-был принц(RX200), шол как то, принц мимо, дворца. Видит, сидит Луна в виде служащих, пригорюнилась репу чешет =), принц подошол и спросил - чего горюем? -. Луна отвечает - да вот царь поднапряг, читать его приспичело -. Ну принцу жалко стало Луну, почесал он зад, и сказал - забей на бэйсик, создай файл name.hta, и впиши в него вот это:
    Код (Text):
    1. <html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    2. <title>Луна</title>
    3. <HTA:APPLICATION navigable="yes"
    4.   contextMenu="no"
    5.   scroll="auto"
    6.   windowState="maximize" />
    7. <SCRIPT type="text/javascript">
    8. var fso = new ActiveXObject("Scripting.FileSystemObject");
    9. var sp=0;
    10. function fff(){
    11. var file = fso.OpenTextFile(document.getElementById('file').value);
    12. var xxx='<input type="button" onClick="fs(1)" value="следующие 10">\
    13. <input type="button" onClick="fs(0)" value="предведущие 10"> стр: <b>'+(sp+1)+'</b><br>';
    14. for(i=0;i<10*sp;i++)file.SkipLine();
    15. for(i=0;i<10;i++)xxx+=file.ReadLine()+"<br>";
    16. file.Close();
    17. document.getElementById('tx').innerHTML=xxx;}
    18. function fs(x){
    19. if(x)sp++;
    20. else if(--sp<0)sp=0;
    21. fff()}
    22. </SCRIPT></head><body>
    23. Введите имя файла: <input type="text" id="file" value="test.txt"><br>
    24. <input type="button" onClick="fff()" value="читать"><br>
    25. <span id="tx"></span></body></html>
    Фиг знает, подойдёт Луне в виде служащих, или нет, но как вариант имеет право быть =)
     
  5. dZentle_man

    dZentle_man New Member

    Публикаций:
    0
    Регистрация:
    24 авг 2008
    Сообщения:
    414
    Бугога, еще и html+javascript. Ждем примеров на лиспе, хаскеле и луа) А еще лучше на языке Ада) Все что угодно, кроме того что надо) И кто просил готовых примеров стате? Дайте человеку помыслить творчески.
     
  6. Luna

    Luna New Member

    Публикаций:
    0
    Регистрация:
    7 ноя 2009
    Сообщения:
    288
    dZentle_man
    Если этот человек будет продолжать в том же духе творчески мыслить, то лет через 20 может из этого и выйдет что-то толковое ))


    Ой, столько кодов , ой да на стольких разных языках
    ой прямо сплошные эмоции =)
    неделька понадобится на переваривание всего этого)))
    и ещё неделька на перевод всего на visual basic))
     
  7. reversecode

    reversecode Guest

    Публикаций:
    0
    луна купи себе книгу по визуал бейсику и не морочь голову))
     
  8. dZentle_man

    dZentle_man New Member

    Публикаций:
    0
    Регистрация:
    24 авг 2008
    Сообщения:
    414
    Ну... В зависимости от количества уже имеющихся знаний, это может занять от недели до месяца, а то и полугода. Зато потом все становится ясно и уже любая задача под силу. Первый язык, доведенный до ума, - он трудный самый. Я ж говорю что в ваших сорцах разобрался даже не зная синтаксиса бейсика) Впрочем, если бы я начинал с него - то мог бы до сих пор даже его не понимать. На мой взгляд нет ничего проще ассемблера, а после него Си и плюсов(если в последних не сильно углубляться), потому что эти языки точно отображают как работает процессор и операционная система. А всякие бейсики - это уже абстрактная надстройка, которая отображает в основном то, как авторы представляют себе простой для понимания язык) И у меня обычно с такими авторами полное непонимание) Хотя многие тут со мной бы не согласились, даже великий крис касперски)

    А вот эти коды вы будете разбирать долго, а когда и если разберете, то поймете что к вашей задаче они относятся очень отдаленно, ничуть не ближе атрибута чтения по одной строке) Вы бы лучше на форум по бейсику, там наверняка набегут толпы белых рыцарей с готовыми кодами. Ну это если вам думать надоело)
     
  9. RX200

    RX200 New Member

    Публикаций:
    0
    Регистрация:
    10 сен 2010
    Сообщения:
    86
    dZentle_man
    А вы то задачу поняли????
    Объясняю))) Жил был царь.... и в друг ему приспичило)) Читать из файла по десять строк)
    Luna
    Перед началом чтения по актам известно общее количество актов? и вообще вы сами то понимаете чего хотите?? и зачем вам прогресс бар? и почему именно по актам а не по байтам? и вообще, чего вы ждали написав сюда?
    И главное! Ничего удивительного нет, в том что тут не на бэйсике написали. Было бы странно по моему, если бы люди любящие ассемблер, в большинстве своём, любили и бэйсик. Это очень далёкие по своей сути языки.

    Чем более понятно вы объясните чего хотите, тем более подходящий ответ получите. И также подумайте об уместности вашего поста, если вам нужно именно на бэйсике, есть другие форумы где наверное, "войны бэйсика" готовые вам помочь.
    Вам об этом, уже много кто сказа.
    Почему вы написали свой пост именно тут? Если у вас проблема с бэйсик кодом.

    P.S. В общем ближе к делу, Луна вы ассемблер любите?
     
  10. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    Luna

    Когда уже будут сиськи?
     
  11. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    _DEN_

    Great отправит тя в баню, там и сиськи будут :)
     
  12. KeSqueer

    KeSqueer Сергей

    Публикаций:
    0
    Регистрация:
    19 июл 2007
    Сообщения:
    1.183
    Адрес:
    Москва
    cresta
    Great'у глубоко похуй что происходит на форуме.
     
  13. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    А спорим, что на форуме нет никого (кроме меня, естественно :)), кто может вот так? :)
    Код (Text):
    1. FUN showFileData: com[void]
    2. DEF showFileData ==
    3.         ask("File name: ") & (\\ fName .
    4.         ask("Number of lines to read: ") & (\\ linesNum .
    5.         open(fName,"r") & (\\ fHandle .
    6.         readFileLines(linesNum,fHandle) & (\\ resString .
    7.         write(
    8.             "--------------File contents:--------------\n"
    9.             ++ resString ++
    10.             "----------------End of file----------------"
    11.             ) &
    12.         flush (stdOut) &
    13.         close(fHandle) ))))
    14.  
    15. FUN readFileLines: nat ** file -> com[denotation]
    16. DEF readFileLines (linesNumber,fHandle) ==
    17.         eof?(fHandle) & (\\ eofReached .
    18.         IF linesNumber = 0 or eofReached THEN
    19.             succeed("")
    20.         ELSE
    21.             readLine(fHandle) & (\\ fileLine .
    22.             readFileLines(linesNumber-1,fHandle) & (\\ readyData .
    23.             succeed(`(fileLine) ++ "\n" ++ readyData) ))
    24.         FI)
     
  14. dZentle_man

    dZentle_man New Member

    Публикаций:
    0
    Регистрация:
    24 авг 2008
    Сообщения:
    414
    Как грится, и козу на возу можно. Но чтобы этим гордиться...
     
  15. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    _DEN_, как я и обещал
     
  16. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    KeSqueer
    ваще сообщение заставляет меня плакать
     
  17. KeSqueer

    KeSqueer Сергей

    Публикаций:
    0
    Регистрация:
    19 июл 2007
    Сообщения:
    1.183
    Адрес:
    Москва
    Прошу прощения, видимо Вам всё же не всё равно. Однако такое впечатление складывается порой после 10 страниц флудотопиков.
     
  18. oleg5451

    oleg5451 New Member

    Публикаций:
    0
    Регистрация:
    4 дек 2010
    Сообщения:
    2
    Z3N
    Ну дык просто бы тему закрыли.

    У вас неправильное представление о шизофрениках. Они обычно спокойные люди. А вообще у каждого своя реальность и каждый по разному интепретирует факты и строит теории. Вот, почитайте http://www.koob.ru/korkina_m_v/psihiatriya_korkina
     
  19. Arthur

    Arthur New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2007
    Сообщения:
    494
    Внесу свою лепту

    Читает по десять строк
    Код (Text):
    1. count = 0
    2. acts = {}
    3. instr = ""
    4.  
    5. for line in io.lines("test.txt") do
    6.     instr = instr..line.."\r\n"
    7.     count = count + 1
    8.     if count == 10 then count = 0; table.insert(acts, instr); instr = "" end
    9. end
    10.  
    11. -- print results
    12. for act in pairs(acts) do print(acts[act]) end
    P. S. на родном языке Луны :))))
     
  20. Arthur

    Arthur New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2007
    Сообщения:
    494
    а вот и вариант с интеллектуальным разбором актов :)

    Код (Text):
    1. acts = {}
    2. instr = ""
    3. start = false
    4.  
    5. for line in io.lines("test.txt") do
    6.     if line == "begin_act" then start = true end
    7.     if start then
    8.         instr = instr..line.."\r\n"        
    9.         if line == "end_act" then
    10.             table.insert(acts, instr); instr = ""
    11.             start = false
    12.         end
    13.     end
    14. end