Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #31  
Старый 06.02.2010, 22:51
Аватар для Еник
Еник Еник вне форума
Прохожий
 
Регистрация: 06.02.2010
Адрес: Ханты-Мансийск
Сообщения: 5
Репутация: 10
По умолчанию

Изучали мы делфи)) Даже мультимедийный проект как то делали)) Ну то есть в делфи я не полный ноль) Тем более что они не сильно различаются)
Ответить с цитированием
  #32  
Старый 06.02.2010, 22:56
Аватар для Konrad
Konrad Konrad вне форума
Эксперт
 
Регистрация: 19.03.2009
Сообщения: 1,261
Репутация: 45834
По умолчанию

Цитата:
Сообщение от Еник
Изучали мы делфи)) Даже мультимедийный проект как то делали)) Ну то есть в делфи я не полный ноль) Тем более что они не сильно различаются)
Ну так в чем беда?
Берешь и пишешь.

Создаешь форму, ставишь там элементы, и пишешь код.

Потом, если что не выходит - выкладываешь тут и задаешь КОНКРЕТНЫЕ вопросы. И тебе помогут.
Ответить с цитированием
  #33  
Старый 06.02.2010, 23:02
Аватар для Еник
Еник Еник вне форума
Прохожий
 
Регистрация: 06.02.2010
Адрес: Ханты-Мансийск
Сообщения: 5
Репутация: 10
По умолчанию

ок) вопрос первый) мне нужно для каждого вопроса создать форму. что делать если вопросов n-ное количество?
ну допустим сегодня для одного теста их может быть 10, а завтра станет 20. Не писать же прогу под каждый тест, нужно универсальную

Последний раз редактировалось Еник, 06.02.2010 в 23:05.
Ответить с цитированием
  #34  
Старый 06.02.2010, 23:04
Аватар для Konrad
Konrad Konrad вне форума
Эксперт
 
Регистрация: 19.03.2009
Сообщения: 1,261
Репутация: 45834
По умолчанию

Цитата:
Сообщение от Еник
ок) вопрос первый) мне нужно для каждого вопроса создать форму. что делать если вопросов n-ное количество?
Не нужно на каждый вопрос создавать форму.
Достаточно создать одну и менять ее свойства.

Вернее свойсва элементов, которые будут на ней расположены.

Например,
Код:
label1.caption:='Текст';
Так вот этот кусок кода можно использовать хоть 10000 раз, для 10000 разных значений 'Текст'.
Таким образом можно поступать и с другими элементами.

Последний раз редактировалось Konrad, 06.02.2010 в 23:10.
Ответить с цитированием
  #35  
Старый 06.02.2010, 23:12
Аватар для Еник
Еник Еник вне форума
Прохожий
 
Регистрация: 06.02.2010
Адрес: Ханты-Мансийск
Сообщения: 5
Репутация: 10
По умолчанию

Ыыы)) пока все понятно) спасибо огромное!)

Последний раз редактировалось Еник, 06.02.2010 в 23:14.
Ответить с цитированием
  #36  
Старый 06.02.2010, 23:14
Аватар для Konrad
Konrad Konrad вне форума
Эксперт
 
Регистрация: 19.03.2009
Сообщения: 1,261
Репутация: 45834
По умолчанию

Кста, неужели в школах достигли такого уровня, что на уроках географии можно работать с компом?
Или эти тесты даются домой?
Если так, то правильные ответы лучше не хранить в файле .тхт

П.С.: на будущее - в Делфи можно менять программно практически любые свойства объектов, например цвет элемента, размер, длина элемента, расположение, видимость и т.д.

Последний раз редактировалось Konrad, 06.02.2010 в 23:18.
Ответить с цитированием
  #37  
Старый 06.02.2010, 23:19
Аватар для Еник
Еник Еник вне форума
Прохожий
 
Регистрация: 06.02.2010
Адрес: Ханты-Мансийск
Сообщения: 5
Репутация: 10
По умолчанию

Просто школе дали ноутбуки и учителям теперь можно брать их на уроки)
а на тест дают совсем немного времени и проводят его под контролем)
Ответить с цитированием
  #38  
Старый 07.02.2010, 02:08
Guzerus Guzerus вне форума
Прохожий
 
Регистрация: 22.01.2010
Сообщения: 20
Репутация: 10
По умолчанию

По поводу теста.
Вот ссылка на справочник по Дельфи (один из многих), в Главе 15 как раз описывается создание теста.
Вопрос от меня.
Код:
function TForm1.CheckEdit2 : Boolean;
begin
  Result := False;
  if (Edit2.Text='0') or (Edit2.Text='')
    then ShowMessage ('Операция недопустима!')
    else Result := True;
end;

procedure TForm1.Button1Click(Sender : TObject);
begin
  if CheckEdit2 Then
............
При вызове функции мы вызываем её Result. Но в выше следующем коде Resula'а два. True и False. Получается if CheckEdit2 Then эквивалентно
if <Result_функции_CheckEdit2> Then.
Вопрос:
If Result... что? Не указывается, true или false. Получается, по умолчанию программа проверяет на true?

Последний раз редактировалось Guzerus, 07.02.2010 в 02:13.
Ответить с цитированием
  #39  
Старый 07.02.2010, 09:41
Аватар для s0Creator
s0Creator s0Creator вне форума
Местный
 
Регистрация: 20.02.2008
Адрес: Московская область
Сообщения: 420
Репутация: 884
По умолчанию

Еник
Вот на этом сайте несколько исходников программ тестов

Oxalium
"case of" для String
Код:
if str1 = 'string1' then
//
else if str1 = 'string2' then
...

Или
Код:
function FindNum(s: string): integer;
const
  strArr: array[1..2] of string = ('string1', 'string2');
begin
  Result := High(strArr);
  while (s <> strArr[Result]) and (Result >= Low(strArr)) do
    Dec(Result);
end;
...
case FindNum('my string') of
  1: ...
end;

А вообще зря вы в одну тему вопросы пишите - так они и затеряются.
Ответить с цитированием
  #40  
Старый 07.02.2010, 09:52
Аватар для s0Creator
s0Creator s0Creator вне форума
Местный
 
Регистрация: 20.02.2008
Адрес: Московская область
Сообщения: 420
Репутация: 884
По умолчанию

Цитата:
Сообщение от Guzerus
По поводу теста.
...
Вопрос от меня.
Код:
function TForm1.CheckEdit2 : Boolean;
begin
  Result := False;
  if (Edit2.Text='0') or (Edit2.Text='')
    then ShowMessage ('Операция недопустима!')
    else Result := True;
end;

procedure TForm1.Button1Click(Sender : TObject);
begin
  if CheckEdit2 Then
............
При вызове функции мы вызываем её Result. Но в выше следующем коде Resula'а два. True и False. Получается if CheckEdit2 Then эквивалентно
if <Result_функции_CheckEdit2> Then.
Вопрос:
If Result... что? Не указывается, true или false. Получается, по умолчанию программа проверяет на true?
когда выполняется
Код:
if CheckEdit2 Then
исполняется функция CheckEdit2
Result ( возвращаемое значение ) в ней один. Только сперва ему присваивают False затем если не выполнится условие, то он станет равен True.

Конструкция if <логическое выражение вызвращающее Boolean тип> then
Можно написать даже так:

Код:
var
  A: Boolean;
//...
A := True;

if A then

Последний раз редактировалось s0Creator, 07.02.2010 в 09:56.
Ответить с цитированием
  #41  
Старый 10.02.2010, 22:29
Guzerus Guzerus вне форума
Прохожий
 
Регистрация: 22.01.2010
Сообщения: 20
Репутация: 10
По умолчанию

Как сделать такой Едит, при вводе в который слов они будут звёздами, как при наборе пароля? Подойдут не одни звёзды, главное как-то скрыть набранный текст.
Ответить с цитированием
  #42  
Старый 10.02.2010, 23:03
Аватар для s0Creator
s0Creator s0Creator вне форума
Местный
 
Регистрация: 20.02.2008
Адрес: Московская область
Сообщения: 420
Репутация: 884
По умолчанию

Цитата:
Сообщение от Guzerus
Как сделать такой Едит, при вводе в который слов они будут звёздами, как при наборе пароля? Подойдут не одни звёзды, главное как-то скрыть набранный текст.
Берешь любой стандартный Edit и в свойствах ищешь PasswordChar поставь там в место #0 инужный тебе символ с наслаждайся
Ответить с цитированием
  #43  
Старый 11.02.2010, 17:41
Guzerus Guzerus вне форума
Прохожий
 
Регистрация: 22.01.2010
Сообщения: 20
Репутация: 10
По умолчанию

Спасибо. Я пытался наваять что-то с MaskEdit.
Еще один вопрос. Я пытался сделать настройки. Получилось вот что.
Есть:
Едит1. Невидимый.
Кнопка1.
Кнопка2.
При нажатии на кнопку один вылезает сообщение ('Сообщение включено.')
Исполняется лишь если текст Едита1 "Включено". При нажатии на кнопку два в невидимом Едите меняется текст, соответственно сообщение вылезать не будет.
Надеюсь суть понятна.
Вопрос в том, можно ли каким-то иным способом сделать такие настройки? И есть ли у этого способа недостатки?
Ещё вопрос.
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
if (Edit1.Text='') and (Edit2.Text<>'') then
ShowMessage ('Введите ник!') ;
if (Edit1.Text<>'') and (Edit2.Text='') then
ShowMessage ('Введите пароль!') ;
if (Edit1.Text='') and (Edit2.Text='') then
ShowMessage ('Введите  ник и пароль!')
else
begin
Label1.Caption:= 'Вы вошли!' ;
Form2.Show
end;
end;
Если оба поля пустые-показывает сообщение и всё. Если же одно из них заполнено-показывает сообщение и переходит к форме. Как избежать?
Ответить с цитированием
  #44  
Старый 11.02.2010, 17:57
Аватар для KOOL
KOOL KOOL вне форума
Активный
 
Регистрация: 06.01.2008
Адрес: Рязань
Сообщения: 306
Версия Delphi: 2009
Репутация: 6150
По умолчанию

Цитата:
Сообщение от Guzerus
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
if (Edit1.Text='') and (Edit2.Text<>'') then
ShowMessage ('Введите ник!') ;
if (Edit1.Text<>'') and (Edit2.Text='') then
ShowMessage ('Введите пароль!') ;
//проблемная конструкция
if (Edit1.Text='') and (Edit2.Text='') then //если оба пустые
ShowMessage ('Введите  ник и пароль!')
else //если хотя бы одно заполнено
begin
Label1.Caption:= 'Вы вошли!' ;
Form2.Show
end;
end;
Если оба поля пустые-показывает сообщение и всё. Если же одно из них заполнено-показывает сообщение и переходит к форме. Как избежать?
Код:
if (Edit1.Text='') and (Edit2.Text<>'') then
ShowMessage ('Введите ник!')
else
if (Edit1.Text<>'') and (Edit2.Text='') then
ShowMessage ('Введите пароль!')
else
if (Edit1.Text='') and (Edit2.Text='') then
ShowMessage ('Введите  ник и пароль!')
else
begin
Label1.Caption:= 'Вы вошли!' ;
Form2.Show
end;[/color]
end;
__________________
РГРТУ - ФВТ - Системы Автоматизированного ПРоектирования. ت
Ответить с цитированием
  #45  
Старый 11.02.2010, 18:27
Guzerus Guzerus вне форума
Прохожий
 
Регистрация: 22.01.2010
Сообщения: 20
Репутация: 10
По умолчанию

Точно. Ведь если у меня else для обоих пустых, то одно заполненное в этот else входит. Пал жертвой текста. Подумал, если текст идёт ниже, значит исполнятся будет то, что ниже.
----------
Возможно ли сделать как-то свой компонент наподобие XPManifest? Или скачать его, скажем, чтобы делал стиль как у Семёрки?

Последний раз редактировалось Guzerus, 12.02.2010 в 20:07.
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter