Visual Basic в вопросах и ответах
Visual Basic в вопросах и ответах
Я занимабсь программированием на Visual Basic 6.0.
Подскажите, пожалуйста:
1. Почему он не хочет удалять файлы с атрибутом "для чтения" и файлы с названием, начинающимися с пробела?
вот код:
_____
Private Sub OPN click()
Dim FN as string
CD.ShowOpen
FN = CD.FileName
Kill (FN)
End Sub
_____
где OPN - кнопка, при нажатии которой появляется объект типа CommonDialog(имя - CD), а после открытия файл (FN - имя файла) удаляется.
2.Есть объект типа OLE с именем OLE1 типа "файл презентации". Есть кнопка (OPN), при нажатии которой программа выдаёт объект CommonDialog (CD) с фильтром файлов формата PPT(файлы презентаций). после открытия презентация должна показываться в OLE1. Но она не хочет. Где ошибка:
_____
Private Sub OPN click()
CD.ShowOpen
OLE1.SourceDoc = CD.FileName
End Sub
Подскажите, пожалуйста:
1. Почему он не хочет удалять файлы с атрибутом "для чтения" и файлы с названием, начинающимися с пробела?
вот код:
_____
Private Sub OPN click()
Dim FN as string
CD.ShowOpen
FN = CD.FileName
Kill (FN)
End Sub
_____
где OPN - кнопка, при нажатии которой появляется объект типа CommonDialog(имя - CD), а после открытия файл (FN - имя файла) удаляется.
2.Есть объект типа OLE с именем OLE1 типа "файл презентации". Есть кнопка (OPN), при нажатии которой программа выдаёт объект CommonDialog (CD) с фильтром файлов формата PPT(файлы презентаций). после открытия презентация должна показываться в OLE1. Но она не хочет. Где ошибка:
_____
Private Sub OPN click()
CD.ShowOpen
OLE1.SourceDoc = CD.FileName
End Sub
- \\Sergey//
- Открыл глаза
- Сообщения: 76
- Зарегистрирован: Ср апр 25, 2007 08:56:09
- Откуда: Москва
Re: Где ошибка
P-cad писал(а):1. Почему он не хочет удалять файлы с названием, начинающимися с пробела?
вот код:
_____
Private Sub OPN click()
Dim FN as string
CD.ShowOpen
FN = CD.FileName
Kill (FN)
End Sub
_____
Все прекрасно удаляется вот код:
Код: Выделить всё
Private Sub OPN_Click()
Dim FN As String
CD.ShowOpen
FN = CD.FileName
Kill FN
End Sub
Где нужен массовый опыт, кропотливые наблюдения, негнущаяся настойчивость без уступок, бесстрашная смелость воплощения мысли, - там выступает радиолюбитель.
- \\Sergey//
- Открыл глаза
- Сообщения: 76
- Зарегистрирован: Ср апр 25, 2007 08:56:09
- Откуда: Москва
- \\Sergey//
- Открыл глаза
- Сообщения: 76
- Зарегистрирован: Ср апр 25, 2007 08:56:09
- Откуда: Москва
- \\Sergey//
- Открыл глаза
- Сообщения: 76
- Зарегистрирован: Ср апр 25, 2007 08:56:09
- Откуда: Москва
Это же произвольный доступ. В нем считывание информации производится командой Get, а не Line Input.
Короче, вот правильный код:
Только в файле должен находится какой либо текст.
Короче, вот правильный код:
Dim Temp As Variant
Open "C:\text.txt" For Random As #1
Get #1, 1, Temp
Close #1
MsgBox Temp
Только в файле должен находится какой либо текст.
Где нужен массовый опыт, кропотливые наблюдения, негнущаяся настойчивость без уступок, бесстрашная смелость воплощения мысли, - там выступает радиолюбитель.
- \\Sergey//
- Открыл глаза
- Сообщения: 76
- Зарегистрирован: Ср апр 25, 2007 08:56:09
- Откуда: Москва
- \\Sergey//
- Открыл глаза
- Сообщения: 76
- Зарегистрирован: Ср апр 25, 2007 08:56:09
- Откуда: Москва
Ты мой код использовал?
Если да, то в этом коде во второй строчке после #1 с помощью ключевого слова Len укажи нужную длину строки.
Например так:
Вообще, лучше сначала с помощью Put запиши информацию в файл, открой и посмотри его, а потом с помощью Get считай. Так наглядней будет.
Если да, то в этом коде во второй строчке после #1 с помощью ключевого слова Len укажи нужную длину строки.
Например так:
Код: Выделить всё
Open "C:\text.txt" For Random As #1 Len=10Вообще, лучше сначала с помощью Put запиши информацию в файл, открой и посмотри его, а потом с помощью Get считай. Так наглядней будет.
Где нужен массовый опыт, кропотливые наблюдения, негнущаяся настойчивость без уступок, бесстрашная смелость воплощения мысли, - там выступает радиолюбитель.
- \\Sergey//
- Открыл глаза
- Сообщения: 76
- Зарегистрирован: Ср апр 25, 2007 08:56:09
- Откуда: Москва
Да. Если мы считываем, то при Len=10, считается 10 байт. Если записываем, то при Len=10 записываться будет только та информация, вес которой 10 байт или меньше. А если эта инфа весит более 10 Байт, то произойдет ошибка.
Где нужен массовый опыт, кропотливые наблюдения, негнущаяся настойчивость без уступок, бесстрашная смелость воплощения мысли, - там выступает радиолюбитель.
- \\Sergey//
- Открыл глаза
- Сообщения: 76
- Зарегистрирован: Ср апр 25, 2007 08:56:09
- Откуда: Москва
Строчки создаются во время записи комбинированием порядкового номера байта и параметра Len. При считывании ты используешь и номер байта и длину считываемого текста. То-есть опять-таки ты комбинируешь номер байта и параметр Len. Таким образом и считываешь конкретную строчку.
Где нужен массовый опыт, кропотливые наблюдения, негнущаяся настойчивость без уступок, бесстрашная смелость воплощения мысли, - там выступает радиолюбитель.
- \\Sergey//
- Открыл глаза
- Сообщения: 76
- Зарегистрирован: Ср апр 25, 2007 08:56:09
- Откуда: Москва
Чего, чего? Input задает последовательный доступ для чтении файла.
Random задает произвольный доступ. Они не взаимозаменяемы.
Или я тебя неправильно понял?
Random задает произвольный доступ. Они не взаимозаменяемы.
Или я тебя неправильно понял?
Где нужен массовый опыт, кропотливые наблюдения, негнущаяся настойчивость без уступок, бесстрашная смелость воплощения мысли, - там выступает радиолюбитель.