Помогите с отображением информации

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Alexei-Strelok
Новичок
Новичок
 
Сообщения: 26
Зарегистрирован: 23.05.2009 (Сб) 15:56

Помогите с отображением информации

Сообщение Alexei-Strelok » 30.06.2009 (Вт) 22:08

В чем проблема-мне надо при загрузке формы чтобы в текстбоксе отоброжалось содержимое файла когда не известно сколько в файле строк?

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Помогите с отображением информации

Сообщение MIT » 30.06.2009 (Вт) 22:10

Если проблема в чтении файла, количество строк в котором неизвестно, то EOF тебе явно поможет.
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Помогите с отображением информации

Сообщение Хакер » 30.06.2009 (Вт) 23:38

А в файле вообще нет строк.
Фишка, да?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Помогите с отображением информации

Сообщение MIT » 30.06.2009 (Вт) 23:41

Хакер писал(а):да?
Нет. Если речь идет про текстовый файл (а так, скорее всего, и есть), то строки там присутствуют, иначе как тогда возможно построчное чтение? Хотя согласен - любой файл можно рассматривать как бинарный, тогда ни о каких строках речь идти не может.
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

JohnK
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 874
Зарегистрирован: 03.08.2002 (Сб) 0:35
Откуда: 48.02` 37.58`

Re: Помогите с отображением информации

Сообщение JohnK » 01.07.2009 (Ср) 0:06

Если предположить что связка Chr(13)&chr(10) является признаком конца строки, то строки существуют! Эврика!
А вот и код:

Код: Выделить всё
Dim FreeFileHandle As Long, tmpstr As String, k As Long
k = 1: text1.text=Empty :FreeFileHandle = FreeFile
Open App.Path & "\somefile.txt" For Input As #FreeFileHandle
    While Not EOF(FreeFileHandle)
      Input #FreeFileHandle, tmpstr
      If Len(tmpstr) > 0 Then
        text1.text= text1.text & tmpstr
        k = k + 1
     end if
    Wend
Close #FreeFileHandle
SELECT * FROM girls WHERE tits NOT NULL AND age BETWEEN 18 AND 25 ORDER BY Beauty

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Помогите с отображением информации

Сообщение iGrok » 01.07.2009 (Ср) 0:15

JohnK писал(а):Если предположить что связка Chr(13)&chr(10) является признаком конца строки, то строки существуют! Эврика!

Угу. А UNIX-формат(vbLf - Chr$(10)) и MAC-формат(vbCr - Chr$(13)) мы из религиозных соображений не рассматриваем? ,-)

MIT писал(а):Хотя согласен - любой файл можно рассматривать как бинарный, тогда ни о каких строках речь идти не может.

Я бы перефразировал так: "Некоторые файлы можно рассматривать, как текстовые.".
Правда, надо сначала договориться, что же считать разделителем строк.

Впрочем, учитывая, что это всё придирки, а автору темы нужно было просто отобразить в текстбоксе обычный виндовый текстовый файл, правильный ответ уже дал JohnK.. )

Впрочем, кажись не совсем правильный. Разделители строк там точно никуда не исчезнут? Сомнения есть, а проверять влом.

Я обычно делаю так:
Код: Выделить всё
Dim lFHandle as Long, tmpStr as String
lFHandle = FreeFile
Open "filename" For Binary as lFHandle
  tmpStr = Space$(LOF(lFHandle))
  Get #lFHandle, , tmpStr
Close #lFHandle
text1.text = tmpStr
Последний раз редактировалось iGrok 01.07.2009 (Ср) 0:25, всего редактировалось 1 раз.
label:
cli
jmp label

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Помогите с отображением информации

Сообщение Хакер » 01.07.2009 (Ср) 0:22

JohnK писал(а):
Код: Выделить всё
Dim FreeFileHandle As Long, tmpstr As String, k As Long
k = 1: text1.text=Empty :FreeFileHandle = FreeFile
Open App.Path & "\somefile.txt" For Input As #FreeFileHandle
    While Not EOF(FreeFileHandle)
      Input #FreeFileHandle, tmpstr
      If Len(tmpstr) > 0 Then
        text1.text= text1.text & tmpstr
        k = k + 1
     end if
    Wend
Close #FreeFileHandle

Никогда не понимал людей, рвущих фотографии, а потом долго и аккуратно эти фотографии склеивающих.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

JohnK
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 874
Зарегистрирован: 03.08.2002 (Сб) 0:35
Откуда: 48.02` 37.58`

Re: Помогите с отображением информации

Сообщение JohnK » 01.07.2009 (Ср) 0:51

А что не так? Автор хотел посчитать кол-во строк, насколько я понял.
А так можно считать в одну строку и присвоить textbox' у
SELECT * FROM girls WHERE tits NOT NULL AND age BETWEEN 18 AND 25 ORDER BY Beauty

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Помогите с отображением информации

Сообщение Хакер » 01.07.2009 (Ср) 0:57

А что не так?

А разве не понятно?
Какой смысл заставлять VB читать файл и разбивать его на строчки, обрабатывая каждый символ, чтобы потом из этих кусочков опять склеить то, что было изначально?

Если можно разом прочитать файл? И посчитать? Не разрезая и склеивая впустую?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

JohnK
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 874
Зарегистрирован: 03.08.2002 (Сб) 0:35
Откуда: 48.02` 37.58`

Re: Помогите с отображением информации

Сообщение JohnK » 01.07.2009 (Ср) 6:06

Делал с учетом того, что человек будет парсить строки.
SELECT * FROM girls WHERE tits NOT NULL AND age BETWEEN 18 AND 25 ORDER BY Beauty

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Помогите с отображением информации

Сообщение alibek » 01.07.2009 (Ср) 7:18

Хакер писал(а):Никогда не понимал людей, рвущих фотографии, а потом долго и аккуратно эти фотографии склеивающих.

Экономия памяти. Отображение прогресса.
Lasciate ogni speranza, voi ch'entrate.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Помогите с отображением информации

Сообщение Хакер » 01.07.2009 (Ср) 10:43

alibek писал(а):Экономия памяти.

А она в чём? Я не вижу никакой экономии. В конечном счёте объём занятой памяти будет таким же, как если бы всё содержимое было прочитано разом. Вот если бы прочитать файл в байтовый массив — экономия в два раза (была бы).
А сейчай её не только нет, а есть трата времени на выделение строчечек, освобождение, конкатенацию с возможным перевыделением памяти под строку.

alibek писал(а):Отображение прогресса.

Возможно. Но это некачественное отображение прогресса.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Помогите с отображением информации

Сообщение alibek » 01.07.2009 (Ср) 10:47

Хакер писал(а):А она в чём? Я не вижу никакой экономии.

В конвейерной обработке она есть.
Например, считывание из одного файла и вывод в другой файл строк, соответствующих определенному шаблону.
Lasciate ogni speranza, voi ch'entrate.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Помогите с отображением информации

Сообщение Хакер » 01.07.2009 (Ср) 10:50

Это другой случай. Фраза «с фотографиями» относилась к отцитированному кода и к остальным случаям, когда файл разрывают на части, чтобы потом склеить и получить ровно таким, каким он и был изначально.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

JohnK
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 874
Зарегистрирован: 03.08.2002 (Сб) 0:35
Откуда: 48.02` 37.58`

Re: Помогите с отображением информации

Сообщение JohnK » 01.07.2009 (Ср) 11:25

Дискуссия некуда не приводящая. В конечном счете, все зависит от конкретной задачи.
А форматировать\парсить строки прежде чем вывести их в textbox, по-моему, логично. Да и какой-никакой прогрессбар тоже пригодится, особенно если файл больших размеров.
SELECT * FROM girls WHERE tits NOT NULL AND age BETWEEN 18 AND 25 ORDER BY Beauty

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: Помогите с отображением информации

Сообщение Williams » 01.07.2009 (Ср) 13:25

JohnK писал(а): Да и какой-никакой прогрессбар тоже пригодится, особенно если файл больших размеров.

Ага. Блокноту этой фичи не хватает
И вы думаете, что вас оставят в живых после прочтения этого поста?

JohnK
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 874
Зарегистрирован: 03.08.2002 (Сб) 0:35
Откуда: 48.02` 37.58`

Re: Помогите с отображением информации

Сообщение JohnK » 01.07.2009 (Ср) 13:26

:lol: Блокноту много чего не хватает.
SELECT * FROM girls WHERE tits NOT NULL AND age BETWEEN 18 AND 25 ORDER BY Beauty

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: Помогите с отображением информации

Сообщение Williams » 01.07.2009 (Ср) 13:28

JohnK писал(а)::lol: Блокноту много чего не хватает.


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

JohnK
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 874
Зарегистрирован: 03.08.2002 (Сб) 0:35
Откуда: 48.02` 37.58`

Re: Помогите с отображением информации

Сообщение JohnK » 01.07.2009 (Ср) 13:38

А зачем изобретать велосипед? Notepad++
SELECT * FROM girls WHERE tits NOT NULL AND age BETWEEN 18 AND 25 ORDER BY Beauty

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Помогите с отображением информации

Сообщение Хакер » 01.07.2009 (Ср) 13:39

Не разводите оффтопик.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Google-бот и гости: 9

    TopList