Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Visual Basic 6

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9

Открыть новую тему     Написать ответ в эту тему

Inexorabilis

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
 
Давайте задавать общие вопросы по Visual Basic 6 здесь, а не создавать каждый раз новый топик ради простого или не очень вопроса. А то уж очень много топиков и даже не знаю где спрашивать.
 
Добавлено
А вопрос собственно такой:  
Как в Visual Basic 6 можно скрыть контролы во время редактирования (написания) кода?

Всего записей: 161 | Зарегистр. 11-09-2003 | Отправлено: 15:00 24-10-2003
Marvan

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А ответ такой: никак.
Опиши подробнее какие проблемы вызывают контролы во время редактирования, что их хочется скрыть - может подскажу решение.
 
Добавлено
Присоеденяюсь к призыву по поводу "общие вопросы по Visual Basic 6 здесь"

Всего записей: 120 | Зарегистр. 21-05-2003 | Отправлено: 16:08 12-11-2003
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Inexorabilis
Есть один псевдо путь для как-бы скрытия. Вообще не ставить эти контролы на форму, а загружать их в рантайме.
А так, вопрос действительно не совсем понятен.

Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 01:12 13-11-2003 | Исправлено: dneprcomp, 01:13 13-11-2003
ppch

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А вот у меня по Basic'у какой вопрос, из практики, так сказать
 
Есть папка, пусть будет C:\Folder  
В папке лежит мой файл, т.е. имеем C:\Folder\myfile.ext
Моя прога ассоциирована с разрешением *.ext, т.е. при запуске файла myfile.ext
моя прога автоматически его окрывает, зачитывает и закрывает файл.
 
После открытия файла myfile.ext юзер нажимает кнопочку "Удалить" и моя прога должна удалить папку C:\Folder вместе со всем его содержимиым.
Под Win98 - проблем нет. А вот под Win2000/XP нифига не получается - винда ругается : " Не удается удалить файл. Там типа ошибка при совместном доступе "
 
Как это обойти? (Т.е. как все-таки эту папку удалить из моей проги?)
 
Проблема в том, что винда лочит каталог из которого был открыт файл до тех пор, пока прога не будет закрыта.

Всего записей: 102 | Зарегистр. 18-04-2003 | Отправлено: 20:15 20-11-2003 | Исправлено: ppch, 20:39 20-11-2003
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ppch
Так закрой файл перед удалением.  
И очисти все переменные об'ектов(если использовал)

Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 03:46 21-11-2003
ppch

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dneprcomp
Файл закрываю.
Насчет всех объектов не уверен, а это точно влияет?
Короче содержимое папки удаляется, а вот сама папка не хочет удаляться...

Всего записей: 102 | Зарегистр. 18-04-2003 | Отправлено: 11:23 21-11-2003
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ppch
Код в студию  
Кусок, где открываешь и чтение/запись. И кусок где закрываешь.

Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 01:23 22-11-2003
ppch

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dneprcomp
 
Вот открываю и читаю файл:
    Public RKFileNo
    -----------------
    RKFile=Command$
    ------------------
    Dim FileNo As Integer
    FileNo = FreeFile
    Open RKFile For Input As FileNo
        While Not EOF(FileNo)
            Line Input #FileNo, tmp
            ------------------
        Wend
    Close FileNo
 
Вот удаляю:
Private Sub cmd_Del_Click()
    On Error Resume Next
    fs.DeleteFile RealDocPath + "*", True 'RealDocPath - удаляемый каталог с документом
    fs.DeleteFolder RealDocPath + "*", True 'fs это CreateObject("Scripting.FileSystemObject")
    fs.DeleteFolder RemoveSlash(RealDocPath), True    
    Unload Me
End Sub
 
fs.DeleteFolder RealDocPath + "*", True  - эта команда никогда не выполняется, ругается что каталог занят приложением

Всего записей: 102 | Зарегистр. 18-04-2003 | Отправлено: 16:52 24-11-2003
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ppch
А точно ли RealDocPath заканчивается слешом?
 
А зачем * в 'fs.DeleteFolder RealDocPath + "*", True' ?
Скорее всего, если предположить что  
RealDocPath="D:123\"
то пробуешь удалить folder   "D:123\*"
А такого фолдера нет. Вот и ошибка выскакивает.
 
А вот это зачем: 'fs.DeleteFolder RemoveSlash(RealDocPath), True' ?
Уже ведь раз была команда DeleteFolder. Та, что со *.
 
fs.DeleteFile можно наверное и не делать. True в 'fs.DeleteFolder принуждает к убиению даже не пустые фолдеры.

Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 03:19 25-11-2003 | Исправлено: dneprcomp, 03:26 25-11-2003
ppch

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dneprcomp
 

Цитата:
А точно ли RealDocPath заканчивается слешом?  

Точно
 
Пробовал я по разному удалять этот каталог, по этому и куча всяких команд для удаления.
 
На самом деле файлы в каталоге нормально удаляются, не удаляется именно сам каталог. Проблема все-таки не в командах и операторах, а потому что винда этот каталог локает и не хочет его разлочивать, собака
 
Попробую все таки по твему совету закрывать перед удалением все созданные объекты, очищать память. По результатам доложу.

Всего записей: 102 | Зарегистр. 18-04-2003 | Отправлено: 13:08 26-11-2003
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ppch

Цитата:
Скорее всего, если предположить что  
RealDocPath="D:123\"  
то пробуешь удалить folder   "D:123\*"  
А такого фолдера нет. Вот и ошибка выскакивает

А как на счет этого? Скорее всего в лишней звездочке и проблема.

Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 00:07 27-11-2003
ppch

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dneprcomp
 
Все оказалось очень просто
При вызове программы из проводника (даублкликом по файлу с ассоциированным с ней разрешением) винда устанавливает CurDir на каталог в котором этот файл находиться и ессно его локает
 
Надо просто менять CurDir перед удалением каталога и тогда все будет ОК
 

Всего записей: 102 | Зарегистр. 18-04-2003 | Отправлено: 15:11 02-12-2003 | Исправлено: ppch, 15:30 02-12-2003
ppch

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вот хочу формочку на печать выводить (не MDI).
PrintForm - ужасная гадость. Может есть что получше?
Очень не хочется самому переводить форму в текстовый формат а потом печатать.

Всего записей: 102 | Зарегистр. 18-04-2003 | Отправлено: 20:06 10-12-2003
Marvan

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Что то тема зачахла. А ведь хорошая тема.

Цитата:
Вот хочу формочку на печать выводить

Могу посоветовать RoboPrint - хорощий ocx для вывода на печать:
DBGrid DataGrid MsFlexGrid MSHFlexGrid vsFlexGrid RichTextBox TextBox Label MaskEdBox ComboBox.Text ListBox ListView Shape LineCheckBox OptionButton MSChart Pictures of PictureBox and Image.  
 
по адресу robocx.com  
на CRACKS.AM лежит заветный ключик к нему.
 
Ну а можно и самостоятельно без ocx - захват изображения окна и отправка на печать.
 
Есть вопрос: быстрая запись и чтение массива на диск. Массив от 10 000 записей.

Всего записей: 120 | Зарегистр. 21-05-2003 | Отправлено: 11:23 15-12-2003
ScorpionS



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кто знает решение моей простой проблемы, помогите.
Я создал простой макрос, который позволяет при его запуке сохранить лист в виде html странички.
В ней присутствуют такие строки:
......
    With ActiveWorkbook.PublishObjects("Анализ_15450")
        .HtmlType = xlHtmlStatic
        .Filename = "C:\Анализ\Фирма.htm"
        .Publish (False)
    End With
.......
 
При этом, естественно, лист сохраняется в файле с названием Фирма.htm
А что надо сделать, чтобы название создаваемого файла программа брала из определенной ячейки, скажем A1 вместо названия Фирма.
Ну типа чтоб файл имел название Инвест.htm (если в ячейке A1 введено Инвест)

Всего записей: 141 | Зарегистр. 24-02-2003 | Отправлено: 16:26 18-12-2003 | Исправлено: ScorpionS, 16:31 18-12-2003
Marvan

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
.Filename = "C:\Анализ\" & ActiveWorkbook.ActiveSheet.Cells(1, 1).Value & ".htm"
 
если в ячейке A1 текущего листа введено Инвест, то имя файла будет "C:\Анализ\Инвест.htm"
 
Вместо ActiveSheet можно указать его по имени: Sheets("Лист1").

Всего записей: 120 | Зарегистр. 21-05-2003 | Отправлено: 18:22 18-12-2003
ScorpionS



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Marvan
Большое спасибо!
 
В ячейке A1 имеется запись "Фирма А (лицензия 1427)"
Хотелось бы, чтобы в ячейке F1 отображалось только начало этой фразы, а именно "Фирма А".
Как избавиться от слова лицензия я знаю:
=ПОДСТАВИТЬ(A1;"лицензия ";"")
 
А вот как избавиться от цифр - номера лицензии, они ведь бывают разные (правда всегда четырехзначные). Как указать в этой формуле, чтобы в ячейке F1 игнорировались и цифры тоже или быть может это можно сделать с помощью другой функции?

Всего записей: 141 | Зарегистр. 24-02-2003 | Отправлено: 19:14 18-12-2003
ScorpionS



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Сам задал вопрос, сам и отвечаю (все таки смог допереть)
Следует записать функцию:
=ПОДСТАВИТЬ(A1;ПРАВСИМВ(A1;16);"")
Но это только для данного конкретного случая.

Всего записей: 141 | Зарегистр. 24-02-2003 | Отправлено: 02:08 19-12-2003
ScorpionS



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Существует 4 кнопки: CommandButton1, CommandButton2, и т.д., при нажатии на которые происходят определенные действия. В VBA выглядит это так:
 
Private Sub CommandButton1_Click()
(определенная функция)
End Sub
 
Я хочу создать кнопку (например, CommandButton9), при нажатии на которую будут последовательно выполняться действия, как будто бы я нажал сначала 1-ю кнопку, потом 2-ю, затем 3-ю и т.д.
 
Что мне следует записать в качестве Исходного текста (команды) для этой кнопки (CommandButton9)?

Всего записей: 141 | Зарегистр. 24-02-2003 | Отправлено: 09:59 19-12-2003
ppch

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ScorpionS
 
Private Sub CommandButton9_Click()  
  CommandButton1_Click
   CommandButton2_Click
   ...
   CommandButton8_Click
End Sub

Всего записей: 102 | Зарегистр. 18-04-2003 | Отправлено: 13:11 19-12-2003
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Visual Basic 6


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru