Private Sub Command1_Click()
With CommonDialog1
.CancelError = True
.MaxFileSize = 32000
.Filter = "All Files *.*/*.*"
.Flags = CD_FLAGS
.ShowOpen
myFiles = Split(.FileName, vbNullChar)
Select Case UBound(myFiles)
Case 0
List1.AddItem myFiles(0)
Case Is > 0
For i = 1 To UBound(myFiles)
myPath = myFiles(0) & IIf(Right(myFiles(0), 1) <> "\", "\", "") & myFiles(i)
List1.AddItem myPath
Next i
End Select
End With
End Sub
Задача: Надо зарегистрировать тип файлов, чтобы при запуске файла(ов) загружалась моя прога и он(и) автоматом добавлялись в ListBox.
Сразу на ум приходят чужие слова : "Человек разобраться просит, а вы его таким куском кода... не стыдно-ли ? " )
Если я понял, надо работать с командной строкой...тока я не понял тогда, где, как, куда прописывать эти параметры.
Не сможешь поподробнее объяснить?
Сразу на ум приходят чужие слова : "Человек разобраться просит, а вы его таким куском кода... не стыдно-ли ? " )
Дело в том, что не у всех есть свободное время (это то, которое сейчас оч. ценное) и искать надо самому. Самое простое сказать напиши, дай, помоги, срочно, пАмагите итд.
Лан, на счёт сабжа.
в реестре (HKEY_CLASSES_ROOT\.txt\Shell\Open\Command)пишешь C:\MyPath\MyProg.exe %1
Даблклик по файлу ТХТ - запускается твоя прога
Потом смотришь коммандную строку:
debug.print command
Run
D:\SomeFolder\SomeFile.txt
Насчёт свободного времени я прекрасно понимаю, я ни кого не тороплю. Если на мой вопрос не отвечают, тут может быть слишком много причин: от нехватки времени до неправильно сформулированного вопроса. Спасибо, что откликнулся, нашёл время. Только для меня, который занимается бейсиком месяца четыре, очень(!) многие вещи непонятны. И если ты найдёшь ещё время (а если не найдёшь, ничего страшного) продолжи отвечать на мои вопросы. Теперь по моей теме. Я дошёл до того, что при запуске C:\1.txt запускается MyProga.exe. Дальше я в тупике. Долго не мог понять строчку "Run". После поисков в справочниках по VB, понял, что такой процедуры нет. Решил, что это запуск VB-проекта(клавиша F5). Попробывал написать в событии Private Sub Command1_Click()
Debug.Print Command
End Sub
Запустил C:\1.txt, открылся MyProga.exe.
Запускаю проект, нажимаю на Command1... тишина (я даже не знаю, что происходит при Debug.Print, примерно догадываюсь, что на форме должно отобразиться какое - то сообщение)
Поехал дальше. Поумал: а не "Пуск-Выполнить" этот самый Run?
Открываю проект "MyProga", дописываю в событие Form_Load Debug.Print Command
Компилирую в MyProga.exe, запускаю C:\1.txt, соответственно загружается MyProga.exe. Пуск-Выполнить. В окне пишу C:\1.txt. Тишина...и только мертвецы стоят с косами... ))
Даже если ты мне напишешь,как всё это делать, боюсь что у меня остануться вопросы. Я не представляю пока, как будет выглядеть строка, переданная из cmd и чё с ней делать. Опять же примерно догадываюсь, что полученную строку надо запихнуть в "MyProga - Свойства проекта(Property) - Вкладка Создание (Make) - Параметры командной строки". И возможно, тока после этого жисть заладится ))
Надеюсь объяснил толково и без обид.
[root], как всегда 100% в тему )) я уже со слезами ору с тебя... )) (не обижайся, ок?)
Android, смотри, передавать параметры очень просто...
Открой в любой папке меню...
Сервис>Свойства папки, вкладка "Типы файлов"... здесь отображаются все зарегестрированные (ассоциированные) типы файлов, смотрим например на txt... Находим в списке, выбераем, нажимаем "Дополнительно"... там доступные "действия" для этих файлов, грубо говоря меню которое высвечивается когда нажимаешь на txt правой кнопкой мыши... по умолчанию обычно команда "open", выбераем её в списке, смотрим путь... У меня например
D:\Program Files\Bred3\Bred3_2k.exe "%1"
Bred3_2k.exe как ты понял, прога которая просматривает у меня файлы txt, а далее... "%1" вот именно эта фишка и указывает на то что твоей проге в командную строку будет передан путь к файлу на котрый кликнули (который открывают (команду open мы смотри же, если внимательный)) С этим надеюсь всё ясно, теперь как принимать эти параметры...
...Form_Load()
msgbox Command$
end
End Sub...
компилируем в exe, далее играемся...
Надесю как ручками проги параметры передать - знаешь... В коммандной строке (cmd.exe) или через Пуск>Выполнить пишем...
путь_к_проге\имя.exe тра-ля-ля это и есть параметры
вот запустишь прогу так, и вылитит массажбокс "тра-ля-ля это и есть параметры"
2HACKER:
 не обижайся) - ты особо на эту тему не напрягайся.
я просто твои ответы не читаю почти и все
Не знаю тебе энергию не куда девать или что, да и не важно
Отдыхай
HACKER кстати кто из нас флудер можно подумать еще, если ты все мои ответы
коментируешь, такое ощущение, что тебя что то задевает.
Если тебе не нравиться что то просто молчи и все и тебе и всем будет
хорошо, ни кто же твои посты не коментирует - хотя можно наговорить
такого, ну да ладно забей - это все чушь(я тебя просто буду
игнорировать если будешь продолжать).
Ты не считаешь глупым(как для детей, первый раз вылезших в инет)
ругаться и пытаться подколоть чем только можно.
давай отвечай на мыло, если хочешь, не бум засорять форум
[root], я создал новый проект, вписал в событие Command1_Click этот код, но я ничего не увидел, даже когда оглянулся )). Что такое Immediate сообщение, я естественно не знаю. Если писать Form.Print, тогда на форме пропечатываются в столбик цифры цикла от 1 до 10, а Debug.Print...
Hacker, полно ещё вопросов!
Может быть я неправильно изложил суть вопроса или просто не могу понять ответы...
Мои действия:
Открыл проект (код смотри выше). Добавил событие
Private Sub Form_Load()
msgbox Command$
end
End Sub
Скомпилировал проект в Project1.exe. Переместил проект на диск С (C:\Project1.exe, создал файл C:\1.txt). Влез в "Типы файлов" поменял строку C:\WINDOWS\NOTEPAD.EXE "%1" на C:\Project1.exe "%1". Запустил C:\1.txt, появился MsgBox "C:\1.txt". Ура? Нет, ещё рано.... Пуск - Выполнить... В окне написал C:\project1.exe C:\1.txt, появился тот же MsgBox, только текст был без кавычек. Понял, что не напиши в окне "Выполнить" после "C:\Project1.exe", то и появится в месаджбоксе.
Я испробывал несколько вариантов ( удалял End в событии FormLoad, переносил msgbox в событие Command1_Click, добавлял в свойства проекта - вкладка Make- параметры ком.строки C:\1.txt, *.txt), но результата не получил. А результат должен быть таким: при даблклике на файле с расширением txt ( допустим C:\1.txt), должна запуститься моя прога (C:\Project1.exe) и в листбокс должна добавиться строка C:\1.txt.
Повторюсь, может ответ уже мне был дан, тока я так ничего и не понял
Command$ - командная строка. Все то, что находится после пути к твоей проге. Например, пишешь в "Пуск -> Выполнить": "C:\Project1.exe C:\Test.txt", тогда в Command$ будет "C:\Text.txt". Пишешь "C:\Project1.exe -options C:\My_File.txt" в Command$ будет "-options C:\My_File.txt".
Теперь. Раз ты поменял открываемую прогу на твою, пишешь следующее:
Private Sub Form_Load
Call List1.AddItem(Command$)
End Sub