Здравствуйте, Гость
Среда, 20.09.2017, 04:23
Главная Главная страница форума Регистрация Вход
Новые сообщения Участники форума Правила форума Поиск
Страница 2 из 2«12
Модератор форума: stalker, Ekz 
Форум » Все о Delphi » Начинающим » Ребята. Хочу начать программировать нормально. (Подкиньте полезной информации.)
Ребята. Хочу начать программировать нормально.
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 и кое-какие файлы конфигурации (они также сохраняются автоматом в ту папку, куда сохраняешь проект). После сохранения можно выполнить компиляцию, в папке с проектом появится исполняемый файл.
конечно же всё должно быть в одной папке. smile Потом, когда надо будет открыть проект для редактирования, то следует запускать именно *.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;  

смысл-то ясен? wink

что касается обработчика 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
Вот, готовый проект, отредактируй по надобности
Прикрепления: Click.rar(8Kb)
 
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, без них невозможно писать программы, работающие с системой и т. д. Но вдобавок под этими знаниями должны быть ещё и знания синтаксиса, базовых процедур и функций и распространённых алгоритмов. wink
 
DublДата: Среда, 20.10.2010, 17:15 | Сообщение # 29
Ранг 3
Группа: Проверенные
Сообщений: 73
Награды: 0
Репутация: 0
Статус: Offline
Да, все очень хорошо сказанно, спасибо за разъяснения и советы, надеюсь по ходу обучения синтаксис будет потихонечку запоминаться, и основные алгоритмы, вообще все алгоритмы я записываю в тхт файлы, чтобы не забыть потом.
 
Форум » Все о Delphi » Начинающим » Ребята. Хочу начать программировать нормально. (Подкиньте полезной информации.)
Страница 2 из 2«12
Поиск:

Copyright DelphiDevelop.ru © 2008-2017
Хостинг от uCoz