Ребята. Хочу начать программировать нормально. |
skycar | Дата: Понедельник, 18.10.2010, 01:27 | Сообщение # 16 |
Ранг 6
Группа: Проверенные
Сообщений: 116
Награды: 5
Репутация: 31
Статус: Offline
| Выложи архив со своим проектом, можно без екзешника какая ошибка получается при попытке откомпилировать проект?
|
|
| |
|
Dubl | Дата: Понедельник, 18.10.2010, 01:59 | Сообщение # 17 |
Ранг 3
Группа: Проверенные
Сообщений: 73
Награды: 0
Репутация: 0
Статус: Offline
| Вот архив http://zalil.ru/29828525 . Ошибка не выдается, просто не компилируется(( Я даже не знаю уже в чем дело.
|
|
| |
|
skycar | Дата: Понедельник, 18.10.2010, 02:36 | Сообщение # 18 |
Ранг 6
Группа: Проверенные
Сообщений: 116
Награды: 5
Репутация: 31
Статус: Offline
| Хм, а где же *.dpr файл? ты весь проект скинул, все файлы из него, кроме екзешника? Здесь только сорц модуля и файл формы. Модуль-то сам по себе уж точно не скомпилируется... В коде вроде всё правильно
|
|
| |
|
Dubl | Дата: Понедельник, 18.10.2010, 02:46 | Сообщение # 19 |
Ранг 3
Группа: Проверенные
Сообщений: 73
Награды: 0
Репутация: 0
Статус: Offline
| http://zalil.ru/29828811 вот это все что в папке с проектом у меня есть, скажите, я что-то не так намудрил?
|
|
| |
|
skycar | Дата: Понедельник, 18.10.2010, 02:55 | Сообщение # 20 |
Ранг 6
Группа: Проверенные
Сообщений: 116
Награды: 5
Репутация: 31
Статус: Offline
| И здесь нет самого файла проекта. Тогда проще будет создать новый проект, на форме разместить те же объекты, какие были в первом, а затем в соответсвующие события скопировать соответсвующие коды из того модуля, старого. Самописный обработчик нажатий клавиш разумеется тоже надо будет сделать в новом проекте так же, как и в старом.
|
|
| |
|
Dubl | Дата: Понедельник, 18.10.2010, 03:48 | Сообщение # 21 |
Ранг 3
Группа: Проверенные
Сообщений: 73
Награды: 0
Репутация: 0
Статус: Offline
| А я просто запускаю Unit1.pas через Делфи и делаю, или нужен файл проекта для компиляции?? Если так оно и есть, то щас просто делаю новый проект, в нем делаю идентичную форму и подставляю код к форме? Тогда все должно скомпилиться нормально? Добавлено (18.10.2010, 03:48) --------------------------------------------- И вот еще, у меня такая трабла, когда я сохранаю save all as у меня в папку сохраняются лишь pas и pfm файлы, а по-видимому для компиляции не хватает еще каких-то файлов, например файл проекта, он сохраняется автоматически в папку прожектс, и еще какой-то файл dcu есть, как мне сохранять все, что нужно в 1 папку сразу? чтобы не возникало проблем с компиляцией?
|
|
| |
|
skycar | Дата: Понедельник, 18.10.2010, 13:25 | Сообщение # 22 |
Ранг 6
Группа: Проверенные
Сообщений: 116
Награды: 5
Репутация: 31
Статус: Offline
| Ну а ты сохраняй через File -> Save project as... Тогда поочерёдно будет сохранение модуля и файла проекта, а затем автоматом туда же сохранится файл формы. Если придерживаться стандартных названий при сохранении, тогда в папке будут Unit1.pas, Project1.dpr, Unit1.dfm, Unit1.res и кое-какие файлы конфигурации (они также сохраняются автоматом в ту папку, куда сохраняешь проект). После сохранения можно выполнить компиляцию, в папке с проектом появится исполняемый файл. конечно же всё должно быть в одной папке. Потом, когда надо будет открыть проект для редактирования, то следует запускать именно *.dpr файл. да, надо делать новый проект, как я описал в предыдущем посте
|
|
| |
|
Dubl | Дата: Понедельник, 18.10.2010, 19:55 | Сообщение # 23 |
Ранг 3
Группа: Проверенные
Сообщений: 73
Награды: 0
Репутация: 0
Статус: Offline
| Понятненько. Спасибо огромное за помощь, этот форум оказывает просто неоценимую помощь начинающим)) Вам стоит развивать проект)). Добавлено (18.10.2010, 19:55) --------------------------------------------- Сдела, при компиляции показывает кучу ошибок, так как я незнаю правильного написания функций и пр. в этой программе, т е я просто копировал, думая что так нужно и запоминал, думал что все будет работать. Ошибки: Code [Error] Unit1.pas(32): Undeclared identifier: 'FormCreate' [Error] Unit1.pas(35): Undeclared identifier: 'Self' [Error] Unit1.pas(35): 'END' expected but ',' found [Error] Unit1.pas(57): Undeclared identifier: 'ClickXY' [Error] Unit1.pas(61): Undeclared identifier: 'FormClose' [Error] Unit1.pas(61): ';' expected but ')' found [Error] Unit1.pas(63): Undeclared identifier: 'Self' [Error] Unit1.pas(63): 'END' expected but ',' found [Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'
|
|
| |
|
skycar | Дата: Понедельник, 18.10.2010, 23:06 | Сообщение # 24 |
Ранг 6
Группа: Проверенные
Сообщений: 116
Награды: 5
Репутация: 31
Статус: Offline
| Ты что сделал-то? надо было разместить те же компоненты, что и в первом проекте, тоже такое же количество кнопок, и им в обработчики скопировать коды из аналогичных старых обработчиков, но уж никак не просто копировать из старого исходника в новый проект. было, например, в старом проекте Code procedure TForm1.Button1Click(Sender: TObject); var P: TPoint; I: Cardinal; begin for I:=0 to Length(Coords) - 1 do begin P:=Coords[I]; ClickXY(P.X, P.Y); end; end; То ты дважды кликаешь по кнопке Button1 в новом пректе, и делаешь такой же обработчик Code procedure TForm1.Button1Click(Sender: TObject); var P: TPoint; I: Cardinal; begin for I:=0 to Length(Coords) - 1 do begin P:=Coords[I]; ClickXY(P.X, P.Y); end; end; смысл-то ясен? что касается обработчика OnPressKey, то надо в новом проекте также написать в интерфейсной секции, в приватном разделе Code private procedure OnPressKey(var Msg: TWMHotKey); message WM_HOTKEY; и так же реализовать её: Code implementation
procedure TForm1.OnPressKey(var Msg: TWMHotKey); var P: TPoint; // и здесь, а не перед implementation begin inherited; SetLength(Coords, N + 1); // уст. длины массива Windows.GetCursorPos(P); // получаем коорд. Coords[N]:=P; //... и записываем в массив Inc(N); // аналог N:=N + 1; Label2.Caption:='Координаты ' + IntToStr(N) + '-й точки: X = ' + IntToStr(p.X) + '; Y = ' + IntToStr(p.Y); end; здесь тоже смысл ясен?
|
|
| |
|
Dubl | Дата: Понедельник, 18.10.2010, 23:14 | Сообщение # 25 |
Ранг 3
Группа: Проверенные
Сообщений: 73
Награды: 0
Репутация: 0
Статус: Offline
| Дык я так и сделал вроде. у меня была то 1 кнопка))) Добавлено (18.10.2010, 23:14) --------------------------------------------- Ругается на кучу строчек))
|
|
| |
|
skycar | Дата: Вторник, 19.10.2010, 23:53 | Сообщение # 26 |
Ранг 6
Группа: Проверенные
Сообщений: 116
Награды: 5
Репутация: 31
Статус: Offline
| Вот, готовый проект, отредактируй по надобности
|
|
| |
|
Dubl | Дата: Среда, 20.10.2010, 00:16 | Сообщение # 27 |
Ранг 3
Группа: Проверенные
Сообщений: 73
Награды: 0
Репутация: 0
Статус: Offline
| О_о, это просто блеск, пойду изучать в чем были мои ошибки. Только я не понял про компонент таймер. П. С. Уже понял как авторизацию вконтакте делать, а с автокликером все сижу))))
|
|
| |
|
skycar | Дата: Среда, 20.10.2010, 13:50 | Сообщение # 28 |
Ранг 6
Группа: Проверенные
Сообщений: 116
Награды: 5
Репутация: 31
Статус: Offline
| В событии таймера написаны те операторы, которые должны были выполняться по нажатии кнопки. Но в событии нажатия кнопки программные клики выполняются в определённом цикле, который, в свою очередь, выполняется лишь один раз. Посему в прежней конструкции надо было бы всякий раз нажимать кнопку, чтоб выполнялся один раз цикл. Таймер же автоматизует это, в нём выполняются операторы с заданной периодичностью. К его достоинствам можно отнести регулировку скорости (Timer1.Interval - целочисельное свойство, задающее интервал между выполнениями в милисекундах) и отсутсвие подвисания программы (если сделать через неопределённый цикл, тогда прога зависнет, получился бы бесконечный цикл). зы: авторизация вконтакте и кликер - отнюдь разные программы, затрагивающие разные области программирования. Понимание работы с веб-формами, принципы работы HTTP и прочее конечно нужно. Но также нужны и знания в WinAPI, без них невозможно писать программы, работающие с системой и т. д. Но вдобавок под этими знаниями должны быть ещё и знания синтаксиса, базовых процедур и функций и распространённых алгоритмов.
|
|
| |
|
Dubl | Дата: Среда, 20.10.2010, 17:15 | Сообщение # 29 |
Ранг 3
Группа: Проверенные
Сообщений: 73
Награды: 0
Репутация: 0
Статус: Offline
| Да, все очень хорошо сказанно, спасибо за разъяснения и советы, надеюсь по ходу обучения синтаксис будет потихонечку запоминаться, и основные алгоритмы, вообще все алгоритмы я записываю в тхт файлы, чтобы не забыть потом.
|
|
| |
|