![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите сделать поект [D7, XP]
TBAPb © (2006-05-07 06:40:00)Пытаюсь сделать экзаменационную работу к окончанию 11-го класса. Delphi изучал всего 3 месяца.
Все уже почти готово, осталось только сделать так, чтобы при нажатии на соответствующую кнопку вылезала "справка" (html-документ). Часа два, наверное, пытался это осуществить, но так ничего и не добился.
И еще: как из проекта делфи сделать независимое приложение?
Плохиш (2006-05-08 11:20:00) [1]
> а то придут более едкие, чем пушистый и добродушный ТЮзер.
При прочтении данной ветки плякал, теперь из-за слёз ничего не вижу и писать не могу, пойду поищу огромный носовой платок.
Германн (2006-05-08 03:03:00) [2]Папка vs Каталог(Директория).
Файл vs Документ ("который открывает программу в делфи").
"ярлык (который запускает программу)" vs EXE-file.
Но самое главное - " В папке с проектом у меня десять файлов непонятного расширения".
>> Ладно, неважно. Поступлю в ВУЗ - мне там все объяснят
>Разумно. На этом дискуссию можно считать законченной и ветку смело закрывать.
А почему не закрыл?
Галинка (2006-05-08 02:40:00) [3]В следуюший раз, используй SDI Application. Там все уже готово, надо только файл подцепить.
Игорь Шевченко (2006-05-07 23:41:00) [4]
> Ладно, неважно. Поступлю в ВУЗ - мне там все объяснят
Разумно. На этом дискуссию можно считать законченной и ветку смело закрывать.
TUser (2006-05-07 18:01:00) [5]> Что такое процедуры, функции и константы, я знаю. И что uses-это объявление внешней части процедуры, тоже.
:))))
Тебе лишь кажется, что ты все это знаешь. Не спорь, а то придут более едкие, чем пушистый и добродушный ТЮзер.
> Этот самый ярлык я копирую на рабочий стол, а дальше вы знаете...
А дальше тебе все объяснили. Ярлык - это сслыка. Шмакни по нему правой кнопкой мыши, посмотри в Свойства - увидешь, что ссылается он на экзешник. После удаления проекта, ярлык указывает на несуществующий файл.
sniknik (2006-05-07 17:14:00) [6]> А почему "$000F"?
какая разница? число оно и есть число... ну напиши HH_HELP_CONTEXT = 15; если тебе так больше нравится.
> Теперь объясню поподробнее свою проблему ....
нда. средней маловато будет... нужен талмуд размерами вроде "библии дельфи" ;о).
тебе что скомпилировать программу надо? (сделать exe-ник котрый без дельфей выполняется) ???
в меню project есть пункт build project, нажми, и если ошибок не будет иши файл projecr2.exe рядом с тем непонятного расширения (настроек проекта ведь не трогал? если трогал то по тому пути, что там установил).
TBAPb (2006-05-07 16:28:00) [7]А почему "$000F"? И какое отношение ссылка на текст документа имеет к открыванию этого документа?
Ладно, неважно. Поступлю в ВУЗ - мне там все объяснят. А пока переименую "spravk'у" в "readme" и уберу button2.
Теперь объясню поподробнее свою проблему с превращением проекта Delphi в приложение. В папке с проектом у меня десять файлов непонятного расширения, projecr2 (который открывает программу в делфи), ярлык (который запускает программу), spravka, два рисунка и еще два каких-то файла. Этот самый ярлык я копирую на рабочий стол, а дальше вы знаете...
sniknik (2006-05-07 15:03:00) [8]> а именно скопировал.
значит скопировал ярлык.
> для меня ровным счетом ничего не значат.
вот про то и сказ, придется обьяснять азы не зная чего собственно ты знаеш и с какого уровня начинать... попытался с нормального, не получилось...
> но и на маленькую книжку это точно не потянет.
наоборот, теперь (после [10]) думаю "потянет" на среднюю. (с поправкой на "непонятливость")
>> #1это ссылка внутри контекста (текста хелпа), что следует непосредственно из названия константы #2HH_HELP_CONTEXT
> Что за ссылка? На что она ссылается? Ее что, в контекст хелпа надо запихать? Ты объясни поподробнее, #3че ты воду мутишь?
допустим то что выше текст забитый в файл, # символ метки, если так, то тогда я могу не писать чтото, а указать метку. вроде ShowSomething(3) и выдаст оно мне то что по этой метке располагается (или начнет оттуда) - "че ты воду мутишь?"
необязательно устроено точно так, это упрощенный пример (для понимания что за переменная хватит. э... должно хватить). как именно сделано это в доке надо смотреть если интнресует внутреннее устройство.
TBAPb (2006-05-07 13:55:00) [9]Про chm я, кстати, тоже знаю. Просто от безысходности решил spravka.chm написать. А вдруг бы прокатило?
TBAPb (2006-05-07 13:52:00) [10]В том-то и дело, что я не отправил ярлык на рабочий стол, а именно скопировал.
Что такое процедуры, функции и константы, я знаю. И что uses-это объявление внешней части процедуры, тоже. А вот "hwndCaller: HWND; pszFile: String; uCommand: UINT; dwData: DWORD): integer;
stdcall;external 'hhctrl.ocx'" и "$000F" для меня ровным счетом ничего не значат.
Про пять предложений - это я, конечно, загнул (чтобы Loginov Dmitry'я не пугать), но и на маленькую книжку это точно не потянет. Там всего лишь нужно объяснить значение каждого слова.
>это ссылка внутри контекста (текста хелпа), что следует непосредственно из названия константы HH_HELP_CONTEXT
Что за ссылка? На что она ссылается? Ее что, в контекст хелпа надо запихать? Ты объясни поподробнее, че ты воду мутишь?
Шпиён (2006-05-07 13:22:00) [11]ps
> Ты что, хочешь, чтобы я писал каждое из этих слов, нажимал
> F1, загружал в промт чертову кучу информации и пытался составить
> из нее осмысленный текст?
Именно так и следует поступатть, если хочешь чему-то научиться -) И учить английский.
Шпиён (2006-05-07 13:17:00) [12]
> 1) Я делаю save as и save project as в одну и ту же папку,
> там появляется иконка программы (светлая семерка), которую
> я копирую на рабочий стол. После удаления папки с проэктом
> она тоже удаляется. И это не бред, а суровая действительность.
>
Скорее всего, при "копировании на рабочий стол" у тебя на рабочем столе появлятся ярлык программы. При удалении программы удаляется и ярлык.
Хочешь "независимости" - скопируй саму программу :Р
> 2) Все, до чего я додумался - это заменить "help.chm" на
> "spravka.htm" и на "spravka.chm". Как я уже говорил, ничего
> невышло.
И не выйдет. *.chm - это откомпилированный файл справки. Простым переименованием html-файла ты вряд ли его получишь.
sniknik (2006-05-07 13:14:00) [13]> которую я копирую на рабочий стол.
это ярлык, к файлу имеет отношение только тем что на него ссылается, при удалении основного файла ярлык указывает в никуда, и чтото его у тебя в системе его удаляет (много вариантов/программ есть) как недействительный.
но это никак к независимости приложения сделанного в дельфи не относится.
(похоже ты не только дельфи но и комп только 3 месяца назад увидал... ;), хотя... были у меня знакомые бугалтерши и после пяти лет работы на компе копировали на дискету ярлычки документов, а не сами файлы... после дико удивлялись моему "глючному" компу который их документы не открывал... приносит к себе пробует - открывается ;), все обьяснения про ярлыки естественно мимо ушей.)
> что такое "hwndCaller: HWND; pszFile: String; uCommand: UINT; dwData: DWORD): integer; stdcall;external 'hhctrl.ocx'"
это часть обьявления внешней процедуры, начинается с параметров (видно первые 2 слова понятны ;)
> и "$000F".
это ссылка внутри контекста (текста хелпа), что следует непосредственно из названия константы HH_HELP_CONTEXT
> Это же займет буквално пять предложений!
только при конкретном указании что непонятно, и желательно почему. при общем "че все это значит?" делаем вывод, что непоняино буквально все и требуется полный ликбез начиная с того что значит процедура, константы, синтаксис.... обьемы описания, ответа, не для форума, а для небольшой книжки.
домыслы же "это он знает, а вот это надо обьяснить" ведут к бесконечным веткам, в конце которых только (перед закрытием модератором) начинаеш понимать, надо было начинать с описаний терминов...
TBAPb (2006-05-07 12:42:00) [14]1) Я делаю save as и save project as в одну и ту же папку, там появляется иконка программы (светлая семерка), которую я копирую на рабочий стол. После удаления папки с проэктом она тоже удаляется. И это не бред, а суровая действительность.
2) Все, до чего я додумался - это заменить "help.chm" на "spravka.htm" и на "spravka.chm". Как я уже говорил, ничего невышло.
Если конкретно, то мне не понятно, что такое "hwndCaller: HWND; pszFile: String; uCommand: UINT; dwData: DWORD): integer;
stdcall;external 'hhctrl.ocx'" и "$000F". Ты что, хочешь, чтобы я писал каждое из этих слов, нажимал F1, загружал в промт чертову кучу информации и пытался составить из нее осмысленный текст?
Можно тебя попросить просто объяснить мне, что к чему? Это же займет буквално пять предложений!
Loginov Dmitry (2006-05-07 11:59:00) [15]TBAPb © (07.05.06 10:49) [3]
Когда я копирую иконку программы из папки с поектом в другую директорию и удаляю проект, иконка тоже удаляется. Значит, ее работа зависима от самого проекта, разве не так?
Это бред.
TBAPb © (07.05.06 11:10) [4]
Во-первых, спасибо, во-вторых, это не работает, в-третьих, че все это значит?
Чтобы это заработало, нужно немного подумать, как им пользоваться. Если это так сложно, см п. [1]. Также можно воспользоваться справкой.
TBAPb (2006-05-07 11:10:00) [16]2Loginov Dmitry
Во-первых, спасибо, во-вторых, это не работает, в-третьих, че все это значит?
TBAPb (2006-05-07 10:49:00) [17]Когда я копирую иконку программы из папки с поектом в другую директорию и удаляю проект, иконка тоже удаляется. Значит, ее работа зависима от самого проекта, разве не так?
Loginov Dmitry (2006-05-07 09:31:00) [18]11-й класс уважаю, так и быть держи:
uses
...
function HtmlHelp
(hwndCaller: HWND;
pszFile: String;
uCommand: UINT;
dwData: DWORD): Integer;
stdcall;external 'hhctrl.ocx'
name 'HtmlHelpA';
....
var
Form1: TForm1;
const
HH_HELP_CONTEXT = $000F;
procedure TForm1.Button1Click(Sender: TObject);
begin
HtmlHelp(0, 'Help.chm', HH_HELP_CONTEXT, 1);
end;
TBAPb © (07.05.06 6:40)
И еще: как из проекта делфи сделать независимое приложение?
А что, разве оно зависимое? От чего?
Virgo_Style (2006-05-07 08:59:00) [19]TBAPb © (07.05.06 6:40)
И еще: как из проекта делфи сделать независимое приложение?
???
По поводу html-справки - ShellExecute, имя файла = файл справки