Главная Главная страница форума Регистрация Вход
Новые сообщения Участники форума Правила форума Поиск
Страница 1 из 11
Модератор форума: stalker, Ekz 
Форум » Все о Delphi » Начинающим » Где выучить и как запоминать коды программ?
Где выучить и как запоминать коды программ?
whitestarДата: Воскресенье, 05.07.2009, 08:26 | Сообщение # 1
Ранг 1
Группа: Пользователи
Сообщений: 4
Награды: 0
Репутация: 0
Статус: Offline
Совсем запарился, читая учебники, я научился лишь рисовать интерфейсы программ. А заставлять их работать могу, лишь скопировав чужие коды.
Как самому знать и помнить, какие коды для какой программы и когда нужны? Ну и т.д.

П.с Наверно, нужно для начала выучить Паскаль?

И где достать руссификатор для Delphi7 enterprise?

Добавлено (05.07.2009, 08:26)
---------------------------------------------
Да, и как вскрыть и изменить какой либо Exe-шник?

Сообщение отредактировал whitestar - Воскресенье, 05.07.2009, 06:54
 
AdminДата: Воскресенье, 05.07.2009, 10:58 | Сообщение # 2
Ранг 10
Группа: Пользователи
Сообщений: 1268
Награды: 16
Репутация: 2
Статус: Offline
Quote (whitestar)
И где достать руссификатор для Delphi7 enterprise?

Это глупо. Ненужны никакие русификаторы, от них нету никакого толку. 1. Везде инфа для английской версии. 2. Ведь синтаксические конструкции не переведутся, ну будет же вместо If... писать Если...

Quote (whitestar)
П.с Наверно, нужно для начала выучить Паскаль?

Ну отличия в плане синтаксиса не так много, ну а алгоритм работы программы в Delphi немного поиному, там появляется такая вещь как событие. Многим (в частности моему другу) было сложно перейти на Delphi.

Quote (whitestar)
Да, и как вскрыть и изменить какой либо Exe-шник?

Никак (почти). Но врятли вы знаете Ассемблер на таком уровне. Я видел как встраивают в ICQ клиента вредоносный код, который выполняется при нажатии кнопки "Вход". Код, если не ошибаюсь, отправлял пароль и логин на почту. Видео длилось минут 30-40, прчем код был уже готов.

Quote (whitestar)
А заставлять их работать могу, лишь скопировав чужие коды.

Ну для начала начните писать простенькие программы, которые будут основой для написания более сложных программ. Например, я описывал как создать игру "угадайка", там все просто, но думаю после написания можно научиться как минимум получать случайные числа, извлекать значения из Edit и использовать их. Выдавать разные сообщения и т.д.

И вот еще какие книги читали?


Не оказываю помощь через личные сообщения и ICQ
 
whitestarДата: Понедельник, 06.07.2009, 05:26 | Сообщение # 3
Ранг 1
Группа: Пользователи
Сообщений: 4
Награды: 0
Репутация: 0
Статус: Offline
Quote (Admin)
И вот еще какие книги читали?

Никакие, только вот Ваши инструкции. И самоучители, которые были в ДВД вместе с установочниками прог.

Quote (Admin)
Ну для начала начните писать простенькие программы

Я писал, но лишь копировав Ваши инструкции. Как мне самому знать коды и их сочетания даже для простеньких программ?
Quote (Admin)
Но врятли вы знаете Ассемблер на таком уровне

0

Я совсем ничего не знаю в программировании. Только Ваши статьи - мои первые уроки.

И как сделать, чтоб в Caption ввести эффект нажатия Enter? Ну чтоб Label1 был в 2 строчки,
типа:
"Загадано число
от 0 до 100"

И почему-то здесь: /publ/28-1-0-160 значение "k" прога считает ошибкой.
[Error] Unit1.pas(44): Undeclared identifier: 'k'
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'
[Fatal Error] Dialogs.pas(436): Unit ExtCtrls was compiled with a different version of Dialogs.TColorDialog

Сообщение отредактировал whitestar - Понедельник, 06.07.2009, 10:14
 
DJ_ЕвсДата: Понедельник, 06.07.2009, 12:09 | Сообщение # 4
Ранг 6
Группа: Проверенные
Сообщений: 165
Награды: 3
Репутация: 1
Статус: Offline
Quote (whitestar)
значение "k" прога считает ошибкой. [Error] Unit1.pas(44): Undeclared identifier: 'k'

Это он не значение считает ошибкой. Это он кагбе намекае, что k не описана в переменных, поэтому не может никак понять откуда ляпнутый непонятный для неё символ взялся.
И это естественно! Кто бы её описывал? Чтобы описать переменную нужно делать так:
Var name: type;
Где name - имя переменной (в данном случае k), а type - тип переменной (в данном случае, я полагаю, подойдёт integer).
Эту нехитрую строчку, с которой всё должно всё начинаться, надо писать там, где Form1 обьявляется. (Заметьте! Таким-же нехитрым способом)


ПРОЙДИ ТЕСТ!!!!!
http://FIDO20.ru/test.php?4052&c=bbea2a1

 
AdminДата: Понедельник, 06.07.2009, 12:26 | Сообщение # 5
Ранг 10
Группа: Пользователи
Сообщений: 1268
Награды: 16
Репутация: 2
Статус: Offline
whitestar, я же в статье описал:
"Добавим также глобальную переменную k типа Byte. Но немного по особому:"

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

Quote (whitestar)
Как мне самому знать коды и их сочетания даже для простеньких программ?

Нужно понять принцип написания программ, манипулирования переменными. В совершенстве знать основные синтаксические конструкции.

Вот к примеру попробуйте написать следующее: есть 2 Edit и одна кнопка. Жмем по кнопке и в каком-нибудь label выводится сумма значений из первого Edit и второго.
Затем усложняйте программу, добавьте защиту от "дураков", чтобы нельзя было вводить буквы (их же складывать нельзя). Нужно придумывать алгоритм.

Без опыта никуда, например, простейший случай найти максимальное из N элементов в массиве. Как? Это какбы один раз понять и будете знать как решать подобные задачи. Вообще сначала я придумываю (для более сложных задач рисую на листочке) алгоритм работы, предпологаю как все это будет работать. Например: ввожу дополнительную переменную, в ней будет в итоге храниться самый максимальный элемент в массиве. Предпологаем что первый элемент массива самый максимальный, значит в переменную заносим это значение. НО оно же может быть не самым максимальным, значит нужно проверить это. Пишем цикл (for), в котором будем пробегаться по всем элементам массива и выполнять следующие действия: сравниваем нашу переменную с элементом, которые перебираются в цикле, и елси проверяемый элемент больше того который в переменной, то значит в переменной хранится не самое большое число. Значит присваеваем большее число (которое нашли) в нашу переменную, и повторяем эту процедуру для сделующего элемента массива.

Может быть это и сложно выглядит для вас, но как поймете что тут и зачем, то окажется все очень легко. Как понять? Нарисуйте на листочке массив из 5 элементов. Заолните его. И попробуйте выполнить этот алгоритм на листочке.

ps. если еще не в курсе что такое массив, то это такая штука, в которой хранится N однотипных переменных. Например 10 чисел, хранятся "какбы в одной переменной".


Не оказываю помощь через личные сообщения и ICQ
 
whitestarДата: Понедельник, 06.07.2009, 21:50 | Сообщение # 6
Ранг 1
Группа: Пользователи
Сообщений: 4
Награды: 0
Репутация: 0
Статус: Offline
Quote (DJ_Евс)
Var name: type;

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

Без опыта никуда, например, простейший случай найти максимальное из N элементов в массиве. Как? Это какбы один раз понять и будете знать как решать подобные задачи. Вообще сначала я придумываю (для более сложных задач рисую на листочке) алгоритм работы, предпологаю как все это будет работать

Но откуда вы это все берете?? cry :'(

Блин. Ничего не понимаю. Вспомните, как вас учили, и помогите так-же... Пожалуйста... cry

Ощущение, что вы просте не хотите делиться секретами, простите, если обидел.
Ну где же начало? Я не знаю, как назвать нужное мне значение ПОНЯТНЫМ ДЛЯ ДЕЛЬФИ языком... Я не знаю, как оно называется, и какие сочетания.
Ну вот по Вашим урокам кое что знаю. А знаю лишь, как вычислить скорость бега, как угадать число, и т.д.

Сообщение отредактировал whitestar - Вторник, 07.07.2009, 04:13
 
AdminДата: Вторник, 07.07.2009, 12:28 | Сообщение # 7
Ранг 10
Группа: Пользователи
Сообщений: 1268
Награды: 16
Репутация: 2
Статус: Offline
Вот так и учили. Понимаете, сразу все само собой не получится и не придет в голову. Чтобы приДУМАТЬ нужно хорошенько поДУМАТЬ. Нужно придумывать алгоритм, мыслить. А чтобы суметь придумать нужно в совершенстве знать синтаксические конструкции, так как все держится именно на них.

Все типы (integer, string, byte) просто нужно запомнить. Да их и не так много. Есть строковый, символьный, целочисленный и вещественный. Строка это просто массив символов. Просто это опыт, нужно пробовать, спрашивать, узнавать и изучать, запоминать. Без этого никуда.

Ну вот еще пример. Вы знаете как объявить переменную? Да. Как ей присвоить значение? да. Простая задача на логику:
Есть 2 переменных, пускай a := 5, b := 3. Вот теперь задание: как сделать так, чтобы в a хранилось значение из b а в b значение из а. Я знаю 2 пути, первый очевидный, второй нужно подумать. (НЕ предлогать b:=3, a:=5, так как предпологается что вы не знаете какие именно там значения.)

Предлагаю вам начать рассуждение, как бы вы это сделали на листочке. (Натолкну на мысль, как меня наталкивали. Есть 2 стакана, как воду из одного стакана перелить в другой, а из другого в первый? Попробуйте даже взять и попробовать с реальными стаканами. Вот примерно так и нужно думать.)

Еще раз повторюсь что есть базовые операции, овладев которыми становится понятно как придумать что-то свое.


Не оказываю помощь через личные сообщения и ICQ
 
vavДата: Вторник, 07.07.2009, 17:01 | Сообщение # 8
Ранг 1
Группа: Пользователи
Сообщений: 4
Награды: 1
Репутация: 0
Статус: Offline
Quote (Admin)
Ну вот еще пример. Вы знаете как объявить переменную? Да. Как ей присвоить значение? да. Простая задача на логику: Есть 2 переменных, пускай a := 5, b := 3. Вот теперь задание: как сделать так, чтобы в a хранилось значение из b а в b значение из а. Я знаю 2 пути, первый очевидный, второй нужно подумать. (НЕ предлогать b:=3, a:=5, так как предпологается что вы не знаете какие именно там значения.)

Ответ простой вводим еще одну переменную с. А далее с присваиваем значение а, а присваиваем значение b, b присваиваем значение с. Значение с очищаем для дальнейшего использования.

Quote (whitestar)
Ощущение, что вы просте не хотите делиться секретами, простите, если обидел.

Секретов нет. Только опыт. Приведу пример, мне надоело каждый раз нажимать клавишы и запускать различные файлы. Для облегчения работы пришлось написать программки которые это делают за меня. Используя различные операторы мне это удалось. Но при при этом мне пришлось перелопатить кучу литературы, как бумажной так и электронной.
 
AdminДата: Вторник, 07.07.2009, 17:34 | Сообщение # 9
Ранг 10
Группа: Пользователи
Сообщений: 1268
Награды: 16
Репутация: 2
Статус: Offline
vav, вообщето я хотел чтобы это написал whitestar. smile Тогда буду ждать от него второе решение. smile Там тоже все просто, нужно только попроизводить операции с числами.

Не оказываю помощь через личные сообщения и ICQ
 
whitestarДата: Среда, 08.07.2009, 05:33 | Сообщение # 10
Ранг 1
Группа: Пользователи
Сообщений: 4
Награды: 0
Репутация: 0
Статус: Offline
Если только это не вода, если нет "с", и если используются стаканы, то вот все, что мог придумать...
"a"=Ix5
"b"=IIx3

a-(Ix2)+(IIx2)-(Ix2)+II-I=a+IIx3; b+Ix5
or
b+(Ix2)-(IIx2)+(Ix2)-II+I=b+Ix5; a+IIx3.

Доступно только для пользователей

Где:
"-->" - перемещение не смешивая.
"I" - содержимое "а"
"II" - содержимое "b"

Сообщение отредактировал whitestar - Среда, 08.07.2009, 07:22
 
vavДата: Среда, 08.07.2009, 10:37 | Сообщение # 11
Ранг 1
Группа: Пользователи
Сообщений: 4
Награды: 1
Репутация: 0
Статус: Offline
Не знаю как админу но мне решение не очень. Можно проще, подсказка есть в посте админа. И кстати попробуй написать так как ты бы написал в делфе. Переменные обьявлять не надо просто код, begin end, тоже не надо.
 
AdminДата: Среда, 08.07.2009, 12:34 | Сообщение # 12
Ранг 10
Группа: Пользователи
Сообщений: 1268
Награды: 16
Репутация: 2
Статус: Offline
whitestar, если честно то я ничего не понял, уж больно сложно чета.
Решение где-то 3 строчки, по-моему.

Подсказка:

Quote (Admin)
нужно только попроизводить операции с числами

А точнее складывать и вычитать.

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

Вобщем хочу сделать видеоучебник, буду рассказывать все прям по кирпичикам, все что нужно, все как учили меня. В интституте нас начали учить вообще неправильно, начили втирать нам про типы да классы (я то уже это знал, и труда мне не составляло это, а вот кто первый раз видит Delphi, тот ничерта не понимал. При изучении Pascal в институте нам про типы нислова никто не говорил ... хотя не, нам показали как массив объявить через тип, но СМЫСЛ, один массив так объявлять, да и задачи мы решали не супер сложные чтобы там типы юзать) Вобщем образование у нас отстой полный. Буду исправлять.


Не оказываю помощь через личные сообщения и ICQ
 
vavДата: Среда, 08.07.2009, 13:26 | Сообщение # 13
Ранг 1
Группа: Пользователи
Сообщений: 4
Награды: 1
Репутация: 0
Статус: Offline
Quote (Admin)
А точнее складывать и вычитать.

А если так:
c:=a*b
a:=c/a
b:=c/b
Задача тупая не спорю, но зарядка для ума.
 
AdminДата: Среда, 08.07.2009, 15:47 | Сообщение # 14
Ранг 10
Группа: Пользователи
Сообщений: 1268
Награды: 16
Репутация: 2
Статус: Offline
vav, ну можно и так, но я додумался до складывания. smile

Не оказываю помощь через личные сообщения и ICQ
 
vavДата: Среда, 08.07.2009, 16:24 | Сообщение # 15
Ранг 1
Группа: Пользователи
Сообщений: 4
Награды: 1
Репутация: 0
Статус: Offline
Я знаю что одну и туже задачу можно решить несколькими способами. Как-то раз по работе я с товарищем попал в школу. Шел урок информатики, а мы пытались в это время выполнить свою работу. Учитель задал задачку классу. Ну мы сходу предложили пять вариантов решения, за что от препода получили нагоняй. Не чего мол ученикам подсказывать, пусть сами учать. А изучали они старый добрый паскаль. smile
Кстати программированию специально не учился. Все изучал по книгам.


Сообщение отредактировал vav - Среда, 08.07.2009, 16:26
 
Форум » Все о Delphi » Начинающим » Где выучить и как запоминать коды программ?
Страница 1 из 11
Поиск:

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