Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Вопрос Добавлено: 21.04.07 18:52  

Автор вопроса:  ygen | Web-сайт: soft.ygen.ru/
У меня вопрос.Почему моя программа открывает не все файлы.Вот код на открытие программы:


Dim FNum As Integer
Dim txt As String
CommonDialog1.CancelError = True
CommonDialog1.flags = cdlOFNFileMustExist
CommonDialog1.DefaultExt = "TXT"
CommonDialog1.Filter = "Òåêñòîâûå ôàéëû|*.TXT|Ôàéëû Pascal|*.pas|Ôàéëû C++|*.cpp|Ôàéëû QBasic|*.bas|Âñå ôàéëû|*.*|"
On Error Resume Next
CommonDialog1.ShowOpen
FNum = FreeFile

Open CommonDialog1.FileName For Input As #FNum
Do While EOF(1)
txt = Input(LOF(FNum), #FNum)
Loop
Close #FNum
txtMain.Text = txt
Form1.Caption = "Программа - " & CommonDialog1.FileName


Программа не открывает некоторые файлы.Т.е. файлы с расширениями txt, bas, pas, cpp открывает вроде бы нормально, а когда выбираю все файлы, то открывает далеко не все! Как мне исправить данную ошибку??

Ответить

  Ответы Всего ответов: 10  

Номер ответа: 1
Автор ответа:
 Arseny



ICQ: 298826769 

Вопросов: 53
Ответов: 1732
 Профиль | | #1 Добавлено: 21.04.07 20:14
Do While EOF(1)

Что это?

Какие файлы не открывает? Текстовые - все. А экзешник в другом режиме открывать надо.

Ответить

Номер ответа: 2
Автор ответа:
 ygen



Вопросов: 36
Ответов: 87
 Web-сайт: soft.ygen.ru/
 Профиль | | #2
Добавлено: 21.04.07 22:06
не только экзешники, по идее он должен открывать все файлы.Некоторые текстовые даже не открывает.Я пробовал...но никак не открывает

Ответить

Номер ответа: 3
Автор ответа:
 intel-DX



ICQ: 445091742 

Вопросов: 4
Ответов: 169
 Профиль | | #3 Добавлено: 21.04.07 22:53
Do While EOF(1) - ошыбка в EOF. EOF(File Number), У Тебя должно быть так : Do While EOF(FNum)

Ответить

Номер ответа: 4
Автор ответа:
 ygen



Вопросов: 36
Ответов: 87
 Web-сайт: soft.ygen.ru/
 Профиль | | #4
Добавлено: 21.04.07 23:05
точно, но! всё равно не работает.Так в чем проблема никто не знает??

Ответить

Номер ответа: 5
Автор ответа:
 intel-DX



ICQ: 445091742 

Вопросов: 4
Ответов: 169
 Профиль | | #5 Добавлено: 21.04.07 23:59
И ище Do While Not EOF(FNum) - Забыл Not
Я проверял работает, но В txtMain текст одной строкой.

Ответить

Номер ответа: 6
Автор ответа:
 Arseny



ICQ: 298826769 

Вопросов: 53
Ответов: 1732
 Профиль | | #6 Добавлено: 22.04.07 11:19
но В txtMain текст одной строкой.
:) Это потому, что Multiline=True надо выставлять у текстбокса...

Ответить

Номер ответа: 7
Автор ответа:
 Arseny



ICQ: 298826769 

Вопросов: 53
Ответов: 1732
 Профиль | | #7 Добавлено: 22.04.07 11:26
А вообще - хочешь все открывать -

Open CommonDialog1.FileName For Binary As #FNum
txt = Input(LOF(FNum), #FNum)

Ответить

Номер ответа: 8
Автор ответа:
 shuffle



Администратор

ICQ: 201502381 

Вопросов: 15
Ответов: 737
 Профиль | | #8 Добавлено: 23.04.07 00:44
А вообще - хочешь все открывать -
Open CommonDialog1.FileName For Binary As #FNum
txt = Input(LOF(FNum), #FNum)

Сомневаюсь я, что так будет работать. В бинарном режиме читать-то нужно Get'ом...

Ответить

Номер ответа: 9
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #9 Добавлено: 23.04.07 02:26
Public Function GetFileData(ByVal sFileName As String) As String
    On Error GoTo e
    Dim n As Byte
    n = FreeFile
    Dim str As String
    
    Open sFileName For Binary As #n
        str = Space$(LOF(n))
        Get #n, , str
    Close #n
    
    GetFileData = str
    Exit Function
e:
End Function


Dim txt as String: txt = GetFileData (CommonDialog1.FileName)

Ответить

Номер ответа: 10
Автор ответа:
 Arseny



ICQ: 298826769 

Вопросов: 53
Ответов: 1732
 Профиль | | #10 Добавлено: 23.04.07 08:23
Сомневаюсь я, что так будет работать. В бинарном режиме читать-то нужно Get'ом...

Я знаю... Но ведь читает... :)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам