XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Общение> Трактир
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
exAres
I love magic :)
offline
Опыт: 7,788
Активность:
Вопрос по Delphi 7
Кто знает ка Delphi 7 хавает else if'и ато у меня
Цитата:
procedure TForm1.Button11Click(Sender: TObject);
begin
if Sm=true then
Sm:=false;
Memo1.Text:=''
else if Gauge1.PercentDone<100 then
Memo1.Text:=(Memo1.Text+'9');
Gauge1.Progress:=(Gauge1.PercentDone+2)
end;
выдаёт ошибку типа
Цитата:
Calc.pas(176): 'END' expected but 'ELSE' found
Старый 28.04.2006, 15:09
tysch_tysch
Работаем
offline
Опыт: отключен
если я правильно понял, что ты хочешь сделать, то оно выглядит так:
Код:
procedure TForm1.Button11Click(Sender: TObject);
 begin
  if Sm=true
    then
      begin
        Sm:=false;
        Memo1.Text:='';
     end
    else
      if Gauge1.PercentDone<100 
        then
          Memo1.Text:=(Memo1.Text+'9');
   Gauge1.Progress:=(Gauge1.PercentDone+2)
  end;


ошибка в том, что внутри условия точка с запятой не ставится и если в действиях условий 2 и более операторов то надо добавлять бегин и енд
Старый 28.04.2006, 15:23
exAres
I love magic :)
offline
Опыт: 7,788
Активность:
ZlaYa1000 - спасибо а то после джасса в Delphi путаюсь, и ещё вопрос:
Как узнать имеет ли число "." ну типа оно integer или real ?
Старый 28.04.2006, 15:52
tysch_tysch
Работаем
offline
Опыт: отключен
ты при вводе в едит имеешь ввиду? если да, то проверяй нажатие клавиши, при вводе в эдит. Если точка будет, то вещественное.
Старый 28.04.2006, 16:10
exAres
I love magic :)
offline
Опыт: 7,788
Активность:
ZlaYa1000 ну да! спасибо, так легче всего.
Ещё вопрос: как зделать чтобы при движении мышки показывались её координаты, но не просто в окне программы(ето я уже зделал), а где нибудь(по робочему столу и т.п.). Я имею ввиду движение где-нибудь, а не показывать координаты где-нибудь!
Старый 28.04.2006, 19:45
NETRAT

offline
Опыт: 83,712
Активность:

В Дельфе есть такой смешной глобальный обьект Screen - его можно использовать для обращений к экрану(в С это просто DC(0))
Старый 28.04.2006, 20:03
exAres
I love magic :)
offline
Опыт: 7,788
Активность:
NETRAT и понял, и непонял а какая "procedure" должна отвечать за движение мышки ? Или как ето правильно зделать ?
Старый 28.04.2006, 20:15
MapMan
Corey 8 Taylor
offline
Опыт: 21,554
Активность:
Можно вопрос:
Что бы узнать координаты мышки надо в On mouse Mouthe написать функцию Form1.Caption:=IntToStr(x)+'x'+IntToStr(y)?
Старый 28.04.2006, 20:16
tysch_tysch
Работаем
offline
Опыт: отключен


спрашивай ещё если, что-то не понятно
Старый 28.04.2006, 20:20
NETRAT

offline
Опыт: 83,712
Активность:
MrSmiLe
Координаты снимать с обьекта Mouse и выводить на обьект Screen
Методы лучше в хелпе или с точкой глянуть

Старый 28.04.2006, 20:26
exAres
I love magic :)
offline
Опыт: 7,788
Активность:
NETRAT можно поточнее ? а, то у меня такой бред:
сначала
Цитата:
procedure ScreenMouseMove(Sender: TObject);

а потом
Цитата:
function ScreenMouseMove(ScreenPos:Longint);
begin
Edit1.Text:=('X: '+XScreenToValue(ScreenPos:Longint));
Edit2.Text:=('Y: '+YScreenToValue(ScreenPos:Longint))
end;
в хелпе непонятно написано.
Старый 28.04.2006, 20:36
tysch_tysch
Работаем
offline
Опыт: отключен

MrSmiLe юзай встроенный хелп, там есть примеры, если мало набери в яндексе Screen Delphi 7, что-нить да попадётся
Старый 28.04.2006, 20:39
Markiz

offline
Опыт: 11,432
Активность:
Цитата:
ты при вводе в едит имеешь ввиду? если да, то проверяй нажатие клавиши, при вводе в эдит. Если точка будет, то вещественное.

Ы.
А не проще ли результирующую строку получать?
Старый 28.04.2006, 20:52
tysch_tysch
Работаем
offline
Опыт: отключен
какая разница?=)
Старый 28.04.2006, 21:50
exAres
I love magic :)
offline
Опыт: 7,788
Активность:
Ну,в принципе, сделал. Теперь ещё вопрос:
Как зделать запуск другой формы, ну например:
Захожу, появляется окно(№1) с кнопками "Вход","Выход" и "Регистрация". Нажимаю на "Регистрация" и окно(№1) исчезает, появляется окно(№2), ну я там всё пишу... нажимаю "Зарегистрироватся"(программа сохраняет данные(куда-нибудь,ещё сам не придумал но хотелось бы не просто в блокнот в папке с программой а кудато поглубже)) исчезает окно(№2) и появляется опять окно(№1) там я пишу свои данные(Ну типа "логин" и "пароль") и нажимаю "Вход", окно(№1) закрывается и открывается окно(№3) ну дальше я еще не пошол потому-что ещё ето не зделал :( . Помогите плиииизззз
Старый 29.04.2006, 13:00
Dragoon

offline
Опыт: 544
Активность:
сначала создай эти самые окна (в дельфях они называются формами). Затем в коде формы один обработай нажатие кнопки так :
Код:
procedure TForm1.OnButtonREGClick(Sender:TObject)
begin
//первая форма исчезает, всплывает вторая
form1.Hide;
form2.Show;
end;

В коде второй кнопки так же обработай нажатие регистрации
Код:
procedure TForm2.OnButtonREG2Click(Sender:TObject)
begin
//Тут сохраняешь данные о юзере свежезарегеном
//и снова появление первой формы
form2.Hide;
form1.Show;
end;

Ну и возвращаешься в первой форме, там делаешь обработку нажатия кнопки "Вход"
Код:
procedure TForm1.OnButtonEnterClick(Sender:TObject)
begin
//проверка зарегенного пользователя
//и появление основного (No3) окна проги
form1.hide;
form3.show;
end;

Отредактировано Dragoon, 29.04.2006 в 13:25.
Старый 29.04.2006, 13:17
exAres
I love magic :)
offline
Опыт: 7,788
Активность:
Dragoon СЕНК! А я сначало думал что надо создавать дополн. форму а оказывается что её можно просто добавить.
Еще вопрос :) :
Как сохранять данные куда-нить(для начала в блокнот или что-то похожее) а потом их оттуда вытаскивать ?
Старый 29.04.2006, 13:39
Dragoon

offline
Опыт: 544
Активность:
Что ты подразумеваешь под "сохранением в Блокнот" ? Если сохранение в текстовый файл,
то приблизительно так
Код:
var
 f : text;
begin
AssignFile(f,'options.ini');
Rewrite(f);
WriteLn(f,'bla-bla-bla');
Close(f);
end;

Чтобы читать , делаешь почти то же самое
Код:
var
 f : text;
 s : string;
begin
AssignFile(f,'options.ini');
Reset(f);
ReadLn(f,s);
Close(f);
end;


Dragoon добавил:
Что ты подразумеваешь под "сохранением в Блокнот" ? Если сохранение в текстовый файл,
то приблизительно так
Код:
var
 f : text;
begin
AssignFile(f,'options.ini');
Rewrite(f);
WriteLn(f,'bla-bla-bla');
Close(f);
end;

Чтобы читать , делаешь почти то же самое
Код:
var
 f : text;
 s : string;
begin
AssignFile(f,'options.ini');
Reset(f);
ReadLn(f,s);
Close(f);
end;
Старый 29.04.2006, 18:54
tysch_tysch
Работаем
offline
Опыт: отключен
Код:
Rewrite(f);

этот оператор перезаписывает файл, поэтому если что-то в файл нужно дописать, юзай
Код:
Reset(f);


правда ресет нельзя использовать при создании нового файла.
Старый 29.04.2006, 18:54
exAres
I love magic :)
offline
Опыт: 7,788
Активность:
Dragoon и ZlaYa1000 большое вам спасибо но у меня есть ещё вопросы:
Как мне создать файл(.ini) в папке с программой или ещё лучше засунуть кудато например в какойто архив(ну .mpq например) ? И ещё насчет новых форм : создать(ну типа написать Reg: TForm) новую форму я могу а как её редактировать(ну типа кнопки и т.д.) ? А и ещё: как лучше записывать информацию(типа имя пароль и т.д.) в .ini файлы ?
Старый 29.04.2006, 20:26
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 07:22.