Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.05.28;
Скачать: CL | DM;

Вниз

Помогите сделать поект   Найти похожие ветки 

 
TBAPb ©   (2006-05-07 06:40) [0]

Пытаюсь сделать экзаменационную работу к окончанию 11-го класса. Delphi изучал всего 3 месяца.
Все уже почти готово, осталось только сделать так, чтобы при нажатии на соответствующую кнопку вылезала "справка" (html-документ). Часа два, наверное, пытался это осуществить, но так ничего и не добился.
И еще: как из проекта делфи сделать независимое приложение?


 
Virgo_Style ©   (2006-05-07 08:59) [1]

TBAPb ©   (07.05.06 6:40)
И еще: как из проекта делфи сделать независимое приложение?


???

По поводу html-справки - ShellExecute, имя файла = файл справки


 
Loginov Dmitry ©   (2006-05-07 09:31) [2]

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)
И еще: как из проекта делфи сделать независимое приложение?


А что, разве оно зависимое? От чего?


 
TBAPb ©   (2006-05-07 10:49) [3]

Когда я копирую иконку программы из папки с поектом в другую директорию и удаляю проект, иконка тоже удаляется. Значит, ее работа зависима от самого проекта, разве не так?


 
TBAPb ©   (2006-05-07 11:10) [4]

2Loginov Dmitry
Во-первых, спасибо, во-вторых, это не работает, в-третьих, че все это значит?


 
Loginov Dmitry ©   (2006-05-07 11:59) [5]

TBAPb ©   (07.05.06 10:49) [3]
Когда я копирую иконку программы из папки с поектом в другую директорию и удаляю проект, иконка тоже удаляется. Значит, ее работа зависима от самого проекта, разве не так?


Это бред.

TBAPb ©   (07.05.06 11:10) [4]
Во-первых, спасибо, во-вторых, это не работает, в-третьих, че все это значит?


Чтобы это заработало, нужно немного подумать, как им пользоваться. Если это так сложно, см п. [1]. Также можно воспользоваться справкой.


 
TBAPb ©   (2006-05-07 12:42) [6]

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, загружал в промт чертову кучу информации и пытался составить из нее осмысленный текст?
Можно тебя попросить просто объяснить мне, что к чему? Это же займет буквално пять предложений!


 
sniknik ©   (2006-05-07 13:14) [7]

> которую я копирую на рабочий стол.
это ярлык, к файлу имеет отношение только тем что на него ссылается, при удалении основного файла ярлык указывает в никуда, и чтото его у тебя в системе его удаляет (много вариантов/программ есть) как недействительный.
но это никак к независимости приложения сделанного в дельфи не относится.
(похоже ты не только дельфи но и комп только 3 месяца назад увидал... ;), хотя... были у меня знакомые бугалтерши и после пяти лет работы на компе копировали на дискету ярлычки документов, а не сами файлы... после дико удивлялись моему "глючному" компу который их документы не открывал... приносит к себе пробует - открывается ;), все обьяснения про ярлыки естественно мимо ушей.)

> что такое "hwndCaller: HWND; pszFile: String;  uCommand: UINT; dwData: DWORD): integer; stdcall;external "hhctrl.ocx""
это часть обьявления внешней процедуры, начинается с параметров (видно первые 2 слова понятны ;)

> и "$000F".
это ссылка внутри контекста (текста хелпа), что следует непосредственно из названия константы HH_HELP_CONTEXT

> Это же займет буквално пять предложений!
только при конкретном указании что непонятно, и желательно почему. при общем "че все это значит?" делаем вывод, что непоняино буквально все и требуется полный ликбез начиная с того что значит процедура, константы, синтаксис.... обьемы описания, ответа, не для форума, а для небольшой книжки.
домыслы же "это он знает, а вот это надо обьяснить" ведут к бесконечным веткам, в конце которых только (перед закрытием модератором) начинаеш понимать, надо было начинать с описаний терминов...


 
Шпиён   (2006-05-07 13:17) [8]


> 1) Я делаю save as и save project as в одну и ту же папку,
>  там появляется иконка программы (светлая семерка), которую
> я копирую на рабочий стол. После удаления папки с проэктом
> она тоже удаляется. И это не бред, а суровая действительность.
>

Скорее всего, при "копировании на рабочий стол" у тебя на рабочем столе появлятся ярлык программы. При удалении программы удаляется и ярлык.
Хочешь "независимости" - скопируй саму программу :Р

> 2) Все, до чего я додумался - это заменить "help.chm" на
> "spravka.htm" и на "spravka.chm". Как я уже говорил, ничего
> невышло.

И не выйдет. *.chm - это откомпилированный файл справки. Простым переименованием html-файла ты вряд ли его получишь.


 
Шпиён   (2006-05-07 13:22) [9]

ps

> Ты что, хочешь, чтобы я писал каждое из этих слов, нажимал
> F1, загружал в промт чертову кучу информации и пытался составить
> из нее осмысленный текст?

Именно так и следует поступатть, если хочешь чему-то научиться -) И учить английский.


 
TBAPb ©   (2006-05-07 13:52) [10]

В том-то и дело, что я не отправил ярлык на рабочий стол, а именно скопировал.

Что такое процедуры, функции и константы, я знаю. И что uses-это объявление внешней части процедуры, тоже. А вот  "hwndCaller: HWND; pszFile: String;  uCommand: UINT; dwData: DWORD): integer;
 stdcall;external "hhctrl.ocx"" и "$000F" для меня ровным счетом ничего не значат.

Про пять предложений - это я, конечно, загнул (чтобы Loginov Dmitry"я не пугать), но и на маленькую книжку это точно не потянет. Там всего лишь нужно объяснить значение каждого слова.

>это ссылка внутри контекста (текста хелпа), что следует непосредственно из названия константы HH_HELP_CONTEXT
Что за ссылка? На что она ссылается? Ее что, в контекст хелпа надо запихать? Ты объясни поподробнее, че ты воду мутишь?


 
TBAPb ©   (2006-05-07 13:55) [11]

Про chm я, кстати, тоже знаю. Просто от безысходности решил spravka.chm написать. А вдруг бы прокатило?


 
sniknik ©   (2006-05-07 15:03) [12]

> а именно скопировал.
значит скопировал ярлык.

> для меня ровным счетом ничего не значат.
вот про то и сказ, придется обьяснять азы не зная чего собственно ты знаеш и с какого уровня начинать... попытался с нормального, не получилось...

> но и на маленькую книжку это точно не потянет.
наоборот, теперь (после [10])  думаю "потянет" на среднюю. (с поправкой на "непонятливость")

>> #1 это ссылка внутри контекста (текста хелпа), что следует непосредственно из названия константы #2 HH_HELP_CONTEXT
> Что за ссылка? На что она ссылается? Ее что, в контекст хелпа надо запихать? Ты объясни поподробнее, #3 че ты воду мутишь?

допустим то что выше текст забитый в файл, # символ метки, если так, то тогда я могу не писать чтото, а указать метку. вроде ShowSomething(3) и выдаст оно мне то что по этой метке располагается (или начнет оттуда) - "че ты воду мутишь?"

необязательно устроено точно так, это упрощенный пример (для понимания что за переменная хватит. э... должно хватить). как именно сделано это в доке надо смотреть если интнресует внутреннее устройство.


 
TBAPb ©   (2006-05-07 16:28) [13]

А почему "$000F"? И какое отношение ссылка на текст документа имеет к открыванию этого документа?
Ладно, неважно. Поступлю в ВУЗ - мне там все объяснят. А пока переименую "spravk"у" в "readme" и уберу button2.

Теперь объясню поподробнее свою проблему с превращением проекта Delphi в приложение. В папке с проектом у меня десять файлов непонятного расширения, projecr2 (который открывает программу в делфи), ярлык (который запускает программу), spravka, два рисунка и еще два каких-то файла. Этот самый ярлык я копирую на рабочий стол, а дальше вы знаете...


 
sniknik ©   (2006-05-07 17:14) [14]

> А почему "$000F"?
какая разница? число оно и есть число... ну напиши HH_HELP_CONTEXT = 15; если тебе так больше нравится.

> Теперь объясню поподробнее свою проблему ....
нда. средней маловато будет... нужен талмуд размерами вроде "библии дельфи" ;о).
тебе что скомпилировать программу надо? (сделать exe-ник котрый без дельфей выполняется) ???
в меню project есть пункт build project, нажми, и если ошибок не будет иши файл projecr2.exe рядом с тем непонятного расширения (настроек проекта ведь не трогал? если трогал то по тому пути, что там установил).


 
TUser ©   (2006-05-07 18:01) [15]

> Что такое процедуры, функции и константы, я знаю. И что uses-это объявление внешней части процедуры, тоже.

:))))
Тебе лишь кажется, что ты все это знаешь. Не спорь, а то придут более едкие, чем пушистый и добродушный ТЮзер.


> Этот самый ярлык я копирую на рабочий стол, а дальше вы знаете...

А дальше тебе все объяснили. Ярлык - это сслыка. Шмакни по нему правой кнопкой мыши, посмотри в Свойства - увидешь, что ссылается он на экзешник. После удаления проекта, ярлык указывает на несуществующий файл.


 
Игорь Шевченко ©   (2006-05-07 23:41) [16]


> Ладно, неважно. Поступлю в ВУЗ - мне там все объяснят


Разумно. На этом дискуссию можно считать законченной и ветку смело закрывать.


 
Галинка ©   (2006-05-08 02:40) [17]

В следуюший раз, используй SDI Application. Там все уже готово, надо только файл подцепить.


 
Германн ©   (2006-05-08 03:03) [18]

Папка vs Каталог(Директория).
Файл vs Документ ("который открывает программу в делфи").
"ярлык (который запускает программу)" vs EXE-file.

Но самое главное - " В папке с проектом у меня десять файлов непонятного расширения".

>> Ладно, неважно. Поступлю в ВУЗ - мне там все объяснят
>Разумно. На этом дискуссию можно считать законченной и ветку смело закрывать.
А почему не закрыл?


 
Плохиш ©   (2006-05-08 11:20) [19]


> а то придут более едкие, чем пушистый и добродушный ТЮзер.

При прочтении данной ветки плякал, теперь из-за слёз ничего не вижу и писать не могу, пойду поищу огромный носовой платок.



Страницы: 1 вся ветка

Текущий архив: 2006.05.28;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.057 c
15-1146742658
Yeg
2006-05-04 15:37
2006.05.28
Общие сетевые ресурсы


15-1146767168
Volf_555
2006-05-04 22:26
2006.05.28
Как можно запретить автоматическую закачку из инета программ?


15-1145904665
ArtemESC
2006-04-24 22:51
2006.05.28
Потерял стилус к КПК...


15-1146548785
Ega23
2006-05-02 09:46
2006.05.28
С Днём рождения! 1 мая


2-1147168826
Der Nechk@ssoff
2006-05-09 14:00
2006.05.28
VtChart