Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите сделать поект [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, имя файла = файл справки


Наверх

Титульная страница Поиск, карта сайта Написать письмо