powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как такое сделать?
38 сообщений из 38, показаны все 2 страниц
Как такое сделать?
    #36546812
bosscs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно сделать загрузку текстового файла, через ActiveX.
Например у меня есть текст в блокноте, нужно запихнуть его в текстбокс.
...
Рейтинг: 0 / 0
Как такое сделать?
    #36546817
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почитайте про команду Open в хелпе.
Там и примеры есть.
...
Рейтинг: 0 / 0
Как такое сделать?
    #36546820
bosscs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня хелп не открывается, у меня вин7
...
Рейтинг: 0 / 0
Как такое сделать?
    #36546823
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а интернет у вас тоже не открывается?

смотрите в msdn.microsoft.com
...
Рейтинг: 0 / 0
Как такое сделать?
    #36546824
bosscs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот нашел исходник

авторPrivate Sub Command1_Click()
Dim F As Long
Dim Stroka As String
Text1.Text = ""
CommonDialog1.Filter = "Òåêñòîâûå ôàéëû (*.txt)|*.txt"
CommonDialog1.ShowOpen
F = FreeFile
Text2.Text = CommonDialog1.FileName
Open CommonDialog1.FileName For Input As #F
Do While Not EOF(F)
Line Input #F, Stroka
Text1.Text = Text1.Text & Stroka
Loop
Close #F
End Sub
После строки CommonDialog1.ShowOpen нечего не понимаю(
...
Рейтинг: 0 / 0
Как такое сделать?
    #36546842
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bosscsПосле строки CommonDialog1.ShowOpen нечего не понимаю(

Вы знаете имя файла, которое вы хотите открыть или его должен выбрать пользователь?
...
Рейтинг: 0 / 0
Как такое сделать?
    #36546844
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Плиз, оформляйте код с помощью соответствующих тэгов. А также правильно указывайте заголовок темы.
...
Рейтинг: 0 / 0
Как такое сделать?
    #36546910
bosscs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Файл любой текстовик. doh.txt
F = FREEFILE зачем эта строка?
Text2.Text = CommonDialog1.FileName название файла поместить в текстовое поле
OPEN CommonDialog1.FileName FOR INPUT AS #F Открыть Название_файла.тхт (FOR INPUT AS #F не понимаю)У нас препод блин конечно, сказал разберете сами, а команду опен я никогда не встречал(
...
Рейтинг: 0 / 0
Как такое сделать?
    #36546918
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bosscsF = FREEFILE зачем эта строка?

Запрашивает у ОС свободный дескриптор файла и присваивает переменной F, чтобы в дальнейшем работать с ней

bosscsOPEN CommonDialog1.FileName FOR INPUT AS #F
Открыть Название_файла.тхт (FOR INPUT AS #F не понимаю)

FOR INPUT - уточнение, что файл открывается для чтения (не для записи)
AS #F - связывает открываемый файл с переменной F
...
Рейтинг: 0 / 0
Как такое сделать?
    #36546928
bosscs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProbosscsF = FREEFILE зачем эта строка?

Запрашивает у ОС свободный дескриптор файла и присваивает переменной F, чтобы в дальнейшем работать с ней

Типа запрашивает место, для считывания файла?

DO WHILE NOT EOF(F) 'EOF это конец файла? Как оно понимает?
LINE INPUT #F, Stroka 'считываем строку
Text1.Text = Text1.Text & Stroka 'добавляем ее к содержимому
Text1.Text(Text1.MultiLine=True)' Это ты вообще откуда нарисовал?)
Text1.Text = Text1.Text & Stroka оно записывает все в 1 строку. Как мне записывать каждую строку через пробел?
...
Рейтинг: 0 / 0
Как такое сделать?
    #36546934
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bosscsТипа запрашивает место, для считывания файла?

Нет. Запрашивает указатель на файл, по которому его будет идентифицировать операционная система.

bosscsDO WHILE NOT EOF(F) 'EOF это конец файла? Как оно понимает?

EOF=End Of File - да, конец файла. Ну, собственно, когда в файле закончились строки, которые можно считать командой INPUT

bosscsText1.Text(Text1.MultiLine=True)' Это ты вообще откуда нарисовал?)

Присоединяюсь к вопросу :)

bosscsText1.Text = Text1.Text & Stroka оно записывает все в 1 строку. Как мне записывать каждую строку через пробел?

Код: plaintext
Text1.Text = Text1.Text & " " & Stroka
...
Рейтинг: 0 / 0
Как такое сделать?
    #36546947
bosscs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProbosscsТипа запрашивает место, для считывания файла?

Нет. Запрашивает указатель на файл, по которому его будет идентифицировать операционная система.

Тоесть можно было написать просто
F = 1
А если нужно загружать 2й файл то 2 например.
Фри файл это что бы не искать свободное? Типа есть уже 1 и 2, оно их брать не будет?

bosscsText1.Text = Text1.Text & Stroka оно записывает все в 1 строку. Как мне записывать каждую строку через пробел?
Тю блин, че эт я написал. Не пробел а энтер...Пора бросать пить.
...
Рейтинг: 0 / 0
Как такое сделать?
    #36546952
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bosscsТоесть можно было написать просто
F = 1

Это если есть уверенность, что дескриптор 1 свободен.
Для этой уверенности и существует функция FreeFile

bosscsА если нужно загружать 2й файл то 2 например.
Фри файл это что бы не искать свободное? Типа есть уже 1 и 2, оно их брать не будет?

Код: plaintext
1.
2.
Dim F1 As Long, F2 As Long
F1=FreeFile
F2=FreeFile

bosscsbosscsText1.Text = Text1.Text & Stroka оно записывает все в 1 строку. Как мне записывать каждую строку через пробел?
Тю блин, че эт я написал. Не пробел а энтер...Пора бросать пить.

Код: plaintext
Text1.Text = Text1.Text & vbCrLf & Stroka
...
Рейтинг: 0 / 0
Как такое сделать?
    #36546963
bosscs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro

Код: plaintext
1.
2.
Dim F1 As Long, F2 As Long
F1=FreeFile
F2=FreeFile
Это вообще что?
А я вообще правильно понял? А то ты не написал не да не нет)
Фри файл любое число от 1 до 255, которое не используется в программе, т.е если есть 1 то уже 1 брать не будет.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Private Sub Form_Load()
Dim F1 As Long, F2 As Long
F1 = FreeFile
F2 = FreeFile
Print F1
Print F2
End Sub
Написал это, нечего не выводит

Код: plaintext
Text1.Text = Text1.Text & vbCrLf & Stroka

Записало все в 1 строку
...
Рейтинг: 0 / 0
Как такое сделать?
    #36546967
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bosscsЗаписало все в 1 строку

Проверьте свойство MultiLine у поля Text1
...
Рейтинг: 0 / 0
Как такое сделать?
    #36546975
bosscs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мульти лайн тру.
Так я правильно понял или нет??? хД)))
...
Рейтинг: 0 / 0
Как такое сделать?
    #36546977
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bosscsМульти лайн тру.
Так я правильно понял или нет??? хД)))

Должно быть True, чтобы в поле могли отображаться несколько строк
...
Рейтинг: 0 / 0
Как такое сделать?
    #36546990
bosscs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
аааа)))) Я не это просил))))))
Я про это:
Фрифайл любое число от 1 до 255, которое не используется в программе, т.е если есть 1 то уже 1 брать не будет.
Да/нет?
...
Рейтинг: 0 / 0
Как такое сделать?
    #36546999
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MSDN FreeFile Function

Returns anInteger representing the nextfile number available for use by the Open statement.

Syntax

FreeFile[(rangenumber)]

The optional rangenumber argument is aVariant that specifies the range from which the next free file number is to be returned. Specify a 0 (default) to return a file number in the range 1 – 255, inclusive. Specify a 1 to return a file number in the range 256 – 511.

Remarks

Use FreeFile to supply a file number that is not already in use.
...
Рейтинг: 0 / 0
Как такое сделать?
    #36547007
bosscs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я так понял ответ да. Тогда почему не выводит здесь:
авторPrivate Sub Form_Load()
Dim F1 As Long, F2 As Long
F1 = FreeFile
F2 = FreeFile
Print F1
Print F2
End Sub
...
Рейтинг: 0 / 0
Как такое сделать?
    #36547011
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bosscsЯ так понял ответ да. Тогда почему не выводит здесь:

1) Поставьте форме свойство AutoRedraw в значение True - будет выводить.

2) В таком виде напечатается две единицы. Потому что после получения дескриптора его надо задействовать (командой Open), а потом уже получать второй.
...
Рейтинг: 0 / 0
Как такое сделать?
    #36547018
bosscs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro
1) Поставьте форме свойство AutoRedraw в значение True - будет выводить.

Не понял. Зачем? Что это свойство делает?

Private Sub Command1_Click()
Dim F1 As Long, F2 As Long
F1 = FreeFile
Open C:\Users\bosscs\Desktop\Íîâûé_òåêñòîâûé_äîêóìåíò.txt For Input As #F1
F2 = FreeFile
Print F1
Print F2
Print FreeFile
Print FreeFile
End Sub

На этой строке Open C:\Users\GuitarFan\Desktop\Íîâûé_òåêñòîâûé_äîêóìåíò.txt For Input As #F1
Пишет синтаксис еррор
...
Рейтинг: 0 / 0
Как такое сделать?
    #36547021
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bosscsНе понял. Зачем? Что это свойство делает?

Автоматически отрисовывает то, что вы напечатали или нарисовали непосредственно на теле формы. Так как при отработке события Form_Load форму еще не видно на экране - это необходимо.


bosscsНа этой строке Open C:\Users\GuitarFan\Desktop\Íîâûé_òåêñòîâûé_äîêóìåíò.txt For Input As #F1
Пишет синтаксис еррор

Потому что текстовые константы надо брать в кавычки.
...
Рейтинг: 0 / 0
Как такое сделать?
    #36547033
bosscs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Огромное спасибо что меня терпели, все получилось)
...
Рейтинг: 0 / 0
Как такое сделать?
    #36549370
MetalFan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
Private Sub Command1_Click()
Dim F As Long
Dim Stroka As String
'On Error GoTo Errors
CommonDialog1.CancelError = True
Text1.Text = ""
CommonDialog1.Filter = "Òåêñòîâûå ôàéëû (*.txt)|*.txt"
CommonDialog1.DialogTitle = "Îòêðûòü ôàéë"
CommonDialog1.ShowOpen
F = FreeFile
Text2.Text = CommonDialog1.FileName
Open CommonDialog1.FileName For Input As #F
Do While Not EOF(F) ' End of file
Line Input #F, Stroka
Text1.Text = Text1.Text & vbCrLf & Stroka
Loop
'Close #F
End Sub
'Errors:
'If Err.Number = cdlCancel Then
'Exit Sub
'Else
'MsgBox Err.Description
'End If
'End Sub


Private Sub Command4_Click()
'F = FreeFile
'On Error GoTo Cansel
CommonDialog1.CancelError = True
CommonDialog1.Filter = "Текстовые файлы (*.txt)|*.txt"
CommonDialog1.Flags = cdlOFNOverwritePrompt
CommonDialog1.DialogTitle = "Сохранить текстовой файл как..."
CommonDialog1.ShowSave
Open CommonDialog1.FileName For Output As #F
Close #F
Exit Sub
'Cansel1:
'If Err.Number = cdlCancel Then
'Exit Sub
'Else
'MsgBox Err.Description
'End If
'End Sub

End Sub

Плз, поскажите почему не получается сохранить файл, который я открыл?
Не совсем понимаю, получается нужно вывести ту же переменную F? Или нужно новую для вывода?И что у меня не так?
...
Рейтинг: 0 / 0
Как такое сделать?
    #36549417
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MetalFanПлз, поскажите почему не получается сохранить файл

Потому что у вас нет, собственно, вывода в файл, сразу после открытия в файл идет его закрытие. Вывод в файл - команда Print.

И получение дескриптора вы зря закомментировали.
...
Рейтинг: 0 / 0
Как такое сделать?
    #36549473
MetalFan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Private Sub Command4_Click()
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
'F = FreeFile
'On Error GoTo Cansel
CommonDialog1.CancelError = True
CommonDialog1.Filter = "Òåêñòîâûå ôàéëû (*.txt)|*.txt"
CommonDialog1.Flags = cdlOFNOverwritePrompt
CommonDialog1.DialogTitle = "Ñîõðàíèòü òåêñòîâîé ôàéë êàê..."
CommonDialog1.ShowSave
Open CommonDialog1.FileName For Output As #F
Print #F, Text1.Text
Close #F
Exit Sub
'Cansel1:
'If Err.Number = cdlCancel Then
'Exit Sub
'Else
'MsgBox Err.Description
'End If
'End Sub

Я и так писал, ошибка
Run time error 52
Становится на строку
Open CommonDialog1.FileName For Output As #F
...
Рейтинг: 0 / 0
Как такое сделать?
    #36549480
MetalFan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тут есть вообще кнопка редактировать? Или я слеп?
Print #F, Text1.Text
Print #F - это вывод номера или уже присвоеного ему текста?
...
Рейтинг: 0 / 0
Как такое сделать?
    #36549482
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MetalFanRun time error 52

Очень информативно.
Текст ошибки дайте.
...
Рейтинг: 0 / 0
Как такое сделать?
    #36549484
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MetalFanТут есть вообще кнопка редактировать? Или я слеп?

Вопрос неясен

MetalFanPrint #F, Text1.Text

Это правильно, ошибка у вас в другой строке возникает
...
Рейтинг: 0 / 0
Как такое сделать?
    #36549493
MetalFan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я нашел ошибку, нужно было разбиндить
F = FreeFile
Хотя не могу понять зачем? зачем нам присваивать Ф новій номер, если нам его просто нужно вівести?


Print #F, Text1.Text
Можно подробнее что делает Print #F: выводит номер или сам текст, который ему присвоен?

Редактировать на форуме(кнопка хД)
...
Рейтинг: 0 / 0
Как такое сделать?
    #36549502
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MetalFanЯ нашел ошибку, нужно было разбиндить
F = FreeFile
Хотя не могу понять зачем? зачем нам присваивать Ф новій номер, если нам его просто нужно вівести?

Читайте топик с начала. F - это дескриптор файла, через него ОС будет общаться с файловой системой.

MetalFanPrint #F, Text1.Text
Можно подробнее что делает Print #F: выводит номер или сам текст, который ему присвоен?

Print #F, Text1.Text - отправляет содержимое текстбокса Text1 в файл #F

MetalFanРедактировать на форуме(кнопка хД)

Кнопка "Редактировать"
...
Рейтинг: 0 / 0
Как такое сделать?
    #36549506
MetalFan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да я вро ди бы понял что такое Ф. Но мы его уже присвоили какому-то числу. Теперь нам нужно его просто вывести, нам не нужно его присваивать новому номеру. Не понимаю. Топик я много раз перечитывал
...
Рейтинг: 0 / 0
Как такое сделать?
    #36549512
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MetalFanДа я вро ди бы понял что такое Ф. Но мы его уже присвоили какому-то числу. Теперь нам нужно его просто вывести, нам не нужно его присваивать новому номеру. Не понимаю. Топик я много раз перечитывал

После закрытия файла дескриптор освобождается.
Кроме того, в вашем коде тут переменной F НИЧЕГО не присвоено, она равна Empty, когда вы пытаетесь использовать ее в команде Open
...
Рейтинг: 0 / 0
Как такое сделать?
    #36549515
MetalFan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro
После закрытия файла дескриптор освобождается.
Кроме того, в вашем коде тут переменной F НИЧЕГО не присвоено, она равна Empty, когда вы пытаетесь использовать ее в команде Open
\'Close #F, я его не освобождал. Он забинден.
...
Рейтинг: 0 / 0
Как такое сделать?
    #36549526
MetalFan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я так понимаю для вывода нужен новый дескриптор?
...
Рейтинг: 0 / 0
Как такое сделать?
    #36549694
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MetalFanЯ так понимаю для вывода нужен новый дескриптор?Для вывода в файл, файл должен быть открыт в режиме позволяющем вести запись в файл.
Если вы открыли файл в режиме на запись, то новый дескриптор открывать не нужно, а надо использовать тот, с помощью которого вы его открыли.
...
Рейтинг: 0 / 0
Как такое сделать?
    #36549746
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MetalFanShocker.Pro
После закрытия файла дескриптор освобождается.
Кроме того, в вашем коде тут переменной F НИЧЕГО не присвоено, она равна Empty, когда вы пытаетесь использовать ее в команде Open
\'Close #F, я его не освобождал. Он забинден.

в вашем коде тут переменная F не определена. Используйте Option Explicit , чтобы это стало понятно
...
Рейтинг: 0 / 0
38 сообщений из 38, показаны все 2 страниц
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как такое сделать?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]