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

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

  1. Luna

    Luna New Member

    Публикаций:
    0
    Регистрация:
    7 ноя 2009
    Сообщения:
    288
    Как всегда, всем привеет!)))))))
    не нашла здесь графы visual basic6.0., поэтому пишу здесь ^__^
    .................................................................................
    ээээ
    в общем
    я написала код: при запуске программы происходит построчное чтение из файла => в течении чтения значение переменной count увеличивается на 1.
    а мне надо, чтобы увеличивалось ,например, на 10..т.е. чтобы одновременно выгружалось по 10 строк из файла
    Что можно исправить в коде?)

    Код (Text):
    1. Private Sub Command1_Click()
    2. Dim ss As String
    3. Dim mo As Long
    4. Dim xx As String
    5. Dim zz As String
    6. mo = FreeFile
    7. Dim mass(0 To 1) As String
    8. Dim aa
    9.  
    10. Dim count
    11. count = 0
    12.  
    13. ProgressBar1.Max = FileLen("D:\qqqx.txt") + 5
    14. Open "D:\qqqx.txt" For Input As #mo
    15.  
    16.  
    17. Do While Not EOF(mo)
    18. For q = 0 To q = 3
    19.   Line Input #mo, aa
    20.   ss = ss + aa + vbCrLf
    21.   count = count + 1
    22.   Text1.Text = ss
    23.   Text2.Text = count
    24.   ProgressBar1.Value = Len(Text1.Text)
    25. Next q
    26.  DoEvents
    27. Loop
    28.  
    29.  
    30.  
    31. Close #mo
    32.  
    33.  
    34. End Sub
    [modnote=TermoSINteZ]Хватит извращать заголовки тем.[/modnote]
     
  2. sysexit

    sysexit New Member

    Публикаций:
    0
    Регистрация:
    27 авг 2010
    Сообщения:
    176
    Исправить синтаксис на Сишный синтаксис?
     
  3. dZentle_man

    dZentle_man New Member

    Публикаций:
    0
    Регистрация:
    24 авг 2008
    Сообщения:
    414
    1. Если вы не нашли здесь темы с вижл бейсиком, то пишите в бегиннерс - там над ней сразу надругаются, заявят что насчет вижл бейсика нужно постить на другие форумы и закроют. И будут правы.


    2. Что за q такое еще? Количество строк, которое вы планируете считать с файло? Чтобы были считаны все строки нужно не q брать с ограниченным количеством, а поставить условие "выполнять пока функция получения строки из файла не возвратит ошибку".

    Чтобы считывать по десять строк поменять нужно здесь:
    Do While Not EOF(mo)
    For q = 0 To q = 3
    For i = 0 To i = 9
    Line Input #mo, aa
    ss = ss + aa + vbCrLf
    next i
    count = count + 1
    Text1.Text = ss
    Text2.Text = count
    ProgressBar1.Value = Len(Text1.Text)
    Next q
    DoEvents
    Loop


    3. Пишите код читабельно - и вам будет легче, и другим. Например вместо q можно объявить переменную NumberOfStrings, или, если с английским не лады, - KolichestvoStrok. Вместо переменной ss - FullString, или, по-правосламному, VsyaStroka. Я вам серьезно говорю, с таким кодом нужно иметь очень большой бюст чтобы вас не послали сразу.
     
  4. dZentle_man

    dZentle_man New Member

    Публикаций:
    0
    Регистрация:
    24 авг 2008
    Сообщения:
    414
    Бгг, правильное(ну условно правильное, потому что если строк будет 7, то алгоритм _чтения_по_10_строк_сразу три раза зря выполнит функцию считывания строки) условие уже было поставлено - Do While Not EOF(mo)/Loop, это ваши q тут вообще ни к какому месту. Правильнее было бы вот так:
    Do While Not EOF(mo)
    For i = 0 To i = 9
    Line Input #mo, aa
    ss = ss + aa + vbCrLf
    next i
    count = count + 1
    Text1.Text = ss
    Text2.Text = count
    ProgressBar1.Value = Len(Text1.Text)
    DoEvents
    Loop


    Я уж молчу про алгоритм обновления прогресс-бара и количество переменных сверх необходимости)
     
  5. dZentle_man

    dZentle_man New Member

    Публикаций:
    0
    Регистрация:
    24 авг 2008
    Сообщения:
    414
    А, так еще надо чтобы count соответствовал количеству считанных строк? Тогда занести внутрь цикла for -
    Do While Not EOF(mo)
    For i = 0 To i = 9
    Line Input #mo, aa
    ss = ss + aa + vbCrLf
    count = count + 1
    next i
    Text1.Text = ss
    Text2.Text = count
    ProgressBar1.Value = Len(Text1.Text)
    DoEvents
    Loop
    Правда, если количество строк не будет кратно 10, то ваш count, который по алгоритму считывания сразу по 10 строк - всегда будет 10 кратен - будет не соответствовать чему бы он там ни соответствовал по вашему замыслу.
     
  6. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    --- Луна - луна! Цветы - цветы...
     
  7. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    Правильно говорят: Луну халатом не прикроешь :)

    Зачем тебе читать построчно, чтобы потом строки слепливать снова через vbCrLf?
    Зачитать весь файл целиком религия не позволяет?
     
  8. dZentle_man

    dZentle_man New Member

    Публикаций:
    0
    Регистрация:
    24 авг 2008
    Сообщения:
    414
    У нее прогресс-бар прикручен - плказывает сколько из файла уже прочитано. А вообще прога явно для пробы пера, это же очевидно.
     
  9. CyberManiac

    CyberManiac New Member

    Публикаций:
    0
    Регистрация:
    2 сен 2003
    Сообщения:
    2.473
    Адрес:
    Russia
    Надо бросать VB и переходить на Delphi. Там это делается легко и непринуждённо.
     
  10. Z3N

    Z3N New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2009
    Сообщения:
    812
    CyberManiac
    не надо останавливать на бросании VB
    Надо бросать программировать... ;)
     
  11. _DEN_

    _DEN_ DEN

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

    Покеж свои фотки)
     
  12. Sekretarsha

    Sekretarsha New Member

    Публикаций:
    0
    Регистрация:
    30 сен 2008
    Сообщения:
    176
    +1
     
  13. tex32

    tex32 New Member

    Публикаций:
    0
    Регистрация:
    24 окт 2009
    Сообщения:
    202
  14. not1

    not1 Member

    Публикаций:
    0
    Регистрация:
    6 окт 2009
    Сообщения:
    137
    Luna и сиське)))
     
  15. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.709
    Luna
    TITS OR GTFO!!!
     
  16. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    Гюльчатай, личико покажи!
     
  17. Z3N

    Z3N New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2009
    Сообщения:
    812
    ;)
     
  18. _sheva740

    _sheva740 New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2005
    Сообщения:
    1.539
    Адрес:
    Poland
    Опасно так читать, можно окосеть, лучше читать по одной,
    мееедленно, вслух и с выражением.

    Вам нужно фото? Ну это примерно так выглядит.

    [​IMG]
     
  19. blacktelecom

    blacktelecom New Member

    Публикаций:
    0
    Регистрация:
    8 ноя 2010
    Сообщения:
    235
    Тебя это тоже касается

    Много троллей ITT
    Comer ты где?
     
  20. _DEN_

    _DEN_ DEN

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