Электростальский форум
Hi-Tech => Компьютеры, периферия, мультимедиа и ПО => Тема начата: Dieter от 16.11.06, 19:51:47
-
Почему Turbo Pascal говорит, что эта прога написана неправильно? ???
ЗЫ Как копиравать из доса не знаю, пришлось делать скрин
-
а где точка с запятой после сложения?
-
а где точка с запятой после сложения?
Спасибо, получилось. А ты еще не подскажешь как из Turbo Pascal скопировать текст. Как только не пробывал - не получалось
-
а я и не помню..по-моему мона вообще открыть программу блокнотом...тока русские символы у меня всегда перекодировывались)))
-
а где точка с запятой после сложения?
Спасибо, получилось. А ты еще не подскажешь как из Turbo Pascal скопировать текст. Как только не пробывал - не получалось
Фаром.
-
подскажешь как из Turbo Pascal скопировать текст
правой кнопкой на заголовке окна, дальше мать природа подскажет
-
Есть еще вопросик: как написать прогу, которая бы выводила "Доброе утро", "Добрый день" и т. д. в зависимости от времени, введенного юзером. Я имею ввиду, что комп не знает суточное времеисчесление. Остальное все понятно
-
Попробуй открыть *.pas блокнотом [[freak]]
-
Есть еще вопросик: как написать прогу, которая бы выводила "Доброе утро", "Добрый день" и т. д. в зависимости от времени, введенного юзером. Я имею ввиду, что комп не знает суточное времеисчесление. Остальное все понятно
Фаронов тебе в помощь. Очень хороший книга.
-
а как сохранить написанную прогу с расширением *.exe?
-
а как сохранить написанную прогу с расширением *.exe?
переименуй .pas в .exe , буагагаагга!
-
а как сохранить написанную прогу с расширением *.exe?
Если я пральна помню, там надо в свойствах компилятора указать Destination - Disk, и откомпилировать.
-
Там что-то в меню было...build что-то тама....))) Блин, 3-ий год паскаль не вижу))))
-
Там что-то в меню было...build что-то тама....))) Блин, 3-ий год паскаль не вижу))))
А я уже 9 не видел.
-
а как сохранить написанную прогу с расширением *.exe?
переименуй .pas в .exe , буагагаагга!
А ты уверен(а) что так получится?
-
А ты уверен(а) что так получится?
Смотря что тебе надо, если просто сохранить с расширением ЕХЕ, то получится :)
Но вот только работать не будет :)
-
А ты уверен(а) что так получится?
Смотря что тебе надо, если просто сохранить с расширением ЕХЕ, то получится :)
Но вот только работать не будет :)
Тогда я бы не стал спрашивать.
И вообще, если не знаешь - не надо чушь нести
-
Тогда я бы не стал спрашивать.
И вообще, если не знаешь - не надо чушь нести
ЛЯ ! Маладой чилавек, как сделать ехе-шник я написал выше. Не фентифлюкайте уже нам мосх.
-
Тогда я бы не стал спрашивать.
И вообще, если не знаешь - не надо чушь нести
ЛЯ ! Маладой чилавек, как сделать ехе-шник я написал выше. Не фентифлюкайте уже нам мосх.
Ну, я не заметил. Извиняюсь
-
Создать массив размером nxm Нули в нём заменить единицами, а единицы нулями.
Напишите мне эту прогу пожалуйста - очень не сложно. :( Сам не могу -wall-
-
Создать массив размером nxm Нули в нём заменить единицами, а единицы нулями.
Напишите мне эту прогу пожалуйста - очень не сложно. :( Сам не могу -wall-
А остальные значения (не нули, но и не единицы) оставить без изменения?
-
Создать массив размером nxm Нули в нём заменить единицами, а единицы нулями.
Напишите мне эту прогу пожалуйста - очень не сложно. :( Сам не могу -wall-
А остальные значения (не нули, но и не единицы) оставить без изменения?
да
-
Я только что начал программировать в Delphi. Без проблем, как всегда не обошлось.
Вот почему при запуске, Delphi выделяет последнюю строку??
var
s :real;
s :=5;
-
var
s :real;
begin
s :=5;
end;
-
var
s :real;
begin
s :=5;
end;
Спасибо. Лови +сик [sneaky]]
-
Хм.. не запускается почему-то. Выделяет слово begin
-
s:=5.0; тогда
-
если программа закончена, то после енда точку ставь
-
Не-а. Всё равно не получается. Вот, посмотрите весь код.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
s :real;
begin
s:=5.0;
end;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
ShomMessage ('qqq')
end;
end.
-
я могу ошибаться, но может не хватает одного бегина? (в самом начале).
кол-во бегинов=кол-во ендов.
-
%) Погоди, а этот блок твой он к чему относится? :)
-
кстати да..тем более 4 енда и только 2 бегина...
-
Хм....афтар, дафай так. Что ты хочешь, чтобы получилось в итоге? :)
Кстати, внизу иногда интересные буквы пишут ;)
-
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
showmessage('ggggg');
end;
end.
Так? :)
-
ПыСы. в блоке Interface разберись что должно быть ;)
-
showmessage('ggggg');
Так? :)
не так!
не gggg a qqq ;D
Чорт)))) Точно)))
-
Так, только, мне еще надо задать значения нескольким переменным, которые использовались бы в сразу нескольких процедурах.
-
Ну так var в блоке Interface пиши. А вычисления, будь добр, в implemetation ;)
-
А для чего тогда раздел var ?
-
Ммм=) Молодой человек, воспользуйтесь любой доступной литературой по Дельфи. Иначе скоро совсем жутко станет =)
-
Ммм=) Молодой человек, воспользуйтесь любой доступной литературой по Дельфи. Иначе скоро совсем жутко станет =)
Нету у меня литературы по делфи, есть тока краткий справочник.
Ну а вам чо, трудно подсказать?
-
Раздел с var - это объявление переменных, которые будут использоваться далее в программе. :)
P.S. Вообще-то такие элементарные вещи должны быть описаны в любом справочнике для начинающих.
-
Anton R.
Faust правильно сказал
<<ПыСы. в блоке Interface разберись что должно быть >>
Ну кто в интерфейсной части пишет конструкцию begin-end;
В интерфейсной части содержатся объявления всех глобальных объектов модуля
(типов, констант, переменных и блоков), которые должны стать доступными основной программе и/или другим модулям.
При объявлении глобальных блоков в интерфейсной части указываются только их заголовок.
Сначала ВЫ правильно поставили
s:real; { Присвоили переменной s вещественный тип}
Тут же ВЫ объявили переменную s:=5
Получается s - переменная и в то же время константа.
Так не делают.
Если ВЫ хотите чтобы переменная s объвлена в этой части и ей было присвоено
значение 5,
то надо написать
const s=5;
или
const
s=5;
Теперь если Вы захотите ее вывести(т.е. s) на экран то она выведется как
целое число 5
Поэтому надо ставить
const s=5.00;
или
const
s=5.00
В расчете такая константа так и будет участвовать
если s=5.0 то и будет 5.0, если s=5.00 то и будет 5.00
s=5.12 то и будет 5.12
Но можно сделать типизированную константу т.е. совместить объявление типа и значение переменной.
Тогда это будет выглядеть так:
CONST
s:real=5
или
CONST s:real=5
Вот тогда при выводе она может быть и 5.0 и 5.00 и нули необязательно ставить самому.
Если ВЫ хотите чтобы переменная потом при работе получила значение 5, то надо указать
var
s:real;
Подумайте, что ВЫ хотите поставить в этот раздел - переменную или константу.
======================================
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
{Сюда могут помещаться объявления переменных, функций и
процедур, включаемых в класс формы, но не доступных для
других модулей}
public
{ Public declarations }
{Сюда могут помещаться объявления переменных, функций и
процедур, включаемых в класс формы и доступных для
других модулей}
end;
{ Сюда могут помещаться объявления типов, констант,
переменных, функций и процедур, к которым будет доступ
из других модулей, но которые не включаются в класс
формы }
var m:real; {Если m просто переменная вещественного типа}
const s=5; {Если s просто константа}
const r=5.00; {Если r просто константа с 2 нулями}
const k:real=5; {Если k типизированная константа}
implementation
var st:string; {Если st просто переменная типа string}
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage ('qqq')
end;
end.
=============================================
Вот тогда будет правильно.
Вот теперь все объявленные константы и переменные будут доступны для других
модулей и частей программы.
Но вы можете использовать объявления переменных и констант в разделе
реализации implementation, но они уже не будут доступны для других модулей
и частей программы - PRIVATE;
Пробуйте и все получится.
LEND
-
ОГРОМЕНОЕ СПАСИБО, LEND!!
с меня +сики
-
ОГРОМЕНОЕ СПАСИБО, LEND!!
с меня +сики
А мне "сики"(с) вот за это (ftp://faust.elnet/Docs/теория/Delphi) мона? :)))))))
-
ОГРОМЕНОЕ СПАСИБО, LEND!!
с меня +сики
А мне "сики"(с) вот за это (ftp://faust.elnet/Docs/теория/Delphi) мона? :)))))))
Мона))
-
Ув. программеры. подскажите, плиз, как связать Button и Edit
-
А какой результат в итоге должен быть? И что значит связать?
-
А какой результат в итоге должен быть? И что значит связать?
Ну, т. е. я ввожу что-нибудь в Edit, жму кнопку, и в результате какая-нибудь переменная получила значение.
-
Ну, т. е. я ввожу что-нибудь в Edit, жму кнопку, и в результате какая-нибудь переменная получила значение.
Edit1.text - здесь содержится информация, введённая в однострочном редакторе Edit1 типа String
s := Edit1.Text; (s : String)
если нужны цыфровые данные, то что-то вроде
a := StrToInt(Edit1.Text); (a : Integer)
-
Ммм=) Молодой человек, воспользуйтесь любой доступной литературой по Дельфи. Иначе скоро совсем жутко станет =)
Нету у меня литературы по делфи, есть тока краткий справочник.
Ну а вам чо, трудно подсказать?
Если тебя еще интересует вопрос о доступной литературе, то у меня в DC++, в папке справочники огромная папка по Delphi. Там и справочники, и примеры с исходниками разными, дополнительные компоненты есть, и русифицированная контекстная справка есть, и учебники всякие. Бери не жалко пользуйся! Сам с этого начинал.
-
Ну, т. е. я ввожу что-нибудь в Edit, жму кнопку, и в результате какая-нибудь переменная получила значение.
Edit1.text - здесь содержится информация, введённая в однострочном редакторе Edit1 типа String
s := Edit1.Text; (s : String)
если нужны цыфровые данные, то что-то вроде
a := StrToInt(Edit1.Text); (a : Integer)
А это писать в обработчик кнопки или Edit?
-
Ну, т. е. я ввожу что-нибудь в Edit, жму кнопку, и в результате какая-нибудь переменная получила значение.
Edit1.text - здесь содержится информация, введённая в однострочном редакторе Edit1 типа String
s := Edit1.Text; (s : String)
если нужны цыфровые данные, то что-то вроде
a := StrToInt(Edit1.Text); (a : Integer)
А это писать в обработчик кнопки или Edit?
Если надо, чтобы после нажатия кнопки "какая-нибудь переменная получила значение" то в обработчик кнопки
-
А как готовую прогу сохранить с расширением *.exe ?
-
А как готовую прогу сохранить с расширением *.exe ?
Сохрани проект
Потом при компиляции .exe создастся автоматически(в папке, где находится проект)
-
Вот нет времени поставить DELPHI - лень.
<<А это писать в обработчик кнопки или Edit?>>
Пишу с головы:
Возьмем предыдущий модуль.
I вариант
Если ВЫ хотите установить переменные s и a в самой процедуре, то они и будут работать только в самой процедуре т.е. участвовать при инициализации самой процедуры. При этом данные они будут брать из объекта окна редактирования Edit c name Edit1
procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
a:integer;
begin
s : = Edit1.Text;
a : = StrToInt(Edit1.Text);
{Здесь ВЫ можете проделывать с ними разные операции}
ShowMessage(s);
(*ShowMessage ('qqq')*)
end;
II вариант
Если переменные s и a установлены в разделе interface, то они могут участвовать и за пределами этой процедуры и других процедур этого модуля(формы), а также в других идущих за ним по порядку (модулях формах). Они также будут брать данные из объекта окна редактирования Edit c name Edit1
Тогда их необязательно ставить в тело самой процедуры.
procedure TForm1.Button1Click(Sender: TObject);
begin
s : = Edit1.Text;
a : = StrToInt(Edit1.Text);
{Здесь ВЫ можете проделывать с ними разные операции}
ShowMessage(s);
(*ShowMessage ('qqq')*)
end;
III вариант
Если s и a установлены в разделе implementation, то они могут работать во всех указанных процедурах только этого модуля и формы:
Допустим в форме есть еще объект кнопка - Button2Click
type
TForm1 = class(TForm)
Button2: TButton;
procedure Button2Click(Sender: TObject);
{----------------------------------------------}
Мы хотим с помощью этой кнопки вывести СТРОКУ st, тогда в разделе implementation устанавливаем
var
s:string;
a:integer;
А процедуры будут выглядеть так :
procedure TForm1.Button1Click(Sender: TObject);
begin
s : = Edit1.Text;
a : = StrToInt(Edit1.Text);
{Здесь ВЫ можете проделывать с ними разные операции}
ShowMessage(s);
(*ShowMessage ('qqq')*)
end;
procedure TForm1.Button2Click(Sender: TObject);
var
st:string;
begin
st=s;
ShowMessage(st);
(*ShowMessage ('qqq')*)
end;
Просто надо уяснить куда эти переменые пойдут при внесении данных в окно редактирования Edit
Насчет
<А как готовую прогу сохранить с расширением *.exe ?>
Ralex правильно указал
<Сохрани проект
Потом при компиляции .exe создастся автоматически(в папке, где находится проект)>
С уважением
LEND
-
Подскажите плиз, почему не запускается прога??
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
const
P = 0.08;
Discount = 0.16;
var
M :=integer;
A :=integer;
Sum := real;
begin
M := (Edit1.Text) ;
B := (Edit2.Text) ;
Sum :=M*P
if (B=6) or (B=7)
then Sum = Sum * Discount
label3.caption:='К оплате '
+ FloatToStr(Sum) + 'руб.';
end;
end.
-
Anton R., читать код не пробовал сам-то?
тут косяк на косяке :o
юзаешь необъявленные переменные, объявляешь через присваивание (":=" это присваивание, объявление ":"), присваиваешь целочисленным переменным строковые значения.. молчу про мелочь в виде опущенной ; для закрытия строки.
з.ы. не обижайся конечно, но я никогда не видел чтоб в столь коротком коде нахерачили столько ляпов.
************
не вдаваясь в смысл тока подправил синтаксис.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
const
P = 0.08;
Discount = 0.16;
var
M : integer;
A : integer;
Sum : real;
begin
M := StrToInt(Edit1.Text) ;
A := StrToInt(Edit2.Text) ;
Sum :=M*P;
if (A=6) or (A=7)
then Sum := Sum * Discount;
label1.caption:='к оплате ' + FloatToStr(Sum) + 'руб.';
end;
end.
-
Подскажите, плиз, как в Delphi можно присобачить на форму свою кнопку, нарисованную в фотошопе.
-
Подскажите, плиз, как в Delphi можно присобачить на форму свою кнопку, нарисованную в фотошопе.
Помести ее на форму как картинку, компонент image че то там...
-
Подскажите, плиз, как в Delphi можно присобачить на форму свою кнопку, нарисованную в фотошопе.
Помести ее на форму как картинку, компонент image че то там...
а как придать свойсво кнопки?
-
а как придать свойсво кнопки?
Ну в событиях...та при щелчке, при двойном щелчке, ну и т.п.
-
Подскажите, плиз, как в Delphi можно присобачить на форму свою кнопку, нарисованную в фотошопе.
Помести ее на форму как картинку, компонент image че то там...
BitButton вроде. В параметрах кнопки можно указывать ссылку на img
-
Подскажите, плиз, как в Delphi можно присобачить на форму свою кнопку, нарисованную в фотошопе.
-
получилось. спасибо всем. плюсы поставил [[kid]]
-
Жесть! :D
-
А как поставить вместо стандартного окна Windows своё окно? Например, как в Winamp.